【C语言培训班老师发的资料包】2010年9月C语言题集(二).doc
- 文档编号:1074225
- 上传时间:2023-04-30
- 格式:DOC
- 页数:13
- 大小:122KB
【C语言培训班老师发的资料包】2010年9月C语言题集(二).doc
《【C语言培训班老师发的资料包】2010年9月C语言题集(二).doc》由会员分享,可在线阅读,更多相关《【C语言培训班老师发的资料包】2010年9月C语言题集(二).doc(13页珍藏版)》请在冰点文库上搜索。
全国等级考试C语言程序设计
第3章顺序结构
选择题
1.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是
A)10<回车>22<回车>33<回车>
B)10.0,22.0,33.0<回车>
C)10.0<回车>22.033.0<回车>
D)1022<回车>33<回车>
2.若执行下述程序时,若从键盘输入6和8时,结果为
main()
{ inta,b,s;
scanf("%d%d",&a,&b);
s=a
if(a
s=b;
s*=s;
printf("%d",s);
}
A)36
B)64
C)48
D)以上都不对
3.下列程序段的输出结果是:
inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("%2d,%2.1f,%2.1f",a,b,c);
A)无输出
B)12,123.5,12345.5
C)1234,123.5,12345.5
D)1234,123.4,1234.5
4.以下不正确的叙述是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
5.下列程序的输出结果是
main()
{ doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A)3
B)3.2
C)0
D)3.07
6.以下程序段的输出结果是
inta=1234;
printf("%2d\n",a);
A)12
B)34
C)1234
D)提示出错、无结果
7.已有定义inta=-2;和输出语句printf("%8lx",a);以下正确的叙述是
A)整型变量的输出形式只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
8.以下程序的输出结果是
main()
{inta=21,b=11;
printf("%d\n",--a+b,--b+a);
}
A)30
B)31
C)32
D)33
9.若变量已正确说明为int类型,要通过语句scanf("%d%d%d",&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是
A)3<回车>
5<回车>
8<回车>
B)3,5,8<回车>
C)3<回车>
58<回车>
D)35<回车>
8<回车>
10.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是
A)INPUTx、y、z;
B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);
D)read("%d%d%d",&x,&y,&z);
11.设x、y均为整型变量,且x=10y=3,则以下语句的输出结果是
printf("%d,%d\n",x--,--y);
A)10,3
B)9,3
C)9,2
D)10,2
12.下面程序的输出结果为
main()
{inta,b;b=(a=3*5,a*4,a*5);
printf("%d",b);}
A)60
B)75
C)65
D)无确定值
13.C语言中,系统的标准输入文件是指
A)键盘
B)显示器
C)软盘
D)硬盘
14.已知i,j,k为int型变量,若从键盘输入:
1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是
A)scanf("%2d,%2d,%2d",i,j,k);
B)scanf("%d%d%d",&i,&j,&k);
C)scanf("%d,%d,%d",&i,&j,&k);
D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);
15.下列程序运行的结果是
main()
{floatx;
inti;
x=3.6;
i=(int)x;
printf("x=%f,i=%d",x,i);
}
A)x=3.600000,i=3
B)x=3.6,i=3
C)x=3,i=3
D)x=3.600000,i=3.000000
16.已知intk=10,m=3,n;则下列语句输出结果是
printf("%d\n",n=(k%m,k/m));
A)2
B)3
C)4
D)5
17.已知inta;floatb;所用的scanf调用语句格式为:
scanf("a//%d,b=%f",&a,&b);
为了将数据3和25.08分别赋给x和y,正确的输入应当是
A)3,25.08
B)a=3,b=25.08
C)a//3,b=25.08
D)a//3
填空题
1.以下程序的输出结果是【1】。
inta=1234;
printf("%2d\n",a);
2.以下程序的输出结果是【2】。
main()
{inta=0;
a+=(a=8);
printf("%d\n",a);}
第4章选择结构
选择题:
1.有如下程序:
main()
{ intx=1,a=0,b=0;
switch(x)
{ case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是
A)a=2,b=1
B)a=1,b=1
C)a=1,b=0
D)a=2,b=2
2.有以下程序
main()
{ inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是
A)1,1,2
B)2,2,1
C)2,2,2
D)2,2,3
3.有如下程序
main()
{ floatx=2.0,y;
if(x<0.0)y=0.0;
else if(x<10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);
}
该程序的输出结果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
4.设intx=1,y=1;表达式(!
x||y--)的值是
A)0
B)1
C)2
D)-1
5.若运行时给变量x输入12,则以下程序的运行结果是
main()
{ intx,y;
scanf("%d",&x);
y=x>12?
x+10:
x-12;
printf("%d\n",y);
}
A)0
B)22
C)12
D)10
6.在C程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表示逻辑值“假”。
在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。
A)10
B)01
C)非0非0
D)11
7.若已定义:
inta=25,b=14,c=19;以下三目运算符(?
:
)所构成语句的执行后a<=25&&b--<=2&&c?
printf("***a=%d,b=%d,c=%d\n",a,b,c):
printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是
A)***a=25,b=13,c=19
B)***a=26,b=14,c=19
C)###a=25,b=13,c=19
D)###a=25,b=14,c=19
8.有如下程序
main()
{ floatx=2.0,y;
if(x<0.0)y=0.0;
else if(x>10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);
}
该程序的输出结果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
9.以下4个选项中,不能看做一条语句的是
A);
B)a=5,b=2.5,c=3.6;
C)if(a<5);
D)if(b!
=5)x=2;y=6;
10.能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是
A)a>=10ora<=0
B)a>=0|a<=10
C)a>=10&&a<=0
D)a>=10‖a<=0
11.有如下程序
main()
{ inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
该程序的输出结果是
A)0
B)1
C)2
D)3
12.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
A)x&&y
B)x<=y
C)x||++y&&y-z
D)!
(x z||1) 13.若有条件表达式(exp)? a++: b--,则以下表达式中能完全等价于表达式(exp)的是 A)(exp==0) B)(exp! =0) C)(exp==1) D)(exp! =1) 14.以下程序的输出结果是 main() {inta=4,b=5,c=0,d; d=! a&&! b||! c; printf("%d\n",d);} A)1 B)0 C)非0的数 D)-1 15.设有: inta=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值是 A)1 B)2 C)3 D)4 16.设x,y,t均为int型变量,执行语句: x=y=3; t=++x||++y; 完成后,y的值为 A)不确定 B)4 C)3 D)1 17.若执行下面的程序时,从键盘上输入5和2,则输出结果是 main() {inta,b,k; scanf("%d,%d",&a,&b); k=a; if(a elsek=b%a; printf("%d\n",k); } A)5 B)3 C)2 D)0 18.请阅读以下程序: main() {inta=5,b=0,c=0; if(a=b+c)printf("***\n"); elseprintf("$$$\n"); } 以上程序 A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ 19.当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是 A)m=k=n B)(m=k)&&(n=k) C)(m=k)||(n=k) D)(k=m)&&(n=k) 20.下列程序的运行结果是 #include"stdio.h" main() {intx=-9,y=5,z=8; if(x if(y<0)z=0; elsez+=1; printf("%d\n",z); } A)6 B)7 C)8 D)9 填空题 1.阅读下面程序,则执行后的输出结果是【1】。 #include"stdio.h" main() {intx,y,z; x=1;y=2;z=3; if(x>y)if(x>z) printf("%d",x); elseprintf("%d",y); printf("%d\n",z); } 第5章循环结构 选择题 1.已知 intt=0; while(t=1) {...} 则以下叙述正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 2.有如下程序: main() { intn=9; while(n>6){n--;printf("%d",n);} } 该程序的输出结果是 A)987 B)876 C)8765 D)9876 3.在下列选项中,没有构成死循环的是 A) inti=100; while (1) { i=i%100+1; if(i>100)break; } B) for(;;); C) intk=10000; do{k++;}while(k>10000); D) ints=36; while(s)--s; 4.设有以下程序段 intx=0,s=0; while(! x! =0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 5.以下程序段的描述,正确的是 x=-1; do { x=x*x; }while(! x); A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误 6.在下述程序中,判断i>j共执行的次数是 main() { inti=0,j=10,k=2,s=0; for(;;) { i+=k; if(i>j) { printf("%d",s); break; } s+=i; } } A)4 B)7 C)5 D)6 7.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include main() { inti=0,j,k; do{i++;k=316-13*i;}while(______); j=k/11; printf("316=13*%d+11*%d",i,j); } A)k/11 B)k%11 C)k/11==0 D)k%11==0 8.下面程序的运行结果是 #include main() { inty=10; do{y--;}while(--y); printf("%d\n",y--); } A)-1 B)1 C)8 D)0 9.下面程序的运行结果是 #include main() { inta=1,b=10; do { b-=a;a++;}while(b--<0);b<0成立循环继续,b<0不成立循环结束然后b自减1 printf("a=%d,b=%d\n",a,b); } A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9 10.有如下程序 main() { intx=23; do {printf("%d",x--);} while(! x); } 该程序的执行结果是 A)321 B)23 C)不输出任何内容 D)陷入死循环 11.执行语句for(i=1;i++<4;);后变量i的值是 A)3 B)4 C)5 D)不定 12.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。 下面程序是求这堆零件总数,请选择填空。 #include main() {inti; for(i=100;i<200;i++) if((i-2)%4==0) if(! ((i-3)%7)) if(_______) printf("%d",i); } A)i%9=5 B)i%9! =5 C)(i-5)%9! =0 D)(i-5)%9==0 13.设有程序段 intk=10; while(k=0)k=k-1; 则下面描述中正确的是 A)while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 14.对表达式for(表达式1;;表达式3)可理解为 A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 15.以下程序的输出结果是 main() {inta,i;a=0; for(i=1;i<5;i++) { switch(i) { case0: case3: a+=2; case1: case2: a+=3; default: a+=5; } } printf("%d\n",a); } A)31 B)13 C)10 D)20 16.若有如下语句 intx=3; do{printf("%d\n",x-=2);} while(! (--x)); 则上面程序段 A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 17.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。 #include main() { inta,b,t; scanf("%d%d",&a,&b); while(_______) {if(a>b) {t=a;a=b;b=t;} printf("%d,%d\n",a,b); scanf("%d%d",&a,&b); } } A)! a=b B)a! =b C)a==b D)a=b 18.下面有关for循环的正确描述是 A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 19.以下程序的输出结果是 main() {inti,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<3;j++) { if(j%2)continue; x++; } x++; } printf("x=%d\n",x); } A)x=4 B)x=8 C)x=6 D)x=12 20.设有以下程序段 intx=0,s=0; while(! x! =0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 21.对下Ⅰ,Ⅱ两个语句描述正确的是 Ⅰ.while (1)Ⅱ.for(;;) A)都是无限循环 B)Ⅰ是无限循环Ⅱ错误 C)Ⅰ循环一次,Ⅱ错误 D)以上答案都错 22.以下描述中正确的是 A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C)在do-while循环体中,是先执行一次循环,再进行判断 D)do-while循环中,根据情况可以省略while 23.下列说法正确的是 inti,x; for(i=0,x=0;i<=9&&x! =876;i++)scanf("%d",x); A)最多的执行10次 B)最多执行9次 C)是无限循环 D)循环体一次也不执行 24.C语言中while和do-while循环的主要区别是 A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件更严格 C)do-while允许从外部转到循环体内 D)do-while的循环体不能是复合语句 25.现有定义intk=1;则执行语句while(++k<4);后,k的值为 A)4 B)5 C)6 D)8 26.以下程序的运行结果为 #include"stdio.h" main() { intm,n; for(m=0,n=10;m printf("%d,%d\n",m,n);} A)6,7 B)7,6 C)9,7 D)7,9 27.阅读下列程序,程序的输出结果是 #include"stdio.h" main() { intm,n; floatk; for(m=6;m>2;m--) {k=0; for(n=m;n>1;n--) k=k+m*n; } printf("%f\n",k); } A)5.000000 B)15.000000 C)25.000000 D)35.000000 28.下列程序的输出结果是 #include"stdio.h" main() {inti,a=0,b=0; for(i=1;i<10;i++) { if(i%2==0) { a++; continue; } b++; } printf("a=%d,b=%d",a,b); } A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5 第6章字符型数据 选择题 1.有说明语句: charc='\72';则变量c A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定 2.在C语言中,退格符是 A)\n B)\t C)\f D)\b 3.字符型数据在机器中是用ASCII码表示的,字符“5”和“7”在机器中表示为 A)10100011和01110111 B)01000101和01100011 C)00110101和00110111 D)01100101和01100111 4.若运行以下程序时,从键盘输入ADescriptor #include main() { charc; intv0=1,v1=0,v2=0; do { switch(c=getchar()) { case′a′: case′A′: case′e′: case′E′: case′i′: case′I′: case′o′: case′O′: case′u′: case′U′: v1+=1; default: v0+=1;v2+=1; } }while(c! =′\n′); printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2); } A)v0=7,v1=4,v2=7 B)v0=8,v1=4,v2=8 C)v0=11,v1=4,v2=11 D)v0=13,v1=4,v2=12 5.有如下程序段 inta=14,b=15,x; charc=′A′; x=(a&&b)&&(c<′B′); 执行该程序段后,x的值为 A)ture B)false C)0 D)1 6.若变量c为cha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言培训班老师发的资料包 语言 培训班 老师 资料 2010
![提示](https://static.bingdoc.com/images/bang_tan.gif)