高职升本计算机基础复习材料—C 语言精编 100 题
C 语言精编 100 题
一、单选题
1. 由 C 语言编写的代码程序(
)
A. 可直接执行
C. 经过编译即可执行
B. 是一个源程序
D. 经过编译解释才能执行
2. 按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是(
A. 大写字母
B. 中划线
C. 数字字符
)
D. 下划线
3. 下列选项中,不能用作标识符的是(
)
A. _1234_
B. _1_2
C. int_2_
D. 2_int_
4. 以下选项中合法的用户标识符是(
B. _2Test
5. 以下不能定义为用户标识符的是(
A. long
)
)
C. 3Dmax
D. A.dat
A. Main
B. _0
C. _int
D. sizeof
6. 下列定义变量的语句错误的是(
)
A. int _int;
B. double int_;
C. char For;
D. float US$;
7. 在 C 语言中,合法的实型常数是(
)
A. 5E2.0
B. E-3
C. 2E0
D. 1.3E
8. 在 C 语言中,合法的实型常数是(
)
B. 3.14159E
9. 以下选项中,不能作为合法常量的是(
B. 1.234e0.4
A. 1.2E0.5
A. 1.234e04
10. 以下不合法的数值常量是(
)
B. le1
A. 011
C. 5E-3
D. E15
)
C. 1.234e+4
D. 1.234e0
C. 8.0E0.5
D. 0xabcd
11. 在 C 语言中,非法的字符常量是(
)
A.‘\t’
B.‘\17’
C. "\n"
D.‘\xaa’
12. 以下不合法的字符常量是(
)
A.‘\018’
B.‘\"’
13. 下列运算符中优先级最高的运算符是( )(
A. <=
A. ==
14. 以下程序的输出结果是(
B. =
B. /
)
C.‘\\’
)
C. %
C. =
D.‘\xcc’
D. &&
D. >=
main()
{ int a=3,b=4;
printf("%d\n",a<=b);
}
A. 3
B. 4
C. 1
D. 0
15. 在 C 语言中,以下非法的表达式是(
)
1
高职升本计算机基础复习材料—C 语言精编 100 题
A. 0<=x<=100
B. i=j==0
C. (char)(65+3)
D. x+1=x+1
16. 在 C 语言中,以下非法的赋值语句是(
)
A. j++;
17. 表达式 3.6-5/2+1.2+5%2 的值是(
B. ++(i+1);
)
C. x=j>0;
D. k=i==j;
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 的值是( )
A. 10
20. 以下程序的输出结果是(
B. 20
)(
C. 40
)(
)(
)(
)
D. 3.8
D. -12
D. 30
⑴ main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);}
A. 9,2
⑵ main()
B. 10,2
C. 9,1
D. 10,1
{ int a=12,b=12;
printf("%d %d\n" ,--a,++b);}
A. 10 10
⑶ main()
{ int x=023;
B. 12 12
C. 11 10
D. 11 13
printf("%d\n",--x);}
B. 18
A. 17
⑷ main()
{ int x=10,y=10;
printf("%d %d\n",x--,--y);}
C. 23
D. 24
A. 10 10
⑸ main()
B. 9 9
C. 9 10
D. 10 9
{ int i=010,j=10;
printf("%d,%d\n",++i,j--);}
A. 11,10
B. 9,10
C. 010,9
D. 10,9
21. 以下程序的输出结果是(
)
main()
{ int x=100,y=200;
printf("%d\n",(x,y)); }
A. 200
C. 100 200
22. 以下程序的输出结果是(
)
main()
{ int x=10,y=3,z;
B. 100
D)200 100
2
高职升本计算机基础复习材料—C 语言精编 100 题
printf("%d\n",z=(x%y,x/y));}
A. 1
B. 0
C. 4
23. int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(
D. 3
)
A. k++
B. k+=1
C. ++k
D. k+1
24. 以下程序的输出结果是(
)
main()
{ int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z); }
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
26. 设 int x=-1;执行表达式++x||++x||++x||++x,x 的值是(
)
A. 0
B. 1
C. 2
D. 4
D. 4
27. 以下程序的输出结果是
(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}( )
A. k=11,k=12,k=11
C. k=11,k=013,k=0xb
(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }( )
A. 17,021,0x11
B. k=11,k=13,k=13
D. k=11,k=13,k=b
B. 17,17,17
C. 17,0x11,021
D. 17,21,11
28. 运行时从键盘上输入 9876543210(表示回车),则该程序的输出结果是( )
main()
{ int a;float b,c;
scanf("%2d%3f%4f\n",&a,&b,&c);
printf("a=%d,b=%f,c=%f\n",a,b,c);}
A. a=98,b=765,c=4321
C. a=98,b=765.000000,c=4321.000000
B. a=10,b=432,c=8765
D. a=98,b=765.0,c=4321.0
29. 设变量均已正确定义,若要通过 scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量
a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正
确的是(注:□代表空格字符)(
A. 10□X□20□Y<回车>
C. 10□X<回车>
20□Y<回车>
B. 10□X20□Y<回车>
D. 10X<回车>
20Y<回车>
)
30. 以下程序的输出结果是(
)
x*(x-1)
#define MA(x)
main()
{ int a=1,b=2;
printf("%d\n",MA(1+a+b));}
3
高职升本计算机基础复习材料—C 语言精编 100 题
A. 6
31. 以下程序的输出结果是(
B. 8
)
x*y+z
#define M(x,y,z)
main()
{
int a=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+a)); }
A. 19
32. 以下程序段的输出结果是(
B. 17
)
C. 10
D. 12
C. 15
D. 12
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{
int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A. 15
B. 100
C. 10
33. 设 a=1,b=2,c=3,d=4,则表达式 a5) printf("%d\n",x);
else printf("%d\n",x--);
}
A. 4
35. 有以下程序
main()
{ int n=4;
B. 5
C. 6
D. 7
while(n--)
printf("%d ",--n);
}
程序执行后的输出结果是(
)
A. 2 0
B. 3 1
C. 3 2 1
D. 2 1 0
36. 有以下程序
main()
{ int
y=10;
while(y--); printf("y=%d\n",y); }
程序执行后的输出结果是(
A. y=0
C. y=1
)
37. 有以下程序
4
B. y=-1
D. while 构成无限循环
高职升本计算机基础复习材料—C 语言精编 100 题
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 0: printf("%d",i);
case 1: printf("%d",i);
default: printf("%d",i);
}
}
程序执行后的输出结果是(
A.000112
)
B. 012
)
38. 以下叙述中正确的是(
C. 012020
D. 120
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("%d\n",fun(7)); }
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];
C. int a[][3]={};
43. 以下程序的输出结果是(
)
5
B. int a[][3]={2*3};
D. int a[2][3]={{1},{2},{3,4}};
高职升本计算机基础复习材料—C 语言精编 100 题
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));
}
A. 3
}
A. 0
B. 4
)
B. 1
)
44. 以下程序的输出结果是(
main()
{ int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*p+9);
C. 1
D. 2
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("%d\n", *p+*q); }
A. 16
B. 10
46. 设有 char array[]="China";
则数组 array 所占的空间字节数为(
A. 4
B. 5
)
47. 在 C 语言中,对于以下定义正确的叙述为(
)
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
A. 数组 x 和数组 y 等价
C. 数组 x 的长度大于数组 y 的长度
48. 以下不能正确进行字符串赋初值的语句是(
)
A. char str[5]= "good!";
B. char *str="good!";
49. 以下程序的输出结果是(
)
main()
{ char str[]="ABCD",*p=str;
printf("%d\n",*(p+4)); }
B. 'D'
A. 68
50. 以下程序的输出结果是(
)
main()
{ char str[]="aeiou",*p=str;
printf("%c\n",*p+4)); }
C. 8
C. 6
D. 6
D. 7
B. 数组 x 和数组 y 的长度相同
D. 数组 x 的长度大于数组 y 的长度
B. char str[]="good!";
D. char str[5]={‘g’,‘o’,‘o’,‘d’};
C. 0
D. '0'
A. o
B. u
C. e
D. f
6
高职升本计算机基础复习材料—C 语言精编 100 题
二、填空题
51. 一个 C 源程序至少应该有一个 主
52. 以下程序运行后的输出结果是
函数。
。
main()
{ int x=2006,y=2007;
printf("%d\n",(x,y));
}
53. (1) 以下程序运行后的输出结果是
。
main()
{ int a=10;
printf("%d,%o,%x\n",a,a,a);
}
(2) 以下程序运行后的输出结果是
。
main()
{ int a,b,c;
a=25;b=025;c=Ox25;
printf("%d %d %d\n",a,b,c);
}
(3) 以下程序运行后的输出结果是
。
main()
{ int a=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
54. (1) 以下程序运行后的输出结果是
。
main()
{ char ch='B';
printf("%c %d\n",ch,ch);
}
(2) 以下程序运行后的输出结果是
。
main()
{ char ch='B';
ch+=32;
printf("%c\n",ch);
}
(3) 以下程序运行后的输出结果是
。
main()
7
高职升本计算机基础复习材料—C 语言精编 100 题
{ char ch;
ch='H'-'A'+'0';
printf("%c\n",ch);
}
(4) 以下程序运行后的输出结果是
。
main()
{ int c;
char ch=97;
c=ch+1;
printf("%c %c\n",c,ch);
}
55. 以下程序运行后的输出结果是
。
main()
{ float x=123.4567;
printf("%f\n",(int)(x*100+0.5)/100.0);
}
56. 有程序如下,要求给 i 赋 10,给 j 赋 20,则应该从键盘输入
。
main()
{ int i,j;
scanf("i=%d,j=%d",&i,&j);
printf("i=%d,j=%d",i,j);
}
57. (1) 以下程序运行后的输出结果是
。
main()
{ int a=10;
a=(3*5,a+4);
printf("a=%d\n",a);
}
(2) 以下程序运行后的输出结果是
。
main()
{ int a=0,b=0,c=0;
c=(a+=a-=5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c);
}
58. 以下程序运行后的输出结果是
。
main()
{ int a=5,b=4,c=3,x;
x=a>b>c;
printf("%d\n",x);
8