1、大学计算机 考试 单选题(题库)一、单项选择 共 300题 第 1题 (1.0 分) 题号:513int a10;合法的数组元素的最小下标值为() 。A:10B:9C:1D:0答案:D第 2题 (1.0 分) 题号:681以下运算符中优先级最低的是() 。A:定义后,下列语句中合法的是() 。A:p=p+2;B:p=a5;C:p=a2+2;D:p=答案:A第 4题 (1.0 分) 题号:640以下对二维数组 a的正确说明是() 。A:int a3B:float a(3,4)C:double a14D:float a(3)(4)答案:C第 5题 (1.0 分) 题号:684在 C语言中,要求运算
2、数必须是整型的运算符是() 。A:B:%C:!D:答案:B第 6题 (1.0 分) 题号:654以下不能正确定义二维数组的选项是() 。A:int a22=1,2;B:int a2=1,2,3,4;C:int a22=1,2,3;D:int a2=1,2,3,4;答案:D第 7题 (1.0 分) 题号:742若 fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是() 。A:EOFB:0C:非零值D:NULL答案:C第 8题 (1.0 分) 题号:108设 C语言中,int 类型数据占 2个字节,则 short类型数据占() 。A:1个字节B:2个字节C:4个字节D:
3、8个字节答案:B第 9题 (1.0 分) 题号:489下列标识符中,不合法的 C语言用户自定义标识符是() 。A:printfB:enumC:_D:sin答案:B第 10题 (1.0 分) 题号:646若有说明 int a34;则 a数组元素的非法引用是() 。A:a02*1B:a13C:a4-20D:a04答案:D第 11题 (1.0 分) 题号:658若使用一维数组名作函数实参,则以下正确的说法是() 。A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A第 12题 (1.0 分)
4、 题号:728已知函数的调用形式:fread(buffer,size,count,fp);其中 buffer代表的是() 。A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C第 13题 (1.0 分) 题号:145经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为() 。char x=65;float y=7.3; int a=100; double b=4.5;A:2,2,2,4B:1,2,2,4C:1,4,2,8D:2,4,2,8答
5、案:C第 14题 (1.0 分) 题号:106以下叙述中不正确的是() 。A:一个好的程序应该有详尽的注释B:在 C程序中,赋值运算符的优先级最低C:在 C程序中,j+;是一条赋值语句D:C程序中的#include 和#define 均不是 C语句答案:B第 15题 (1.0 分) 题号:594设 int x=1, y=1; 表达式(!x|y-)的值是() 。A:0B:1C:2D:-1答案:B第 16题 (1.0 分) 题号:711下列选项中正确的语句组是() 。A:char s8; s=“Beijing“;B:char *s; s=“Beijing“;C:char s8; s=“Beijin
6、g“;D:char *s; s=“Beijing“;答案:D第 17题 (1.0 分) 题号:195若有下列定义和语句,则对 a数组元素的非法引用是() 。 int a23, (*pt)3; pt=a;A:pt00B:*(pt+1)2C:*(pt1+2)D:*(a0+2答案:B第 18题 (1.0 分) 题号:612语句 while(!E);中的表达式!E 等价于() 。A:E=0B:E!=1C:E!=0D:E=1答案:A第 19题 (1.0 分) 题号:100以下标识符中,不能作为合法的 C用户定义标识符的是() 。A:putcharB:_doubleC:_123D:INT答案:A第 20题
7、 (1.0 分) 题号:715若有说明:int i, j=2,*p=,则能完成 i=j赋值功能的语句是() 。A:i=*p;B:*p=*C:i=D:i=*p;答案:B第 21题 (1.0 分) 题号:633对以下说明语句 int a10=6,7,8,9,10; 的正确理解是() 。A:将 5个初值依次赋给 a1至 a5B:将 5个初值依次赋给 a0至 a4C:将 5个初值依次赋给 a6至 a10D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B第 22题 (1.0 分) 题号:431下列程序的输出结果是() 。main() int x=1,y=0,a=0,b=0;switch(x)c
8、ase 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break; case 3:a+;b+;break; printf(“a=%d,b=%dn“,a,b);A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第 23题 (1.0 分) 题号:552应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为() 。A:fclose()B:close()C:fread()D:fwrite答案:A第 24题 (1.0 分) 题号:556static struct int a1;float a2;char a3
9、;a10=1,3.5,A;说明数组 a是地址常量,它有 10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是() 。A:a1B:a-1C:a0D:a10答案:C第 25题 (1.0 分) 题号:543若有 int a10=0,1,2,3,4,5,6,7,8,9,*p=a;则输出结果不为 5的语句为() 。A:printf(“%d“,*(a+5);B:printf(“%d“,p5);C:printf(“%d“,*(p+5);D:printf(“%d“,*p5);答案:D第 26题 (1.0 分) 题号:580设变量 a是整型,f 是实型,i 是双精度型,则表达式 10+a+i*f
10、值的数据类型为() 。A:intB:floatC:doubleD:不确定答案:C第 27题 (1.0 分) 题号:199若有 int a=1,2,3,4; 则*(a+1),*(*a+1)的含义分别为() 。A:非法,2B: float b; data,*p; 若要使 p指向 data中的 a域,正确的赋值语句是() 。A:p=(struct sk*)B:p=(struct sk*) data.a;C:p=D:*p=data.a;答案:A第 30题 (1.0 分) 题号:697若 x=2,y=3则 xfloat a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(“%fn
11、“,x);A:27.000000B:27.500000C:28.000000D:28.500000答案:A第 32题 (1.0 分) 题号:131若 k为 int型变量,则以下程序段的执行结果是() 。k=-8567; printf(“|%06D|n“,k);A:格式描述符不合法,输出无定值B:输出为|%06D|C:输出为|0-8567|D:输出为|-8567|答案:B第 33题 (1.0 分) 题号:523函数的形式参数隐含的存储类型说明是() 。A:externB:staticC:registerD:auto答案:D第 34题 (1.0 分) 题号:550不仅可将 C源程序存在磁盘上,还可
12、将数据按数据类型分别以什么的形式存在磁盘上() 。A:内存B:缓冲区C:文件D:寄存器答案:C第 35题 (1.0 分) 题号:571以下叙述正确的是() 。A:在 C程序中,main 函数必须位于程序的最前面B:C程序的每行中只能写一条语句C:C语言本身没有输入输出语句D:在对一个 C程序进行编译的过程中,可发现注释中的拼写错误答案:C第 36题 (1.0 分) 题号:509int a=1,b=2,c=3;if(ab)a=b;if(ac)a=c;则 a的值为() 。A:1B:2C:3D:不一定答案:A第 37题 (1.0 分) 题号:693以下各选项企图说明一种新的类型名,其中正确的是()
13、。A:typedef v1 int;B:typedef v2=int;C:typedef int v3;D:typedef v4: int;答案:C第 38题 (1.0 分) 题号:151以下程序的运行结果是() 。main()int i=1,sum=0;while(i10) sum=sum+1;i+; printf(“i=%d,sum=%d“,i,sum);A:i=10,sum=9B:i=9,sum=9C:i=2,sum=1D:运行出现错误答案:D第 39题 (1.0 分) 题号:94在 C语言中,能代表逻辑值“真”的是() 。A:TrueB:大于 0的数C:非 0整数D:非 0的数答案:D
14、第 40题 (1.0 分) 题号:632以下叙述正确的是() 。A:do-while语句构成的循环不能用其它语句构成的循环来代替.B:do-while语句构成的循环只能用 break语句退出.C:用 do-while语句构成的循环,在 while后的表达式为非零时结束循环.D:用 do-while语句构成的循环,在 while后的表达式为零时结束循环答案:D第 41题 (1.0 分) 题号:500下列程序段的输出结果为() 。int x=3,y=2;printf(“%d“,(x-=y,x*=y+8/5);A:1B:7C:3D:5答案:C第 42题 (1.0 分) 题号:518char a=“This is a program.“;输出前 5个字符的语句是() 。A:printf(“%.5s“,a);B:puts(a);C:printf(“%s“,a);D:a5*2=0;puts(a);答案:A第 43题 (1.0 分) 题号:669若用数组名作为函数的实参,传递给形参的是() 。A:数组的首地址B:数组第一个元素的值C:数组中全部元素的值D:数组元素的个数答案:A第 44题 (1.0 分) 题号:496double x;scanf(“%lf“,不可以赋值给 x变量的常量