二级C语言程序设计练习题.docx

上传人:无*** 文档编号:68343424 上传时间:2022-12-27 格式:DOCX 页数:111 大小:96.51KB
返回 下载 相关 举报
二级C语言程序设计练习题.docx_第1页
第1页 / 共111页
二级C语言程序设计练习题.docx_第2页
第2页 / 共111页
点击查看更多>>
资源描述

《二级C语言程序设计练习题.docx》由会员分享,可在线阅读,更多相关《二级C语言程序设计练习题.docx(111页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、二级C语言程序设计练习题gj.txt45想洗澡吗?不要到外面等待下雨;想成功吗?不要空等 机遇的到来。摘下的一瓣花能美丽多久? 一时的放纵又能快乐多久?有志者要为一生的目标 孜孜以求。少年自有少年狂,藐昆仑,笑吕梁;磨剑数年,今将试锋芒。自命不凡不可取, 妄自菲薄更不宜。重要说明:本习题所有题目均假设上机环境为TC2.0,而2008年版最新大 纲规定等级考试上机用VC6. 0,这主要对笔试的影响在于int类型所占用的字节,原来TC2. 0 中int类型为2个字节,而最新VC6.0中int类型占用4个字节,所以以下所有题目涉及int 数据类型占用字节数的地方请大家把题目和参考答案按新大纲做相应调

2、整即可,用到int类 型数据但不涉及int占字节数的所有地方不必调整。(其实需要调整的地方很少的,请大家自 己识别)C语言程序设计习题(全国计算机等级考试)第一章程序设计基本概念1.1在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是.L 2 C语言源程序文件的后缀是 ,经过编译后,生成文件的后缀是 ,经过 连接后,生成文件的后缀是.1.3结构化程序由、三种基本结构组成。第二章C程序设计的初步知识一、选择题2.1 选项中正确的整型常量是A) 12B)-2001,000D)4 5 62.2 选项中正确的实型常量是A) 0B)3. 141500.329*102D) .8712

3、. 3以下选项中不正确的实型常量是A)2. 607E-1B)0.8103e 2 C)-77.77 D)456e-2A) abc. cC)MainD)PRINTF2.5 选项中不合法的用户标识符是A)_123B)printfC)A$D)Dim2.6 C语言中运算对象必需是整型的运算符是A)%B)/C) !D)* *2.7 C程序中用作用户标识符的一组标识符是A)voidB)as_b3C)ForD)2cdefine123-abcDOWORDIfcaseSIG2.8 量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c, a+ C)int(12. 3%4) D)a=a+7

4、=c+b2.9 叙述中正确的是A) a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量允许赋值整型值。B) 在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。0执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。D) 已有a=3, b=5。当执行了表达式a=b , b=a之后,已使a中的值为5, b中的值为3。2. 10以下叙述中正确的是在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。C程序由主函数组成。C程序由函数组成。C程序由函数和过程组成。2.11 TURBO C中int类型变量所占字节

5、数是A)1B)203D)42. 12不合法的八进制数是A)0B) 0280 077D)012. 13不合法的十六进制数是A)oxffB)OXabc00x11D)0xl9二、填空题2. 14若k为int整型变量且赋值11。请写出运算k+后表达式的值A)和变量的值 B)。2. 15若x为double型变量,请写出运算x=3.2,+x后表达式的值A)和变量的值 B).2. 16函数体由符号开始,用符号 结束。函数体的前面是 部分,其后是部分。2. 17 C语言中的标识符可分为、和预定义标识符三类。2. 18在C语言程序中,用关键字 定义基本整型变量,用关键字 定义单精度实型变量,用关键字 定义双精度

6、实型变量。2. 19把al、a2定义成单精度实型变量,并赋初值1的定义语句是。2. 20 C程序中定义的变量,代表内存中的一个.21表达式3. 5+1/2的计算结果是,2. 22对以下数学式,写出三个等价的C语言表达式、.aibc2. 23表达式s=10应当读做“二2.24 机中内存储器的最小存储单位称,其中能容纳的数是。2.25 一个字节包含一个二进制位。在一个字节中能存放的最大(十进制)整数是,它的:进制数的形代是;最小(卜进制)整数是 ,它的二进制数的形式是。2, 26当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是、 最小(十进制)整数是,它的二进制数的形式是2.27

7、在C语言中整数可用 进制数、进制数和 进制数三种数制表示。三、上机改错题(读者最好在TURBO C环境下上机试一试,以便熟悉出错信息)。2. 28请指出以下C程序的错误所在ttinclude stdio. h;main();/* main function */float r, s; /*/*r is radius*/, /*s is area of circular*/*/r=5. 0;s=3.14159*r*r;printf( %fn,s)2. 29请指出以下C程序的错误所在include stdio.hmain /*main function*/(float a, b, c, v; /*

8、a, b, c are sides, v is volume of cube*/a=2. 0;b=3. 0; c=4. 0v=a*b*c;printf( a %fn” , v)第三章顺序结构选择题3.1 、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=d=100; B)d+; C)c+b; D)d=(c=22)-(b+);3.2 选项中不是C语句的是A) int i; i+; printf( w%dnM , i) ; B):C)a=5, c=10D) ; 3. 3以下合法的C语言赋值语句是A)a=b=58 B)k=int(a+b);C)a=58, b=5

9、8 D)i;3.4 程序的输出结果是A)0 B)1 C)3 D)不确定的值main() int x=10, y=3;printf( %dn , y=x/y); 3.5 量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是A) read (a, b, c);B)scanf( u %d%d%dM , a, b, c);C)scanf( %D%D%Dn ,&a,%b,%c); D)scanf( “ %d%d%d,&a, &b, &c);3.6 量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋 予33,以下不正确的输入形式是A)10B) 10.0,22.

10、0,33.0 C) 10.0D)10222222.0 33.03333scanf( “ %f %f %f” ,&a,&b,&c);3. 7若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是A)a=a+b, b=a-b, a=a-b;B)t=a, a=b, b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;3.8 量已正确定义,以下程序段的输出结果是A)输出格式说明与输出项不区配,输出无定值B)5. 1705. 168D)5. 169X=5. 16894;Printf( u %fnw ,(int)(x*1000+0. 5)/(float)1000);3.9 以下程序段

11、,c3中的值是A)0B)l/200.5D)1int cl=l, c2=2, c3;c3=cl/c2;3. 10若有以下程序段,其输出结果是A)3, 0, -10 B)0, 0, 50-10,3,-10D)3,0,3int a=0, b=0, c=0;c=(a-=a-5), (a=b, b+3);printf ( * %d, %d, %dn , a, b, c);3. 11当运行以下程序时,在键盘上从第一列开始输入9876543210(此处CR代表 Enter),则程序的输出结果是A)a=98, b=765,c=4321B)a=10,b=432, c=8765C)a=98, b=765. 000

12、000,c=4321. 000000D)a=98,b=765. 0,c-4321. 0main () int a; float b, c;scanf( “ %2d%3f%4fn ,&a,&b,&c);printf( na=%d, b=%f, c=%fn” , a, b, c);3. 12以下程序的输出结果是A)a=%2, b=%5B)a=2,b=5C)a=%d, b=%dD)a=%d, b=%dmain()int a=2, b=5;printf( , , a);3. 18若从终端输入以下数据,要给变量c赋以283. 19,则正确的输入语句是A) scanf ( u %f , c) ; B) s

13、canf ( u %8. 4f ,&c);B) scafn( %6.2f”,&c); D)scanf( w %8 ,&c);283. 19003. 19若变量已正确说明,要求用以下语句给a赋予3. 12、给b赋予9.0,则正确的输入形 式是(口代表空格)A)3. 12UU9. 0B)a=U U3. 12b=U U U9CRC)a=3. 12,b=9D)a=3. 12U U, b=9U U U UCRscanf( u a-%f, b=%f , &a, &b);3.20 程序的输出结果是A)9 8B)8 9 C)6 6D)以上三个都不对include math, h”main () double

14、a=-3.0,b=2;printf( u %3. Of %3. Ofn * , pow(b, fabs (a), pow (fabs (a), b);)填空题3.21 以下定义,请写出以下程序段中输出语句执行后的输出结果。(1) (2)(3)int i=-200, j=2500;printf( (1) %d %d,i, j);printf( (2) i=%d, j=%dnw ,i,j);printf( u (3) i=%dn j=%dnw , i, j);3. 22变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时 scanf ( %d , &I); scanf( u %dw ,

15、 &j); scanf ( %dw , &k);12. 3 表示 Enter 键则变量i、j、k的值分别是、o3.23 语句在语法上被认为是。空语句的形式是。3.24 C语句的最后用 结束。3.25 程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k 输入100,给a输入25. 81,给x输入1.89234时的三种可能的输入形式、。int k; float a; double x;scanf ( %d%f%lfw ,&k,&a,&x);pirntf ( k=%d, a=%f, xfn” , k, a, x):3, 26以下程序段的输出结果是int x=0177;prin

16、tf ( x=%3d, x=%6d, x=%6o, x=%6x, x=%6un,* , x, x, x, x, x);3,27以下程序段的输出结果是。int x=0177;printf( x=%-3d, x=%-6d, x=$%-06d, x=$%06d, x=%06dn ,x,x, x, x, x);3. 28以下程序段的输出结果是double a=5. 13. 789215;printf ( a=%8. 6f, a=%8. 2f, a=%14. 8f, a=%14. 81fnM , a, a, a, a);编程题和改错题3. 29以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请

17、对该程序做相应 的修改。maindouble a, b, c, s, v;printf(input a,b,c:n);scanf( w%d%d%d ,a, b, c);s=a*b;/*计算长方形面积*/v=a*b*c;/*计算长方体体积*/printf ( %d %d %dn , a, b, c);printf ( s=%fn , s, v=%dn” , v);当程序执行时,屏幕的显示和耍求输入形式如下:input a,b,c:2.0 2.0 3.0此处的2.0 2.0 3.0是用户输入的数据a=2. 000000, b=2. 000000, c=3. 000000此处是要求的输出形式s=4.

18、 000000, v=12. 0000003. 30编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。3.31编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。3. 32编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小 数点后第二位数进行四舍五入,最后输出结果。3. 33编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b, 把b中原来的值给c,把c中原来的值给a。第四章选择结构一、选择题4.1 运算符中优先级最高的运算符是A)!B) %C)-=D)&4.2 运算符中优先级最低的运算符是A) | |B) !=C)

19、 =y=z,应使用的C语言表达式是A) (x=y)&(y=z)B) (x=y)AND (y=z)C) (x=y=z)D) (x=y)&(y=z)4.4 、b和c都是int型变量,且a =3, b=4, c=5;则以下的表达式中,值为。的 表达式是A) a&b B)a=b C)a|b+c&b-c D)!(ab)&!c|D4. 5以下程序的输出结果是:A) 0B)1C)2D)3main() int a=2, b=-l, c=2;if (ab)if (b0) c=O;else c+=l;printf( %dn , c);)4.6 程序的输出结果是:mainO int w=4, x=3, y=2, z

20、-1;printf( “%dn”,(wx?w:zy?z:x);)4.7 行以下程序时从犍盘上输入3和4,则输出结果是A)14B)16018D) 20main() int a, b, s;scanf ( *%d%d , &a, &b);s=a;if (ab) s=b;s*=s;printf ( %dn , s);4.8 的程序片段所表示的数学函数关系是A) -1 (x0)B) 1 (x0)C) y= -1 (x=0)l(x0)D) -l(x0)y=l ;if (x!=0) if (x0) y=l;else y=0;4.9 以下程序后,输出A) ttftttttB) &0d)有语法错误不能通过编译

21、main() int k=-3;if (k=0) printf( *n” ); else printf(;)4. 10若a和b均是正整数型变量,以下正确的switch语句是A)switch ( pow(a, 2) +pow(b, 2)(注:调用求基的数学函数) case 1: case 3: y=a+b; break ;case 0: case 5: y=a-b;B)switch (a*a+b*b); case 3:case 1: y=a+b; break ;case 0: y=b-a; break;IC) switch a default : x=a+b;case 10 : y=a-b;br

22、eak;case 11 : y=a*d; break;D) switch(a+b) caselO: x=a+b; break;easel 1: y=a-b; break;)二、填空题4.11 C语言中用 表示逻辑值“真”,用 表示逻辑值“假”。4.12 C语言中的关系运算符按优先级别是、.4. 13 C语言中的逻辑运算符按优先级别是、.4. 14 C语言中的关系运算符和逻辑运算符的优先级别是 _、 、o4. 15 C语言中逻辑运算符 的优先级高于算术运算符。4, 16将下列数学式改写成C语言的关系表达式或逻辑表达式A),和B)A) a=b 或 a44.17 出以下程序的输出结果。main()

23、int a=100;if (a100) printf( ,a100);else printf( u%dnw , a0) B) !04. 19当a=l, b=2, c=3时,以下if语句执行后,a、b、c中的值分别为 if (ac)b=a;a=c; c=b;4. 20若变量巳正确定义,以下语句段的输出结果是一一。x=0, y=2, z=3;switch(x) case 0: switch (y=2) case 1: printf( ; break;case 2: printf( u%99 ); break;case 1: switch(z) case 1: printf( $);case 2:

24、printf( * );break;default: printf( ;4. 21请将以下语句改写成switch语句。if ( a30) m=l;else if (a40) m=2;else if (a50) m=3;else if (a60) m=4;else m=5;并输入当前的日期(年:4. 22编写程序,输入一位学生的生日(年:yO、月:mO、日:dO); yl、月:ml、日:dl);输出该生的实足年龄。4.23 程序,输入一个整数,打印出它是奇数还是偶数。4.24 程序,输入a、b、c三个数,打印出最大者。4.25 函数:x (-5x0)y= x-1 (x=0)x+1 (0x10)编

25、写一程序,要求输入x的值,输出y的值。分别用(1)不嵌套的if语句(2)嵌套的if语句(3) if-else语句(4) switch语句第五章循环结构一.选择题5.1 程序段的输出结果是A) 9 B) 1 C) 11 D) 10int k, j, s;for (k=2:k6;k+, k+) *1;for (j=k;j6;j+) s+=j;iprintf ( %dn , s);5.2 程序段的输出结果是A)12B)15 C)20 D) 25int i,j,m=0;for (I=l;I=5;I+=4)for (j=3;j7) n;printf ( %dn,n);5.4 .程序段的输出结果是A) 1

26、B)3 0 0 1 -2 D)死循环int x=3;doprintf( w%3dw ,x-=2) ; while (!(-x);5.5 程序的输出结果是A) 15 B) 14 C)不确定 D)0 main () int i,sum;for (i=l;i0;y)if (y%3=0) printf( u%dn , -y); continue5.7 是int型变量,以下程序段的输出结果是A) *3B)#3C)#3D)*3#4#4*4*4#5*5*5#5for (x=3;x6;x+) printf(x%2)?( “*%d ):( “#%dn ), x);5.8 程序的输出结果是A) *#*#*#$B)

27、#*#*#*$C) *#*#$D)#*#*$main () int i;for (i=l;i=5;i+) if (i%2) printf( “*” );else continue;printf ( “#” );printf ( $n);5.9 叙述正确的是A)do-while语句构成的循环不能用其他语句构成的循环代替.B) do-while语句构成的循环只能用break语句退出0用do-while语句构成循环时,只有在while后的表达式为非零时结束循环D)用do-while语句构成循环时,只有在whi le后的表达式为零时结束循环5, 10以下程序的输出结果是A) 39 81 B) 42 8

28、4026 68D)28 70main () int x,i;for (i=l;i+c)j+;do k+; while (ad+);5.12 程序段的输出结果是int k, n, m;n=10;m=l;k=l;while (k=n) m*=2;printf ( %dn,m);5.13 程序段的输出结果是一main () int x=2;while (x-);printf(, x);)5, 14以下程序段的输出结果是int i=0, sum=l;do sum+=i+; while (i5);printf(唳dn,sum);5. 15有以下程序段:s=l. 0;for(k=l;kamax) amax

29、=x;if () amin=x;scanf( %f , &x);printf ( namax=%fnaniin=%fn” , amax, amin);j三.编程题5, 17编写程序,求1-3+5-7+-99+101的值。5. 18编写程序,求 e 的值。e?l+l/l!+l/2!+l/3!+.+l/n!用循环,计算前50项。(2)用循环,要求直至最后一项的值小于10-45. 19编写程序,输入从公元1000年至2000年所有闰年的年号。每输出3个年号换一行。 判断公元年是否为闰年的条件是:(1)公元年数如能被4整除,而不能被100整除,则是闰年;(2)公元年数能被400整除也是闰年。5. 20

30、编写程序,打印以下图:*第六章字符型数据一、选择题6. 1 C语言中的简单类型有A)整型,实型,逻辑型 B)整型,实型,字符型C)整型,字符型,逻辑型 D)整型,实型,逻辑型,字符型6. 2 C语言中,字符型(char)数据在微机内存中的存储形式是A)反码 B)补码 C) EBCDIC码D) ASCH码6. 3设有语句char a=72;,则变量AA)包含1个字符B)包含2个字符C)包含3个字符 D)说明不合法6.4 C语言中不合法的字符常量是A)OXFF B)65C)&D)286. 5 C语言中不合法的字符串常量是B)Y=C)nn D)ABCDX6d”6. 6判断char型变量C是否为大写字

31、母的最简单且正确的表达式是A) 4A =A)&(C=Z)C) CA, =C) D) (C= A )4&(C= A & x= Z,)?(x+32):x;printf(%cn,x);6.9 程序的输出结果是A)67,CB)B,CC)C,D D)不确定的值main () charchi, ch2;chl=A+5-3 ;ch2= a + 5 - 3;printf(*%d, %cn*, ch2);)6. 10对以下程序,从第一列开始输入数据:2473,代表ENTER,程序的输出结果是A)668977 B)668966066778777 D)6688766#include stdio.hwhi le(c=

32、getchar () !=, n ) switch(c2) case 0:case 1: putchar(c+4);case 2: putchar(c+4); break;case 3: putchar(c+3);default : putchar(c+2); break;prinf(*n*);6.11若变量已正确说明,要求用以下语句给Cl赋予字符%,给C2赋予字符礼给a赋予2.0, 给b赋予4.0,则正确的输入形式是A)2. 0 % 4.0 #B)2. 0%4. 0#C)2% 4#D)2 % 4 scanfC%f%c%f%c, &a, &cl,&b, &c2);二、填空题6. 12 EOF的

33、十进制值是.6. 14调用C语言对字符处理的库函数时,在#include命令行中应包含的文件是.6. 15若输入字符A,在以下WHILE语句执行后ch的值是.while(ch=getchar()=A);6. 16若要通过以下语句给a, b, c, d分别输入字符A, B, C, D,给w, x, y, z分别输入10, 20, 30, 40,正确的输入形式是,请用CR代表ENTER键.scanf (%d%c%d%c%d%c%d%c”, &w, &a, &x, &b, &y, &c, &z, &d);6. 17若有以下说明和输入语句,要求给cl, c2输入字符A,B,给al,a2输入7.29和1

34、01.298, 从键盘正确输入数据的形式是char cl,c2; float al, a2;scanf&al, &a2); scanf(%c%c”, &cl, &c2);6. 18若有以下说明和输入语句,要求给cl,c2输入字符A,B,给al,a2输入7.29和 101. 298,从键盘正确输入数据的形式是char cl,c2; float al, a2;scanf (枇%f%c%f”, &c 1, &al, &c2, &a2):6. 19若有以下说明和输入语句,要求给cl, c2,c3输入字符A, B,C,从键盘正确输入数据的 形式.char cl,c2,c3;scanf(*%4c*, &c

35、l); scanf(%4c”, &c2);scanf(%4c”, &c3);三、填空题6. 20请编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的ASCII 代码值,每行输出三对.6. 21请编写程序,输入一行数字字符(用EOF结束),每个数字字符的前后都有空格.请编程,把这一行中的数字转换成一个整数.例如:若输入:2483则输出整数:2483.6. 22请编写程序统计输入的行数,输入用EOF结束.6. 23请编写程序统计输入的一行中小写字母的个数.6. 24请编写输入以下图案的程序,图案的行数由输入的值确定.ABBBCCCCCDDDDDDDEEEEEEEEE第七章函数一、选择

36、题7.1 说法中正确的是A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main函数中定义C)C语言程序总是从main函数开始执行D)C语言程序中的main函数必须放在程序的开始部分7.2 函数的类型是A)与参数x的类型相同 B) void类型 C)int类型D)无法确定fff(float x) printf(%dn,x*x);7.3 函数调用语句中,含有的实参个数是A)1B)2C)4D)5func( (expl,exp2),(exp3, exp4, exp5);7.4 程序的输出结果是A)11B)20C)21D)31func(int a, int b) in

37、t cc=a+b;return c;)main () int x=6, y=7, z=8, r;r=func(x-, y+, x+y), z-);printf (dn”, r);)7.5 程序的输出结果是A)-lB)001D)2 int i=2, p;P=f(i,i+1);printf (*%d*, p);int f(int a, int b) int c;c=a;if(ab)c=l;else if (a=b)c=O;elsec=-l;return(c);7.6 程序的输出结果是A)0B)1C)6 D)无定值fun( int a, int b, int c) c=a*b;main() int c;fun (2, 3, c);7.7 程序的输出结果是A) 5. 500000 B) 3. 000000C)4. 000000 D) 8. 25double f(int n) int i; double s;s=l.0;for (i=l; i=n;i+) s+=l. 0/i;return s;main () int i, m=3; float a=0. 0;for(i=0; im; i+) a+=f(i);printf (zz%fn,z, a)L;二

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁