您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 组织学习教育 > C语言复习资料(含公共基础知识要点)全解
NationalComputerRankExamination全国计算机等级考试成都新视野教育教学研究部编内部资料仅限学员所含内容:C语言程序设计复习资料二级公共基础知识复习资料考试注意事项考试真题及答案第一部分C语言程序设计复习资料总体上必须清楚的:1.程序有3中基本结构:顺序结构、选择结构和循环结构。2.用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”;源程序经编译后生成后缀名为“.obj”的目标文件;再把目标文件与各种库函数连接起来,生成“.exe”的可执行文件。3.main函数,又称主函数,每个C程序有且只有一个main函数;无论main函数在整个程序中的位置如何,程序总是从main函数开始执行、也从main函数结束。读程序时应从main函数开始,然后从上往下读(碰到循环做循环,碰到选择做选择)。4.无论是数值数据还是非数值数据(如字符等)在计算机中均以二进制形式存储;由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。二进制、八进制、十六进制转化为十进制采用按权展开法进行,十进制转化为二进制、八进制、十六进制采用除R取余法(R可取2、8或16);数据的存放位置就是它的地址。概念常考到的:1.编译预处理不是C语言的一部分,不占运行时间,不要加分号。2.每个C语言程序中main函数是有且只有一个。3.在函数定义中不可以再定义函数、即不允许函数嵌套定义。4.算法可以没有输入,必须要有输出。5.break只能用于循环结构和switch语句中。6.逗号运算符的级别最低。7.任意合法的表达式一定有一个数值与它对应。第一章C语言基础知识【考点1】C程序书写规范每条C语句的后面必须有一个分号,分号是语句的一部分;一行内可写多条语句,一个语句可以分成多行书写。C程序中对字母的大小写是敏感的,如A与a是不同的标识符。注释:是对程序的说明,目的是提高程序的可读性,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,不允许嵌套注释。运行一个C程序,从输入源程序开始要经过编辑源程序文件(.C)、编译生成目标文件(.obj)、链接生成可执行文件(.exe)和执行四个步骤。注意:源程序不能直接执行,必须经过编译链接生成可执行文件.exe的方可直接执行。【考点2】标识符合法的标识符要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了。每年必考:合法用户标识符:a.标识符分为三类:关键字、预定义标识符、用户标识符。用户标标识符就是不能为关键字即可。(考试形式选择题,如:以下是合法用户标识符的选项是)【考点3】判断常量是否合法常量是指在程序运行过程中,其值不能改变的量;分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。整型常量:有十进制、八进制和十六进制三种表示形式,没有二进制形式;八进制整型常量加前导数字0,十六进制常量加前导0X,八进制常量中每个数位的数值不会大于7。例如:-080不是合法的整型常量实型常量:有两种表示形式:小数形式和指数形式;掌握判定指数形式合法性。口诀:E前E后必有数,E后必须为整数。字符常量:稍后介绍字符串常量:注意空串和空格串的区别符号常量:如使用define定义的常量,#defineM3【考点4】变量在程序运行过程中其值可以改变的量称为变量。整型变量可分为基本整型(int)、短整型(short)、长整型(long)、和无符号整型(unsigned);短整型占2个字节的存储单元,其他整型占4个字节。注意:变量在计算机中所占用存储空间的大小由C语言编译系统决定。实型变量分为单精度型(float)和双精度型(double),单精度型占四个字节,双精度实型占8个字节。【考点5】字符型数据字符型数据包括字符常量和字符变量,在计算机中占用1个字节的存储空间;计算机处理时把字符型数据当作等值的整型ASCII值进行存储或运算。转义字符:在程序中inta=0x6d,是把一个十六进制的数给变量a注意这里的0x必须存在。在程序中inta=06d,是一个八进制的形式。在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。‘\141’是合法的,0是不能写的。‘\108’是非法的,因为不可以出现8大小写字母的转换:大写字母转换成对应小写字母:ch+32如‘A’+32=‘a’小写字母转换成对应大写字母:ch–32如‘y’–32=‘Y’数字字符与对应数字的转换:ch–48如‘1’–48=1【考点6】算术运算算术运算符一共有+、—、*、/、%这五个;求余运算要求运算对象只能为整型,除法运算符两边运算对象都为整型时,运算结果也为整型,即舍掉小数部分。考试重点(/和%)例如:10/410./410%310%-3-10%3-10%-310%3.0(不合法)【考点7】强制类型转换将一个运算对象转换成指定类型,格式为(类型名)表达式,注意小括号位置。例如:(int)3.8结果为3;而不是int(3.8)注意(int)(a+b)和(int)a+b的区别。前是把a+b转型,后是把a转型再加b。【考点8】赋值运算及表达式赋值运算符为“=”,不同于关系等于“==”。赋值表达式格式为:变量名=表达式,赋值运算符左边必须为变量,赋值运算是把赋值运算符右边表达式的值赋给左边变量。注意:赋值表达式左边一定是变量。当赋值号两边的运算对象类型不一致,会自动将右边的类型转化为左边的类型。复合赋值运算符是将算术运算符或位运算符与赋值运算符组合在一起组成的运算符,掌握复合赋值表达式转化为赋值表达式的方法。如n+=100可转化为n=n+100。【考点9】表达式的考查是表达式就一定有数值。赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。自加、自减表达式:自加自减运算符在每年的考试当中基本所有的大题都会涉及到,所以希望同学们能够熟练的掌握其运算规则,死记硬背都要给记住。运行的机理:++a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6,再放到变量a中。进行了++a或a++后在下面的程序中再用到a的话都是变量a中的6了。考试口诀:++在前先加后用,++在后先用后加。例如:inti=1,s;inti=1,s;s=i++;s=++i;运算后:s的值为1,i的值为2s的值为2,i的值为2逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。【考点10】位运算位运算的对象只能是整型或者字符型数据。处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。要求掌握的位运算符号有:~&^|【考点11】三种取整丢小数的情况1、inta=1.6;2、(int)a;3、3/2;【考点12】字符型和整数是近亲chara=65;printf(“%c”,a);得到的输出结果:aprintf(“%d”,a);得到的输出结果:65第二章数据的输入输出【考点1】printf函数的格式考查:Printf(输出控制,输出数据列表)重点:%md的形式。m表示输出的这个数至少占m位,多于m位原样输出,少于m位右对齐,左补空格%m.nf的形式。n表示输出的这个数的小数位最多占n位,多于n位四舍五入,少于n位右补0m表示输出的这个数总共最少占m位,多于m位原样输出,少于m位右对齐,左补空格(注意小数点算一位。)特殊情况:printf(”%3.0f”,49.9);【考点2】scanf函数的格式考察:Scanf(输入控制,输入数据列表)重点:%md的形式。m表示最多读入m个数。【考点3】putchar,getchar函数的考查:chara=getchar()是没有参数的,从键盘得到输入的一个字符给变量a。putchar(y)把以字符的形式输出y到屏幕中。重点注意:putchar和getchar都是字符的形式。易错例题:inta,b,c,d;scanf(“%2d%1d”,&a,&b);c=getchar();d=a+b+c;当程序执行时在键盘上输入45678.请问d的值等于多少。【考点4】如何交换两个变量a和b使用中间变量t,交换语句为:t=a;a=b;b=t【考点5】如何实现保留三位小数,第四位四舍五入的程序(int)(n*1000+0.5)/1000.0第三章选择结构口诀:非0为真,0为假;为真是1,为假是0.【考点1】关系运算符:====!=关系运算的结果都是逻辑值0或1。【考点2】逻辑运算符a)共有&&(逻辑与)||(逻辑或)!(逻辑非)三种逻辑运算符号。b)!&&||优先的级别。每年必考:短路表达式。例如:inta=1,b=2,s;s=(a++||b++);printf(“%d%d%d”,a,b,s);例如:inta=1,b=2,s;s=(--a&&--b);printf(“%d%d%d”,a,b,s);总结:判断逻辑值有三种方法,一通过非0为真,0为假来判断;二通过关系运算来判断;三通过逻辑运算来判断。【考点3】if语句可以单独出现,也可以与else匹配出现。if语句可以嵌套,这时else总是与离它最近的且没有与else匹配的if匹配。结构:if(表达式)语句;注意:if只控制一条语句。例如:inta=1,b=2;if(ab);a=b;printf(”%d”,a);if–else语句结构:if(表达式)语句1;else语句2;注意:语句1只能是一条语句,如果是多条必须要用花括号括起来,否则语法错误。常错题:main(){inta=4,b=5,c=6;if(cba)printf(“%d”,a);elseprintf(“%d”,c);}main(){inta=4,b=5,c=6;if(a=b)printf(“%d”,a);elseprintf(“%d”,c);}if–else语句的嵌套:注意:内嵌结构中else总是与前面最近的且未曾配对的if语句配对。【考点4】条件运算是唯一的三目运算符,格式为:表达式1?表达式2:表达式3。表达式1值为非0时,整个表达式值为表达式2的值,表达式1值为0时,整个表达式值为表达式3的值。口诀:真前假后【考点5】switch语句switch(表达式){case常量表达式1;语句块1;case常量表达式2;语句块2;……case常量表达式n;语句块n;default:语句块n+1;}注意:1、switch后面表达式的值必须为整型常量2、case后面表达式的值必须为整型常量3、default的位置可以在前可以在后,但一个switch结构中最多只有一个default语句,可以没有default语句。4、当switch结构中没有break时候,只要有一个case匹配了,剩下的都要执行,如果没有case配对,则执行default后面的语句块后剩下的语句块都要执行完,如果有break则遇到break直接跳出了swich语句。5、switch只可以和break一起用,不可以和continue用。main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf(“a=%d,b=%d\n”,a,b);}第四章循环结构【考点1】三种循环结构a)for(表达式1;表达式2;)while(表达式)do循环体;循环体;{循环体;}while(表达式);b)for循环当中必须是两个分号,千万不要忘记。c)写程序的时候一定要注意,循环一定要有结束的条件,否则容易造成死循环。d)do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错),do-while循环是至少执行一次循环。经典例题:mai
本文标题:C语言复习资料(含公共基础知识要点)全解
链接地址:https://www.777doc.com/doc-3203209 .html