程序基本结构
1. 以下 for 循环的执行次数是
for(x=0,y=0;(y=123)&&(x<4);x++);
A) 是无限循环 B) 循环次数不定
C) 4次 D) 3次
2. 若有如下语句
int x=3;
do{ printf("%d\n",x-=2);}while(!(--x));
则上面程序段
A) 输出的是1 B) 输出的是1和-2
C) 输出的是3和0 D) 是死循环
3. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。
#include <stdio.h>
void main()
{ int i=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
4. 下面程序的运行结果是
#include <stdio.h>
void main()
{int y=10;
do{y--;}while(--y);
printf("%d\n",y--);
}
A) -1 B) 1 C) 8 D) 0
5. 若运行以下程序时,从键盘输入 ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是
#include <stdio.h>
void main()
{char c;
int v0=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;
}
printf函数中用到格式符%5 }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
6. 下面程序的运行结果是
#include <stdio.h>
void main()
{int a=1,b=10;
do
{b-=a;a++;}while(b--<0);
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
7. 设有程序段
int k=10;
while(k=0) k=k-1;
则下面描述中正确的是________
A) while循环执行10次 B) 循环是无限循环
C) 循环体语句一次也不执行
D) 循环体语句执行一次
8. 设有以下程序段
int x=0,s=0;
while(!x!=0) s+=++x;
printf("%d",s);
则______
A) 运行程序段后输出0
B) 运行程序段后输出1
C) 程序段中的控制表达式是非法的
D) 程序段执行无限次
9. 语句while(!E);中的表达式!E等价于_______
A) E==0 B) E!=1 C) E!=0 D) E==1
10. 下面程序段的运行结果是_________
a=1;b=2;c=2;
while(a<b<c) {t=a;a=b;b=t;c--;}
printf("%d,%d,%d",a,b,c);
A) 1,2,0 B) 2,1,0 C) 1,2,1 D) 2,1,1
11. 下面程序段的运行结果是
x=y=0;
while(x<15) y++,x+=++y;
printf("%d,%d",y,x);
A) 20,7 B) 6,12 C) 20,8 D) 8,20
12. 下面有关 for 循环的正确描述是
A) for 循环只能用于循环次数已经确定的情况
B) for 循环是先执行循环循环体语句,后判断表达式
C) 在 for 循环中,不能用 break 语句跳出循环体
D) for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
13. 有如下程序
void main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<i;j++) s+=a[i][j];
printf("%d\n",s);
}
该程序的输出结果是
A) 14 B) 19 C) 20 D) 21
14. 若i为整型变量,则以下循环执行次数是
for(i=2;i==0;) printf("%d",i--);
A) 无限次 B) 0次 C) 1次 D) 2次
15. C语言中 while 和 do-while 循环的主要区别是
A) do-while 的循环体至少无条件执行一次
B) while的循环控制条件比 do-while的循环控制条件更严格
C) do-while 允许从外部转到循环体内
D) do-while 的循环体不能是复合语句
16. 以下不是无限循环的语句为
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;
17. 下面程序段的运行结果是
for(y=1;y<10;) y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A) x=27,y=27 B) x=12,y=13
C) x=15,y=14 D) x=y=27
18. 执行语句 for(i=1;i++<4;); 后变量 i 的值是
A) 3 B) 4 C) 5 D) 不定
19. 有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。
#include <stdio.h>
void main()
{int i;
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%9==5
20. 有如下程序
void main()
{ int x=1,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++
case 2: 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
21. 有如下程序
void main()
{ float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%f\n",y);
}
该程序的输出结果是
A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000
22. 有如下程序
void main()
{ int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是
A) 0 B) 1 C) 2 D) 3
23. 有如下程序
void main()
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是
A) 6 B) 3 C) 死循环 D) 0
24. 有如下程序
void main()
{ int x=23;
do
{ printf("%d",x--);}
while(!x);
}
该程序的执行结果是
A) 321 B) 23
C) 不输出任何内容 D) 陷入死循环
25. 有如下程序
void main()
{ int n=9;
while(n>6) {n--;printf("%d",n);}
}
该程序段的输出结果是
A) 987 B) 876 C) 8765 D) 9876
26. 以下函数返回a所指数组中最小的值所在的下标值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])__________;
return(p);
}
在下划线处应填入的是
A) i=p B) a[p]=a[i] C) p=j D) p=i
27. C语言中用于结构化程序设计的三种基本结构是
A) 顺序结构、选择结构、循环结构
B) if、switch、break
C) for、while、do-while
D) if、for、continue
28. 对 for(表达式1; ;表达式3) 可理解为
A) for(表达式1;0;表达式3)
B) for(表达式1;1;表达式3)
C) for(表达式1;表达式1;表达式3)
D) for(表达式1;表达式3;表达式3)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论