视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
C语言基础练习100题(含答案)
2025-10-02 03:24:14 责编:小OO
文档
C语言基础练习100题(含答案)

雷柳青编排

1、下面程序的输出是________

#include

void main()

{ int k=11;

  printf("k=%d,k=%o,k=%x\\n",k,k,k);

}

2、在下列选项中,不正确的赋值语句是________.

A) ++t;       B) n1=(n2=(n3=0));     

3、下面合法的C语言字符常量是__________.

A) '\'        B) "A"          C) 65         D) A

4、字符(char)型数据在微机内存中的存储形式是____.

A) 反码 补码 码 码

5、设 int a=12,则执行完语句a+=a-=a*a后,a的值是________

A2) 144        D) -2

6、执行下面程序中的输出语句后,输出结果是______.

#include

void main()

{int a;

 printf("%d\\n",(a=3*5,a*4,a+5));

}

A2) 15         D) 10

7、下面程序的输出是__________.

#include

void main()

{int x=023;

 printf("%d\\n",--x);

}

A1) 23       D) 24

8、下面程序的输出是___________.

#include

void main()

{char ch1,ch2;

 ch1='A'+'5'-'3';

 ch2='A'+'6'-'3';

 printf("%d,%c\\n",ch1,ch2);

}

A) 67,D      B) B,C     C) C,D   D) 不确定的值

9、以下程序的输出结果是________.

#include

void main()

{ int x=10,y=10;

  printf("%d %d\\n",x--,--y);

}

A9) 9 10      D) 10 9

10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

  printf("%d",(x,y));

上面程序片段的输出结果是_______.

A  B) 100

C输出格式符不够,输出不确定的值

11、阅读下面的程序

#include

void main()

{

  int i,j;

  i=010;

  j=9;

  printf("%d,%d",i-j,i+j);

 }

则程序的运行结果是________.

A) 1,19     19      C) 1,17       D) -1,17

12、阅读下面的程序

#include

void main()

 {

  int i,j,m,n;

  i=8;j=10;

  m=++i;

  n=j++;

  printf("%d,%d,%d,%d",i,j,m,n);

}

程序的运行结果是_________.

13、若已定义int a,则表达式a=10,a+10,a++的值是___.

A1) 21        D) 11

14、阅读下面的程序

#include

void main()

{

int i,j;

scanf("%3d%2d",&i,&j);

 printf("i=%d,j=%d\\n",i,j);

}

如果从键盘上输入1234567<回车>,则程序的运行结果是________.

A B) i=1234,j=567  

15、下面程序的输出结果是________.

#include

void  main() 

{

 int a=-1, b=4, k;

k=(++a<=0)&&(b--<=0);

 printf("%d,%d,%d\\n",k,a,b);

}

A3 C) 0,1,2      D) 0,0,3

16、下面程序的输出结果是_______.

#include

void main()

{

  int a=5,b=3;

  float x=3.14, y=6.5;

printf("%d,%d\\n",a+b!=a-b,x<=(y-=6.1));

}

A1 C) 1,1        D) 0,0

17、若有以下定义和语句:

则输出结果是_________.

A1) 8,10,10    D) 8,8,10

18、已知有double型变量x=2.5,y=4.7,整型变量a=7,

则表达式 x+a%3*(int)(x+y)%2/4 的值是_________.

A2) 2.75       D) 0

19、设有以下语句:int x=10;x+=3+x%3,则x的值是._________

A1) 11        D) 12

20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.

A6.0     C)   D) 1.0

21、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.

A  B) 1  ) 12        D) 6

22、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.

A  B) 2) 1.5        D) 1

23、在C语言中,以下叙述不正确的是________.

A) 在C程序中,无论是整数还是实数,都能被准确无误的表示

B) 在C程序中,变量名代表存储器中的一个位置

C) 静态变量的生存期与整个程序的生存期相同

D) C语言中变量必须先定义后引用

24、设a为整型变量,不能正确表达数学关系10C D) !(a<=10)&&!(a>=15)

25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)

26、执行下面程序时,若从键盘输入"2",则程序的运行结果是________.

  #include 

A   B) 4) 1            D) 10

27、执行下面程序后,运行结果是________.

#include

 if (x%3==0 && x%7==0)

A4) y=42      D) y=1

28、运行下面程序时,从键盘输入"12,34,9",则输出结果是______.

  #include 

 { int x,y,z;

 if (x else printf("%d\\n",y);

 else if (x else printf("%d\\n",x);

A1)不确定的值

29、运行下面程序时,从键盘输入字母H,则输出结果是________.

  #include 

  m Bye_Bye! 

  Bye_Bye!

30、执行下列程序段后的输出结果是_________.

 printf("%d\\n",xA2) 1         D) 4

31、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.

A) Z        B) a           C) z          D) A

32、下面程序的输出结果是________.

  #include 

 { int x=8,y=-7,z=9;

 if (y<0) z=0;

A1) 9          D) 0

33、运行下面程序时,若从键盘输入"3,4 ",则程序的输出结果是_______.

 #include 

 void main( )

  { int a,b,s;

 printf("%d\\n",s) ;

  }

A1)  D) 20

34、下列程序的执行结果是_________.

 #include 

 void main( )

  { int x=0,y=1,z=0;

 x=3;

  }

A0) 0,1        D) 3,1

35、能够完成如下函数计算的程序段是______.

 ┌ -1      x<0

 ┤  0      x=0

 └  1      x>0

A) y=1; B) if (x>=0)

  if(x>0) y=1;

  else y=0;

  else y=-1;

C) y=0; D) y=-1;

   if (x>=0)    if (x>0) y=1;

   else y=0;

36、以下程序的执行结果是________.

 #include 

  void main( )

  { int x=1,y=0;

 switch (x)

   second               third

37、以下程序的执行结果是________.

#include

 void  main( )

  { int a,b,c,d,x;

  }

A) d=20    1) d=15      D) 25

38、下列程序执行后的输出结果是________.

 #include 

 void main( )

  { int x,y=1,z;

 else if (y==0) x=5;

 else x=6;

 printf("%d,%d\\n",x,y);

  }

A1)出错信息

39、有如下程序

#include

  void main( )

 }

该程序的输出结果是__________.

A) a=2,b=1   B) a=1,b=1) a=1,b=0  D) a=2,b=2

40、下面程序的输出结果是_________.

 #include 

 void main( )

  { int a=-1,b=1,k;

 printf("%d %d\\n",a,b);

  }

A1) 1 0     D) 0 0

41、假定w、x、y、z、m均为int型变量,有如下程序段:

  w=1;x=2;y=3;z=4;

则该程序段执行后,m的值是_________.

A3) 2         D) 1

42、以下程序的输出结果是_________.

  main( )

  { int a=100;

 else printf("%d\\n",a<=100);

  }

A100       C) 0        D) 1

43、若执行下面的程序从键盘上输入9,则输出结果是.______________

 #include 

 void main( )

  {int n;

A1) 9         D) 8

44、以下程序段运行结果是________.

  int x=1,y=1,z=-1;

A2)不确定的值

45、有以下程序

  #include 

 b=(-1)&&(-1);

输出结果是________.

A2) 4,3      D) 2,-1

46、运行下面程序时,若从键盘输入数据为"123",

则输出结果是_______.

  #include "stdio.h"

 place=3;

 else

 switch (place)

A3  C) 321      D) 3,2,1

47、执行下列程序后的输出结果是_______.

#include

  void main( )

  { int k=4,a=3,b=2,c=1;

  }

A3) 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;

  }

A2) 15     D) 10

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

#include

void main( )

 { int a=5,b=0,c=0;

  }

A) 有语法错误不能编译    

B) 能通过编译,但不能通过连接

C) 输出 **** 

D) 输出 ####

51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.

A) 缩排位置相同的if      

B) 在其之前未配对的if

C) 在其之前尚未配对的最近的if  

D) 同一行上的if

52、以下程序段__________.

 x=-1;

  do

  {

}  while (!x);

A)是死循环 循环执行两次  

C)循环执行一次  D)有语法错误

53、对下面程序段描述正确的是_______.

  int x=0,s=0;

A) 运行程序段后输出0

B) 运行程序段后输出1

C) 程序段中的控制表达式是非法的

D) 程序段循环无数次

54、下面程序段的输出结果是_______.

  x=3;

A) ##     B) ##*    C) 死循环 输出错误信息

55、下面程序的运行结果是_______.

#include

 void main( )

A8) 1,-1         D) 4,9

56、下面程序段的运行结果是__________.

  int n=0;

A123   C) 234     D) 错误信息

57、下面程序段的运行结果是________.

  int x=0,y=0;

A1) 20,8        D)8,20

58、下面程序的运行结果是________.

#include

 void main()

A3) 5        D) 6

59、下面程序段的运行结果是________.

   for(x=10;x>3;x--)

A   B) 7 4   C) 6 2        D) 7 3

60、下面程序的运行结果是________.

#include

 void main( )

 b=0;

A2) 26       D) 25

61、下面程序段的运行结果是___________.

A1)无限循环

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

 #include

 void  main( )

  { int n=4;

  }

A1) 3 2 1      D) 2 1 0

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

#include

 void main()

  { int i=10,j=0;

 printf("%d\\n",j);

  }

A5) 51        D) 8

、有如下程序

  #include

  void main()

 }while(!x);

该程序的执行结果是_______

A) 321                  B) 23    

C) 不输出任何内容 陷入死循环

65、以下程序段的执行结果是_______.

  int i,j,m=0;

for(i=1;i<=15;i+=4)

 for(j=3;j<=19;j+=4)

A1) 20       D) 25

66、下面程序的输出结果是___________.

 #include

 void main( )

  { int i;

 }

  }

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

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

 #include

 void  main( )

  { int x=10,y=10,i;

 printf("%d  %d ",x--,y);

  }

A) 10 1 9 2    B) 9 8 7 6  

C) 10 9 9 0    D) 10 10 9 1

68、执行以下程序后,输出的结果是__________.

#include

 do {y--;}

A1  C) 8       D) 0

69、有如下程序

#include

 void main( )

 }

该程序段的输出结果是__________.

A8) 8765      D) 9876

70、有如下程序

  #include 

  void main( )

该程序的执行结果是___________.

A3) 死循环        D) 0

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

#include

 void main( )

  { int i,j;

 printf("%d \\n",i);

  }

A2) 1         D) 0

72、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.

 #include 

 void main( )

  { char ch;

 printf("%c",ch);

  }

A) ABCdef      B) abcDEF   C) abc      D) DEF

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

  main( )

  {

{

 k++;

 b=b+k;

  }

A) k=5 a=3 a=6 b=4

C) k=4 a=4 a=10 b=4

74、执行下面程序段后,k的值是_________.

 int i,j,k;

 k=i+j;

A  1 C) 8         D) 10

75、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。________

#include

  void main( )

  { float x,amax,amin;

 { if (x>amax) amax=x;

  }

A0) x>0       D) x>=0

  x<=amin   x>amin      x76、阅读以下程序,程序运行后的输出结果是______.

#include

void  main( )

  { int x;

 else printf("%d,",x++);  }

A) 4,3,2     B) 4,3,1,      C) 5,4,2      D) 5,3,1,

77、以下程序段的输出结果是_______.

  int k,n,m;

A1) 8        D) 32

78、语句while(!e);中的条件 !e 等价于________.

A1) e!=0       D) ~e

79、以下叙述正确的是_________.

A) continue语句的作用是结束整个循环的执行

B) 只能在循环体内和switch语句体内使用break语句

C) 在循环体内使用break语句或continue语句的作用相同

D) 从多层循环嵌套中退出时,只能使用goto语句

80、在下列选项中,没有构成死循环的程序段是____.

A) int i=100; B) for( ; ; );

C) int k=1000; D) int s=36;

     while (s) --s;

81、下面程序的输出结果是________.

#include

 void  main( )

  { int i;

  }

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

82、下面程序段中,循环体的执行次数是_________.

  int a=10,b=0;

A5) 3         D) 2

83、若i为整型变量,则以下循环语句的循环次数是__.

  for(i=2;i= =0;)

A) 无限次 次 次 次

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、合法的数组定义是________.

86、给出以下定义:

char x[ ]="abcdefg";

char y[ ]={'a','b','c','d','e','f','g'};

则正确的叙述为 ________.

A) 数组x和数组y等价

B) 数组x和数组y的长度相同

C) 数组x的长度大于数组y的长度

D) 数组x的长度小于数组y的长度

87、定义如下变量和数组:

int i;

int x[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 B) 1  6 11 16   

88、下面程序输出的结果是________.

#include

void main( )

{ int i,j,x=0;

  static int a[6]={1,2,3,4,5,6};

for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];

  printf("%d\\n",x); 

}

A) 数组a中首尾的对应元素的乘积

B) 数组a中首尾的对应元素的乘积之和

C) 数组a中相邻各元素的乘积

D) 数组a中相邻各元素的乘积之和

、若有以下说明:

char s1[ ]={"tree"},s2[]={"flower"}; ,

则以下对数组元素或数组的输出语句中,正确的是_____.

B) printf("%c%c",s1,s2);

C) puts(s1);puts(s2);  D) puts(s1,s2);

90、运行下面程序段的输出结果是_______.

  char  s1[10]={'S','e','t','\\0','u','p','\\0'};

  printf("%s",s1);

A) Set       B) Setup      C) Set up      D) 'S''e''t'

91、以下程序段的输出结果是________.

  char  s[ ]="an apple";

  printf("%d\\n",strlen(s));

A8) 9          D) 10

92、若有说明:char  c[10]={'E','a','s','t','\\0'};,则下述说法中正确的是__________.

A) c[7]不可引用       B) c[6]可引用,但值不确定

C) c[4]不可引用       D) c[4]可引用,其值为空字符

93、若有说明char  c[7]={'s','t','r','i','n','g'};则对元素的非法引用是________.

A) c[0]     B) c[9-6]       C) c[4*2]     D) c[2*3]

94、如有说明:char s1[5],s2[7]; ,要给数组s1和s2整体赋值,下列语句中正确的是________.

A) s1=getchar();  s2=getchar();

B) scanf("%s%s",s1,s2);

C) scanf("%c%c",s1,s2);

D) gets(s1,s2);

95、以下程序输出的结果是_________.

#include

void main( )

{ char  str[ ]="1a2b3c";  int  i;

  for(i=0;str[i]!='\\0';i++)

  printf("\\n"); 

}

A1a2b3c   C) abc     D) 123

96、以下程序输出的结果是________.

#include

void main( )

{ int a[ ]={5,4,3,2,1},i,j;

  long s=0;

  printf("s=%ld\\n",s); 

}

A) s=12345  B) s=5 4 3 2 1    

C以上都不对

97、在定义int a[5][6];后,数组a中的第10个元素是.________(设a[0][0]为第一个元素)

A) a[2][5]     B) a[2][4]    C) a[1][3]    D) a[1][5]

98、当接受用户输入的含有空格的字符串时,应使用________函数.

A) gets( )   B) getchar( )   C) scanf( )    D) printf( )

99、以下一维数组a的正确定义是________ .

         int a[SIZE];

100、以下对二维数组a进行正确初始化的是_______.

B) int  a[ ][3]={1,2,3,4,5,6 };

D) int  a[2][ ]={ { 1,2},{3,4}};

答题卡

班级______姓名__________得分_________

12345678910
11121314151617181920
21222324252627282930
31323334353637383940
41424344454647484950
51525354555657585960
616263656667686970
71727374757677787980
818283848586878890
919293949596979899100
参:

1~5 DDADD 6~10 BBADA

11-15 DCDDD 15-20 ABBAD

21-25 ADAAA 26-30 AAACA

31-35 BCBDB 36-40 BABAC

41-45 DDBAA 46-50 CDBAC

51-55 CCBCB 56-60 BCBBD

61-65 DBDBC 66-70 ADDBC

71-75 CBDDD 76-80 BCABD

81-85 ACBBD 86-90 CCDCA

91-95 BDCBD 96-100CCADB下载本文

显示全文
专题