1、程序设计基础习题一答案一、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分)1.int a10;合法的数组元素的最小下标值为() 。A:10B:9C:1D:0答案:D2.以下运算符中优先级最低的是() 。A: 其中 buffer代表的是() 。A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C5.对以下说明语句 int a10=6,7,8,9,10; 的正确理解是() 。A:将 5 个初值依次赋给 a1至 a5B:将 5 个初值依次赋给 a0至 a4C:将 5 个初值依次赋给 a6至
2、a10D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B6.下列程序的输出结果是() 。main() int x=1,y=0,a=0,b=0;switch(x)case 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答案:B7.下列程序的输出结果为() 。main()int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n
3、*a/b+1/2;printf(“%fn“,x);A:27.000000B:27.500000C:28.000000D:28.500000答案:A8.若 k 为 int 型变量,则以下程序段的执行结果是() 。k=-8567; printf(“|%06D|n“,k);A:格式描述符不合法,输出无定值B:输出为|%06D|C:输出为|0-8567|D:输出为|-8567|答案:B9.下列程序段的输出结果为() 。int x=3,y=2;printf(“%d“,(x-=y,x*=y+8/5);A:1B:7C:3D:5答案:C10.char a=“This is a program.“;输出前 5
4、个字符的语句是() 。A:printf(“%.5s“,a);B:puts(a);C:printf(“%s“,a);D:a5*2=0;puts(a);答案:A11.下列程序的输出结果是() 。main()char c1=97,c2=98;printf(“%d %c“,c1,c2);A:97 98B:97 bC:a 98D:a b答案:B12.以下选项中合法的实型常数是() 。A:5E2.0B:E-3C:.2E0D:1.3E答案:C13.C 语言中的文件类型只有() 。A:索引文件和文本文件两种B:ASCII 文件和二进制文件两种C:文本文件一种D:二进制文件一种答案:B14.以下叙述不正确的是(
5、) 。A:一个 C 源程序可由一个或多个函数组成B:一个 C 源程序必须包含一个 main 函数C:C 程序的基本组成单位是函数D:在 C 程序中,注释说明只能位于一条语句的后面答案:D15.以下运算符中,优先级最高的运算符是() 。A:|B:%C:!D:=答案:C16.执行以下程序段后,输出结果和 a 的值是() 。int a=10;printf(“%d“,a+);A:10 和 10B:10 和 11C:11 和 10D:11 和 11答案:B17.能正确表示逻辑关系:“a10 或 a0“ 的 C 语言表达式是() 。A:a=10 or a=0|a=10printf(“%06.1d%“,k*
6、100);A:0085.6%B:0085.7%C:0085.6%D:.857答案:B20.若有 int *p=(int *)malloc(sizeof(int);则向内存申请到内存空间存入整数 123 的语句为() 。A:scanf(“%d“,p);B:scanf(“%d“,C:scanf(“%d“,*p);D:scanf(“%d“,*p);答案:A21.经过下列的语句 int j,a10,*p;定义后,下列语句中合法的是() 。A:p=p+2;B:p=a5;C:p=a2+2;D:p=答案:A22.以下对二维数组 a 的正确说明是() 。A:int a3B:float a(3,4)C:doub
7、le a14D:float a(3)(4)答案:C23.经下列语句定义后,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答案:C24.以下叙述中不正确的是() 。A:一个好的程序应该有详尽的注释B:在 C 程序中,赋值运算符的优先级最低C:在 C 程序中, j+;是一条赋值语句D:C 程序中的#include 和#define 均不是 C 语句答案:B25.应用缓冲文件
8、系统对文件进行读写操作,关闭文件的函数名为() 。A:fclose()B:close()C:fread()D:fwrite答案:A26.static struct int a1;float a2;char a3;a10=1,3.5,A;说明数组 a 是地址常量,它有 10 个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是() 。A:a1B:a-1C:a0D:a10答案:C27.函数的形式参数隐含的存储类型说明是() 。A:externB:staticC:registerD:auto答案:D28.可将 C 源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上() 。A
9、:内存B:缓冲区C:文件D:寄存器答案:C29.若用数组名作为函数的实参,传递给形参的是() 。A:数组的首地址B:数组第一个元素的值C:数组中全部元素的值D:数组元素的个数答案:A30.double x;scanf(“%lf“,不可以赋值给 x 变量的常量是() 。A:123B:100000C:AD:“abc“答案:D31.以下的选择中,正确的赋值语句是() 。A:a=1,b=2B:j+C:a=b=5;D:y=int(x)答案:C32.要打开 A 盘上 user 子目录下名为 abc.txt 的文本文件进行读、写操作,下面符合此要求的函数调用是() 。A:fopen(“A:userabc.t
10、xt“,“r“)B:fopen(“A:userabc.txt“,“r+“)C:fopen(“A:userabc.txt“,“rb“)D:fopen(“A:userabc.txt“,“w“)答案:B33.与实际参数为实型数组名相对应的形式参数不可以定义为() 。A:float a;B:float *a;C:float a;D:float (*a)3;答案:C34.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为() 。A:自动(auto)B:静态(static)C:外部(extern)D:寄存器(register)答案:A35.下面有关 for 循环的正确描述是() 。A:for 循环只能
11、用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D36.下列语句的结果是() 。main() int j;j=3;printf(“%d,“,+j); printf(“%d“,j+);A:3,3B:3,4C:4,3D:4,4答案:D37.执行下列程序后,其输出结果是() 。main()int a=9;a+=a-=a+a;printf(“%dn“,a);A:18B:9C:-18D:-9答案:C38.以下函数调用语句中实参的个数是() 。
12、 func(e1,e2),(e3,e4,e5);A:2B:3C:5D:语法错误答案:A39.下列四个选项中,均是 C 语言关键字的选项是() 。A:auto enum includeB:switch typedef continueC:signed union scanfD:if struct type答案:B40.下列数组说明中,正确的是() 。A:static char str=“China“;B:static char str; str=“China“;C:static char str15,str2=“China“; str1=str2;D:static char str1,str2;str2=“China“; strcpy(str1,str2);