1、C语言程序设计实验教程习题110第一章 一选择题1.最早开发C语言是为了编写下面那一种操作系统( C) A .Windows B.DOS C.UNIX D.Linux2.下面哪一项不属于C语言的特点( B ) Ac语言具有可移植性 B.c是一种面向对象程序设计语言 C.c语言具有自我扩展能力 D.c语言程序执行效率较高3.下面关于程序的说法中哪一项是正确的( B ) A.程序是指由二进制0和1构成的代码 B.程序就是人与计算机进行交流的语言 C.将需要计算机完成的工作写成一种形式化指令,而这些单个的指令就是程序 D程序的设计形式是一致的4.下面哪一项不属于c语言程序开发过程中设计程序阶段应该考
2、虑的问题(D ) A.程序可以包含哪些函数 B.用什么类型的变量来保存数据 C.需要哪些步骤来解决问题 D.采用哪一张开发工具5.经过连接以后生成的可执行文件的扩展名是下面的哪一项(B ) A. .c B. .exe C. .o D. .obj6.下面哪一项不属于c语言继承开发环境包含的程序( C )A.编辑程序 B.编译程序 C.汇编程序 D.调试程序二选择题1把高级语言转换成机器语言的程序被称作(编译器)2.c语言的代码通常使用(编译器)程序输入到计算机中。3.ANSI C是C语言的第一个标准,一般称为(C89),目前最新的修改版本是(C99)。4.程序调试的主要目的是(发现并修正错误)。
3、三判断题1.连接器只是把编译生成的目标代码连接起来生成可执行代码(F)。2.C语言只能用来编写操作系统(F)。3.UNIX操作系统本身提供C语言的编译器,称为CC(T)。4.用机器语言编写的程序依赖于具体的机器,不具备可移植性(T)。5.一个C语言程序只要编译和连接没有错误,就肯定能正常运行(F)。第二章一.选择题1.下面哪一项可以作为c语言的标识符(B)。A 2m B. var C. n37 D. ok?2.下面哪一项怒能作为c语言的标识符(C)。A mean B. ked C. a+c D.Main3.在C语言中,声明语句用下面列出的哪一种符号结束(B)。A.逗号 B.分号 C.冒号 D.
4、句号4.在下面关于变量的说明中哪一项是不正确的(C)。A.变量在使用之前必须声明 B.可以通过输入为变量赋值C.声明变量时只需指定变量名 D.变量名应该是一个合法的标识符5.在下面关于注释的说明中哪一项是正确的(B)。A.在执行程序时,注释会导致计算机在屏幕上显示/*和*/之间的内容B.在程序中添加注释可以增强代码的可续性,应该鼓励多写注释C.注释会增加程序源代码的长度,也会增加目标代码的长度D.一个注释不可以分多行来写6.下面哪一项不益于增强程序代码的可续性(C)A.适当插入空行分隔不同的处理部分B.为变量和函数命名时,尽量使名称能见名知意C.删去不必要的圆括号使表达式简短D.尽量把一条语句
5、安排在一行7.下面说法中正确的是哪一项(C)。A.c语言源程序是由一个个语句构成的B.c语言源程序有固定的书写格式C.每个语句的末尾必须有一个分号,作为语句结束的标志D.可以用/*/对c语言程序中的任何部分作注释8.调用printf()函数输出3个变量的值,正确的语句是哪一项(A)。A.printf(”%d%d%dn”,x,y,z); B.printf(“%d%d%dn”,x,y);C.printf(“%d%dn”,x,y,z); D.printf(“%D%D%Dn”;二填空题1. c程序的每条语句必须以(;)结尾。2. ( printf() )函数用于在屏幕上显示输出。3. ( scanft
6、() )函数用于输入数据。4. (stdion)头文件包含了标准输入输出库函数的声明。5. 一个函数定义包括函数头和(函数值)。6. C语言程序的基本模块是(函数)。7. 编译器可以发现程序中的(语法)错误。8. 能够进行判断的c语句是(if语句)。三判断题1.在c语言中,Abc和abc是不同的两个标识符(T)。2.main()函数是程序执行的起点(T)。3.程序中的一行可以有多条语句(T)。4.一个c程序可以包含多个函数,但只能有一个main()函数(T)。5.在声明变量时必须为其指定一种数据类型(T)。6.只能通过赋值语句改变变量的值(F).7.变量的声明可以放在函数体重的任何位置(F)。
7、8.在程序中可以包含多个预处理命令(T)。第三章一.选择题1.以下选项中均为合法整型常量的是AA160.Oxffff,0112.以下选项不正确的转义字符是CC0773.设a是int类型,有语段:a=-017L;printf(%dn,a);,输出结果为DD-154.下列变量说明语句中,正确的是CC intx,y,z=105.以下为字符串常量的是BBChina6.以下不属于C语言数据类型的是DD long unsigned short7.以下选项均为不合法浮点常量的是BB。123,2e2.5,e58.以下选项中均为不合法转义字符的是AA , ,n9.char类型在内存中的存储形式是DD ASCII
8、码10.以下选项中正确定义符号常量的是CC #define NAMEWang11.scanf()函数称为AA格式输入函数12.设a为float类型变量,则下列选项中正确的是AA scanf(%f,&a);13.getchar()函数和putchar()函数的头文件是BB sttdio.h14.设有语句段:int a=256,b=356;printf(%dn,a,b);,则输出结果为DD 25615.设有语句段:float x; scanf (%6.2f,&x);printf(X=%fn,x);若输入数据:134.89后,则BB运行结果错二.填空题1.c语言中标识符的首字符必须是(字母或者下划线
9、)2.在VC+中,int类型数据占用(4)个字节3.若有变量说明语句:char c=72;,则变量C包含(1)个字符4.字符串wx53np103q的长度是(7)5.字符串HOW ARE YOU?在内存中占用(13)个字节。6.scanf()函数的功能是按(格式控制字符串)指定的格式,在标准输入设备上把数据输入到(变量)中7.在输入多个数值型数据时,若scanf()函数的格式控制字符串”中没有非格式字符作为输入数据的间隔符,则可用(定格),(Tab)和(Enter)作分隔。8.设有语句段,int=65;printf(%d,%cn,x,x);,则输出结果为(65.A)9.设有语句段,float x
10、=123.456;printf(x=%,2fnx);则输出结果(X=123.46)10.若要输出以下各种类型的数据,应使用神马转换说明符;字符宽度为4的十进制证书应使用%4d;字段宽度为6的十六进制整数应使用(%6x),八进制整数应用(%6o);字段宽度为4的字符应使用(%4c);字段宽度为10,保留3位小数的双精度实数应使用(%10.31f),字段宽度为8的字符串应使用(%8s)三.判断题1.在C语言中,数据有常量和变量之分T2.在c语言中,可以把一个字符串赋给一个字符变量F3.符号常量不是常量的一种数据类型,而是任何类型常量的另一种表示形式T4.语句printf(%dn,12.8%4);的
11、输出结果为0 F5.在使用scanf()函数为douple型变量赋值时,可使用%f或%lf格式符F6.说明语句int a=10,b=10,c=10;和说明语句int a=b=c=10;等价F7.有语句intx;scanf(%4d,&x);若输入数据123456,则只能把1234赋给变量x F8.语句段:int=100;y=200;printf(dn,(x,y));的输出结果为200 T9.scanf()和printf()是C语言中标准的格式输入输出语句F10.若有intx=15;printf(%dn,&x);则系统不会报错,则输出X的地址T第四章一选择题1.下列运算符中,只能用于整形数据的是D
12、D%2.设有定义int a=8,b=5,c;,则执行语句c=a/b+0.4;后,c的值是BB 13.设有定义int a,b,i=18;double x,y ;则符合C语言规则的表达式是AA y=(float)i4.设有定义int k=11;,则表达式k+*1/3的值是BB 35.设有定义float a=2;b=4;h=3;则以下C语言表达式中与代数式计算结果不相符的是BB (1/2)*(a+b)*h6.有以下程序C,执行后输出结果为:CC 6.47.以下选项中,与表达式k=n+等价的表达式是AA k=n,n=n+18.设有定义double x,y ;,则表达式x=2,y=x+3/2的值是DD
13、3.0000009.设有定义int m=10;,则以下错误的表达式是AA m+=1510.设有定义int a=5;float=5.5;则以下错误的表达式是DD.a+b二.填空题1.表达式8/4*(int)2.5/(int)1.25*(3.7+2.3))的数据类型为(int)2.设有定义int x=f;,则执行语句printf(%cn,a+(x-a+1));后输出结果是(g)3.表达式5%6的值是(5)4.设y为int型变量,则描述“y是偶数”的表达式是(y%2=0)5.设有定义int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为(
14、1)6.设有定义int a=6;则表达式a+=a-=a*a的值(-60)7.设有定义intk;则执行表达式k=10,k+,k+,k+3后,表达式的值是15,变量k的值是(12)8.以下程序a=H-A+O执行后输出结果是(7)9以下程序printf(%fn,z),执行后输出结果是(-7.300000)10.请书写数学式cos60+8ey的C语言表达式(cos(60*3.14159/180)+8*exp(y)三,判断题1.x+是一个合法的算术表达式T2.x=y=z=0是一个合法的赋值表达式T3.要求参与运算的操作数必须是基本类型的运算符是% F4.凡是表达式都是一个确定的值T5.无论是整数还是实数
15、,只要允许的范围内都可以准确无误的表示F6.在主函数内变量一经定义,系统将自动赋予初始值F7.设a为实型变量,且有语句a=10;,因此可说实型变量中允许存放整型值F8.在赋值表达式中,赋值号右边可以是变量也可以是任意表达式,但赋值号左边只能是变量T9.执行表达式a=b后,变量a的值由原值改变为b的值,而变量b的值置零F10.在C语言程序中,书写任何表达式都只能写在一行内F第五章一、选择题1、判断char型变量c1是否为小写字母的正确表达式为(D)A、 a=c1 = A) & (c1 =c1) | ( z= a) & (c1 = z)2、在C语言中的if语句中,用以决定分支流程的表达式为(D)A
16、、只能用关系表达式 B、只能用逻辑表达式C、只能用算术表达式 D、任意表达式3、若变量都已正确说明,则以下程序段的输出为(D)int a=1,b=2,c,d;if (a=b) c=d=a;else c=b;d=b;printf(“c=%d,d=%d”,c,d);A、c=1,d=1 B、c=1,d=2 C、c=2,d=1 D、c=2,d=2 4、请阅读以下程序#include void main()int a=5,b=0,c=0;if(a=b+c) printf(“&”);else printf(“#”);下列说法正确的是:(D)A、有语法错不能通过编译 B、可以通过编译但不能连接C、输出& D
17、、输出#5、两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是(D)#include void main()int x;scanf(“%d”,&x);if(x 5) printf(“%d”,x);else printf(“%dn”,x-);A、7和5 B、6和3 C、7和4 D、6和46、以下不正确的if语句形式是(B)A、if (x y);B、if (x=y) x+=yC、if (x !=y) scanf(“%d”,&x); else scanf(“%d”,&y);D、if (x 7) if (b 8) if (c 9) x=2; else x=3;后x的值是(C)A、0 B、2
18、 C、1 D、310、请从以下表达式中选出a为偶数时值为0的表达式(D)A、a %2=0 B、!a %2 !=0 C、a/2* 2 2 =0 D、a %211、在下列选项中,没有构成死循环的程序段是(C)A、int i=100; B、for ( ; ; ); while (1) i = i %100 +1; if (i 100) break; C、int k =1000; D、int s =36; do -k; while (k); while (s =0); +s;12、C语言中do-while循环中,循环由do开始,用while结束;而且在while表达式后面的哪一个符号不能丢,它表示do
19、-while循环的结束(B)A、n B、; C、% D、,13、下列有关for循环的描述正确的是(D)A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环体语句中,可以包含多条语句,但要用花括号括起来14、对于for(表达式;表达式3)可理解为(B)A、for(表达式; 0;表达式3) B、for(表达式;1;表达式3)C、for(表达式;表达式1;表达式3) D、for(表达式;表达式3;表达式3)15、执行程序段:x=-1; do x=x* x; while (!x);的结果是(C)A、死
20、循环 B、循环执行2次 C、循环执行一次 D、有语法错误 16、以下程序的输出结果是(D)#include void main() int y=10; while(y-); printf(“y=%dn”,y);A、y=0 B、无限循环,无结果输出 C、y=1 D、y=-117、若有如下程序段:int n=0; while (n+ =2) printf (“%d”, n);,则正确的执行结果是(D)A、3 B、2 C、1 D、12318、设有程序段: int k=10; while (k=0) k=k-1;,则下列描述正确的是(C)A、while循环执行10次 B、循环是无限循环C、循环体语句一
21、次也不执行 D、循环体语句执行一次19、以下能正确计算1 X 2 X 3 X 4 XX 10的程序段是(C)A、do I = 1; s = 1;s = s * I ; i+; B、do i= 1 ; s = 0 ; s = s * i ; i+ ; while (i =10); while (i =10);C、i=1 ;s =1 ; D、i =1 ; s =0; do s = s* i ; i+ ; while (i =10); do s = s* i ; i + ; while (i=10);20、程序段 int y =10; do y - ; while (-y); printf (“%d
22、n”,y-);的运行结果是(D)A、-1 B、1 C、8 D、021、程序段int a=1, b=10; do b-=a;a+; while (b - 0); printf (“a=%d,b=%dn”,a,b);的运行结果是(B)A、a=3,b=11 B、a=2,b=8 C、a=1,b=-1 D、a=4,b=922、以下for循环的执行次数是(C) for (x=0; y=0; (y !=123) & (x4); x+);A、无限次 B、循环次数不定 C、执行4次 D、执行3次23、以下正确的描述是(B)A、continue语句的作用是结束整个循环的执行B、只能在循环体内和switch语句内使
23、用break语句C、在循环体内,使用break语句和使用continue语句的作用是相同的D、从多层循环嵌套中退出时,只能使用goto语句24、以下为死循环的程序段是(C)A、for (i = 1; ; ) if (+i &2 =0) continue; if ( +i %3 =0) break; B、i = 32767 ; do if (i 0) break ; while (+i );C、for (i = 1 ; ; ) if ( +i 10) continue;D、i = 1; while (i-);二、填空题1、在C语言中,逻辑运算符中,(逻辑非)的优先级高于算术运算符。若已知a=2,
24、b=3,则表达式!a+b的值为(3) 2、以下程序实现:输入三个数,按从小到大的顺序进行输出。请在空中填入正确内容。 #include void main() int x,y,z,c; scanf(“%d%d%d”,&x,&y,&z); if(zy) c=y;y=z;z=c; if(yx) c=x;x=y;y=c; if(zy) c=z;z=y;y=c; printf(“%d,%d,%d”,(x,y,z); 3、以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。例如a变成f,w变成b。请在空中填入正确的内容。 #include void main() char c; c = (get
25、char() if (c =a&(c=v&c=z) (c=c-21); putchar(c); 4、 有一个整数345,取它的个位数的表达式为(345%100),取百位数的表达式为(345/100),取十位数的表达式为(345/10%10)。5、下面是计算n!的值的程序。 #include void main() int i,s,n; s=1 scanf(“%d”,&n);for(i=1;i =n;i +) (s=s*i);printf(“s=%dn”,s); 6、下面程序的功能是分别计算110之间的奇数和与偶数和。#include void main()int a,b,c,i;a=c=0;f
26、or(i=0;i =0&c=9) n+ c=getchar();8、下面程序的功能是用do-while语句求11000之间满足“用3除余2、用5除余3、用7除2”的数,且一行只能打印5个数。#include void main()int i=1,j=0;do if (i%3=2& i%5=3& i%7 =2) printf(“%4d”,i); j=j+1 if(i%5=0) printf(“n”); i=i+1;while(iy或ay&a0) x=x+y;printf (“%f”,x); ;else printf (“%f”,-x) ;语句语法是正确的 (F)6、语句: if(ab) max=a; else max=b; ,不可用条件表达式写为max= (ab) ? a:b; ( F )7、在case后的各常量表达式的值可以相同 (F)8、if语句执行时,首先计算紧跟在if后面一对圆括号中的表达式的值,如果表达式的值为非零( “真”),则执行if后的“语句”,然后去执行if语句后的下一个语句 (T)9、while语句do-while语句无论在什么情况下,二者的执行结果都一样 (F)10、continue语句的功能就是结束本层循环 (F)11、break语句的作用就是结束本层
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1