发布时间 : 星期三 文章C语言基础练习100题(含答案)更新完毕开始阅读6cb2ef42591b6bd97f192279168884868762b8f2
#include
printf(\ }
输出结果是________.
A) 2,1 B) 3,2 C) 4,3 D) 2,-1
46、运行下面程序时,若从键盘输入数据为\, 则输出结果是_______. #include \ void main()
{ int num,i,j,k,place; scanf(\ if (num>99) place=3; else if(num>9)
place=2; else
place=1; i=num/100;
j=(num-i*100)/10; k=(num-i*100-j*10); switch (place)
{ case 3: printf(\ break;
case 2: printf(\ break;
case 1: printf(\ } }
A) 123 B) 1,2,3 C) 321 D) 3,2,1
47、执行下列程序后的输出结果是_______. #include
{ int k=4,a=3,b=2,c=1;
printf(\ }
A) 4 B) 3 C) 2 D) 1
48、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.
A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)
49、若运行下面程序时,给变量a输入15,则输出结果是______.
#include
scanf(\ b=a>15?a+10:a-10; printf(\ }
A) 5 B) 25 C) 15 D) 10
50、执行下面程序的输出结果是________.
#include
{ int a=5,b=0,c=0;
if (a=a+b) printf(\ else printf(\ }
A) 有语法错误不能编译 B) 能通过编译,但不能通过连接 C) 输出 **** D) 输出 ####
51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系. A) 缩排位置相同的if B) 在其之前未配对的if
C) 在其之前尚未配对的最近的if D) 同一行上的if
52、以下程序段__________.
x=-1; do {
x=x*x; } while (!x);
A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误
53、对下面程序段描述正确的是_______.
int x=0,s=0;
while (!x!=0) s+=++x; printf(\A) 运行程序段后输出0 B) 运行程序段后输出1
C) 程序段中的控制表达式是非法的 D) 程序段循环无数次
54、下面程序段的输出结果是_______.
- 5 -
x=3;
do { y=x--;
if (!y) {printf(\ printf(\ } while(x=2);
A) ## B) ##* C) 死循环 D)输出错误信息
55、下面程序的运行结果是_______.
#include
{ int a=1,b=10; do
{ b-=a;a++; } while(b--<0);
printf(\ }
A) 3,11 B) 2,8 C) 1,-1 D) 4,9
56、下面程序段的运行结果是__________. int n=0;
while (n++<=2) printf(\
A) 012 B) 123 C) 234 D) 错误信息
57、下面程序段的运行结果是________. int x=0,y=0;
while (x<15) y++,x+=++y; printf(\
A) 20,7 B) 6,12 C) 20,8 D)8,20 58、下面程序的运行结果是________.
#include
printf(\ }
A) 4 B) 3 C) 5 D) 6
59、下面程序段的运行结果是________.
for(x=10;x>3;x--) { if(x%3) x--; --x; --x;
printf(\ }
A) 6 3 B) 7 4 C) 6 2 D) 7 3
60、下面程序的运行结果是________.
#include
++a; ++a; b+=a;
} while(a<9); printf(\ }
A) 34 B) 24 C) 26 D) 25 61、下面程序段的运行结果是___________.
for(i=1;i<=5;) printf(\ i++;
A) 12345 B) 1234 C) 15 D) 无限循环
62、下面程序的输出结果是__________.
#include
while (n--) printf(\ }
A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0
63、以下程序运行后的输出结果是________.
#include
{ j=j+1; i--; }while(i>2); printf(\ }
A) 50 B) 52 C) 51 D) 8 64、有如下程序
#include
{ printf(\ }while(!x); }
该程序的执行结果是_______
- 6 -
A) 321 B) 23
C) 不输出任何内容 D) 陷入死循环 65、以下程序段的执行结果是_______.
int i,j,m=0;
for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++;
printf(\
A) 12 B) 15 C) 20 D) 25
66、下面程序的输出结果是___________.
#include
for(i=1;i<6;i++)
{ if (i%2!=0) {printf(\ printf(\ }
printf(\ }
A) #*#*# B) ##### C) ***** D) *#*#*
67、下面程序的输出结果是__________.
#include
{ int x=10,y=10,i; for(i=0;x>8;y=++i)
printf(\ %d \ }
A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1
68、执行以下程序后,输出的结果是__________.
#include
printf(\ }
A) -1 B) 1 C) 8 D) 0
69、有如下程序
#include
while(n>6) {n--;printf(\ } 该程序段的输出结果是__________.
A) 987 B) 876 C) 8765 D) 9876 70、有如下程序
#include
for(i=1;i<=3;sum++) sum+=i; printf(\ }
该程序的执行结果是___________.
A) 6 B) 3 C) 死循环 D) 0
71、以下循环体的执行次数是_______
#include
for(i=0,j=1; i<=j+1; i+=2, j--) printf(\ }
A) 3 B) 2 C) 1 D) 0 72、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.
#include
while ((ch=getchar( ))!='\\n')
{ if (ch>='A' && ch<='Z') ch=ch+32; else if (ch>='a' && ch<'z') ch=ch-32; printf(\ }
printf(\ }
A) ABCdef B) abcDEF C) abc D) DEF
73、下面程序的输出结果是__________.
main( ) {
int i,k=0, a=0, b=0; for(i=1;i<=4;i++)
{
k++;
if (k%2==0) {a=a+k; continue;} b=b+k; a=a+k; }
printf(\ }
- 7 -
A) k=5 a=10 b=4 B) k=3 a=6 b=4 C) k=4 a=10 b=3 D) k=4 a=10 b=4 74、执行下面程序段后,k的值是_________. int i,j,k;
for(i=0,j=10;i A) 9 B) 11 C) 8 D) 10 75、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。________ #include { float x,amax,amin; scanf(\ amax=x; amin=x; while (________ ) { if (x>amax) amax=x; if (______) amin=x; scanf(\ } printf(\ } A) x<=0 B) x>0 C) x>0 D) x>=0 x>amin x<=amin x>amin x 76、阅读以下程序,程序运行后的输出结果是______. #include for(x=5;x>0;x--) if (x--<5) printf(\ else printf(\ } A) 4,3,2 B) 4,3,1, C) 5,4,2 D) 5,3,1, 77、以下程序段的输出结果是_______. int k,n,m; n=10;m=1;k=1; while (k<=n) {m*=2;k+=4;} printf(\ A) 4 B) 16 C) 8 D) 32 78、语句while(!e);中的条件 !e 等价于________. A) e==0 B) e!=1 C) e!=0 D) ~e 79、以下叙述正确的是_________. A) continue语句的作用是结束整个循环的执行 B) 只能在循环体内和switch语句体内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 80、在下列选项中,没有构成死循环的程序段是____. A) int i=100; B) for( ; ; ); while (1) { i=i0+1; if (i>100) break; } C) int k=1000; D) int s=36; do {++k;} while (k>=1000); while (s) --s; 81、下面程序的输出结果是________. #include for(i=1;i<=5;i++) { if (i%2) printf(\ else continue; printf(\ } printf(\ } A) *#*#*#$ B) #*#*#*$ C) #*#*$ D) *#*#$ 82、下面程序段中,循环体的执行次数是_________. int a=10,b=0; do {b+=2;a-=2+b;} while(a>=0); A) 4 B) 5 C) 3 D) 2 83、若i为整型变量,则以下循环语句的循环次数是__. for(i=2;i= =0;) printf(\ A) 无限次 B) 0次 C) 1次 D) 2次 84、对于for(表达式1;;表达式3)可理解为_________. A) for(表达式1;0;表达式3) B) for(表达式1;1;表达式3) C) for(表达式1;表达式1;表达式3) D) for(表达式1;表达式3;表达式3) 85、合法的数组定义是________. A) int a[6]={\ B) int a[5]={0,1,2,3,4,5}; C) char a={\ D) char a[]={0,1,2,3,4,5}; 86、给出以下定义: char x[ ]=\ char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 ________. - 8 -