C语言100题

更新时间:2024-06-06 09:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2008年高职升本计算机基础复习材料—C语言精编100题

C语言精编100题

一、单选题

1. 由C语言编写的代码程序( )

A. 可直接执行 B. 是一个源程序 C. 经过编译即可执行 D. 经过编译解释才能执行 2. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )

A. 大写字母 B. 中划线 3. 下列选项中,不能用作标识符的是( )

 A. _1234_ B. _1_2 4. 以下选项中合法的用户标识符是( )

A. long B. _2Test 5. 以下不能定义为用户标识符的是( )

A. Main B. _0 6. 下列定义变量的语句错误的是( )

A. int _int; B. double int_; 7. 在C语言中,合法的实型常数是( )

A. 5E2.0 B. E-3 8. 在C语言中,合法的实型常数是( )

A. 1.2E0.5 B. 3.14159E 9. 以下选项中,不能作为合法常量的是( )

A. 1.234e04 B. 1.234e0.4 10. 以下不合法的数值常量是( )

A. 011 B. le1 11. 在C语言中,非法的字符常量是( )

A.‘\\t’ B.‘\\17’ 12. 以下不合法的字符常量是( )

A.‘\\018’ B.‘\\\’ 13. 下列运算符中优先级最高的运算符是( )( )

A. <= B. = A. == B. / 14. 以下程序的输出结果是( )

main()

{ int a=3,b=4;

printf(\ }

A. 3 B. 4 15. 在C语言中,以下非法的表达式是( )

1

C. 数字字符 C. int_2_ C. 3Dmax C. _int C. char For; C. 2E0 C. 5E-3 C. 1.234e+4 C. 8.0E0.5 C. \ C.‘\\\\’ C. % C. = C. 1 D. 下划线 D. 2_int_ D. A.dat D. sizeof D. float US$; D. 1.3E D. E15 D. 1.234e0 D. 0xabcd D.‘\\xaa’ D.‘\\xcc’ D. && D. >= D. 0 2008年高职升本计算机基础复习材料—C语言精编100题

A. 0<=x<=100 B. i=j==0 C. (char)(65+3) 16. 在C语言中,以下非法的赋值语句是( )

A. j++; B. ++(i+1); C. x=j>0; 17. 表达式3.6-5/2+1.2+5%2的值是( )

A. 4.3 B. 4.8 C. 3.3 18. 设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )

A. 3 B. 0 C. 9 19. 设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( ) D. x+1=x+1 D. k=i==j; D. 3.8 D. -12 A. 10 B. 20 20. 以下程序的输出结果是( )( )( )( )( )

⑴ main()

{ int i=10,j=1;

printf(\,++j);} A. 9,2 B. 10,2 ⑵ main()

{ int a=12,b=12;

printf(\,++b);}

A. 10 10 B. 12 12 ⑶ main()

{ int x=023;

printf(\

A. 17 B. 18 ⑷ main()

{ int x=10,y=10;

printf(\,--y);}

A. 10 10 B. 9 9 ⑸ main()

{ int i=010,j=10;

printf(\,++i,j--);}

A. 11,10 B. 9,10 21. 以下程序的输出结果是( )

main()

{ int x=100,y=200;

printf(\

A. 200 C. 100 200 22. 以下程序的输出结果是( )

main()

{ int x=10,y=3,z;

2

C. 40 C. 9,1 C. 11 10 C. 23 C. 9 10 C. 010,9 B. 100 D)200 100 D. 30

D. 10,1

D. 11 13

D. 24

D. 10 9

D. 10,9

2008年高职升本计算机基础复习材料—C语言精编100题

printf(\

A. 1 B. 0 C. 4 D. 3 23. int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )

A. k++ B. k+=1 C. ++k D. k+1 24. 以下程序的输出结果是( )

main()

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

z=x++,y++,++y;

printf(\

A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,1 25. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )

A. 1 B. 2 C. 3 D. 4 26. 设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )

A. 0 B. 1 C. 2 D. 4 27. 以下程序的输出结果是

(1) main(){ int k=11; printf(\( ) A. k=11,k=12,k=11 B. k=11,k=13,k=13 C. k=11,k=013,k=0xb D. k=11,k=13,k=b (2) main(){ int k=17; printf(\( )

A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D. 17,21,11 28. 运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是( ) main() { int a;float b,c;

scanf(\

printf(\

A. a=98,b=765,c=4321 B. a=10,b=432,c=8765 C. a=98,b=765.000000,c=4321.000000 D. a=98,b=765.0,c=4321.0

29. 设变量均已正确定义,若要通过scanf(\语句为变量

a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正 确的是(注:□代表空格字符)( )

A. 10□X□20□Y<回车> B. 10□X20□Y<回车> C. 10□X<回车> D. 10X<回车> 20□Y<回车> 20Y<回车> 30. 以下程序的输出结果是( ) #define MA(x) x*(x-1) main()

{ int a=1,b=2;

printf(\

3

2008年高职升本计算机基础复习材料—C语言精编100题

A. 6 B. 8 C. 10 D. 12 31. 以下程序的输出结果是( ) #define M(x,y,z) x*y+z main()

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

printf(\

A. 19 B. 17 C. 15 D. 12 32. 以下程序段的输出结果是( )

#define MIN(x,y) (x)<(y)?(x):(y) main()

{ int i=10,j=15,k;

k=10*MIN(i,j); printf(\}

A. 15 B. 100 C. 10 D. 150 33. 设a=1,b=2,c=3,d=4,则表达式a

A. 4 B. 3 C. 2 D. 1 34. 以下程序段的输出结果是( )

main()

{ int x=5;

if(x++>5) printf(\ else printf(\ }

A. 4 B. 5 C. 6 D. 7 35. 有以下程序

main()

{ int n=4; while(n--)

printf(\ }

程序执行后的输出结果是( )

A. 2 0 B. 3 1 C. 3 2 1 D. 2 1 0 36. 有以下程序 main()

{ int y=10;

while(y--); printf(\,y); } 程序执行后的输出结果是( )

A. y=0 B. y=-1

C. y=1 D. while构成无限循环 37. 有以下程序

4

2008年高职升本计算机基础复习材料—C语言精编100题

main() { int i;

for(i=0;i<3;i++) switch(i)

{ case 0: printf(\ case 1: printf(\ default: printf(\ } }

程序执行后的输出结果是( )

A.000112 B. 012 C. 012020 D. 120 38. 以下叙述中正确的是( )

A. 构成C程序的基本单位是函数 B. 可以在一个函数中定义另一个函数 C. main()函数必须放在其它函数之前

D. 所有被调用函数一定要在调用之前进行定义 39. 以下说法中正确的是( )

A. C语言程序总是从第一个函数开始执行

B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分 40. 以下程序的输出结果是( )

int fun(int x) { int p;

if(x==0||x==1) p=3; else p=x-fun(x-2); return p; } main()

{ printf(\

A. 7 B. 3 C. 2 D. 0 41. 以下数组定义中错误的是( )

A. int x[][3]={0}; B. int x[2][3]={{1,2},{3,4},{5,6}}; C. int x[][3]={{1,2,3},{4,5,6}}; D. int x[2][3]={1,2,3,4,5,6}; 42. 以下能正确定义二维数组的是( )

 A. int a[][3]; B. int a[][3]={2*3};

 C. int a[][3]={}; D. int a[2][3]={{1},{2},{3,4}}; 43. 以下程序的输出结果是( )

5

2008年高职升本计算机基础复习材料—C语言精编100题

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\ }

A. 3 B. 4 C. 1 D. 2 44. 以下程序的输出结果是( )

main()

{ int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\ }

A. 0 B. 1 C. 10 D. 9 45. 以下程序的输出结果是( ) main()

 { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;  printf(\

 A. 16 B. 10 C. 8 D. 6 46. 设有char array[]=\

则数组array所占的空间字节数为( )

A. 4 B. 5 C. 6 D. 7 47. 在C语言中,对于以下定义正确的叙述为( )

char x[]=\

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

A. 数组x和数组y等价 B. 数组x和数组y的长度相同

C. 数组x的长度大于数组y的长度 D. 数组x的长度大于数组y的长度 48. 以下不能正确进行字符串赋初值的语句是( )

A. char str[5]= \ B. char str[]=\B. char *str=\ D. char str[5]={‘g’,‘o’,‘o’,‘d’}; 49. 以下程序的输出结果是( )

main()

{ char str[]=\ printf(\

A. 68 B. 'D' C. 0 D. '0' 50. 以下程序的输出结果是( )

main()

{ char str[]=\ printf(\

A. o B. u C. e D. f

6

2008年高职升本计算机基础复习材料—C语言精编100题

二、填空题

51. 一个C源程序至少应该有一个 函数。 52. 以下程序运行后的输出结果是 。

main()

{ int x=2006,y=2007; printf(\ }

53. (1) 以下程序运行后的输出结果是 。

main()

{ int a=10;

printf(\ }

(2) 以下程序运行后的输出结果是 。

main()

{ int a,b,c;

a=25;b=025;c=Ox25;

printf(\ }

(3) 以下程序运行后的输出结果是 。

main()

{ int a=1,b=2;

a=a+b;b=a-b;a=a-b; printf(\ }

54. (1) 以下程序运行后的输出结果是 。

main()

{ char ch='B';

printf(\ }

(2) 以下程序运行后的输出结果是 。

main()

{ char ch='B'; ch+=32;

printf(\ }

(3) 以下程序运行后的输出结果是 。

main()

7

2008年高职升本计算机基础复习材料—C语言精编100题

{ char ch;

ch='H'-'A'+'0'; printf(\ }

(4) 以下程序运行后的输出结果是 。

main() { int c;

char ch=97; c=ch+1;

printf(\ }

55. 以下程序运行后的输出结果是 。

main()

{ float x=123.4567;

printf(\ }

56. 有程序如下,要求给i赋10,给j赋20,则应该从键盘输入 。 main() { int i,j;

scanf(\printf(\}

57. (1) 以下程序运行后的输出结果是 。

main()

{ int a=10; a=(3*5,a+4);

printf(\}

(2) 以下程序运行后的输出结果是 。 main()

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

c=(a+=a-=5),(a=b,b+3);

printf(\}

58. 以下程序运行后的输出结果是 。

main()

{ int a=5,b=4,c=3,x; x=a>b>c;

printf(\

8

2008年高职升本计算机基础复习材料—C语言精编100题

}

59. 以下程序运行后的输出结果是 。

main()

{ int a=3,b=2; b=a<0&&a++>3;

printf(\ }

60. 以下程序运行后的输出结果是 。

main()

{ int a,b,c=246; a=c/100%9; b=-1&&-1;

printf(\ }

61. (1) 以下程序运行后的输出结果是 。

#define MAX(x,y) (x)>(y)?(x):(y) main()

{ int a=5,b=2,c=3,d=3,t;

t=MAX(a+b,c+d)*10; printf(\}

(2) 以下程序运行后的输出结果是 。

#define S(x) 4*x*x+1 main()

{ int i=6,j=8;

printf(\}

62. 以下程序运行后的输出结果是 。

main()

{ int x,a=1,b=2,c=3,d=4; x=(a

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

main()

{ int a=3,b=4,c=5,t=99; if(b

9

2008年高职升本计算机基础复习材料—C语言精编100题

}

64. 以下程序运行后的输出结果是 。

main()

{ int i,t=0;

for(i=5;i>=0;i--) t*=i;

printf(\ }

65. 以下程序运行后的输出结果是 。

main()

{ char c1,c2;

for(c1='0',c2='9';c1

66. 输入1234567890<回车>,则其中while循环体将执行 次。

#include main() { char ch;

while((ch=getchar())==‘0’) printf(\#\}

67. 设有定义语句:int a[][3]={{0},{1},{2}};

则数组元素a[1][2]的值为 。 68. 在C语言中,有如下语句:

int a[]={10,20,30,40,50,60},*p;

p=a+3;

printf(\

则输出结果是 。

69. 以下程序运行后的输出结果是 。 main()

{ int a[2][3]={1,2,3,4,5,6}; int m,*p; p=&a[0][0];

m=(*p)*(*(p+2))*(*(p+4)); printf(\}

70. 设有以下定义和语句:

int a[3][2]={10,20,30,40,50,60},(*p)[2];

10

2008年高职升本计算机基础复习材料—C语言精编100题

p=a;

则*(*(p+2)+1)的值为 。 71. 在C语言中,有如下语句:

int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1];

则*(p[0]+1)所代表的数组元素是 。 72. 以下程序运行后的输出结果是 。

main()

{ char s[]=\ s[3]='\\0';

printf(\ }

73. 以下程序运行后的输出结果是 。

main()

{ char s[]=\ for(p=s;p

74. 以下程序运行后的输出结果是 。

main()

{ char s[]=\ printf(\}

75. (1) 以下程序运行后的输出结果是 。

main()

{ char str[]=\ printf(\ }

(2) 以下程序运行后的输出结果是 。

main()

{ printf(\(3) 以下程序运行后的输出结果是 。

main()

{ printf(\(4) 以下程序运行后的输出结果是 。 main()

{ char s[]=\ printf(\

11

2008年高职升本计算机基础复习材料—C语言精编100题

71. (1) 以下程序运行后的输出结果是 。

main()

{ char str[]=\

printf(\}

(2) 以下程序运行后的输出结果是 。

main()

{ char *s1=\

printf(\}

72. 以下程序运行后的输出结果是 。

main()

{ char a[]={‘\\1’,‘\\2’,‘\\3’,‘\\4’,‘\\0’}; printf(\73. 以下程序运行后的输出结果是 。

main()

{ char ch[3][5]={\ printf(\

74. 以下程序运行后的输出结果是 。

main()

{ char str[][20]={\ printf(\}

75. 在C语言中,有如下语句:

struct std { char ch; int a[2]; float t; double f } std1;

则结构体变量std1占用内存的字节数为 。 76. 在C语言中,有如下语句:

struct dog { char ch[10]; int i; int *p; double k;

12

2008年高职升本计算机基础复习材料—C语言精编100题

} dog1;

则结构体变量dog1占用内存的字节数为 。 77. 在C语言中,有如下语句:

struct cat { int a[10]; char ch; float f; double *p; } cat1;

则结构体变量cat1占用内存的字节数为 。 78. 有以下结构体说明,请填空,以完成对结构体数组t定义:

struct STR { char a; int b; float c; double d; };

t[20];

13

2008年高职升本计算机基础复习材料—C语言精编100题

三、多选题

79. 在C语言中,以下合法的变量名是( )

A. register B. _10days C. my_book D. us$ E. count

80. 在C语言中,以下合法的实型常量是( )

A. 1.2E+0.5 B. 3.14159E C. .5E-3 D. E15 E. 3.E+2

81. 在C语言中,变量已正确定义并赋值,下面正确的表达式为( )

A. a=b+1 B. b=float(a) C. a=a+7=c+3 C. c=15.0%3 E. a=b+c,a++

82. 在C语言中,以下合法的字符常量是( )

A. \ B. 'ab' C. '\\x43' D. '\\084' E. '\\0'

83. 在C语言中,以下合法的常量是( )

A. 0386 B. 0Xff C. 1.2e0.5 D. ‘\\17’ E. \

84. 在C语言中,以下错误的数组定义是( )

A. int a[]={1,2,3}; B. int s[]; C. int n=10,t[n]; D. char *q[3]; E. char str[]={1,2,3};

14

2008年高职升本计算机基础复习材料—C语言精编100题

四、程序填空题

85. 以下程序的功能是计算:1-2+3-4……+99-100

main()

{ int i=1,j=1,s=0; while( ) { s+= ; i++;

; }

printf(\}

86. 输入20个整数到一维数组,统计正整数的个数及其和

main()

{ int a[20],i,sum,count; sum=count= ; for(i=0;i<20;i++) scanf(\ for(i=0;i<20;i++) if( )

{ count++; ; }

printf(\ }

87. 输入10个整数到一维数组,输出其中最大数和最小数

main()

{ int a[10],i,max,min; for(i=0;i<10;i++) scanf(\ max=min= ; for(i=1;i<10;i++)

if(a[i]>max) ;

else if( ) min=a[i]; printf(\ }

88. 输入一个字符串,将其倒序后输出

main()

{ int i,j;

char st[60],ch; scanf(\

for(i=0,j= ; ;i++,j--)

15

本文来源:https://www.bwwdw.com/article/rxd6.html

Top