当前位置:文档之家› 《C程序设计语言》模拟试卷二

《C程序设计语言》模拟试卷二

C.该结构体变量中占用最大存储空间的成员所需存储空间
D.该结构体变量中所有成员所需存储空间的总和
26.以下关于typedef的叙述不正确的是_____ ____。
A.用typedef可以定义各种类型名,但不能用来定义变量
B.用typedef可以增加新类型
C.用typedef只是将已存在的类型用一个新的名字来代表
C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
18.以下合法的数组定义是____ _______。
A.int a[] = "string";
B.int a[5] = {0, 1, 2, 3, 4, 5};
C.char a = "string";
24.在C语言程序中,下列叙述正确的是___ ______。
A.实参可以是常量、变量或表达式
B.实参可以是任意类型
C.形参可以是常量、实参或表达式
D.形参与队友的实参类型要求可以不一致
25.在定义一个结构体变量时系统分配给它的存储空间是___ _。
A.该结构体变量中第一个成员所需存储空间
B.该结构体变量中最后一个成员所需存储空间
D.使用typedef便于程序的调用
27.在声明一个结构体类型时系统分配给它的存储空间是___ _____。
A.该结构体变量中第一个成员所需存储空间
B.该结构体变量中最后一个成员所需存储空间
C.该结构体变量中所有成员所需存储空间的总和
D.结构体类型本身并不占用存储空间,即系统并不给结构体类型分配存储空间
D.char a[] = {0, 1, 2, 3, 4, 5};
19.在C语言程序中,下列叙述正确的是___ ________。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和调用都可以嵌套
D.函数的定义和调用均不可以嵌套
20.在C语言程序中,简单变量做实参时,它和对应形参之间的数据传递方式是__________。
C.scanf("%f%3o", &a, &b);
D.scanf("%f%f", &a, &b);
10.if后面的表达式之值__________。
A.只能是0或1
B.只能是正整数或负整数
C.只能是整数或字符型数据
D.可以是任何类型的数据
11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与__ ___组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其直接最近的未配对的if
D.同一行上的if
12.选择出合法的if语句(设int x, a, b, c;)____ _____。
A.if(a = b0 x++;
B.if (a =< b) x++;
C.if(a <> b) x++;
D.if (a=>b) x++;
13.语句while(!e);中的条件!e等价于____ _______。
A.e == 0
B.e!=1
C.e!=0
D.~e
14.C语言中while和do-while循环的主要区别是____ _______。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
main() {
int a = 3, b = 5;
if (a > b)
printf("a大于b\n")
else
printf("a不大于b\n");
}
3.写出以下程序的运行结果(假定程序已包含正确的头文件)。
main() {
int n = 1, sum = 0;
while (n < 5) {
sum = sum + n;
printf("%d\n", s);
}
四、程序设计题
1.编写一个交换两个int型数据的函数swap,在main函数中从标准输入读取两个整数到两个整型变量中,输出调用swap函数之前和之后的结果。
2.定义一个结构体类型Rect用于表示矩形,该类型有两个double类型的成员width和height,定义一个计算矩形的面积的自定义函数Area,参数为结构体类型Rect,在main函数中定义并初始化一个结构体变量r,然后调用Area函数,并输出计算结果
A.int *p = a;
B.int *p = *a;
C.int p = &a;
D.int *p = &a;
23.C语言中规定函数的返回值的类型是由___ ______。
A.return语句中的表达式类型所决定
B.调用该函数是的主调用函数所决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型所决定
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
15.以下程序段______ _____。
int x = -1;
do { x = x * x} while (x != 0);
A.是死循环
B.循环执行二次
C.循环执行一次
D.有语法错误
16.以下关于数组的描述正确的是__________。
B.int A[3, 4];
C.int a[][3];
D.int a[10];
30.在定义inta[3][6];后,第10个元素是___。
A.a[2][4]
B.a[1][3]
C.a[3][空题
1.任何C语句必须以____________结束。
2.C编译程序的功能是____________。
28.fopen()函数的打开文件模式"r"和"w"的差别是___ _____。
A."r"可向文件写,"w"不可向文件写
B."r"不可向文件写,"w"可向文件写
C."r"不可由文件读, "w"可由文件读
D.文件不存在时,"r"建立新文件,"w"出错
29.以下正确的定义语句是_______。
A.int A['a'];
8.程序的三种基本控制结构分别是____________、____________和____________。
9.____________语句强行结束循环,转向循环语句下面的语句。____________语句结束本次循环体的执行。
10.常用的一维数组排序方法有冒泡排序、直接插入排序和____________。
A.地址传递
B.单向值传递
C.由用户指定参数传递方式
D.由实参传给形参,再由形参传递给实参
21.在一个源文件中定义的外部变量的作用域为___ ______。
A.本文件的全部范围
B.本程序的全部范围
C.本函数的全部范围
D.从定义该变量的位置开始至文件结束
22.已知变量a已定义为int型变量,以下定义并初始化指针变量p的语句中正确的是___ _____。
14.C语言使用关键字____________定义结构体类型。
15.计算字符串长度的库函数是____________。
三、程序分析题
1.写出以下程序的运行结果(假定程序已包含正确的头文件)。
main() {
int n = 10;
n++;
n += 5;
printf("%d\n", n);
}
2.写出以下程序的运行结果(假定程序已包含正确的头文件)。
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____ ________。
A.read(a, b, c);
B.scanf("%d%d%d", a, b, c);
A.+a
B.*p
C._DAY
D.next day
6.设c是字符变量,则以下表达式正确的是___ _______。
A.c=666
B.c='c'
C.c="c"
D.c="abcd"
7.以下说法正确的是_____ _______。
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
3.一个C程序是由____ ________。
A.一个主程序和若干个子程序构成
B.一个或多个函数构成
C.若干过程组成
D.若干子程序组成
4.以下字符串为标识符的是___ _________。
A._MY
B.2_2222
C.short
D.LINE 5
5.下列符号可以作为变量名的是___ ________。
main() {
int a = 3; *pa = &a;
*pa = 10;
printf("%d\n", a);
}
6.写出以下程序的运行结果(假定程序已包含正确的头文件)。
相关主题