桂林电子科技大学C语言程序设计习题集及答案_第1页
桂林电子科技大学C语言程序设计习题集及答案_第2页
桂林电子科技大学C语言程序设计习题集及答案_第3页
桂林电子科技大学C语言程序设计习题集及答案_第4页
桂林电子科技大学C语言程序设计习题集及答案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一 单项选择题(每题 2 分,共 44 分)1 以下叙述正确的是C。A C 程序基本组成单位是语句 B C 程序每一行只能写一个语句C 简单 C 语句必须以分号作为结束符 D 注释语句可以嵌套2 一个 C 语言程序是从B开始执行的。A 程序中第一个函数 B 名为 main 的函数C 包含文件(头文件)的第一个函数 D 程序中的第一个语句3 请选出合法的 C 语言赋值语句B。A a=b=58 B i+; C a=58,b=58 D k=int(a+b);4 下面标识符中,合法的用户标识符是 B。A 1abc B include C a-b-c123 D char5 以下所列的 C 语言整形常量中,正确的是A。A 0x10 B 0976 C 076L D 01ff6 C 语言中下列运算符的操作数必须为整型的是A。A % B + C / D =7 设 a 和 b 均为 int 型变量,则执行以下语句后的输出为B。int a=20; int b=3; printf(“%dn“,a+=(b%=2);A 20 B 21 C 0 D 238 已知 int i;,则执行语句 i=2.6;后,i 的值为A。A 2 B 3 C 2.6 D 不确定9 以下合法的字符常量为D。A ab B 482 C D xaf10 若 y 为 int 型变量,则执行以下语句后,y 的值是 C。y=8; y+=y-=y*y; 8*8=64 8-64=-56 -56-56=-112A 64 B 56 C 112 D 4811 以下合法的浮点型常量是D。A e-3 B 1.5e+2.4 C 3.14e+2L D 3.14 e +512 设 int 数据占用两个字节,float 数据占用四个字节,double 数据占用 8 个字节,且已知 float a=2;int b=3;则执行下列语句输出为A。printf(“%d“,sizeof(a*b)+2/5); 通常转化为最大字节的A 4 B 8 C 6 D 713 设 int 型占 2 个字节,且 int i=-2;,则语句 printf(“%u“,i);的输出结果为C。A 0 B -2 C 65534 D 6553514 若 x、y、z 均为整型常量,且 a=100,则执行下列语句后的 z 值为A。x=a+; y=-a; z=x+y-a-;A 100 B 400 C 200 D 30015 若有以下定义和语句:int u=010,v=0x10,w=10,printf(“%d,%d,%dn“,u,v,w);,则输出结果是A。八进制 十六进制 十进制A 8,16,10 B 10,10,10 C 8,8,10 D 8,10,1016 设 x、y 为 int 型变量,则执行下列语句后,y 的值是A 。 为什么?x=5; y=x+*x+; y=-y*-y;A 529 B 2401 C 1209 D 62517 假设在程序中 a,b,c 均被定义成整型,并且已赋大于 1 的值,则下列能正确表示代数式abc1的表达式是D。 1转化为浮点型A 1/a*b*c B 1/(a*b*c) C 1/a/b/(float)c D 1.0/a/b/c18 若有定义: int a=8,b=5,c;char d=A;,则执行语句 c=a/b+d%a+0.5;后 c 的值为A。A 2 B 2.5C 3 D 类型不一致,无法计算,编译出错19 在有以下程序:main() int i=10,j=1;i=i+j+;printf(“%d,%d,%dn“,i+,+j,i);执行后输出结果是C。A 12,3,11 B 12,2,11 C 11,3,11 D 12,3,1220 已知 int i=65;,则 putchar(i);printf(“%d“,i);printf(“%c“,i);的输出结果为A。A A,65,A B 65,65,A C A,A,65 D A,A,A21 已知 int y,a,i=1;则语句 printf(“%d,%d“,-i+,(y=a=3.6*3);的输出结果为A。A -1,10 B -2,1.8 C 0,3 D 1,1822 有以下程序:main() char a,b,c,d;a=; b=xbc;c=0xab; d=023;printf(“%c%c%c%cn“,a,b,c,d);编译时出现错误,以下叙述中正确的是A。A 程序中只有 a=;语句不正确 B b=xbc;语句不正确C d=023;语句不正确 D a=;和 c=0xab;语句都不正确二 填空题(第 1 题 2 分,其余每题 3 分,共 56 分)1 设 x 为 int 型变量,请写出描述“x 是偶数”的表达式是x%2=0。2 已知 scanf(“a=%d,b=%d,c=%d“,,若从键盘输入 2、3、4 三个数分别作为变量 a、b、c 的值则正确的输入形式是a=2,b=3,c=4。注意格式3 设有语句 int a=3;,则执行了语句 a+=a-=a*a 后,变量 a 的值是-12。3-9=-64 以下程序的输出结果是10 6。main() int a=-10,b=-3;printf(“%dn“,-a+);printf(“%dn“,-a+b);-10+1+(-3)5 以下程序的输出结果是242。main()2 char c;c=0362;printf(“%dn “,c);6 以下程序段(n 所赋的是八进制数)执行后输出结果是 3276732767。int m=32767,n=032767; printf(“%d,%on“,m,n);7 字符串“name 101ddressbxaf“的长度为:15。8 有以下程序段:int m=0,n=0; char c=a;scanf(“%d%c%d“,printf(“%d,%c,%dn“,m,c,n);若从键盘上输入:10A10,则输出结果是10,A,10。9 以下程序的输出结果是。main() printf(“%d,%o,%xn“,10,10,10);printf(“%d,%d,%dn“,10,010,0x10);printf(“%d,%xn“,012,012);10 设 a、b、c 为整形变量,且 a=2、b=3、c=4,则执行完语句 a*=16+(b+)-(+c);之后,变量 a 的值为28。11 以下程序的输出结果为12。main() int x=023;printf(“%xn“,-x);12 以下程序的结果为a=5 c=6 b=5 d=18。main() int a=2,b=3,c,d;c=(a+)+(a+)+(a+);d=(+b)+(+b)+(+b);printf(“a=%d c=%dn“,a,c);printf(“b=%d d=%dn“,a,d);13 以下程序main() char ch1,ch2,ch3;scanf(“%c%c%c“,3printf(“%c%c%c%c%c“,ch1,#,ch2,#,ch3);当输入 ABC 时运行结果为 A#B#C【1】 ,当输入 A BC 时运行结果为 A# #B【2】 。14 若有定义:float x;,以下程序段的输出结果是5.169000。x=5.16894;printf(“%fn“,(int)(x*1000+0.5)/(float)1000); 六位小数15 以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。main() char ch;【1】scanf(“%c“ , /* 从键盘输入一个小写字母 */【2】 ch-=32; /* 将该字母转换为大写字母 */【3】printf(“%cn“ ,ch); /* 输出转换后的结果 */16 当运行以下程序时,在键盘上从第一列开始输入 9876543210(此处代表回车),则程序的输出结果是 a=98,b=765.000000,c=4321.000000。main() int a; float b,c;scanf(“%2d%3f%4f“,printf(“na=%d,b=%f,c=%fn“,a,b,c);17 以下程序的运行结果是123.12346123.12345700012345abcdefgh。main() printf(“%12.5fn“,123.1234567);printf(“%12fn“,123.1234567);printf(“%12.8dn“,12345);printf(“%12.8sn“,“abcdefghij“);18 运行以下程序时,如从键盘上输入 abcdefg,则输出结果是abc。main() char ch1,ch2,ch3;ch1=getchar(); ch2=getchar(); ch3=getchar();putchar(ch1); putchar(ch2); putchar(ch3);putchar(n);19 运行以下程序时,如从键盘上输入:a=3,b=535,35.12abc后,结果是。a=3,b=5,x=35.000000,y=35.119999,c1=a,c2=bmain() int a,b; float x,y; char c1,c2;scanf(“a=%d,b=%d“,scanf(“%f,%e“,4scanf(“%c%c%c“,printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn“,a,b,x,y,c1,c2);顺序、选择结构程序设计一 单项选择题(每题 2 分,共 40 分)1 以下程序运行后的输出结果是B。main() int a=0,b=0;a=10; b=20; printf(“a+b=%dn“,a+b);A a+b=10 B a+b=30 C 30 D 出错2 以下程序运行后的输出结果是C。 为什么不是main() double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(“%dn“,d*y);A 3 B 3.2 C 0 D 3.073 以下程序运行后的输出结果是C。main() double d; float f; long l; int i;i=f=l=d=20/3;printf(“%d %ld %.1f %.1fn“,i,l,f,d);A 6 6 6.0 6.0 B 6 6 6.7 6.7 C 6 6 6.0 6.7 D 6 6 6.7 6.04 以下程序运行后的输出结果是D。main() int a=1,b=2;a=a+b; b=a-b; a=a-b;printf(“%d,%dn“,a,b);A 1,2 B 1,1 C 2,2 D 2,15 以下程序运行后的输出结果是A。main() int x,y,z;x=y=2; z=3;y=x+-1; printf(“%d %d “,x,y);y=+x-1; printf(“%d %dn“,x,y);y=z-1; printf(“%d %d “,z,x);y=-z-1; printf(“%d %dn“,z,x);A 3 1 4 3 B 3 1 3 3 C 3 1 4 3 D 2 1 3 252 4 1 4 2 4 2 2 2 4 1 2 1 3 1 26 以下程序运行后的输出结果是D。main() int x,y,z;x=y=1;z=x+,y+,+y;printf(“%d,%d,%dn“,x,y,z);A 2,3,3 B 2,3,2 C 2,3,1 D 2,2,17 以下程序运行后的输出结果是D。main() int x=4,y=7;x-=y; y+=x;printf(“%d %dn“,x,y);A 4 7 B -3 -3 C -3 11 D -3 48 以下程序运行后的输出结果是C。main() unsigned short a=65536; int b;printf(“%dn“,b=a);A 65536 B 0 C 1 D -19 以下程序:#include main() char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c“,c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf(“%c%cn“,c5,c6);程序运行后,若从键盘输入(从第 1 列开始)12345678则输出结果是B。 为什么?A 1267 B 1256 C 1278 D 124510 设 a、b 和 c 都是 int 型变量,且 a=3,b=0,c=5,则以下值为 0 的表达式是C。A aif(amain() int x=1,y=0,a=0,b=0;switch(x) case 1:switch(y) case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;printf(“a=%d,b=%dn“,a,b);A a=2,b=1 B a=1,b=1 C a=1,b=0 D a=2,b=2二 填空题(每题 3 分,共 30 分)1 以下程序运行后的输出结果是9,10。#include main() int i=010 , j=10; i 是八进制printf(“%d,%dn“,+i,j-);2 以下程序运行后的输出结果是000。#include main() printf(“%d%d%dn“,0,0,0); 3 以下程序运行后的输出结果是i= 11 j= 15k= 33。main() int i=5,j,k;j=i+i+i+;k=(+i)+(+i)+(+i);printf(“i=%5d j=%5dnk=%5dn“,i,j,k);4 下面的程序运行时从键盘上输入 9876543210,程序的输出结果是a=98,b=76.0,c=54。8main() int a; float b,c;scanf(“%2d%2f%2f“,printf(“a=%d,b=%.1f,c=%.0f“,a,b,c);5 下面程序的输出结果是67,D。main() char ch1,ch2;ch1=A+5-3; ch2=A+6-3;printf(“%d,%cn“,ch1,ch2);6 执行下面的语句:printf(“%dn“ ,(a=3*5,a*4,a+5);,输出是 20。3*5+5=207 以下程序运行后的输出结果是8,9。main() int x=10; printf(“%d,%dn“,-x,-x); 8 为表示关系 xyz,应使用 C 语言表达式(x=y)if(x%2)?printf(“*%d“,x):printf(“#%dn“,x); ?先执行前一条语句10 以下程序运行后的输出结果是14。main() int m=5;switch(m/2) case 1: m+;case 2: m+=3;case 5: m+=6;break;default: m-=7;printf(“%dn“,m);三 程序填空(每空 5 分,共 30 分)1 下列程序的输出结果是 16.00,请填空。main() int a=9,b=2;float x= 【1】 6.6 ,y=1.1,z;z=a/2+b*x/y+1/2;printf(“%5.2fn“,z);2 完成以下程序,输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论