选择题章节自测2.docx
《选择题章节自测2.docx》由会员分享,可在线阅读,更多相关《选择题章节自测2.docx(20页珍藏版)》请在冰点文库上搜索。
选择题章节自测2
选择题(共45题),成绩(0分)
1、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是:
A)int型B)float型
C)double型D)不确定
正确答案是:
C
2、在C语言中,以下叙述不正确的是:
A)在C程序中,无论是整数还是实数,都能被准确无误的表示
B)在C程序中,变量名代表存储器中的一个位置
C)静态变量的生存期与整个程序的生存期相同
D)C语言中变量必须先说明后引用
正确答案是:
A
3、若d为double型变量,则表达式d=1,d+5,d++的值是:
A)1B)6.0
C)2.0D)1.0
正确答案是:
D
4、在C语言中,要求运算量必须是整型或字符型的运算符是:
A)&&B)%
C)!
D)+
正确答案是:
B
5、已知a=12,则表达式a+=a-=a*=a的结果是:
A)0B)144
C)12D)-264
正确答案是:
A
6、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4
的值是:
A)2.4B)2.5
C)2.75D)0
正确答案是:
B
7、阅读下面的程序
#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
8、表达式:
10!
=9的值是
A)trueB)非零值C)0D)1
正确答案是:
D
9、在下列选项中,不正确的赋值语句是
A)++t;B)n1=(n2=(n3=0));
C)k=i=j;D)a=b+c=1;
正确答案是:
D
10、以下程序段运行结果是()。
intw=3,z=7,x=10;
printf("%d\n",x>10?
x+100:
x-10);
printf("%d\n",w++||z++);
printf("%d\n",w>z);
printf("%d\n",w&&z);
A)0B)1C)0D)0
1111
1100
1110
正确答案是:
C
11、以下程序的输出结果是
#include
voidmain()
{
inta,b,d=241;
a=d/100%6;
b=1&&(-1);
printf("%d,%d\n",a,b);
}
A)6,1B)2,1
C)6,0D)2,0
正确答案是:
B
12、以下程序输出结果是
#include
voidmain()
{intm=4;
if(++m>5)printf("%d\n",m--);
elseprintf("%d\n",--m);
}
A)7B)6
C)5D)4
正确答案是:
D
13、以下程序的输出结果是
main()
{inta=100;
if(a>100)printf("%d\n",a>100);
elseprintf("%d\n",a<=100);
}
A)a<=100B)100
C)0D)1
正确答案是:
D
14、与y=(x>0?
1:
x<0?
-1:
0);的功能相同的if语句是
A)if(x>0)y=1;B)if(x)
elseif(x<0)y=-1;if(x>0)y=1;
elsey=0;elseif(x<0)y=-1;
elsey=0;
C)y=-1;D)y=0;
if(x)if(x>=0)
if(x>0)y=1;if(x>0)y=1;
elseif(x==0)y=0;elsey=-1;
elsey=-1;
正确答案是:
A
15、选择出合法的if语句(设intx,y;):
A)if(x!
=y)if(x>y)printf("x>y\n");
elseprintf("xB)if(x!
=y)
if(x>y)printf("x>y\n")
elseprintf("x elseprintf("x==y\n");
C)if(x!
=y)if(x>y)printf("x>y\n");
elseprintf("x elseprintf("x==y\n");
D)if(x!
=y)
if(x>y)printf("x>y\n");
elseprintf("x elseprintf("x==y\n");
正确答案是:
A
16、下列程序执行后的输出结果是()。
#include
voidmain()
{intx,y=1,z;
if((z=y)<0)x=4;
elseif(y==0)x=5;
elsex=6;
printf("%d,%d\n",x,y);
}
A)4,1B)6,1
C)5,0D)出错信息
正确答案是:
B
17、运行下面程序时,从键盘输入字母H,则输出结果是()。
#include
voidmain()
{charch;
ch=getchar();
switch(ch)
{case'H':
printf("Hello!
\n");
case'G':
printf("Goodmorning!
\n");
default:
printf("Bye_Bye!
\n");
}
}
A)Hello!
B)Hello!
GoodMorning!
C)Hello!
D)Hello!
Goodmorning!
Bye_Bye!
Bye_Bye!
正确答案是:
C
18、以下程序的运行结果是()。
#include
voidmain()
{intx=3,y=4,z=4;
printf("%d,",(x>=y>=z)?
1:
0);
printf("%d\n",z>=y&&y>=x);
}
A)0,1B)1,0
C)1,1D)0,0
正确答案是:
A 你选择的答案是:
未选 ×
19、若i,j已定义为int类型,则以下程序段中循环体的总的执行次数是
for(i=5;i;i--)
for(j=0;j<4;j++){...}
A)20B)25
C)24D)30
正确答案是:
A
20、对于for(表达式1;;表达式3)可理解为()。
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
正确答案是:
B
21、以下程序的输出结果是
#include
voidmain()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%5==1){b+=5;continue;}}
printf("%d\n",a);}
A)101B)6
C)4D)3
正确答案是:
D
22、下面程序的输出结果是()。
#include
voidmain()
{intn=4;
while(n--)printf("%d",n--);
}
A)20B)31
C)321D)210
正确答案是:
B
23、以下程序段的执行结果是
inta,y;
a=10;y=0;
do
{a+=2;y+=a;
printf("a=%dy=%d\n",a,y);
if(y>20)break;
}while(a=14);
A)a=12y=12B)a=12y=12C)a=12y=12D)a=12y=12
a=14y=16a=16y=28
a=14y=26
a=16y=20
a=14y=44
a=18y=24
正确答案是:
B
24、函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)
请填空,完成求π的功能。
#include
voidmain()
{doubles=0.0;inti,n;
scanf("%ld",&n);
for(i=1;i<=n;i++)
s=s+_______;
s=(sqrt(6*s));
printf("s=%e",s);
}
A)1/i*iB)1.0/i*i
C)1.0/(i*i)D)1.0/(n*n)
正确答案是:
C
25、下面程序的输出结果是()。
#include
voidmain()
{intx=3,y=6,a=0;
while(x++!
=(y-=1))
{a+=1;
if(y}
printf("x=%d,y=%d,a=%d\n",x,y,a);
}
A)x=4,y=4,a=1B)x=5,y=5,a=1
C)x=5,y=4,a=3D)x=5,y=4,a=1
正确答案是:
D
26、设j为int型变量,则下面for循环语句的执行结果是()。
for(j=10;j>3;j--)
{if(j%3)j--;
--j;--j;
printf("%d",j);
}
A)63B)74
C)62D)73
正确答案是:
B
27、以下程序运行后的输出结果是()。
#include
voidmain()
{inti,j,sum,m,n=4;
sum=0;
for(i=1;i<=n;i++)
{m=1;
for(j=1;j<=i;j++)
m=m*j;
sum=sum+m;
}
printf("sum=%d\n",sum);
}
A)sum=9B)sum=33
C)33D)sum=18
正确答案是:
B
28、阅读程序:
#include
voidmain()
{charstr1[]="howdoyoudo",str2[10];
scanf("%s",str2);
printf("%s",str2);
printf("%s\n",str1);
}
运行该程序,输入字符串HOWDOYOUDO,则程序的输出结果是______。
A)HOWDOYOUDOB)HOWhowdoyoudo
C)HowhowdoyoudoD)howdoyoudo
正确答案是:
B
29、设有如下的程序段:
charstr[]="Hello";
charptr[20];
strcpy(ptr,str);
执行完上面的程序段后,ptr[5]的值为________。
A)'o'B)'\0'
C)不确定的值D)'o'的ASCII码
正确答案是:
B
30、以下程序执行时输入LanguageProgramming<回车>,输出结果是________。
#include
voidmain()
{charstr[30];
scanf("%s",str);
printf("str=%s\n",str);
}
A)LanguageProgrammingB)Language
C)str=LanguageD)str=LanguageProguamming
正确答案是:
C
31、以下程序执行后的输出结果是________。
(设a[0][0]是数组a中的第1个元素)
#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("NO.%d:
%d,%dis%d\n",n,i,j,a[i][j]);
}
A)第n个元素所在的行和列及其该元素的值
B)第n行的最大元素所在的行和列及其最大值
C)第i行的最大元素所在的行和列及其最大值
D)以上都不对
正确答案是:
A
32、下面程序运行后,输出结果是________。
#include
voidmain()
{chars[]="father";
inti,j=0;
for(i=1;i<6;i++)
if(s[j]
s[j]=s[6];
printf("%s\n",s);}
A)fB)fa
C)farherD)fath
正确答案是:
B
33、下面程序运行后,输出结果是________。
#include
voidmain()
{inta[10]={1,2,3,4,5,6},i,j;
for(i=0;i<6;i++)
{j=a[i];a[i]=a[5-i];a[5-i]=j;}
for(i=0;i<6;i++)printf("%d",a[i]);
}
A)654321B)123456
C)154326D)153426
正确答案是:
B
34、下面程序的功能是________。
#include
voidmain()
{inta[5][4],i,j,max,row,col;
for(i=0;i<5;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);
max=a[4][0];row=4;col=0;
for(i=4;i>=0;i--)
for(j=0;j<4;j++)
if(maxprintf("max=%d,row=%d,col=%d\n",max,row,col);}
A)求二维数组中第4行中的最大元素及位置
B)求二维数组中的最大元素及位置
C)求二维数组中最小元素及位置
D)求二维数组中每一行的最大元素及位置
正确答案是:
B
35、定义如下变量和数组:
inti;
intx[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
则下面语句的输出结果是________。
for(i=0;i<4;i++)printf("%3d",x[i][3-i]);
A)15913B)161116
C)471013D)481216
正确答案是:
C
36、下面程序的输出是________。
#include
voidmain()
{chars[]="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case'1':
v1++;
case'2':
v2++;
case'3':
v3++;
default:
v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
A)v1=4,v2=2,v3=1,v4=1B)v1=4,v2=6,v3=7,v4=8
C)v1=5,v2=8,v3=6,v4=1D)v1=8,v2=8,v3=8,v4=8
正确答案是:
B
37、以下函数的功能是:
在第一个循环中给前10个数组元素依次赋1、2、3、
4、5、6、7、8、9、10;在第二个循环中使a数组中前10个元素中的值对
称折叠,变成1、2、3、4、5、5、4、3、2、1。
划线处应填________。
fun(inta[])
{inti;
for(i=1;i<=10;i++)______=i;
for(i=0;i<5;i++)______=a[i];
}
A)a[i-1]和a[10-i]B)a[i]和a[10-i]
C)a[i-1]和a[9-i]D)a[i]和a[9-i]
正确答案是:
C
38、以下程序的输出结果是________。
#include
voidfun()
{staticinta=0;
a+=2;
printf("%d",a);}
voidmain()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");}
A)2222B)2468
C)222D)246
正确答案是:
D
39、以下程序的输出结果是________。
#include
inta[3][3]={1,2,3,4,5,6,7,8,9},b[10];
voidf(ints[],intp[][3])
{s[0]=p[1][1];}
voidmain()
{f(b,a);
printf("%d\n",b[0]);}
A)1B)4
C)7D)5
正确答案是:
D
40、请读程序:
#include
charfun(charc)
{if(c<='z'&&c>='a')c-='a'-'A';
return(c);}
voidmain()
{chars[81];intk=0;
gets(s);
while(s[k])
{s[k]=fun(s[k]);putchar(s[k]);k++;}
putchar('\n');}
若运行时从键盘上输入openthedoor(表示回车),则上面程
序的输出结果是________。
A)oPENtHEdOORB)openthedoor
C)OPENTHEDOORD)OpenTheDoor
正确答案是:
C
41、下面程序的输出是________。
#include
intw=3;
voidmain()
{intw=10;
printf("%d\n",fun(5)*w);}
intfun(intk)
{if(k==0)returnw;
return(fun(k-1)*k);}
A)360B)3600
C)1080D)1200
正确答案是:
B
42、设有以下函数:
#include
intf(inta)
{intb=0;
staticc=3;
b++;c++;
return(a+b+c);}
如果在下面的程序中调用该函数,则输出结果是________。
voidmain()
{inta=2,i;
for(i=0;i<3;i++)printf("%d\n",f(a));}
A)7B)7
89
911
C)7D)7
107
137
正确答案是:
A
43、分析程序:
#include
intfunc(intn)
{ints=1;inti;
for(i=1;i<=n;i++)s=s*i;
returns;}
voidmain()
{inti;intsum=0;
for(i=1;i<6;i++)sum+=func(i);
printf("sum=%d\n",sum);}
则下面的说法中正确的是________。
A)程序的输出结果是1—5的累加和
B)程序的输出结果是1—5的连乘积
C)程序的输出结果是1—5的阶乘之和
D)程序的输出结果是5的阶乘
正确答案是:
C
44、以下程序的功能是:
求正整数n的各位之积,在划线处应填入________。
#include
#include
intfunc(longm)
{intk=1;
do
{k*=m%10;m/=10;}
while(________);
return(k);}
voidmain()
{intn;scanf("%d",&n);
printf("%d\n",func(n));}
A)mB)m%10==0
C)m==0D)m>=0
正确答案是:
A
45、以下程序运行后,输出的结果是________。
#include
#include
intfunc(longm)
{intk=1;
do{k*=m%10;m/=10;}while(m!
=0);
return(k);}
voidmain()
{intn;scanf("%d",&n);