天津专升本C语言考试单选填空汇总试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言单选填空练习
一、单选题
1.(1) 由C语言编写的代码程序( )
A. 可直接执行
B. 是一个源程序
C. 经过编译即可执行
D. 经过编译解释才能执行
(2) C语言源程序的扩展名为( )
A. .obj
B. .c
C. .exe
D. .cpp
2.(1) 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )
A. 大写字母
B. 中划线
C. 数字字符
D. 下划线
(2) 下列选项中,不能用作标识符的是( )
A. _1234_
B. _1_2
C. int_2_
D. 2_int_
(3) 以下选项中合法的用户标识符是( )
A. long
B. _2Test
C. 3Dmax
D. A.dat
(4) 以下不能定义为用户标识符的是( )
A. Main
B. _0
C. _int
D. sizeof
(5) 下列定义变量的语句错误的是( )
A. int _int;
B. double int_;
C. char For;
D. float US$;
(6)以下选项中不合法的标识符是()
A. print
B. FOR
C. &a
D. _00
(7) 以下不合法的用户标识符是()
A.j2_KEY B. Double
C. 4d
D. _8_
(8) 以下C语言用户标识符,不合法的是()
A. _1
B. AaBc
C. a_b
D. a-b
3.(1) 在C语言中,整型数据分为( )
A. 二进制、八进制、十进制
B. 二进制、十进制、十六进制
C. 八进制、十进制、十六进制
D. 二进制、八进制、十进制、十六进制
(2) C源程序不能表示的进制为( )
A. 八进制
B. 二进制
C. 十六进制
D. 十进制
4.(1) 在C语言中,合法的实型常数是( )
A. 5E2.0
B. E-3
C. .2E0
D. 1.3E
(2) 在C语言中,合法的实型常数是( )
A. 1.2E0.5
B. 3.14159E
C. 5E-3
D. E15
(3) 以下选项中,不能作为合法常量的是( )
A. 1.234e04
B. 1.234e0.4
C. 1.234e+4
D. 1.234e0
(4) 以下不合法的数值常量是( )
A. 011
B. le1
C. 8.0E0.5
D. 0xabcd
(5) 以下选项中,能用作数据常量的是( )
A. o115
B. 0118
C. 1.5e1.5
D. 115
(6) 以下选项中,合法的一组C语言数值常量是( )
A. 028
B. 12.
C. .177
D. 0x8A
.5e-3 OXa23 4e1.5 10,000
-0xf 4.5e0 Oabc 3.e5
5.(1) 在C语言中,非法的字符常量是( )
A.‘\t’
B.‘\17’
C. "\n"
D.‘\xaa’
(2) 以下不合法的字符常量是( )
A.‘\018’
B.‘\"’
C.‘\\’
D.‘\xcc’
(3) 以下选项不属于字符常量的是( )
A. 'C'
B. "C"
C. '\xCC'
D. '\072'
(4) 以下选项中,非法的字符常量是
A.‘\101’
B.‘\65’
C.‘\xff’
D.‘\019’
6.在C语言中,以下关于运算符叙述错误的是( )
A. 在C语言中,逗号运算符的优先级最低
B. 在C语言中,赋值运算符自右向左运算
C. 在C语言中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算
D. 在C语言中,++、--运算符可以改变变量的值
7.下列运算符中优先级最高的运算符是( )( )
A. <=
B. =
C. %
D. &&
A. ==
B. /
C. =
D. >=
8.(1) 以下程序的输出结果是( )
main()
{ int a=3,b=4; printf("%d\n",a<=b); }
A. 3
B. 4
C. 1
D. 0
(2) 在C语言中,表达式10!=9的值为( )
A. 0
B. False
C. 1
D. True
9.在C语言中,以下非法的表达式是( )
A. 0<=x<=100
B. i=j==0
C. (char)(65+3)
D. x+1=x+1
10.在C语言中,以下非法的赋值语句是( )
A. j++;
B. ++(i+1);
C. x=j>0;
D. k=i==j;
11.(1) 表达式3.6-5/2+1.2+5%2的值是( )
A. 4.3
B. 4.8
C. 3.3
D. 3.8
(2) 若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为( )
A. 1.9
B. 1
C. 2
D. 2.4
12.(1) 设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )
A. 3
B. 0
C. 9
D. -12
(2) 设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )
A. 10
B. 20
C. 40
D. 30
(3) 设有语句:int a=0;则执行语句 a+=(a=8);变量a的值是( )
A. 0
B. 8
C. 16
D. 24
13.以下程序的输出结果是( )( )( )( )( )
⑴ main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);}
A. 9,2
B. 10,2
C. 9,1
D. 10,1
⑵ main()
{ int a=12,b=12;
printf("%d %d\n" ,--a,++b);}
A. 10 10
B. 12 12
C. 11 10
D. 11 13
⑶ main()
{ int x=023; printf("%d\n",--x);}
A. 17
B. 18
C. 23
D. 24
⑷ main()
{ int x=10,y=10;
printf("%d %d\n",x--,--y);}
A. 10 10
B. 9 9
C. 9 10
D. 10 9
⑸ main()
{ int i=010,j=10;
printf("%d,%d\n",++i,j--);}
A. 11,10
B. 9,10
C. 010,9
D. 10,9
14.以下程序的输出结果是( )
main()
{ int x=100,y=200;
printf("%d\n",(x,y)); }
A. 200
B. 100
C. 100 200
D. 200 100
15.以下程序的输出结果是( )
main()
{ int x=10,y=3,z;
printf("%d\n",z=(x%y,x/y)); }
A. 1
B. 0
C. 4
D. 3
16.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )
A. 1
B. 2
C. 3
D. 4
17.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )
A. 0
B. 1
C. 2
D. 4
18.以下程序的输出结果是
(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()
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("%d,%o,%x\n",k,k,k); }()
A. 17,021,0x11
B. 17,17,17
C. 17,0x11,021
D. 17,21,11
19. (1) 设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量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<回车>
(2) 若有定义:int a,b;,通过语句scanf("%d,%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的
输入数据是( )
A. 3 5
B. 3,5
C. 3;5
D. 35
20.设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的结果是( )
A. 4
B. 3
C. 2
D. 1
21.以下叙述中正确的是( )
A. 构成C程序的基本单位是函数
B. 可以在一个函数中定义另一个函数
C. main()函数必须放在其它函数之前
D. 所有被调用函数一定要在调用之前进行定义
22.以下说法中正确的是( )
A. C语言程序总是从第一个函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
23.以下数组定义中错误的是( )
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};
24.以下能正确定义二维数组的是( )
A. int a[][3];
B. int a[][3]={2*3};
C. int a[][3]={};
D. int a[2][3]={{1},{2},{3,4}};
25.在C语言中,对于以下定义正确的叙述为( )
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
A. 数组x和数组y等价
B. 数组x和数组y的长度相同
C. 数组x的长度大于数组y的长度
D. 数组x的长度小于数组y的长度
26.以下不能正确进行字符串赋初值的语句是( )
A. char str[5]= "good!";
B. char str[]="good!";
B. char *str="good!"; D. char str[5]={‘g’,‘o’,‘o’,‘d’};
27.(1) 以下程序的输出结果是( )
main()
{ char str[]="ABCD",*p=str;
printf("%d\n",*(p+4)); }
A. 68
B. 'D'
C. 0
D. '0'
(2) 以下程序的输出结果是( )
main()
{ char str[]="aeiou",*p=str;
printf("%c\n",*p+4)); }
A. o
B. u
C. e
D. f
28. (1) 以下程序的输出结果是( )
main()
{ char *p="abcde\0fghijk\0";
printf("%d\n",strlen(p)); }
A. 5
B. 15
C. 6
D. 16
(2) 以下程序的输出结果是( )
main()
{ char s[]="1234567890\0";
printf("%d\n",strlen(s));}
A. 8
B. 9
C. 10
D. 11
29.int a[10],*p=a;
不能代表a[1]地址的是( )
A. p+1
B. a+1
C. ++a
D. ++p
30.设有以下说明语句,则下面的叙述不正确的是( )
struct ex
{ char a;
int b;
float c;
} example;
A. struct 是结构体关键字
B. example是结构体类型名
C. a、b、c是结构体成员名
D. struct ex是结构体类型
二、填空题
1.C语言处理系统必须执行的步骤依次为、链接。

2.在C语言中对源程序进行编译生成的目标文件的扩展名是。

3.C程序设计的三种基本结构是:选择结构、循环结构和。

4.一个C语言程序的基本组成单位是。

5.一个C语言源程序由若干个组成。

6.C程序的执行是从本程序的main函数开始,到本程序的函数结束。

7.C语言标识符的第一个字符必须为下划线或者。

8.在C语言中,整型常量的书写形式包括:八进制、十进制和进制。

9.在C语言中,运算符的操作数必须是整型的是。

10.设int a=9,b=6,c;,执行语句c=a/b+0.8;后c的值是。

11.设char w;int x;float y;double z;,则表达式w*x+z-y的值的类型是。

12.设int a;float b;char c;long d;double e;,则表达式a/c-b+d-e值的类型是。

13.若b是int型变量,则表达式b=25/3%3的值为。

14.设int x=7,y=3,则表达式x%y+x/y的值是。

15.设float x=23.65;, 则执行语句printf("%d\n",(int)(x+0.5));后输出结果是。

16.若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为。

17.设int a=37;,则执行语句a+=a%=9;后,变量a的值是。

18.设int j=5;,则执行语句j+=j-=j*j;后,变量j的值是。

19.设int a=2;,则执行a+=a*=15;后,变量a的值是。

20.在C语言中,优先级最低的运算符是。

21.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为。

22.设int a,b,c;则执行a=(b=3,c=5,b=10);后变量a的值是。

23.设int a=7,b=8;则printf("%d,%d\n",(a+b,a),(b,a+b));的输出结果是。

24.设int a=12;,语句printf("%d\n",(a/3,a%3,a/10>0));的输出结果是。

25.若定义了int a=1;,则执行printf("%d\n",((a=a+4,a+5),a+6));语句的输出结果是。

26.执行语句 y=10;x=y++;后变量x的值为。

27.设int x=10,y=3;,执行printf("%d,%d\n",x--,++y);后的输出结果是。

28.设int x=011; printf("%d\n",++x); 后的输出结果是。

29.设int a=010,b=10;
则语句printf("%d,%d\n",a++,--b);的结果为。

30.设int x=14;,则表达式x++%-5的值为。

31.利用运算符--,下列两条语句b=5+a;a-=1;
可以仅由一条语句实现,这条语句是。

32.设宏定义#define K 2+3,执行printf("%d\n",K/K);后的输出结果是。

33.设宏定义#define CIR(r) r*r,执行printf("%d\n",CIR(1)/CIR(2));后的输出结果是。

34.设宏定义#define F(x) x*x,执行printf("%d\n",F(3+4));后的输出结果是。

35.设有语句:int a,b; scanf("a=%d,b=%d",&a,&b);
若要为变量a和b输入数值1和2,正确的输入形式应该是。

36.设有语句:char ch1,ch2; scanf("%c%c",&ch1,&ch2);
若要为变量ch1和ch2输入字符A和B,正确的输入形式应该是。

37.在C语言中,要通过语句scanf("%d,%d,%d",&a,&b,&c);,
给变量a赋值1、给变量b赋值2、给变量c赋值3,正确的输入形式应该是。

38.设有语句:int a=5,b=4,c=2;,则表达式a>b!=c的值为。

39.正确表达数学关系式0≤x<20的C语言表达式是。

40.设x为整型变量,则描述“x是偶数”的表达式。

41.设int n;,“n的值能同时被3和5整除”的逻辑表达式是。

42.设int m,n;“n是小于整数m的偶数”的C语言表达式是。

43.判断char型变量ch是否为小写字母的正确表达式是。

44.设char ch;,判断ch为数字字符的逻辑表达式。

45.设int a=2,b=3,c=4;,则表达式a>b&&b<c||b的值是。

46.在C语言中,若int a=0,b;则执行“a=1?b=0:b=1;”后,b的值为。

47.在C语言中,若x=3,y=2,z=1,则表达式(x+=z)<y?x++:y++的值为。

48.若定义了int x=100;,则表达式x++>100?x+20:x+10的值是。

49.设int x=-9,y;,则执行y=x>=0?x:-x;后y的值是。

50.设int a=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;后f的值是。

51.设int x=1,y=3,z;,执行z=x>y?++x:y++;后,z的值是。

52.int a=5,b=4,c=6; printf("%d\n",a>b?(a>c?a:c):(b));的结果是。

53.执行printf("%d\n",1+!2+(3<=4)+5/6+7%8);后的输出结果是。

54.设int a=1,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是。

55.设int a=-3,b=7,c=-1;则执行(a==0)&&(a=a%b<b/c);后变量a的值是。

56.设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是。

57.设int m=0;,执行表达式m||(m=2)||(m=3)||(m=4)后,m的值是。

58.设int a=0,b=0,c=2,d=4;,则执行(c=a==b)||(d=b==a);后变量d的值是。

59.设int a=1,b=2,m=2,n=2;,执行表达式(m=a<b)||++n后,n的值是。

60.下列程序段的输出结果是。

int a=5,b=0,c=0;
if(a=b+c) printf("***\n");
else printf("$$$\n");
61.设for(k=0;k<0;k++) ++k;则该循环共执行次。

62.设int n;,执行for(n=0;n==0;n++) n=0;后,循环体被执行的次数是。

63.执行语句for(i=10;i>0;i--);后,变量i的值是。

64.执行下列程序段后,输出结果是____________。

int x=3;
do printf("%3d",x-=2); while(!(--x));
65.设int a=11,b=2;,执行下述程序段后,输出结果为。

do a/=b++; while(a>b);
printf("%d,%d\n",a,b);
66.可以将被调函数中获得的值返回给主调函数的语句是。

67.C语言规定简单变量做实参的时候,它和对应形参之间的数据传递方式是。

68.若函数调用语句为fun(a,b,fun(a+b,a-b,b));,则函数fun的参数个数是。

69.若函数调用语句为func(rec1, rec2+rec3, (rec4, rec5)); 则含有的实参个数是。

70.若函数内定义变量的存储类别是static,该变量被称为局部变量。

71.设int a[10];则数组a的首元素是。

72.若有C语句:int a[][3]={1,2,3,4,5,6,7,8};则数组a第一维的大小为。

73.设double y[4][5];,则数组y中元素的个数是。

74.设int a[][4]={l,2,3,4,5,6,7};,则a[1][3]的值是。

75.设int a[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}};则表达式a[1][2]+a[2][3]的值是。

76.printf("%d\n",NULL);的结果为。

77.设int a=10,*p=&a;,则执行printf("%d\n",*p+a);的结果是。

78.设int a,*p=&a;,通过指针变量p为a输入值的scanf语句是。

79.设char *strp="China";,执行printf("%s\n",strp+3);后的输出结果是。

80.设char a[20]={"switch"},*p=a;,则printf("%c\n",*(p+2));的结果是。

81.若定义函数时类型缺省,则该函数默认的类型是。

82.设char *p="abcdABCD";, 则执行printf("%s",p+4); 后输出结果是。

83.设有语句char s[]="World\0Wide\0Web";
则执行语句printf("%s\n",s);后的输出结果是。

84.设char c[5]={'a','b','\0','c','\0'};则printf("%s\n",c);的输出是。

85.若定义了char ch[]={"abc\0def"},*p=ch;则执行printf("%c",*p+4);语句的输出结果是。

86.设char s[3]="AB",*p=s;,则*(p+2)的值是。

87.在C语句中“char s[8]="glister";char *p=s;”,则*(p+4)的值为。

88.设char s[]="hello!";,则数组s有个元素。

89.设char s[]={"apple"};,则执行printf("%d\n",strlen(s));后输出的值是。

90.执行printf("%d\n",strlen("ABCD\t\\\123"));后输出的值是。

91.执行语句printf("%d\n",strlen("a\n\x41"));后,输出结果是。

92.设char s[]="1234567";,执行printf("%d,%d\n", strlen(s),sizeof(s)); 后输出的结果是。

93.设char str1[10]="ABCDE",str2[10]="XYZ";则执行语句:
printf("%d\n",strlen(strcpy(str1,str2)));后的输出是。

94.设int a[]={1,2,3,4,5,6,7,8},*s=a;,则*(s+1)的值是。

95.设 int a[10]={1,2,3};则*(a+3)的值是。

96.在C语言中,当调用函数时,实参是一个数组名,则函数传送的是数组的。

97.设int a[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是。

98.在C语言中,声明结构体类型的关键字是。

99.设struct student
{ char name[20];
char sex; } stu;
语句printf("%d\n",sizeof(stu));的输出结果是。

100.设struct student
{ int no;
char name[12];
char sex;
float score[4]; } stu1;
在程序执行时,系统为stu1分配个字节的内存空间。

附录一:C语言的关键字(保留字)
1.auto:声明自动变量
2.short:声明短整型变量或函数
3.int:声明整型变量或函数
4.long:声明长整型变量或函数
5.float:声明浮点型变量或函数
6.double:声明双精度变量或函数
7.char:声明字符型变量或函数
8.struct:声明结构体变量或函数
9.union:声明共用数据类型
10.enum:声明枚举类型
11.typedef:用以给数据类型取别名
12.const:声明只读变量
13.unsigned:声明无符号类型变量或函数
14.signed:声明有符号类型变量或函数
15.extern:声明变量是在其他文件中声明
16.register:声明寄存器变量
17.static:声明静态变量
18.volatile:说明变量在程序执行中被隐含地改变
19.void:声明函数无返回值或无参数
20.if:条件语句
21.else:条件语句否定分支
22.switch :用于开关语句
23.case:开关语句分支
24.for:一种循环语句
25.do :循环语句的循环体
26.while :循环语句的循环条件
27.goto:无条件跳转语句
28.continue:结束当前循环,开始下一轮循环
29.break:跳出当前循环
30.default:开关语句中的“其他”分支
31.sizeof:计算数据类型长度
32.return :子程序返回语句
附录二:运算符的优先级和结合性。

相关文档
最新文档