二级C语言笔试练习题101.pdf
《二级C语言笔试练习题101.pdf》由会员分享,可在线阅读,更多相关《二级C语言笔试练习题101.pdf(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程库设计全国计算机等级考试二 级C语言程序设计第 1 章 C 语言程序设计概述.1第 2 章 C 语言的基本数据类型与表达式.3第 3 章 顺序程序设计.11第 4 章 选择结构程序设计.13第 5 章 循 环 结 构.18第 6 章 函数与编译预处理.24第 7 章 数 组.34第 8 章 指针.42第 9 章 结构体数据类型与链表.57第 1 0 章 位 运 算 与 文 件 操 作.64上机考试题.71目 录第 1 章 C 语言程序设计概述1.1 程序与程序设计1.2 算法及其描述1.3 C 语言的发展及特点1.4 C 语言程序的基本结构1.5 C 语言字符集、标识符和关键字1.6 C 语
2、言程序的开发环境第 2 章 C 语言的基本数据类型与表达式2.1 C 语言的基本数据类型2.2 常量和变量2.3 运算符与表达式2.4 数据类型转换第 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 fo r语句5.4 break continue 和 goto 语句5.5 循环的嵌套5.6 复合结构程序举例第 6 章 函数与编译预处理6.1
3、模块化程序设计与函数6.2 函数的定义与调用6.3 函数的递归调用6.4 变量的作用域与存储方式6.5 编译预处理第 7 章 数 组7.1 一维数组7.2 二维数组7.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 链表第 1 0 章位运算与文件操作10.1 位运算与位运算符10.
4、2 位运算举例10.3 C 文件概述10.4 文件类型指针10.5 文件的打开与关闭10.6 文件的定位第 1 1 章 上机考试题分析第1 C错言程声钺计概述第 1 章 C 语言程序设计概述一、选择题1、以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点2、以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程
5、序的开始部分3、C语言规定,在一个源程序中,main函数的位置A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后4、以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)个C源程序必须包含-个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面5、C语言程序的基本单位是A)程序行 B)语句C)函数 D)字符6、以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,是只能用于整数运算的
6、运算符7、以下选项错误的是A)main()int x,y,z;x=0;y=x-l;z=x+y;C)main()int x;intint y;x=O,y=x+l;z=x+y;1 仔 细 答 题,认 真 总 结!B)main()int x,y,z;x=O,y=x+l;z=x+y;D)main()int x,y,z;x=O;y=x+l;z=x+y,二 级 考 试 专 用第 1 *C 语言程序强针概述8、以下4个选项中,不能看做一条语句的是A);B)a=5,b=2.5,c=3.6;C)if(a 12?x+10:x-12;printf(%d n,y);)A)0 B)22C)12 D)1020、在C语言中
7、,运算对象必须是整型数的运算符是A)%B)C)%和 D)*21、C语言中运算对象必须是整型的运算符是A)%=B)/仔 细 答 题,认 真 总 结!二 级 考 试 专 用 4第 2 章 C 辖言的基漳毅据奏型易表达WC)=D)=22、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合c 语言语法的表达式是A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)23、若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)
8、2.500000 B)2.750000C)3.500000 D)0.00000024、请选出以下语句的输出结果printf(d n”,strlen(t 0 6 5 x f f n );A)5 B)14C)8 D)输出项不合法,无正常输出25、设有数组定义:char array 口=China;则 数 组 array所占的空间为A)4个字节 B)5个字节C)6个字节 D)7个字节26、以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整
9、型变量只能输入整型数值,对于实型变量只能输入实型数值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()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(d n”,d*y);)A)3B)3.2C)0D)3.0730、设变量a是int型,f是float型,i是double型,则表达式10+a+i*f值的数据类型为A)intB)f
10、loat5仔 细 答 题,认 真 总 结!二 级 考 试 专 用第2 章 C将言的皋声裁提奏型星表达W、C)d o u b leD)不确定3 1、设以卜变量均为i n t类型,A)(x=y=6,x+y,x+1)C)(x=6,x+1 ,y=6,x+y)表达式的值不为7的是B)(x=y=6,x+y,y+l)D)(y=6,y+1 ,x=y,x+1)3 2、若 有 条 件 表 达 式(e x p)?a+:b-,则以下表达式中能完全等价于表达式(e x p)的是A)(e x p=0)C)(e x p=l)B)(e x p!=0)D)(e x p!=l)3 3、以下选项中,与k=n+完全等价的表达式是A)
11、k=n,n=n+lC)k=+nB)n=n+1 ,k=nD)k+=n+l3 4、以下程序的输出结果是m a i n ()i n t a=2 1,b=ll;p r i n t f (%d nn,a+b,b+a);A)3 0C)3 2B)3 1D)3 33 5、设x、y均为整型变量,且x=1 0 y=3,则以下语句的输出结果是p r i n t f (%d,%d n ,x y);A)10,3C)9,2B)9,3D)10,23 6、表达式a v b ll(c&d)中运算符优先级最高的是A)IIC)B)&D)()3 7、在C语言中,in t,cha r和sho rt三种类型数据在内存中所占用的字节数A)
12、由用户自己定义C)是任意的B)均为2个字节D)由所用机器的机器字长决定3 8、若有以下定义,则能使值为3的表达式是in t k=7,x=1 2;A)x%=(k%=5)C)x%=k-k%5B)x%=(k-k%5)D)(x%=k)-(k%=5)3 9、下面程序的输出结果为m a in ()in t a,b;b=(a=3*5,a*4,a*5);prin tf(%d,b);A)6 0C)6 5B)7 5D)无确定值4 0、假定x和y为do uble型,则表达式x=2,y=x+3/2的值是A)3.5 0 0 0 0 0 B)3仔 细 答 题,认 真 总 结!二 级 考 试 专 用6第2 章 C将言的皋声
13、裁提奏型星表达WC)2.000000 D)3.00000041、以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x+y+z的C语言表达式是A)x/y*zC)x/y*l/zB)x*(1/(y*z)D)x/y/z42、以下程序的输出结果是main()char c=z;printf(c”,c-25);)A)aC)z-25B)ZD)y43、有以下程序#include main()char*p=abcde Ofghjik 0printf(0%d n H,strlen(p);)程序运行后的输出结果是A)12 B)15C)6 D)544、设有intx=U;则表达式(x+*l/3)的值
14、是A)3 B)4C)11 D)1245、若变量a是int类型,并执行了语句:a=A+1 6,则正确的叙述是A)a的值是字符CC)不允许字符型和浮点型相加B)a的值是浮点型D)a的值是字符A 的ASCH值加上146、下列程序运行的结果是main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%d”,x,i);)A)x=3.600000,i=3C)x=3,i=3B)x=3.6,i=3D)x=3.600000,i=3.000000二、填空题1、在C语言中(以16位PC机为例),一个flo at型数据在内存中所占的字节数为4;一个double型数据在内存中所占
15、的字节数为【17仔 细 答 题,认 真 总 结!二 级 考 试 专 用第 2 章 C 辖言的基漳毅据奏型易表达W2、以下程序的输出结果是m a in ()in t i=0 1 0,j=1 0;pirn tf(z,%d,%d n/z,i,j);)3、已知字母a 的A SC I I 码为十进制数9 7,且设ch为字符型变量,则表达式ch=a +8 -3,的 值 为【】。4、下列程序的输出结果为【】。m a in ()in t x=3,y=5;prin tf(%d,x=(x)*(y);)5、设y 是in t型,请写出y 为奇数的关系表达式 1 06、设in t a=5,b=6,表 达 式(+a=b)
16、?+a:b的值是【】。7、以下程序的输出结果是m a in ()in t a=0;a+=(a=8);prin tf(,z%d n,z,a);8、在计算机中,字符的比较是对它们的【】进行比较。9、在内存中,存储字符X,要占用1 个字节,存储字符串 X要 占 用【1个字节。1 0、下列程序的输出结果是1 6.0 0,请填空。m a in ()in t a=9,b=2;flo a t y=l.1,z;z=a/2+b*x/y+l/2;prin tf(5.2 f n ,z );)1 1、以下程序段的输出结果是“Im a in ()in t a=2,b=3,c=4;a*=1 6+(b+)-(+c);pri
17、n tf(%d,a);)1 2、以 下 程 序 段 的 输 出 结 果 是。in t x=1 7,y=2 6;prin tf(d,y/=(x%=6);仔 细 答 题,认 真 总 结!二 级 考 试 专 用8第 2 章 C 辖言的基漳毅据奏型易表达W1 3、将以下程序写成三目运算表达式是“】oif(a b)m a x=a;else m a x=b;1 4、下列y 的 值 是【】。in t y;y=siz eo f(2.2 5*4);1 5、下列x 的 值 是【】。in t x;x=siz eo f 2.2 5*4;1 6、设x 和y 均为in t型变量,且x=l,y=2,则表达式do uble(
18、1+x/y)的值为【】。1 7、把数学表达式 m-n改写成C语言的表达式是【】。1 8、若有以下定义:cha r a;in t b;flo a t c;do uble d;则表达式a*b+d-c值的类型为1 】o1 9、若有以下程序段:in t cl=l,c2=2tc3;c3=l.0/c2*cl;则执行后,c3 中的值是【】。三、部分填空题解析2、解析:以0 开头的是八进制数。3、解析:在C 语言中,整型,实型,字符型数据间可以混合运算,在进行运算时,不同类型的数据要先转换成同一类型,然后再进行运算。我们可以这样计算本题,9 7+8-3=1 0 2,即1 0 2 所对应的字母为f。4、解析:X
19、的值为3,一y 的值为4;注意前缀一和后缀一的区别。8、解析:C 语言中,字符也可以进行比较运算,且是按照A SC H 码值进行的。9、计算机存储一个字符用1 个字节,存储字符串时,每个字符用占用1 个字节,另在字符串的有效字符之后存储1 个字符串的结束标记符。所以存储字符串“X”要占用2 个字节,存储字 符 x 只要1 个字节。1 0、解析:本题最后一条语句,表示以浮点格式输出z 的值,宽度为5,其中所含2 位小数,应该注意的是,两个整型运算结果仍为整型,如1/2 的结果为0,对本题可逐步求解:1 6.0 0=9/2+2*x/l.1+1/21 6.0 0=4+2*x/l.1+01 2.0 0
20、=2*x/l.1所以,x 的值为6.6。1 1、解析:a*=1 6+(b+)-(+c)等价于a=a*(1 6+(b+)-(+c),b+的值为3,+c9 仔 细 答 题,认 真 总 结!二 级 考 试 专 用第2*C语言的基声裁据类型&表达K的值为5,请注意前缀+和后缀+的用法。1 2、解析:%是取余运算,操作数为整型,所以最后的结果也为整型,运算过程如下:y/=(x%-6);y/=(x=x%6);y/=5;y=y/5;y=5;1 3、解析:本题考查三目运算符的用法,条件运算符要求有三个操作对象,称三目(元)运算符,它是C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式1?表达式2:表
21、达式3所以,我们可以写成(a b)?a:b,它是一个“条件表达式。执行顺序是:如果(a b)条件为真,则条件表达式取值a,否则取值b。1 4、解析:s iz eo f(2.2 5*4)为 s iz eo f(1 0.0 0)值 为 8,C 语言规定浮点型常量当双精 度 处 理(以 I B M-P C机为例)。1 5、解析:s iz eo f运算符高于算术运算符,所以s iz eo f 2.2 5*4 等 价 于(s iz eo f 2.2 5)*4为8 X 4=3 2 (以I B M-P C机为例)。1 6、解析:本题考查两个知识点是x/y 的值为整型即为0,二是数字1 存放在do u bl
22、e中是do u bl e类型。1 8、解析:C语言中,如果运算符两边的数据类型不同,将进行类型转换,根据转换规则,短整型转为长整型;整型转换为实型。1 9、解析:在赋值运算中,如果表达式中变量和常量的数据类型不一致就会自动进行类型转换。系统会计算L 0/c 2,由于1.0 是实型,所以均先转化为双精度型0.5 0 0 0 0 0,再和cl 转化后的双精度数相乘得0.5 0 0 0 0 0。但其要赋值给整型变量c3,故要进行强制转换,c3 的值为0。仔 细 答 题,认 真 总 结!二 级 考 试 专 用10第3*喉方程声钱什第 3 章顺序程序设计一、选择题1、结构化程序所规定的三种最基本控制结构
23、是A)输入、处理、输出 B)树形、网形、环形C)顺序、选择、循环 D)主程序、子程序、函数2、若说明int*p,n;则通过语句scanf能够正确读入数据的程序段是A)p=&n;scanf(%d,&p);B)p=&n;scanf(%d,*p);C)scanf(%d,n);D)p=&n;scanf(%d,p);3、以下程序段的输出结果是int a=1234;printf(%2dn,a);A)12 B)34C)1234 D)提示出错、无结果4、已有定义int a=-2;和输出语句printf(%81x,a);以下正确的叙述是A)整型变量的输出形式只有d一种B)%x是格式符的一种,它可以适用于任何种类
24、型的数据C)%x是格式符的种,其变量的值按十六进制输出,但81x是错误的D)%81x不是错误的格式符,其中数字8规定了输出字段的宽度5、对下面程序描述正确的一项是(每行程序前面的数字表示行号)1 main()2(3 float a 3=0.0;4 int i;5 for(i=0;i3;i+)scanf(%d,&a i );6 for(i=l;i3;i+)a 0=a 0+a L i;7 printf(%fn,a 0 );8)A)没有错误 B)第3行有错误C)第5行有错误 D)第7行有错误6、若变量已正确说明为int类型,要通过语句scanf(%d%d%d”,&a,&b,&c);给2赋值3,b赋值
25、5,c赋值8,正确的输入形式是A)3c回车5 回车8c回车B)3,5,8 回车)C)3V回车58 回车D)35c回车8 回车II仔 细 答 题,认 真 总 结!二 级 考 试 专 用第3*艰本在再强什7、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是main()int*p,*q,a,b;p=&a;printf(input a:u);scanf(d,*p);)A)*p表示的是指针变量p的地址B)*p表示的是变量a的值,而不是变量a的地址C)*p表示的是指针变量p的值D)*p只能用来说明p是一个指针变量8、x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 练习题 101
限制150内