C Primer Plus学习笔记之第一,二章——预备知识
2016-01-09 14:37
204 查看
C Primer Plus之一二章——预备知识
一:了解C语言的起源1972年贝尔实验室的Dennis Ritchie开发出了C。当时开发C的原因是为了更高效的编程,用他本人的话说——我开发C就是为了不让我的同事写程序那么幸苦。其实C语言来自Thompson的B语言,作为第三代主流语言面世。同样C语言也像Pascal,BASIC那样有其主要目标,那就是作为实际编程的程序员的一种工具。
二:使用C语言的理由和C语言的特性
C语言具有高效性,可移植性,强大的功能和灵活的语法,面向编程人员及访问硬件和操作内存中特定位的优点
三:使用C语言的七个步骤
1,定义程序目标
2,编写代码
3,编写代码
4,编译
5,运行程序
6,测试和调试程序
7,维护和修改程序
也许这位都是程序性的事,但就是这样,稳定的让我们写着程序,高效而快速,每一步越到后面我们越能看到其重要性,好的习惯与严谨的逻辑是从小事一点一滴的养成的。
四:C语言的一个简单实例及其构成
#include<stdio.h>
int main(void) /*一个简单的C程序*/
{
int num;/*定义一个名为num的变量*/
num=1;//给这个变量赋值1
printf("I am a simple");//使用printf()函数
printf("computer\n");
printf("My favorite number is %d because it is first.\n",num);
return 0;
}
每一个C语言程序都是由函数组成的,由主函数(main())开始,也是main()结束。而函数的描述由函数头和函数体组成——函数头包含预处理语句(像#inclde)和函数名,函数体位于{}中并由一系列语句组成。
五:使用C语言的注意事项
1:编程可能出现的两种错误——语法错误与语义错误。
语法错误:违背了C语言的语法,类似我们在英语中的使用的错误语法。这种错误编译器可以帮助我们调试,不好解决的就是编译器版本,C语法版本及lib版本的问题和不同操作系统的差异,例如在windous系统上main()后面的return 0是为了逻辑严密,并没有多大作用,然而在DOS ,UNIX下就有不同的意思了 也是不能随便省略的,还有就是int main(void)很多朋友喜欢将void省略。但是加上才是符合C的语法标准,在很多编译器它的确不报错,那是编译器的智能,并不能说明语法就是对的哦。
语义错误:意思上的错误,而语法没有错误,因而编译器无法发现,也是很多朋友遇见过的,小梁曾经也是在一个小问题上花费了几天的时间呢。其实我觉得这种问题大多和我们自身习惯以及思维严密性有关。我真真切切的想说前辈们留下的编程习惯是血的的总结,无上的珍宝,至少我改变自己的编程习惯后,错误减少了,程序也清晰很多,调试错误也容易了一些,也是尝到了这些甜头,不管程序多小我都维持一贯的风格。
2,程序状态——程序执行过程中的给定点上所有变量值的集合(当前计算状态的快照),这是一个好东西,有了它,我们可以在程序的不同位置用printf()函数或者其他可以查看信息的函数或者其他东东来看那个位置的状态是否和我们的设想一致,所谓的分步调试在嵌入式的单片机方面那是相当的有用。当然有些高端的软件可以用自带的调试器,这个值得花时间学。
六:应有的编程习惯
之前也说了一个好的编程习惯非常有用,小梁一点建议。先给例程
程序文件为fathm_ft.c
//fathm_ft.c--把两个fathoms换成英尺 第一行说明这个文件的作用
#include<stdio.h>
#include<math.h>
/*********常量声明*********/
#define Height 1200
//将常量用宏处理,可以避免多处修改
/**********变量声明*********/
int g_fathom; //变量说明,不同作用域的变量要加说明,例如全局变量要加g_
/****************函数声明*****************/
void add(int a,int b);//函数作用
void bianHuan(flot a,flot b);//函数作用
int main(void)//主函数
{
statements;
return 0;
}
/***********函数说明************/
void add(int a,int b)
{
statements;
return........
}
/***********函数说明***********/
void bianHuan(flot a,flot b)
{
statements;
return.......
}
仓促之间能总结的就这么多了,以后有了好用的编程风格同大家分享,也希望大家补充,毕竟小梁只是一介学生,许多不懂。
相关文章推荐
- Linux C函数参考手册(PDF版)
- Lua教程(十七):C API简介
- C#实现打造气泡屏幕保护效果
- 使用C#代码获取存储过程返回值
- C/C++数据对齐详细解析
- 利用C语言来求最大连续子序列乘积的方法
- 字符串的组合算法问题的C语言实现攻略
- C 语言基础教程(我的C之旅开始了)[三]
- 学习C和C++的9点经验总结
- C++中的extern “C”用法详解
- C 语言基础教程(我的C之旅开始了)[七]
- 最大子矩阵问题实例解析
- C字符串操作函数实现方法小结
- C语言中static的作用及C语言中使用静态函数有何好处
- 字典树的基本知识及使用C语言的相关实现
- 详解C语言中free()函数与getpagesize()函数的使用
- C/C++ 宏详细解析
- 实例详解C#正则表达式
- 使用C语言解决字符串全排列问题