C语⾔程序设计题考试题库选择填空题完整答案精美篇
※试题说明:
选择题共15道,2分/道:数据类型1个、选择结构2个、循环结构2个、数组3个、函数3个、预处理1个、指针2个、结构体1个。基本操作题、程序改错题、程序填空题、程序设计题。考试时间90分钟!
《顺序选择结构》
1、若有定义:int a, b; 要通过scanf("%d:%d", &a, &b);
使a得到5, b得到6, 则正确的输⼊形式为:C
A) 5 6 B) 5,6
C) 5:6D) 5;6
2、有如下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b) && (c<'B'); //假或假为假,假且假为假,……,⾮0为1,⾮1为0
执⾏该程序段后,x的值为D
A) ture B) false
C) 0 D) 1
3、以下不正确的if语句是( B )。
A) if(x>y) printf("%d\n",x);
B) if (x=y)&&(x!=0) x+=y; //应该在两个括号外再加⼀个⼤括号
C) if(x!=y) scanf("%d",&x); else scanf("%d",&y);
D) if(x
4、以下程序段运⾏结果是( C )。
int w=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) 0 B) 1 C) 0 D) 0
1 1 1 1
1 1 0 0
1 1 1 0
5、下⾯程序的输出是: C
#include
k=(a++<=0) && (!(b--<=0)); //b此时变成了3
printf("%d %d %d\n",k,a,b);
return 0;
}
A) 0 0 3 B) 0 1 2
C) 1 0 3D) 1 1 2
6、下⾯的程序,当j的取值分别为3,2,1时的输出结果分别是( A )。#include int main( )
{ int j,p=10;
scanf("%d",&j);
switch (j)
{ case 1:
case 2: printf("%d ",p++); break;
case 3: printf("%d ",--p);
}
return 0;
}
A) 9 10 10B) 9 8 7
C) 10 10 9 D) 9 9 9
7、下⾯程序的输出结果是( C )。
#include
int main( )
{ int a=-1,b=1,k;
if ((++a<0) && (b--<=0))
printf("%d %d\n",a,b);
else
printf("%d %d\n",b,a);
return 0;
}
A) -1 1 B) 0 1
C) 1 0 D) 0 0
8、设ch是char型变量,值为'A',则表达式
一个完整的c语言程序
ch=(ch>='A' && ch<='Z')?ch+32:ch的值是: B
9、putchar(97);的输出结果是: B
A) b B) a
C) 97.0 D) 97
ASCII码:A~Z----65~90 a~z-----97~122 相差32
《循环体》
※1、对于for(表达式1;;表达式3) 可理解为( B )。
A) for(表达式1;0;表达式3)
B) for(表达式1;1;表达式3)
C) for(表达式1;表达式1;表达式3)
D) for(表达式1;表达式3;表达式3)
2、以下程序的输出结果是( C )。
#include
int main( )
{ int count,i=0;
for(count=1; count<=4; count++)
{i+=2; printf("%d",i);}
return 0;
}
A) 20 B) 246
C) 2468D) 2222
3、以下程序的功能是:从键盘上输⼊若⼲个学⽣的成绩, 统计并输出最⾼成绩和最低成绩,当输⼊负数时结束输⼊。请填空。#include
int main( )
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while (________ )
{ if (x>amax) amax=x;
if (______) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
A) x<=0 B) x>0
x>amin x<=amin
C) x>0 D) x>=0 //因为x<0时结束,所以x>=0
x>amin x
※4、执⾏以下程序后,输出的结果是( D )。#include int main( )
{ int y=10;
do {y--;}
while (--y);
printf("%d\n",y--);
return 0;
}
A) -1 B) 1
C) 8D) 0
5、有如下程序
#include
int main( )
{ int n=9;
while(n>6) {n--;printf("%d",n);}
return 0;
}
该程序段的输出结果是 B
A) 987 B) 876
C) 8765 D) 9876
6、下⾯程序的运⾏结果是( B )。
#include
int main( )
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
A) 4 B) 3
C) 5 D) 6
※7、以下程序段( C )。
x=-1;
do
{ x=x*x; }
while (!x);
A)是死循环B)循环执⾏两次
C)循环执⾏⼀次D)有语法错误
8、下⾯程序的功能是:输出100以内能被3整除且个位数为6的
所有整数,请填空。 C
#include
int main( )
{ int i,j;
for(i=0;______; i++) //因为100以内,所以不能超过100,即i<10或i>=9 { j=i*10+6; if (_______) continue;
printf("%d ",j);
}
return 0;
}
A) i<=10 B) i<10
j%3!=0 j/3
C) i<10 D) i<=9
j%3!=0 i%3
9、下列程序的输出结果是( B )。
#include
int main( )
{ int i, j, k;
for(i=0;i<=2;i++)
{ for(k=1;k<=i;k++) printf(" "); //逐⾏在原有的基础上再空⼀格
for(j=0;j<=3;j++) printf("*"); //每⾏输出4个*号
printf("\n");
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。