您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 1-2012年计算机等级考试二级C语言常见知识点
1579217355358第1页共15页2012年计算机等级考试二级C语言常见知识点总体上必须清楚的:1)程序结构是三种:顺序结构,循环结构(if-goto、while、do_while以及for),选择结构(if和switch)2)用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”;源程序经编译后生成后缀名为“.obj”的目标文件;再把目标文件与各种库函数连接起来,生成“.exe”的可执行文件。3)函数是C程序的基本组成单位,任何一个C程序既可以由一个函数组成,也可以由多个函数组成,不管由多少个函数组成,都必须有且仅有一个主函数,即main()函数。无论main函数在整个程序中的位置如何,程序总是从main函数开始执行、也从main函数结束。读程序时应从main()函数开始,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。4)计算机的数据在电脑中是以二进制的形式保存的.数据存放的位置就是它的地址(即指针)。5)编译预处理命令不是C语句,不占用运行时间,后面一定不能出现分号。在C程序中有三种情况不会执行,依次是编译预处理命令、解释语句和变量声明语句。6)bit是位是指为0或者1。byte是指字节,一个字节=八个位。7)一定要记住:二进制如何转换成十进制(口诀:按位权展开求和)。概念常考到的:1、编译预处理(如#include“stdio.h”)不是C语言的一部分,不占运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。2、每个C语言程序中main函数是有且只有一个。3、在函数中不可以再定义函数,即函数可以嵌套调用,不可以嵌套定义。4、算法可以没有输入,但一定要有输出,也就因此编写任何一个C程序时必须有printf()等输出语句。5、break可用于循环结构和switch语句,但continue只能用于循环结构。6、逗号运算符的级别最低,赋值的级别倒数第二。7、任意合法的表达式一定有一个数值与它对应。第一章C语言基础知识1)C程序基本常识该考点主要从C程序书写规范、main函数及函数基础知识、C程序开发流程及各阶段产生的文件等方面进行考察。每条C语句的后面必须有一个分号,分号是语句的一部分;一行内可写多条语句,一个语句可以分成多行书写。C程序中对字母的大小写是敏感的,如A与a是不同的标识符。注释:是对程序的说明,目的是提高程序的可读性,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,不允许嵌套注释。【1】下列叙述中正确的是()A.每个C程序文件中都必须要有一个main()函数B.在C程序中main()函数的位置是固定的C.C程序中所有函数之间都可以相互调用,与函数所在位置无关D.在C程序的函数中不能定义另一个函数【2】以下叙述中错误的是()A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数1579217355358第2页共15页2)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或者是下划线。第一个为数字就错了。关键字不可以作为用户标识符号。main、define、scanf和printf都不是关键字。迷惑你的地方If是可以作为用户标识符。因为C语言是大小写敏感的文法,If中的第一个字母大写了,所以不是关键字。注意:连接(-)符不能出现在标识符中;区分字母o与数字0;熟悉常见的关键字。3)判断常量是否合法常量是指在程序运行过程中,其值不能改变的量;分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。整型常量:有十进制、八进制和十六进制三种表示形式,没有二进制形式;八进制整型常量加前导数字0,十六进制常量加前导0X,八进制常量中每个数位的数值不会大于7。例如:-080不是合法的整型常量。实型常量:有两种表示形式:小数形式和指数形式;掌握判定指数形式合法性。2.333e-1就是合法的,且数据是2.333×10-1考试口诀:e前e后必有数,e后必为整数。.字符数据的合法形式:'1'是字符占一个字节,1是字符串占两个字节(含有一个结束符号)。'0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。【3】数字字符0的ASCII值为48,若有以下程序main(){chara='1',b='2';printf(%c,,b++);printf(%d\n,b-a);}程序运行后的输出结果是______。A)3,2B)50,2C)2,2D)2,50大小写字母的转换:大写字母转换成对应小写字母:ch+32如‘A’+32=’a’小写字母转换成对应大写字母:ch–32如‘y’–32=‘Y’数字字符与对应数字的转换:ch–48如’1’–48=1【4】#includestdio.hmain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,CR代表回车,注意:回车是一个字符)12CR34CR则输出结果是:A、1234B、12C、12D、123341579217355358第3页共15页【5】已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33回车,则输出结果是___________#includestdio.hvoidmain(){chara,b;a=getchar();scanf(%d,&b);a=a-'A'+'0';b=b*2;printf(%c%c\n,a,b);}4)变量在程序运行过程中其值可以改变的量称为变量。整型变量可分为基本整型(int)、短整型(short)、长整型(long)、和无符号整型(unsigned);一个基本整型占4个字节,其它类型的整型占用字节数和取值范围详见教材,注意:变量在计算机中所占用存储空间的大小由C语言编译系统决定。实型变量分为单精度型(float)和双精度型(double),单精度型占四个字节。5)转义字符的考查:在程序中inta=0x6d,是把一个十六进制的数给变量a注意这里的0x必须存在。在程序中inta=06d,是一个八进制的形式。在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。‘\141’是合法的,0是不能写的。‘\108’是非法的,因为不可以出现8。6)算术运算符:算术运算符一共有+、—、*、/、%这五个;求余运算要求运算对象只能为整型,除法运算符两边运算对象都为整型时,运算结果也为整型,即舍掉小数部分。例如:18/10结果为1,而不是1.8;3.5%3是非法的表达式。7)强制类型转换:将一个运算对象转换成指定类型,格式为(类型名)表达式,注意小括号位置。一定是(int)a不是int(a),注意类型上一定有括号的。注意(int)(a+b)和(int)a+b的区别:前者是把a+b转换成整型,后者是把a转换成整型再与b相加。8)赋值运算及表达式的考查:赋值运算符为“=”,不同于关系等于“==”。赋值表达式格式为:变量名=表达式,赋值运算符左边必须为变量,赋值运算是把赋值运算符右边表达式的值赋给左边变量。复合赋值运算符是将算术运算符或位运算符与赋值运算符组合在一起组成的运算符,掌握复合赋值表达式转化为赋值表达式的方法。如n+=100可转化为n=n+100。注意赋值运算符和复合赋值运算符的优先级仅仅高于逗号运算符,结合性为从右到左例如:有语句inta=5;表达式a=6值为6,而表达式a==6结果为0是表达式就一定有数值。赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式的值为5,常量不可以赋值。自加、自减表达式:假设a=5,++a(是为6),a++(为5);运行的机理:++a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a表达式的数值为6,而a++是先用该表达式的数值为5,然后再把a的数值加上1为6,再放到变量a中。进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6了。1579217355358第4页共15页考试口诀:++在前先加后用,++在后先用后加。逗号表达式:优先级别最低;整个表达式的数值是逗号最右边的那个表达式的数值。例如:(2,3,4)的表达式的数值就是4。【6】有以下程序main(){intx,y,z;x=y=1;z=x++,y++,++y;printf(%d,%d,%d\n,x,y,z);}程序运行后的输出结果是________。A)2,3,3B)2,3,2C)2,3,1D)2,2,19)位运算的考查:会有一到两题的考试题目。总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。例1:chara=6,b;b=a2;这种题目的计算是先要把a的十进制6化成二进制,再做位运算。一定要记住,异或的位运算符号。0异或1得到1。0异或0得到0。两个女的生不出来。1异或1得到0。两个男的生不出来。考试记忆方法:一男(1)一女(0)才可以生个小孩(1)。一定要记住,在没有舍去数据的时候,左移一位表示乘以2;右移一位表示除以2。【7】有以下程序#include<stdio.hmain(){shortc=124;c=c_______;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)2B)|248C)&0248D)110)三种取整丢小数的情况:1、inta=1.6;2、(int)a;3、3/211)字符型和整数是近亲chara=65;printf(“%c”,a);得到的输出结果:aprintf(“%d”,a);得到的输出结果:65第二章数据的输入输出1)printf函数的格式考查:%d对应整型;%c对应字符型;%f对应单精度等等。宽度的,左对齐等修饰。%ld对应longint;%lf对应double。1579217355358第5页共15页2)scanf函数的格式考察:注意该函数的第二个部分是&a这样的地址,不是a,除指针变量名和数组变量名外;scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据。3)putchar,getchar函数的考查:chara=getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。putchar(‘y’)把字符y输出到屏幕中。4)如何实现两个变量x,y中数值的互换(要求背下来)不可以是x=y,y=x;要用中间变量t=x;x=y;y=t。5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)这个有推广的意义,注意x=(int)x这样是把小数部分去掉。第三章选择结构特别要注意:c语言中是用非0表示逻辑真的,用0表示逻辑假的。1)关系表达式:表达式的数值只能为1(表示为真),或0(表示假)当关系的表达是为真的时候得到1。如98这个是真的,所以表达式的数值就是1;2)逻辑表达式:只能为1(表示为真),或0(表示假)a)共有&&||!三种逻辑运算符号。b)!&&||优先的级别。c)注意短路现象。考试比较喜欢考到。d)要表示x是比0大,比10小的方法。03)if语句可以单独出现,也可以与else匹配出现。if语句可以嵌套,这时else总是与位于其上面的离他最近的且没有与else配对的if匹配使用,else不能单独出现。【8】在执行以下程序时,为了使输出结果为t=4,给a和b输入的值应该满足的条件是()voidmain(){ints,t,a,b;scanf(%d,%d,&a,&b);s=1;t=1;if(a0)s=s+1;if(a0)t=s+1;elseif(a==b)t=5;elset=2*s;printf(t=%d\n,t);}A
本文标题:1-2012年计算机等级考试二级C语言常见知识点
链接地址:https://www.777doc.com/doc-3121493 .html