单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
1.结构化程序由三种基本结构组成、三种基本结构组成的算法是(A)
A.可以完成任何复杂的任务
B. 只能完成部分复杂的任务
C. 只能完成符合结构化的任务
D. 只能完成一些简单的任务
- 以下名字,不能作为C 语言标识符的是(C)
A. name
B. ab_c
C.student-2
D. name
- 在一个C程序中,(B)
A. main 函数必须出现在固定位置
B. main 函数可以出现在任何地方
C. main 函数必须出现在所有函数之前
D.main函数必须出现在所有函数之后
4,以下选项中,非法的字符常量是(C)
A.’ Y’
B. ‘\77’
C. “n”
D. ‘t’
5.设x、 y、t均为int型变量,则执行语句: x=y=0;E+xl++y;后, y的值为(B)
A. 不定值
B.0
C. 1
D. 2
- 下面的程序段将输出(int a=5,b=-3, c;c=a%b;printf(“%dn”, c);
C
A. 1
B. -1
c. 2
D. -2
- 设有如下定义: int ix=10,iy=3,iz;则语句 print(“%din”,iz-(ix%iy,ix/iy));的输出结果是(C)
A.I
B. 2
C. 3
D. 4
8.在下图中,阴影部分区域可用表达式(C)来表示。
A. (x<=a)&&(x>=b)&&(x<=c)
B. (x<=a)(b<=x<=c)
C. (x<=a)l(x>=b)&&(x<=c)
D. (x<=a)&&(b<=x<=c)
9若a是32-位int类型变量,判断其32个2进位中末两位均为1的表达式为(A)
A a&3=3
B. a&3=11
C. a&i1=3
D. a&l1=11
- 如果下面程序运行结果是 i=12.5,j=4.0,从键盘应输入(D)。
#inctude"stdio.h"
int main(){float ij;scanf("i=%fj=%f",&i,&j);printf("i=%fj=%fn",ij); return 0;}
A. 12.5 4.0
B. i=12.5 j-4.0
C. i=12.5 j=4
D. i=12.5.j=4
11.下列程序的运行结果是(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=%d\n", 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
- 设有以下定义;
char *cc[2]={“1234”,“5678”);则正确的叙述是(A)
A.cc 数组的两个元素中各自存放了字符串"1234"和"5678"的首地址素
B.cc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
C. cc是指针变量,它指向含有两个数组元素的字符型一维数组
D. cc数组元素的值分别是"1234"和"5678"
13.以下程序的运行结果是(D)。
#include <stdio.h>int main() {int p[7] = {11, 13, 14, 15, 16, 17, 18};int i = 0, k = 0;while (i < 7 && p[i] % 2) {k = k + p[i];i++;}printf("%d\n", k);return 0;
}
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. intx[][3]={{1,2,3},(4,5,6)};
D. int x[2][3]=(1,2,3,4,5,6};
15.以下哪一种对于str 的定义不恰当,有可能使 strlen(str)获得非预期的结果(D)
A. char str[]=“hello world!”;
B. char str[100]=“X”;
C. char str[4] = “abcd”;
D.char str[6]= {65, 66, 67, 68, 69, 0};
16.在一个C源程序文件中,如要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(D)
A. extern
B. register
C. anto
D. static
17.以下对 C 语言中函数的有关描述正确的是(A)
A.调用函数时只能把实参的值传送给形参,形参的值不能传送给实参,
B.C函数既可以嵌套定义又可以递归调用。
C.函数必须有返回值,否则不能使用函数。
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中。
18 下列不正确的定义是(C)
A. int*p,t
B. int i,p=&i;
C. intp=&i,i;
D. int i,*p;
19下列程序的输出结果是
A
#include <stdio.h>#define F(X, Y) ((X) * (Y))int main() {int a = 3, b = 4;printf("%d\n", F(a++, b++));return 0;