1、考试口诀:e 前e 后必有数,e 后必为整数。【考点8】字符字符数据的合法形式::1 是字符占一个字节,1是字符串占两个字节(含有一个结束符号)。0 的ASCII 数值表示为48,a 的ASCII 数值是97,A的ASCII 数值是65。字符型和整数是近亲:char a = 65 ;printf(“%c”, a); 得到的输出结果:aprintf(“%d”, a);65一般考试表示单个字符错误的形式:65 字符是可以进行算术运算的,记住: -0=48大写字母和小写字母转换的方法:+32= 相互之间一般是相差32。【考点9】整型数据整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考
2、试时候一般会说,在16位编译系统,或者是32 位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节就可以了。【考点10】转义字符转义字符的考查:在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。在程序中 int a = 06d, 是一个八进制的形式。在转义字符中, x6d 才是合法的,0 不能写,并且x 是小写。141 是合法的, 0 是不能写的。108是非法的,因为不可以出现8。【考点11】算术运算算术运算符一共有+、*、/、%这五个。%符号两边要求是整数。不是整数就错了。三种取整 丢小数的情况
3、:不是四舍五入是舍掉小数部分。、int a =1.6;、(int)a;、1/2; 3/2;【考点12】强制类型转换将一个运算对象转换成指定类型,格式为(类型名)表达式一定是 (int)a 不是 int(a),注意类型上一定有括号的。注意(int)(a+b) 和(int)a+b 的区别。前是把a+b 转型,后是把a 转型再加b。【考点13】赋值是表达式就一定有数值。赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。复合赋值运算符:注意:a*=m+2 是 a=a*(m+2)自加、自减表达式:假设a=5,+a(表达式的值为6), a+(表达式的值为5);j=a+;等价于
4、j=a;a=a+1; 而j=+a;等价于a=a+1;j=a;。+在前先加后用,+在后先用后加。【考点14】逗号运算逗号表达式:优先级别最低; 表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。【考点15】数制转换一定要记住二进制 如何转换成十进制。八进制是没有8 的,逢8 进1,018 的数值是非法的。 【考点16】位运算会有一到二题考试题目。C语言提供6种位运算符:按位求反,按位左移,按位与&,按位异或|,按位或。总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。异或运算的规则:0异或1得到1,0异或0得到0,1异或1得
5、到0。可记为“相同为0,不同为1”。见教材31页例1。在没有舍去数据的时候,=,8 这个是真的,所以表达式的数值就是1。【考点2】逻辑运算只能为1(表示为真),或0(表示假)a) 共有三种逻辑运算符号。逻辑非(!),辑与(&),逻辑或(|)。b) !| 优先的级别。c) 注意短路现象。考试比较喜欢考到。例a+|b+,如果表达式a+的值非零,则表达式b+不再执行。d) 要表示 x 是比0 大,比10 小的方法。0x10 是不可以的(一定记住)。是先计算0x 得到的结果为1 或则0;再用0,或1 与10 比较得到的总是真(为1)。所以一定要用 (0x)&(x10)表示比0 大比10 小。【考点3】
6、if语句可以单独出现,也可以与else匹配出现。if语句可以嵌套,这时else总是与离它最近的且没有与else匹配的if匹配。注意if语句的子句是紧接if或else的一句,如有多句需要用括起来。【考点4】条件运算是唯一的三目运算符,格式:表达式1 ?表达式2 :表达式3表达式1值为非0时,整个表达式值为表达式2的值,表达式1值为0时,整个表达式值为表达式3的值。真前假后。【考点5】switch语句a) 一定要注意有 break 和没有break 的差别,书上(53,54 页)的两个例子,没有break时候,只要有一个case 匹配了,剩下的都要执行,有break 则是直接跳出了switch 语
7、句。b) switch 只可以和break 一起用,不可以和continue一起用。c) switch(x) x:是整型常量,字符型常量,枚举型数据。case 1: . 不可以是变量。case 2: .switch后小括号里面的表达式不能为实型,case后表达式不能有变量。口诀:switch表不为实,case表不为变。第四章循环结构【考点1】三种循环结构while();do- while();for()三种。三种结构的格式及执行顺序详见教材第58、62、64页。b)for 循环当中必须是两个分号,千万不要忘记。c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。d) do-wh
8、ile()循环的最后一个while();的分号一定不能够丢。(当心上机改错),dowhile循环是至少执行一次循环。【考点2】break与continuebreak 和 continue 的差别记忆方法:break:是打破的意思,(破了整个循环)所以看见break 就退出这一层循环。continue: 是继续的意思,是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。【考点3】循环的嵌套就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般只考查两层嵌套,循环嵌套通常是处理二维数组。循环结构是重点,笔试所占分值一般在13分左右,
9、在上机考试中也是必考点,应用性很强。要求学员重点理解并多加练习,领会掌握。第五章函数【考点1】函数的定义函数:是具有一定功能的一个程序块;是C 语言的基本组成单位。函数的首部为:函数类型 函数名(类型1 形参1,类型2 形参2,)。在函数定义中不可以再定义函数,即不能嵌套定义函数。函数类型默认为int型。【考点2】库函数调用C语言标准库函数时要包含include命令,include命令行以#开头,后面是“”或第一行a1 4 5 6 第二行a2 7 8 9 第三行步骤二:这样作题目间很简单:*(a0+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里
10、就是a01元素,所以是。*(a1+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a12元素,所以是 6。一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。两种重要的数组长度:char a=a,b,c; 数组长度为,字符串长度不定。sizeof(a)为。char a5= a,b,c 数组长度为,字符串长度。sizeof(a)为。第八章字符串【考点1】字符串常量及表示字符串常量是由双引号括起来的一串字符,如”ABC”。在存储字符串时,系统会自动在其尾部加上一个空值0,空值也要占用一个字节,也就是字符串”ABC”需要占四个字节。【考点2】字符数组C语言没
11、有字符串变量,只能采用字符数组来存储字符串。数组的大小应该比它将要实际存放的最长字符串多一个元素,从而存放0。【考点3】字符串赋值字符串赋值的两种形式:char str=“Hello!”;或char *p;p=“Hello!,但不能用下面的形式:char str10;str=”Hello”;因为str是一个地址常量,不能进行赋值操作。【考点4】字符串的输入与输出可以用scanf和printf函数,如scanf(”%s”,str);,也可用专门处理字符串的两个函数gets和puts函数,还可以对字符数组逐个元素进行赋值,但一定要在最后赋一个0。使用gets函数可以接收空格,使用puts函数在最后
12、输出一个换行。scanf 和 gets 的数据:如果输入的是 good good study!那么 scanf(“%s”,a); 只会接收 good. 考点:不可以接收空格。gets(a); 会接收 good good study! 考点:可以接收空格。【考点5】字符串函数要掌握的四个字符串函数:字符串拷贝函数strcpy(),求字符串长度函数strlen(),字符串链接函数strcat(),字符串比较函数strcmp()。使用这些函数需在预处理部分包含头文件”string.h”。字符串长度要小于字符数组的长度,例:char str10=”Hello”;sizeof(str)的值为10(数组长
13、度),strlen(str)的值为5(字符串长度)。这些函数是考试常用到的函数,大家一定要熟练应用这几个函数。第九章文件【考点1】文件类型指针文件指针是一个指向结构体类型的指针,定义格式为:FILE *指针变量名。在使用文件时,都需要先定义文件指针。【考点2】文本文件与二进制文件文本形式存放的是字符的ASCII码,二进制形式存放的是数据的二进制。例如“100”如果是文本形式就是存储1、 0、 0三个字符的ASCII码(00110001 00110000 00110000),如果是二进制形式就把100转化成二进制(01100100)。【考点3】打开文件文件的打开形式:FILE *fp;fp=fo
14、pen(“c:lab.c”,”rb”);fopen函数的前面一部分为文件名,后面一部分为文件的使用方式。打开方式见教材第116页,其中r代表读,w代表写,a代表添加,b代表二进制位的。【考点4】文件函数判断文件结束feof函数,移动文件指针位置fseek函数,获得文件位置ftell函数,文件位置移到开头rewind函数,文件字符输入输出fgetc函数和fputc函数,文件输入输出fscanf函数和fprintf函数,文件字符串输入输出fgets函数和fputs函数,读写二进制文件fread函数和fwrite函数。以上函数要求知道格式会用,清楚是用于二进制文件还是文本文件。上课时候讲的文件这一章
15、的题目要做一遍,一定要做,基本上考试的都会在练习当中。第十章对C语言的深入探讨【考点1】编译预处理凡以#开头的这一行,都是编译预处理命令行,编译预处理不加分号,不占运行时间。宏替换仅是简单的文本替换,如#define f(x) (x)*(x)和#define f(x) x*x替换f(2+2)时就有区别,前者展开为(2+2)*(2+2),后者为2+2*2+2。如果源文件f2.c中有#include”f1.c”可以理解为把源文件f1.c原样包含到f2.c中,使f1.c和f2.c融合到一起成为一个C程序编译。所以一个C程序必有主函数,但一个C源文件未必有主函数。【考点2】标识符作用域局部变量是在函数
16、内或复合语句内定义的变量,作用域为定义它的函数内。局部变量有三种类型:自动auto,寄存器register和静态static。自动变量随着函数的使用与否创建消失;寄存器变量分配在cpu中,没有内存地址;静态变量占用固定存储单元,在程序执行过程不释放,直到程序运行结束。全局变量是在函数外定义的变量,作用域从定义它的位置到整个源文件结束为止,生存期为整个程序运行期间。全局变量都是静态变量。【考点3】动态存储分配malloc(size)用来创建size个字节的连续存储空间,返回值类型为void *型。malloc函数常用于动态创建链表结点,如int *p; p=(int *)malloc(sizeo
17、f(int);calloc(n,size)创建n个同一类型的连续存储空间,可以理解为n个malloc。int *p; p=(int *) calloc (10,sizeof(int);p指向首地址。free(p)释放动态分配的存储单元。【考点4】main函数的参数还有main(int argc,char *argv) 这种含有参数的题目,是很呆板的题目。第一个参数是表示输入的字符串的数目,第二个参数是指向存放的字符串。【考点5】函数指针函数指针的用法(*f)()记住一个例子:int add(int x, int y).main() int (*f)();f=add;赋值之后:合法的调用形式为、add(2,3);、f(2,3);、(*f)(2,3)第十一章结构体和共用体【考点1】结构体类型的说明结构体是若干个类型数据的集合,结构体类型说明格式:struct 类型名 类型1 成员名1;类型2 成员名2;,以上整个部分是一个数据类型,与整型的int是同样地位。可用typedef把结构体类型替换成一个只有几个字母的简短标识符。【考点2】结构体变量的定义结构体变量
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1