C语言基础练习100题(含答案) 联系客服

发布时间 : 星期三 文章C语言基础练习100题(含答案)更新完毕开始阅读6cb2ef42591b6bd97f192279168884868762b8f2

#include void main( ) { int a,b,c=246; a=c/100%9; b=(-1)&&(-1);

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 void main( )

{ 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 void main( ) { int a,b;

scanf(\ b=a>15?a+10:a-10; printf(\ }

A) 5 B) 25 C) 15 D) 10

50、执行下面程序的输出结果是________.

#include void main( )

{ 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 void main( )

{ 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 void main() { int s=0,i=1; while (s<=10) { s=s+i*i; i++; }

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 void main( ) { int a,b; a=-1; b=0; do {

++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 void main( ) { int n=4;

while (n--) printf(\ }

A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0

63、以下程序运行后的输出结果是________.

#include void main() { int i=10,j=0; do

{ j=j+1; i--; }while(i>2); printf(\ }

A) 50 B) 52 C) 51 D) 8 64、有如下程序

#include void main() { int x=23; do

{ 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 void main( ) { int i;

for(i=1;i<6;i++)

{ if (i%2!=0) {printf(\ printf(\ }

printf(\ }

A) #*#*# B) ##### C) ***** D) *#*#*

67、下面程序的输出结果是__________.

#include void main( )

{ 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 void main( ) { int y=10; do {y--;} while (--y);

printf(\ }

A) -1 B) 1 C) 8 D) 0

69、有如下程序

#include void main( ) { int n=9;

while(n>6) {n--;printf(\ } 该程序段的输出结果是__________.

A) 987 B) 876 C) 8765 D) 9876 70、有如下程序

#include void main( ) { int i,sum=0;

for(i=1;i<=3;sum++) sum+=i; printf(\ }

该程序的执行结果是___________.

A) 6 B) 3 C) 死循环 D) 0

71、以下循环体的执行次数是_______

#include void main( ) { int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--) printf(\ }

A) 3 B) 2 C) 1 D) 0 72、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.

#include void main( ) { char ch;

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 void main( )

{ 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 void main( ) { int x;

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 void main( ) { int i;

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 -