选择题章节自测1.docx
- 文档编号:6676784
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:99
- 大小:44.50KB
选择题章节自测1.docx
《选择题章节自测1.docx》由会员分享,可在线阅读,更多相关《选择题章节自测1.docx(99页珍藏版)》请在冰豆网上搜索。
选择题章节自测1
第一章
选择题(共45题),成绩(0分)
1、以下能正确定义变量a、b和c并为其赋值的语句是:
A)inta=5;b=5;c=5;B)inta,b,c=5;
C)a=5,b=5,c=5;D)inta=5,b=5,c=5;
正确答案是:
D
2、若有定义:
inty=7,x=12,则能使值为3的表达式是;
A)x%=(y%=5)B)x%=(y-y%5)
C)x%=y-y%5D)(x%=y)-(y%=5)
正确答案是:
D
3、设有如下变量定义:
inti=8,k,a,b;
unsignedw=5;doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是:
A)a+=a-=(b=4)*(a=3)B)x%(-3)
C)a=a*3=2D)y=float(i)
正确答案是:
A
4、以下程序的输出结果是:
#include
voidmain()
{
inta=12,b=12;
printf("%d,%d\n",--a,++b);
}
A)10,10B)12,12
C)11,10D)11,13
正确答案是:
D
5、若有定义inta=12,则表达式a+=a-=a*=a的值是:
A)0B)-264
C)-144D)132
正确答案是:
B
6、阅读下面的程序
#include
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
程序的运行结果是:
A)8,10,8,10B)9,11,8,10
C)9,11,9,10D)9,10,9,11
正确答案是:
C
7、阅读下面的程序
#include
voidmain()
{
inti,j;
i=010;
j=9;
printf("%d,%d",i-j,i+j);
}
则程序的运行结果是:
A)1,19B)-1,19
C)1,17D)-1,17
正确答案是:
D
8、请读程序:
#include
voidmain()
{inta;floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入9876543210
输出结果是
A)a=98,b=765,c=4321B)
a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0
正确答案是:
C
9、有如下说明和语句
inta=5;
a++;
此处表达式a++的值是
A)7B)6C)5D)4
正确答案是:
C
10、能正确表示a和b同时为正或同时为负的逻辑表达式是
A)(a>=0||b>=0)&&(a<0||b<0)
B)(a>=0&&b>=0)&&(a<0&&b<0)
C)(a+b>0&&a+b<=0)
D)a*b>0
正确答案是:
D
11、下面程序的输出结果是
#include
voidmain()
{inta=2,b=7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case0:
printf("!
");break;
}
case0:
switch(c==5)
{case0:
printf("*");break;
case1:
printf("#");break;
default:
printf("%%");break;
}
default:
printf("&");
}printf("\n");
}
A)&B)!
#&
C)%%D)@*&
正确答案是:
B
12、以下程序的执行结果是()。
#include"stdio.h"
voidmain()
{inta=8,b=-7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case2:
printf("!
");break;
}
case0:
switch(c!
=0)
{case0:
printf("*");break;
case1:
printf("#");break;
default:
printf("$");break;
}
default:
printf("&");
}
printf("\n");
}
A)*#$B)&
C)@#&D)@*&
正确答案是:
C
13、下面的程序,当j的取值分别为3,2,1时的输出结果分别是()。
#include
voidmain()
{intj,p=10;
scanf("%d",&j);
switch(j)
{case1:
case2:
printf("%d",p++);break;
case3:
printf("%d",--p);}
}
A)91010B)987
C)10109D)999
正确答案是:
A
14、指出下列程序段所表示的逻辑关系是()。
if(a
{if(c==d)
x=1;
}
elsex=2;
┌1a
A)x=┤
└2a≥b且c≠d
┌1a
B)x=┤
└2a≥b
┌1a
C)x=┤
└2a
┌1a
D)x=┤
└2c≠d
正确答案是:
B
15、以下程序的执行结果是()。
#include
voidmain()
{inta,b,c;
a=2;b=3;c=1;
if(a>b)
if(a>c)printf("%d\n",a);
elseprintf("%d\n",b);
printf("end\n");
}
A)2B)2
end
C)endD)3
end
正确答案是:
C
16、下列程序执行后的输出结果是()。
#include
voidmain()
{inta=358;
if(a>=100)
{if(a>=1000)
printf("%disgreaterthan10000\n",a);
elseprintf("%dis100to999\n",a);
}
else
{if(a<10)
printf("%dislessthan10\n",a);
elseprintf("%dis10to99\n",a);
}
}
A)aislessthan10B)ais10to99
C)aisgreaterthan10000D)358is100to999
正确答案是:
D
17、运行下面程序时,若从键盘输入数据为"6,5,7
则输出结果是()。
#include
voidmain()
{inta,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
if(a>c)
printf("%d\n",a);
else
printf("%d\n",c);
else
if(b>c)
printf("%d\n",b);
else
printf("%d\n",c);
}
A)5B)6
C)7D)不定值
正确答案是:
C
18、运行下面程序时,若从键盘输入"456
则程序的输出结果是()。
#include
voidmain()
{intmagic=123;
intguess;
scanf("%d",&guess);
if(guess==magic)
printf("**Right**");
else
{printf("**Wrong**");
if(guess>magic)
printf("Toohigh**");
else
printf("Toolow**");
}
}
A)**Right**B)**Wrong**Toohigh**
C)Toohigh**D)Toolow**
正确答案是:
B
19、以下程序的输出结果是()。
#include
voidmain()
{
inti;
for(i=1;i<=5;i++)
if(i%2)
printf("*");
elsecontinue;
printf("#");
printf("$\n");
}
A)***#$B)#*#*#*$
C)*#*#*#$D)**#*$
正确答案是:
A
20、下面程序的输出结果是()。
#include
voidmain()
{intx,i;
for(i=1;i<=50;i++)
{x=i;
if(++x%2==0)
if(x%3==0)
if(x%7==0)
printf("%d",i);
}
}
A)28B)27
C)42D)41
正确答案是:
D
21、在执行以下程序时,如果从键盘上输入:
ABCdef<回车>,
则输出为
#include
voidmain()
{charch;
while((ch=getchar())!
='\n')
{if(ch>='A'&&ch<='Z')ch=ch+32;
elseif(ch>='a'&&ch<'z')ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A)ABCdefB)abcDEF
C)abcD)DEF
正确答案是:
B
22、有如下程序
#include
voidmain()
{inti,sum=0;
for(i=1;i<=3;sum++)sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是
A)6B)3
C)死循环D)0
正确答案是:
C
23、下面程序段的运行结果是()。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
A)20,7B)6,12
C)20,8D)8,20
正确答案是:
D
24、以下不是无限循环的语句是()。
A)for(y=0,x=1;x>++y;x=i++)i=x;
B)for(;;x++=i);
C)while
(1){x++;}
D)for(i=10;;i--)sum+=i;
正确答案是:
A
25、有以下程序
#include
voidmain()
{intc;
while((c=getchar())!
='\n')
{switch(c-'2')
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}}printf("\n");
}
从第一列开始输入以下数据,
2473
A)668977B)668966
C)66778777D)6688766
正确答案是:
A
26、请读程序:
#include
#include
voidmain()
{floatx,y,z;
scanf("%f%f",&x,&y);
z=x/y;
while
(1)
{if(fabs(z)>1.0)
{x=y;y=z;z=x/y;}
elsebreak;
}
printf("%f\n",y);
}
若运行时从键盘上输入3.62.4
则输出结果是()。
A)1.500000B)1.600000
C)2.000000D)2.400000
正确答案是:
B
27、有以下程序
#include
voidmain()
{inti,j;
for(j=10;j<11;j++)
{for(i=9;i if(! (j%i))break; if(i>=j-1)printf("%d",j); } } 输出结果是()。 A)11B)10 C)9D)1011 正确答案是: B 28、设已定义: charst[]="howareyou";下列程序段中正确的是________。 A)chara[11];strcpy(a,st); B)chara[12];strcpy(a,st[10]); C)chara[12];strcpy(a,st); D)chara[];strcpy(a,st); 正确答案是: C 29、以下程序的输出结果是________。 #include voidmain() {inti,x[9]={9,8,7,6,5,4,3,2,1}; for(i=0;i<4;i+=2)printf("%d",x[i]); } A)52B)51 C)53D)97 正确答案是: D 30、以下程序的输出结果是_________。 #include voidmain() {charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k; for(k=1;k<3;k++)printf("%s\n",w[k]); } A)ABCDB)ABCE FGHEFG KLIJ M C)EFGD)EFGH JKIJKL O 正确答案是: D 31、当执行下面的程序时,如果输入ABC,则输出结果是_________。 #include"stdio.h" #include"string.h" voidmain() {charss[10]="12345"; gets(ss); strcat(ss,"6789"); printf("%s\n",ss); } A)ABC6789B)ABC67 C)12345ABC6D)ABC45678 正确答案是: A 32、假定int类型变量占用两个字节,若有定义: intx[10]={0,2,4};, 则数组x在内存中所占字节数是________。 A)3B)6 C)10D)20 正确答案是: D 33、以下程序执行后的输出结果是________。 #include voidmain() {inta[4][5]={1,2,4,8,10,-1,-2,-4,-8,-10,3,5,7,9,11}; inti,j,n=9; i=n/5;j=n-i*5-1; printf("%d\n",a[i][j]); } A)-8B)-10 C)9D)11 正确答案是: A 34、设staticcharstr[5][4];所说明的数组在静态存储区的十进制 起始地址为100,则数组元素str[4][3]在静态存储区中的十进制地址 为________。 A)114B)138 C)128D)119 正确答案是: D 35、下面程序运行时,从键盘输入 Wouldyou likethis bird? 若要使程序输出Wouldyoulikethisbird? ,则空白处应选择________。 #include voidmain() {chars1[10],s2[10],s3[10],s4[10]; scanf("%s%s\n",s1,s2); __________; printf("%s%s%s%s\n",s1,s2,s3,s4); } A)scanf("%s\n",s3);scanf("%s\n",s4); B)gets(s3);gets(s4); C)scanf("%s%s\n",s3,s4); D)gets(s3,s4); 正确答案是: B 36、以下程序的功能是: 从键盘上输入一行字符,存入一个字符数组中,然后 输出该字符串,划线处应填入________。 #include"ctype.h" #include"stdio.h" voidmain() {charstr[81];inti; for(i=0;i<80;i++) {str[i]=getchar(); if(str[i]=='\n')break;} ________; i=0; while(str[i])putchar(str[i++]); } A)str[i]='0'B)str[i-1]='0' C)str[i]=0D)str[i-1]=0 正确答案是: C 37、下面程序运行后,输出的结果是_________。 #include #defineN5 intfun(chars[],chara,intn) {intj=n-1; while(a returnj;} voidmain() {chars[N]; intk,p; for(k=0;k s[k]='A'+k+1; printf("%d\n",fun(s,'E',N));} A)2B)3 C)4D)5 正确答案是: B 38、有如下程序 #include intfib(intn) {if(n>2)return(fib(n-1)+fib(n-2)); elsereturn (1);} voidmain() {printf("%d\n",fib(3));} 该程序的输出结果是________。 A)2B)4 C)6D)8 正确答案是: A 39、以下函数返回a数组中最小值所在的下标,在划线处应 填入的是________。 intfun(inta[],intn) {inti,j=0,p; p=j;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择题 章节 自测
![提示](https://static.bdocx.com/images/bang_tan.gif)