西交大《程序设计基础》试题及答案
一、单项选择题(本大题共20小题,每小题2分,共40分)
1.int a[10];合法的数组元素的最小下标值为()。 A:10 B:9 C:1 D:0 答案:D
2.以下运算符中优先级最低的是()。 A:&& B:& C:|| D:| 答案:C
3.若使用一维数组名作函数实参,则以下正确的说法是()。 A:必须在主调函数中说明此数组的大小 B:实参数组类型与形参数组类型可以不匹配 C:在被调用函数中,不需要考虑形参数组的大小 D:实参数组名与形参数组名必须一致 答案:A
4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。
A:一个整数,代表要读入的数据项总数 B:一个文件指针,指向要读的文件 C:一个指针,指向要读入数据的存放地址 D:一个存储区,存放要读的数据项 答案:C
5.对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 A:将5个初值依次赋给a[1]至a[5]
B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[6]至a[10]
D:因为数组长度与初值的个数不相同,所以此语句不正确 答案:B
6.下列程序的输出结果是()。 main()
{ int x=1,y=0,a=0,b=0; switch(x) {
case 1:switch(y) {
case case } case 2:a++;b++;break; case 3:a++;b++;break; }
printf(\\} A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B
7.下列程序的输出结果为()。 main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(\\
0:a++;break; 1:b++;break; }
A:27.000000 B:27.500000 C:28.000000 D:28.500000 答案:A
8.若k为int型变量,则以下程序段的执行结果是()。 k=-8567; printf(\\A:格式描述符不合
法,输出无定值 B:输出为|D| C:输出为|0-8567| D:输出为|-8567| 答案:B
9.下列程序段的输出结果为()。 int x=3,y=2;
printf(\\A:1 B:7 C:3 D:5 答案:C
10.char a[]=\\输出前5个字符的语句是()。 A:printf(\\B:puts(a); C:printf(\\D:a[5*2]=0;puts(a); 答案:A
11.下列程序的输出结果是()。 main()
{char c1=97,c2=98;
printf(\\} A:97 98 B:97 b C:a 98 D:a b 答案:B
12.以下选项中合法的实型常数是()。 A:5E2.0 B:E-3 C:.2E0 D:1.3E 答案:C
13.C语言中的文件类型只有()。 A:索引文件和文本文件两种 B:ASCII文件和二进制文件两种 C:文本文件一种 D:二进制文件一种 答案:B
14.以下叙述不正确的是()。
A:一个C源程序可由一个或多个函数组成 B:一个C源程序必须包含一个main函数 C:C程序的基本组成单位是函数
D:在C程序中,注释说明只能位于一条语句的后面 答案:D
15.以下运算符中,优先级最高的运算符是()。 A:|| B:% C:! D:==
答案:C
16.执行以下程序段后,输出结果和a的值是()。 int a=10; printf(\\A:10 和 10 B:10 和 11 C:11 和 10 D:11 和 11 答案:B
17.能正确表示逻辑关系:\\≥10或a≤0\\的C语言表达式是()。 A:a>=10 or a<=0 B:a>=0|a<=10 C:a>=10&&a<=0 D:a>=10‖a<=0 答案:D
18.以下叙述中错误的是()。
A:二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B:在程序结束时,应当用fclose函数关闭已打开的文件
C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D:不可以用FILE定义指向二进制文件的文件指针 答案:D
19.下列程序段的输出结果为()。 float k=0.8567;
printf(\\A:0085.6%% B:0085.7% C:0085.6% D:.857