一、单项选择题(本大题共 20小题,每小题 2分,共 40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
1,结构化程序由三种基本结构组成,三种基本结构组成的算法是(A)
A.可以完成任何复杂的任务
B.只能完成部分复杂的任务
C.只能完成符合结构化的任务
D.只能完成一些简单的任务
2.以下名字,不能作为C语言标识符的是(C)
A. hehe
B. a$b_c
C. student-2
D____
3.在计算机系统中,符号整数值一律采用()来表示和存储C
A.原码
B.反码
C. 补码
D.移码
4,以下选项中,非法的字符常量是(C)
A. ‘t’
B. ‘\65’
C. “n”
D. ‘\t’
5.设x、y、t均为int型变量,则执行语句:x=y=3;t= ++x Il++y;后,y的值为(B)。
A.不定值
B.3
C.4
D.1
6.下面的程序段将输出(B)
int a = 5, b =-3, c;
c= a % b;
printf(“%d\n”, c);
A.1
B.-1
C.2
D.-2
7.设有如下定义:int ix=10,iy=3,iz:则语句printf(“%dn”,iz=(ix%iy,ix/iy));的输出结果是(C)
A.1
B.2
C.3
D.4
8.在下图中,阴影部分区域可用表达式来表示。
C
A. (x<=a)&&(x>=b)&&(x<=c)
B. (x<=a)(b<=x<=c)
C. (x<=a)(x>=b)&&(x<=c)
D.(x<=a)&&(b<=x<=e)
9.若a是32位int类型变量,判断其32个2进位中末两位均为1的表达式为(A)
A. a&33
B.a&311
C.a&113
D. a&l111
10.如果下面程序运行结果是i=12.5j=-4.0,从键盘应输入(D)。
#include “stdio.h”
int main(){
float i,j;
scanf(“i=%fj=%f”,&i,&j);
printf(“i=%f.j=%n”,i);
return 0;
}
A. 12.5 -4.0
B. j=12.5 j=-4.0
C. i=12.5 j=-4
D. i=12.5,j=-4
- 下列程序的运行结果是(C)
#include <stdio.h>
int main(){
int a, b, c;
a= 20; b= 30; c= 10;
if (a < b)a = b;
if (a >= b)b = c; c = a;
printf(“a=%d, b=%d, c=%dn”, a, b, c);
return 0;
}
A. a=20, b=10, c=20
B. a=30, b=10, c=20
C. a=30, b=10, c=30
D.a=20,b=10,c=30。
- 下列叙述中正确的是(D)
A.do-while语句构成的循环不能用其他语句构成的循环来代替
B. do-while语句构成的循环只能用break 语句退出
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环
D. 用 do-while语句构成的循环,在while后的表达式为零时结束循环
#include <stdio.h>
int main() {
int p[] = {
11, 13, 14, 15, 16, 17, 18};
int i = 0, k = 0;
while (i < 7) {
if (p[i] % 2 != 0) {
k = k + p[i];
}
i++;
}
printf("%d\n", k);
return 0;
}
D
A. 58
B.56
C. 45
D.24
- 以下数组定义中错误的是(B)
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};
15,以下哪一种对于str的定义不恰当,有可能使strlen(str)获得非预期的结果©。
A. char str] = “hello world!”;
B. char str[100] = “X”;
C. char str[4] =“abcd”;
D. char str6) = (65, 66, 67, 68, 69, 0);
16,在一个C源程序文件中,如要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(D)
A. extern
B. register
C. auto
D. staticment
17.以下对C语言中函数的有关描述正确的是(A)。
A.调用函数时只能把实参的值传送给形参,形参的值不能传送给实参。
B.C函数既可以嵌套定义又可以递归调用。
C.函数必须有返回值,否则不能使用函数。
D.C程序中有调用关系的所有函数必须放在同一个源程序文件中。
18.对于以下变量定义int *p[3], a[3];,正确的赋值是(D)
A.p=a
B.*p=a[0]
C. p=&a[0]
D. p[0] = &a[0]
19,当定义一个结构变量时,系统分配给它的内存空间大小是(A)
A.各成员所需内存量的总和
B.结构中第一个成员所需内存量
C.成员中占内存量最大者所需容量
D.结构中最后一个成员所需内存量
20,以下哪个选项中的p不是指针©
A. int **p;
B. int (*p)(5);
C. int *p[6];
D. struct Stulchar
nam