1、 一、选择题 . 1 二、填空题 . 28 三、判断题 . 35 四、程序填空 . 39 五、程序改错 . 65 六、程序设计 . 90 1 一、选择题 1、 x,y,z 被定义为 int 型变量 ,若从键盘给 x,y,z 输入数据 ,正确的输入语句是( ). A.INPUT x、 y、 z; B.scanf(“%d%d%d“, C.scanf(“%d%d%d“,x,y,z); D.read(“%d%d%d“, 2、当用户要求输入的字符串中含有空格时 ,应使用的输入函数是 ( ). A.scanf( ) B.getchar( ) C.gets( ) D.getc( ) 3、关于 if 后一对圆
2、括号中的表达式 ,以下叙述中正确的是 ( ). A.只能用逻辑表达式 B.只能用关系表达式 C.既可以用逻辑表达 式也可以用关系表达式 D.可以用任意表达式 4、以下语句的输出结果是 ( ). printf(“%dn“,strlen(“t“065xffn“); A.5 B.14 C.8 D.输出项不合法 ,无正常输出 5、若 x 是 int 型变量 ,y 是 float 型变量 ,所用的 scanf 调用语句格式为 : scanf(“x=%d,y=%f“, 则为了将数据 10 和 66.6 分别赋给 x 和 y,正确的输入应是 ( ). A.x=10,y=66.6 B.10 66.6 C.10
3、66.6 D.x=10y=66.6 6、若有说明 :int 6、 *p,m=5,n;以下正确的程序段是 ( ). A.p=scanf(“%d“, B.p=scanf(“%d“,*p); C.scanf(“%d“,*p=n; D.p=*p=m; 7、若在定义行 :int a,b,c,*p=之后 ,接着执行以下选项中的语句 ,则能正确给变量赋值的是 ( ). A.scanf(“%d“,a,b,c); B.scanf(“%d%d%d“,a,b,c); C.scanf(“%d“,p); D.scanf(“%d“, 8、若执行下面的程序时 ,从键盘上输入 5 和 2,则输出结果是 ( ). main(
4、) int a,b,k; scanf(“%d,%d “, k=a; if(ay else y+; 2 C.if(x0)x- D.if(y20 Y D.10X20Y 12、下列程序的运行结果是 ( ). main( ) int x=-9,y=5,z=8; if(x 20.0 30.0 B.10.0 20 30 C.10 20 30.0 D.10.0,20.0,30.0 15、已知 int a;float b;所用的 scanf 调用语句格式为 : scanf(“a/%d,b=%f“, 为了将数据 3 和 25.08 分别赋给 x和 y,正确的输入形式是 ( ). A.3,25.08 B.a=3,
5、b=25.08 C.a/3,b=25.08 D.a/3b=25.08 16、已知 int x=1,y=2,z=3;以下语句执行后 x,y,z 的值是 ( ). if(xy) z=x; x=y; y=z; A.x=1, y=2, z=3 B.x=2, y=3, z=3 C.x=2, y=3, z=1 D.x=2, y=3, z=2 17、以下程序的输出结果是 ( ). main( ) int a=15,b=21,m=0; switch(a%3) case 0:m+;break; case 1:m+; switch(b%2) default:m+; case 0:m+;break; printf(
6、“%dn“,m); A.1 B.2 C.3 D.4 18、以下程序段的输出结果是 ( ). int a=1234; printf(“%2dn“,a); 3 A.12 B.34 C.1234 D.提示出错、无结果 19、以下程序输出结果是 ( ) main( ) int a=5,b=4; printf(“%dn“, ab?a+b:a-b); A.9 B.1 C.10 D.无法确定 20、以下叙述中正确的是 ( ). A.用 C 程序实现的算法必须要有输入和输出操作 B.用 C 程序实现的算法可以没有输出但必须要有输入 C.用 C 程序实现的算法可以没有输入但必须要有输出 D.用 C 程序实现的算
7、法可以既没有输入也没有输出 21、有定义 :int b; char c10;,则正确的输入语句是 ( ). A.scanf(“%d%s“, B.scanf(“%d%s“, C.scanf(“%d%s“,b,c); D.scanf(“%d%s“,b, 22、有如下程序 main( ) float x=2.0,y; if(x=a int c, i; scanf(“%c“, scanf(“%d“, scanf(“%s“,s); printf(“%c,%d,%sn“,c,i,s); A.123,456,789 B.1,456,789 C.1,23,456,789 D.1,23,456 29、当输入为
8、“quert?“时 ,下面程序的执行结果是 ( ). #include “stdio.h“ main( ) char c; c=getchar( ); while(c!=?) putchar(c); c=getchar( ); A.quert B.Rvfsu C.quert? D.rvfsu? 30、若变量已正确定义 ,则 下面程序段的输出结果是 ( ). i=0; do printf(“%d,“,i);while(i+); printf(“%dn“,i); A.0,0 B.0,1 C.1,1 D.程序进入无限循环 31、若有如下语句 int x=3; do printf(“%dn“,x-=2
9、);while(!(-x); 则上面程序段 ( ). A.输出的是 1 B.输出的是 1 和 -2 C.输出的是 3和 0 D.是死循环 32、设有程序段 int k=10; 5 while(k=0)k=k-1; 下面描述中正确的是 (). A.while 循环执行 10 次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 33、设有程序段 int k=10; while(k=0) k=k-1; 则下面描述中正确的是 ( ). A.while 循环执行 10 次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 34、设有以下程序 main( )
10、int x=0,s=0; while(!x!=0) s+=+x; printf(“%d“,s); 则该程序的运行情况是 ( ). A.运行程序后输出 0 B.运行程序后输出 1 C.程序中的控制表达式是非法的 D.程序执行无限次 35、下列程序的输出结果是 ( ). main( ) int i,a=0,b=0; for(i=1;i6) n-; printf(“%d“,n); 该程序的输出结果是 ( ). A.987 B.876 C.8765 D.9876 49、有以下程序 main( ) int i,j,m=55; for(i=1;i0 y-) if(y%3=0) printf(“%d“,-y
11、); 程序的运行结果是 ( ). A.741 B.963 C.852 D.875421 52、有以下程序 : main( ) int x=0,y=0,i; for (i=1;+i) if (i%2=0) x+;continue; if (i%5=0) y+;break; printf (“%d,%d“,x,y); 程序的输出结果是 ( ). A.2,1 B.2,2 C.2,5 D.5,2 53、有以下程序 : main( ) int i,s=1; for (i=1;i=20)break; if(b%3=1) b+=3; continue; b-=5; A.7 B.8 C.9 D.10 9 56
12、、定义如下变量和数组 : int i; int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是 ( ). for(i=0;i3;i+) printf(“ %d“ ,xi2-i); A.1 5 9 B.1 4 7 C.3 5 7 D.3 6 9 57、对以下说明语句的 正确理解是 ( ). int a10=6,7,8,9,10; A.将 5 个初值依次赋给 a1至 a5 B.将 5个初值依次赋给 a0至a4 C.将 5 个初值依次赋给 a6至 a10 D.因为数组长度与初值的个数不相同 ,所以此语句不正确 58、若要对 a 进行 +运算 ,则 a 应具有下面 ( )说明 .
13、 A.int a32; B.char *a=“12“,“ab“; C.char (*a)3; D.int b10,b=*a; 59、若有定义 :int a23;则对 a数组的第 i 行第 j 列 (假设 i,j 已正确说明并赋值 )元素值的正确引用为 ( ). A.*(*(a+i)+j) B. (a+i)j C.*(a+i+j) D.*(a+i)+j 60、若有定义 int a9,*p=a;则 p+5 表示 ( ). A.数组元素 a5的值 B.数组元素 a5的地址 C.数组元素 a6的地址 D.数组元素 a0的值加上 5 61、 若有定义语句 :int a36;,按在内存中的存放顺序 ,a
14、数组的第 10 个元素是 ( ). A.a04 B.a13 C.a03 D.a14 62、 若有下面的程序片段 : int a12=0,*p3,*pp,i; for(i=0;i3;i) pi= pp=p; 则对数组元素的错误引用是 ( ). A.pp01 B.a10 C.p31 D.*(*(p+2)+2) 63、 若有以下程序 int a=2,4,6,8; main( ) int i; int *p=a; for(i=0;i4;i+) ai=*p; printf(“%dn“,a2); 上面程序输出结果是 ( ). A.6 B.8 C.4 D.2 64、若有以下定义 ,则对 a数组元素的正确引用是 ( ). int a5,*p=a; A.* *p=a ; 则不能表示 a 数组定义的元素的表达式是 ( ). A.*p B.a10 C.*a D.ap-a 66、若有语句 :char *line5;,以下叙述中正确的是 ( ). A.定义 line 是一个数组 ,每个数组元素是一个基类型为 char 的指针变量
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。