C语言模拟试卷及答案
- 格式:doc
- 大小:30.50 KB
- 文档页数:8
《C语言程序设计》考试试卷(答案)
一、填空题(每小空1分,共10分)
1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序有且仅有一个main( ) 函数。
3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。
4.C语言可以用来实现循环的结构化语句是while、do while、for。
5.数组名表示数组在内存的首地址。
6.int a=3,*p=&a;*p+2的值是5。
二、单项选择题(每小题2分,共70分)
1._____是C语言合法的标识符。
2.(A)3_sy45 (B)su_m (C)@123 (D)3D64
3.一个程序的执行是从。
4.(A)本程序的main函数开始,到main函数结束
5.(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
6.(C)本程序的main函数开始,到本程序文件的最后一个函数结束。
7.(D)本程序文件的第一个函数开始,到main函数结束。
8.以下叙述正确的是。
9.(A)在C程序中,main函数必须位于程序的最前面。
10.(B)C程序每行中只能写一条语句。
11.(C)C语言本是没有输入输出语句。
12.(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
13.以下叙述不正确的是。
14.(A)逗号运算符的运算级最低。
15.(B)ABC和abc是两个不同的变量。
16.(C)若a和b类型相同,在执行a=b后,b的自身值不变。
17.(D)‘a’和“a”是完全等价的常量。
18.int x=3,y=2;则表达式x+=x*=y+8的值为。
19.(A)28 (B)30 (C)60(D)17
20.在c语言中,变量的隐含存储类别是。
21.(A)auto (B)static (C)extern (D)无存储类别
22.执行下面两个语句后,输出的结果为_____。
23.char c1=98;
24.printf(“%d %c”,c1,c1-32);
25.(A)97 66 (B)98 b (C)b 66 (D)98 B
26.执行下面语句后的结果为。
27.y=10;x=y++;
28.(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 29.char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是。30.(A)double (B)char (C)int (D)float
31.C语言中要求操作数必须是整数的运算符是。
32.(A)/ (B)%(C)!= (D)=
33.用scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是。34.(A)123,4 (B)123 4 (C)123;4 (D)1234
35.以下关于运算符优先顺序的描述中正确的是________
36.(A)关系运算符<算术运算符<赋值运算符<逻辑与运算符
37.(B)逻辑与运算符<关系运算符<算术运算符<赋值运算符38.(C)赋值运算符<逻辑与运算符<关系运算符<算术运算符39.(D)算术运算符<关系运算符<赋值运算符<逻辑与运算符
40.下列程序段中,功能与其它程序段不同的是。
41.(A)for(i=1,p=1;i<=5;i++) p*=i;
42.(B)for(i=1;i<=5;) { p=1;p*=i;i++;}
43.(C)i=1;p=1;while(i<=5) { p*=i;i++;}
44.(D)i=1;p=1;do { p*=i;i++;} while(i<=5);
45.C语言规定else总是与配对。
46.(A)缩进位置相同的if (B)同一行上的if
47.(C)其之前最近的if(D)其之后最近的if
48.以下程序的运行结果为______。
49.main( )
50.{ int n;
51. for( n=1;n<=10;n++)
52. { if( n%3==0) continue;printf(“%d”,n); }
53.}
54.(A)(B)369 (C)12 (D)
55.设x和y均为int型变量,则语句x+=y;y=x-y;x-=y;的功能是。56.(A)把x和y按从大到小排列(B)把x和y按从小到大排列
57.(C)无确定结果(D)交换x和y中的值
58.变量的指针,其含义是指该变量的 _____
59.(A)值(B)地址(C)名(D)一个标志
60.以下函数调用语句中含有个实参。
61. func((e1,e2),(e3,e4,e5));
62.(A)2 (B)3 (C)5 (D)语法错误
63.以下正确的描述是________
64.(A)continue语句的作用是结束整个循环的执行
65.(B)只能在循环体内和switch语句体内使用break语句
66.(C)在循环体内使用break语句或continue语句的作用相同
67.(D)break语句可以退出多层循环
68.以下程序运行的结果是。
69. main()
70.{int a=2,b=3,c=2;
71. if(a
72. if(a 73. c--; 74. else 75. c+=1; 76.printf(“%d\n”,c); 77.} 78.(A)0 (B)1 (C)2 (D)3 79.int a[4]={2,3,4},i; 80.i=a[0]*a[1]+a[2]*a[3]; 81.i的值为。 82.(A)2 (B)4 (C)6 (D)10 83.以下正确的函数定义形式是。 84.(A)double fun(int x,int y); 85.(B)double fun(int x;int y) 86.(C)double fun(int x,int y) 87.(D)double fun(int x,y) 88.设char s[10]= "abcd",t[]="12345";,则s和t在内存中分配的字节数分别是_______。89.(A)6和5 (B)6和6 (C)10和5 (D)10和6 90.若有定义int a[4]={1,2,3};