32、C语言规定:在一个源程序中,main函数的位置:C A)必须在最开始
B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后
33、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符:C A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符
34、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为:A
A)D B)68 C)不确定的值 D)C 35、以下叙述中不正确的是______ D
A)在不同的函数中可以使用相同名字的变量 B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效(返回值就不是)
36、已知:char a;int b;float c;double d;执行语句\;\后,变量c的数据类型是 。C(有争议,还取决于输出格式)
A) int B) char C) float D) double
37、已知int x=1,y;执行下述语句后变量x的值是____。 B
y=++x>5&&++x<10;(因为机器计算了++x>5后就能判断y的值为0了,所以运行结束,x只自加了一次) A) 1 B) 2 C) 3 D) 4
38、语句 printf(“%d”,(a=2)&&(b= -2);的输出结果是_______ D((a=2)和(b= -2)均不为0,所以结果为1)
A)无输出 B)结果不确定 C)0
D)1
6
39、若执行以下程序时从键盘上输入9,则输出结果是_____ B A) 11 B) 10 C) 9 D) 8 main() { int n;
scanf(\
if(n++<10) printf(\(n=9,假设成立n++后输出n值)*/ else printf(\}
40、一个C语言程序是由______。 A
A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成
41、以下叙述正确的是______ B 【解析】if 是C语言中的保留字,而define不是保留字。用户标识符不允许使用保留字。
A) 可以把define和if定义为用户标识符 (if是关键字)
B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符
42、函数sqrt(x)的功能是______ D A) 求x的长度 B) 求x的绝对值 C) 求x的平方值 D) 求x的平方根
43、若有以下定义 D(数据类型向上兼容) char a; int b;
float c; double d;
则表达式a*b+d-c值的类型为_______
A) float B) int C) char D) double
44、下列说法中,正确的是_______C
A) break语句可以用在循环语句中,作用是结束本次循环 B) break语句不能用在switch语句中
C)continue语句用在循环语句中,作用是结束本次循环
D) break语句和continue语句用在循环语句中,都可以直接终止整个循环
选择题:
7
45、以下描述中正确的是:C
A)由于do一while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B) do一while循环由do开始,用while结束,在while(表达式)后面不能写分号 C)在do一while循环体中,一定要有能使while后表达式值变为零(\假\的操作 D)do一while循环中,根据情况可以省略while
46、在c语言中,引用数组元素时,其数组下标的数据类型允许是: C A)整型常量 B)整型表达式 C)整型常量或整型表达式 D)任何类型的表达式 47、以下能对一维数组a进行正确初始化的语句是: C A) int a[10]=(0,0,0,0,0) B)int a[10]={} C) int a[]={0}; D) int a[10]={10*1}; 48、以下对二维数组a的正确说明是: C
A) int a[3][]; B) floatf a(3,4); C) double a[1][4]; D) float a(3)(4);
49、在C语言中,一维数组的定义方式为:,类型说说明符 数组名: A A) [常量表达式] B) [整形表达式] c)[ 整型常量]或[整型表达式] D)[整型常量]
50、对字符数组s赋值,不合法的一个是____。C A) char s[]=\; B) char s[20]={\; C) char s[20];s=\;
D) char s[20]={'B','e','i','j','i','n','g'};
51、对字符数组str赋初值,str不能作为字符串使用的一个是____。D A) char str[]=\; B) char str[]={\;
C) char str[9]={'s','h','a','n','g','h','a','i'};
D) char str[8]={ 's','h','a','n','g','h','a','i'};(因为\\0还占用一个字节,所以8应改为9或数组中少一个字符)
52、字符串\的长度是____。 B(因为\\0还占用一个字节)
8
A) 0 B) 1 C) 2 D) 非法字符串
53、有二维数组定义 int a[4][5]; 下列对该数组的元素引用正确的是________A A) a[0][0] B) a[0,3]
C) a[4][1](一维超限) D)a[1][5] (二维超限)
54、对字符数组s赋值,不合法的一个是____C。 A) char s[]=\; B) char s[20]={\; C) char s[20];s=\;
D) char s[20]={'B','e','i','j','i','n','g'};
55、对字符数组str赋初值,str不能作为字符串使用的一个是____D(少一个字节空间存放\\n)。 A) char str[]=\; B) char str[]={\;
C) char str[9]={'s','h','a','n','g','h','a','i'}; D) char str[8]={ 's','h','a','n','g','h','a','i'}; 56、字符串\的长度是____C。 A) 0 B) 1 C) 2 D) 非法字符串
57、对二维数组的正确说明是____C。(A、B第二维均未标注值,D的书写格式不对) A) int a[][]={1,2,3,4,5,6}; B) int a[2][]={1,2,3,4,5,6}; C) int a[][3]={1,2,3,4,5,6}; D) int a[2,3]={1,2,3,4,5,6}; 选择题:
58、函数调用:strcat(strcpy(str1,str2),str3)的功能是:C A)将串str1复制到串str2中后再连接到串str3之后 B)将串str1连接到串str2之后再复制到串str3之后
C)将串str2复制到串str1中后再将串str3连接到串str1之后 D)将串str2连接到串str1之后再将串str1复制到串str3中
59、以下对C语言函数的有关描述中,正确的是:A
A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B)C函数既可以嵌套定义又可以递归调用 C)函数必须有返回值,否则不能使用函数
D)C程序中有调用关系的所有函数必须放在同一个源程序文件中
9
60、以下叙述中错误的是 :B
A) 在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 B)在C语言中,外部变量的隐含类别是自动存储类别
C) 在C语言中,函数形参的存储类型是自动(auto)类型的变量
D)在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容
61、在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。 A) int B) double C) void D)char
62、简单变量做实参时,它相对应形参之间的数据传递方式是__B__。 A) 地址传递 B) 单向值传递
C) 由实参传给形参,再由形参传回给实参 D) 由用户指定传递方式
63、一个C程序的执行是从______。 A
A)本程序的main函数开始,到main函数的结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束 C)本程序文件的main开始,到本程序文件的最后一个函数的结束 D)本程序文件的第一个函数开始,到本程序文件的main函数的结束 64、下面函数的功能是____。A a(s1,s2)
char s1[ ],s2[ ];
{ while(s2++==s1++) ; }
A) 字符串比较 B) 字符串复制 C) 字符串连接 D) 字符串反向 65、以下所列的各函数首部中,正确的是 C A) void play(var :Integer,var b:Integer) B) void play(int a,b)
C) void play(int a,int b)
D) Sub play(a as integer,b as integer)
66、对函数形参的说明有错误的是____。 C(形参中数组不应规定元素个数,它是由系统动态分配空间的) A) int a(float x[],int n) B) int a(float *x,int n) C) int a(float x[10],int n) D) int a(float x,int n)
67、已知int x=12,y=3;执行下述程序后,变量x的值是____。D(循环到y=0时,除法有错误,不能进行下去) do
10