二级c语言笔试练习题.docx
《二级c语言笔试练习题.docx》由会员分享,可在线阅读,更多相关《二级c语言笔试练习题.docx(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试二级C语言程序设计第1章C语言程序设计概述1第2章C语言的基本数据类型与表达式3第3章顺序程序设计11第4章选择结构程序设计13第5章循环结构18第6章函数与编译预处理24第7章数组34第8章指针42第9章结构体数据类型与链表57第10章位运算与文件操作64上机考试题71第1章 C语言程序设计概述1.1 程序与程序设计1.2 算法及其描述1.3 C语言的发展及特点1.4 C语言程序的基本结构1.5 C语言字符集、标识符和关键字1.6 C语言程序的开发环境第2章 C语言的基本数据类型 与表达式2.1 C语言的基本数据类型2.2 常量和变量2.3 运算符与表达式2.4 数据类型转
2、换第3章 顺序程序设计3.1 C语言的基本语句3.2 数据输入与输出3.3 程序举例第4章 选择结构程序设计4.1 关系运算符与关系表达式4.2 逻辑运算符与逻辑表达式4.3 if语句4.4 switch 语句第5章循环结构5.1 while 语句5.2 do-while 语句5.3 for语句5.4 break、continue 和 goto 语句5.5 循环的嵌套5.6 复合结构程序举例第6章 函数与编译预处理6.1 模块化程序设计与函数6.2 函数的定义与调用6.3 函数的递归调用6.4 变量的作用域与存储方式6.5 编译预处理第7章数组7.1 一维数组7.2 二维数组7.3 数组的应用
3、7.4 字符数组与字符串7.5 数组作为函数的参数7.6 程序举例第8章指针8.1 指针与指针变量8.2 指针与函数8.3 指针与数组8.4 指针与字符串8.5 指针数组与命令行参数8.6 程序举例第9章结构体数据类型与链表9.1 结构体类型的定义9.2 结构体类型变量9.3 结构体类型数组9.4 结构体类型指针9.5 结构体与函数9.6 链表第10章位运算与文件操作10.1 位运算与位运算符10.2 位运算举例10.3 C文件概述10.4 文件类型指针10.5 文件的打开与关闭10.6 文件的定位第11章上机考试题分析C语言程序设计概述一、选择题1、以下叙述中正确的是A) C语言比其他语言高
4、级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点2、以下说法正确的是A) C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main ()函数中定义C) C语言程序总是从main ()函数开始执行D) C语言程序中的main ()函数必须放在程序的开始部分3、C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后4、以下叙述不正确的是A) 一个C源程序可由一个或多个函数组成B) 个C源程序必须包含-个
5、main函数C) C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面5、C语言程序的基本单位是A)程序行B)语句C)函数D)字符6、以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,是只能用于整数运算的运算符7、以下选项错误的是A) main ()B) main ()int x,y,z;int x,y,z;x=O;y=x-l;x=O,y=x+l;C) main () int x;intnt y;x=O,y=x+1; z=x+y
6、;z=x+y;z=x+y;D) main () int x,y,z;x=O;y=x+l; z=x+y,8、以下4个选项中,不能看做一条语句的是A) ;B) a=5,b=2.5,c=3.6;C) if (a12?x+10:x-12;printf (%dn,y);)A) 0B)22C) 12D)1020、在C语言中,运算对象必须是整型数的运算符是A) %B)C) %和D)*21、C语言中运算对象必须是整型的运算符是A) %=B) /C) =D) =22、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合c语言语法的表达式是A)
7、 x% (-3)C) k= (a=2,b=3,a+b)B) w+=-2D) a+=a-= (b=4) * (a=3)23、若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3* (int) (x+y) %2/4的值是A) 2.500000B) 2.750000C) 3.5OOOOOD) 0.00000024、请选出以下语句的输出结果printf (%dn,strlen (t065xffn);A) 5B) 14C) 8D)输出项不合法,无正常输出25、设有数组定义:char array =China;则数组array所占的空间为A) 4个字节C) 6个字节B) 5个字节D
8、) 7个字节26、以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实 型数值27、sizeof (float)是A) 一个双精度型表达式C) 一种函数调用B) 一个整型表达式D) 一个不合法的表达式28、若x,i,j和k都是int型变量,则计算表达式x= (i=4,j=16,k=32)后,x的值为A) 4C) 32B) 16D) 5229、下列程序的输出结果是 main () doubl
9、e d=3.2; int x,y;x=1.2; y= (x+3.8) /5.0; printf (%dn”, d*y);)A) 3C) 0B) 3.2D) 3.0730、设变量a是int型,f是float型,i是double型,则表达式10+ a +i*f值的数据类型为A) intB) float5仔细答题,认真总结!二级考试专用C) doubleD)不确定31、设以下变量均为int类型,表达式的值不为7的是A) (x=y=6,x+y,x+l)B) (x=y=6,x+y,y+l)C) (x=6,x+l,y=6,x+y)D) (y=6,y+l,x=y,x+l)32、若有条件表达式(exp) ?a
10、+:b-,则以下表达式中能完全等价于表达式(exp)的是A) (exp=O)B)(exp!=O)C) (exp=l)D)(exp!=l)33、以下选项中,与k=n+完全等价的表达式是A) k=n,n=n+lB)n=n+l,k=nC) k=+nD)k+=n+134、以下程序的输出结果是 main () int a=2 l,b= 11;printf (%d n,a+b,b+a);)A) 30B) 31C) 32D) 3335、设x、y均为整型变量,且x=10y=3,则以下语句的输出结果是 printf (%d,%dn,xy);A) 10,3B)9,3C) 9,2D)10,236、表达式abll (
11、c&d)中运算符优先级最高的是A) IIB)&C) D)()37、在C语言中,int,char和short三种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定38、若有以下定义,则能使值为3的表达式是int k=7,x=12;A) x%= (k%=5)B) x%= (k-k%5)C) x%=k-k%5D) (x%=k) - (k%=5)39、下面程序的输出结果为 main () int a,b;b= (a=3*5,a*4,a*5);printf (d”,b) ;A) 60B)75C) 65D)无确定值40、假定x和y为double型,则表
12、达式x=2,y=x+3/2的值是A) 3.5OOOOOB)3C) 2.000000D) 3.00000041、以下变量x, y, z均为double类型且已正确赋值,不能正确表示数学式子x+y+z的C语 言表达式是A) x/y*zC) x/y*l/z42、以卜程序的输出结果是 main () char c= z;printf (%c,c-25);)A) aC) z-25B) x* (1/ (y*z)D) x/y/zB) ZD) y43、有以下程序#include main () char *p=abcde Ofghjik 0printf (%d n ,strlen (p);)程序运行后的输出结
13、果是A) 12B) 15C) 6D) 544、设有intx=H;则表达式(x+*l/3)A) 3B) 4C) IID) 1245、若变量a是int类型,并执行了语句: A) a的值是字符CC)不允许字符型和浮点型相加46、下列程序运行的结果是main ()float x;int i;x=3.6;i= (int) x;printf (x=%f,i=%d ,x,i);A) x=3.6OOOOO,i=3C) x=3,i=3的值是a=, A +1.6;,则正确的叙述是B) a的值是浮点型D) a的值是字符A的ASCH值加上IB) x=3.6,i=3D) x=3.6OOOOO,i=3.OOOOOO二、填
14、空题1、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4: 一个double型数据在内存中所占的字节数为【12、以下程序的输出结果是main ()int i=010, j=10;pirntf (%d, %d n”, i, j);3、已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch= a,+ 8,3,的值为【】。4、下列程序的输出结果为【】。main ()int x=3, y=5;printf (%d”, x=(x-) * (-y); )5、设y是int型,请写出v为奇数的关系表达式【106、设int a=5, b=6,表达式(+a=b)
15、?+a:b的值是【】口7、以下程序的输出结果是“】。main ()(int a=0;a+= (a=8);printf (%dn,a) ;8、在计算机中,字符的比较是对它们的-LJJt行比较。9、在内存中,存储字符X,要占用1个字节,存储字符串X要占用【】个字节。10、下列程序的输出结果是16.00,请填空。main ()int a=9, b=2;float x=【】,y=l. 1, z;z=a/2+b*x/y+l/2;printf (%5.2fn,z );11、以下程序段的输出结果是【 tmain ()int a=2, b = 3, c=4;a*=16+ (b+) - (+c);printf
16、(%d”,a);)12、以下程序段的输出结果是oint x=17, y=26;printfy/二(x%=6);13、将以下程序写成三目运算表达式是】oif (ab) max=a;else max=b;14、下列y的值是_I_J。int y; y=sizeof (2.25*4);15、下列x的值是【】。int x;x=sizeof 2.25*4;16、设x和y均为int型变量,且x=l, y=2,则表达式double (1+x/y)的值为【】。/2 、m + n(cos* X )17、把数学表达式m-n改写成C语言的表达式是18、若有以下定义:char a;int b; float c; dou
17、ble d;则表达式a*b+d-c值的类型为【】。19、若有以下程序段:int cl=l, c2=2, c3;c3=l. 0/c2*cl;则执行后,c3中的值是“】。三、部分填空题解析2、解析:以0开头的是八进制数。3、解析:在C语言中,整型,实型,字符型数据间可以混合运算,在进行运算时,不同类 型的数据要先转换成同一类型,然后再进行运算。我们可以这样计算本题,97+8-3=102,即 102所对应的字母为f。4、解析:x-的值为3, 一y的值为4;注意前缀一和后缀一的区别。8、解析:C语言中,字符也可以进行比较运算,且是按照ASCH码值进行的。9、计算机存储一个字符用1个字节,存储字符串时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 练习题
限制150内