《 C语言程序设计》摸底考试试题
一、单项选择题(一共35题,每题2分,共70分)
1.在PC机中,‘\n’在内存占用的字节数是()
A.1  B.2  C.3  D.4
2.字符串“ABC”在内存占用的字节数是()
A.3  B.4  C.6  D.8
3.在C语言中,合法的长整型常数是()
A.0L  B.4962710  C.0.054838743  D.2.1869 e10 4.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是()
A.3,3,2  B.3,2,2  C.3,2,3  D.2,3,2
5.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是()A.3    B.0    C.9  D.-12
6.设int k=32767;执行k=k+1;后k值为()
A.32768    B.-32768    C.0  D.-1
7.下列正确的标识符是()
A.hot_do    B.a+b    C.test!    D.%y
8.设int a=5,使b不为2的表达式是()
A.b=6-(--a)    B.b=a%2    C.b=a/2  D.b=a>3?2:1
9.执行x=(6*7%8+9)/5;后,x的值为()
A.1    B.2    C.3    D.4
10.执行语句x=(a=3,b=a--)后,x,a,b的值依次为()
A.3,2,3  B.2,3,2  C.3,3,2  D.3,2,2
11.设a=-3;执行(a>0)?a:-a;后,a的值为()
A.3    B.1  C.0    D.-3
12.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为()A.7    B.8    C.9    D.2
13.下面正确的字符常量是()
A.”c”    B.’\\’’    C.’W’  D. ‘’
14.若有代数式3ae/bc,则不正确的c语言表达式是(  ) A.a/b/c*e*3    B.3*a*e/b/c
C.3*a*e/b*c    D.a*e/c/c*3
15.在C语言中,要求运算数必须是整型的运算符是()A./    B.++  C.!=    D.%
16.若有说明语句:char c=’\72’;则变量c (    )
A.包含1个字符B.包含2个字符
C.包含3个字符D.说明不合法,c值不确定
17.sizeof (float)是()
A.一个双精度型表达式B.一个整型表达式
C.一种函数调用  D 一个不合法的表达式
18.设变量a 是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型是()
A.int    B.folat  C.double  D.不确定
19.若有定义int a[10],*p=a;,则p+5表示()
A.元素a[5]的地址B.元素a[5]的值
C.元素a[6]的地址D.元素a[6]的值
20.以下与int *q[5];等价的定义语句是()
A.int q[5];    B.int * q    C.int (q[5])    D.int (*q)[5] 21.若有定义int a[5],*p=a;则对a数组元素地址的正确引用是()A.P+5  B.*a+1  C.&a+1    D  &a[0]
22.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是()A.auto    B.static    C.extern    D.register
23.若用数组名作为函数调用的实参,传递给形参的是()A.数组的首地址B.数组第一个元素的值
C.数组中全部元素的值  D .数组元素的个数
24.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A.float    B.int    C.long    D.double
25.以下对二维数组a的正确说明是()
A.int a[3][]        B.float  a(3,4)
C.double a[1][4]  D.float a(3)(4)
26.语句while(!E);中的表达式!E等价于()
A.E= =0  B.E!=1    C.E!=0    D.E= =1
27.C语言中while和do—while循环的主要区别是()A.do—while的循环体至少无条件执行一次
B.While的循环控制条件比do—while的循环控制条件严格
C.do—while允许从外部转到循环体内
D.do—while循环体不能是复合语句
28.为了避免在嵌套的条件语句if—else中产生二义性,C语言规定:else 子句总与()配对
A.缩排位置相同的if    B.其之前最近的if
C.其之后最近的if  D.同一行上的if
29.判断char型变量ch是否为大写字母的正确表达式是()A.’A’<=ch<=’Z’          B.(ch>=’A’)&(ch<=’Z’)
C.(ch>=’A’)&&(ch<=’Z’  D.(‘A’<=ch)AND (‘Z’>=ch)
30.以下能正确定义整型变量a、b、c并为其赋初值5的语句是()A.int  a=b=c=5;  B.int  a,c, c=5;
C.a=5,b=5,c=5;    D.a=b=c=5;
31. 以下叙述正确的是:
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
32. 以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
33.以下正确的叙述是:
A)在C程序中,每行中只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能被准确无误地表示
D)在C程序中,%是只能用于整数运算的运算符
34. 已知字母A的ASCII码为十进制数65,且c2为字符型变量,则执行语句c2='A'十'6'一'3';后,c2中的值为
A)D    B)68  C)不确定的值D)C
35.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
二、读程序,并给出其运行结果(一共6小题,每题5分,共30分)1.main()
{int a=2,b=3,c;
c=a;
if (a>b) c=1;  else if (a= =b) c=0;  else c=-1;
printf (“%d\n”,c);}
运行结果:
2.main()
{int a=2,b=7,c=5;
switch (a>0)
{ case  1: switch (b<0)
{case 1:printf(“@”);break;
case 2:printf(“!”);break;
}
case 0: switch  (c= =5)
{ case 0:printf(“*”);break;
case 1:printf(“#”),break;
default:printf(“#”);break;
}
default:printf(“&”);
} printf (“\n”);
}
运行结果:
3.#include <stdio.h>
main()
{ int i;
for (i=1;i<=5;i++)
switch (i%5)
{ case 0:printf(“*”);break;
case 1:printf(“#”);break;
default:printf(“\n”);
c语言正确的字符常量case 2:printf (“&”);
}
}
运行结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。