一、单项选择共300题━━━━━━━━━━━━━━━━━━第1题(1.0分)题号:513inta[10];合法的数组元素的最小下标值为()。A:10B:9C:1D:0答案:D第2题(1.0分)题号:681以下运算符中优先级最低的是()。A:&&B:&C:||D:|答案:C第3题(1.0分)题号:187经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是()。A:p=p+2;B:p=a[5];C:p=a[2]+2;D:p=&(j+2);答案:A第4题(1.0分)题号:640以下对二维数组a的正确说明是()。A:inta[3][]B:floata(3,4)C:doublea[1][4]D:floata(3)(4)答案:C第5题(1.0分)题号:684在C语言中,要求运算数必须是整型的运算符是()。A:^B:%C:!D:答案:B第6题(1.0分)题号:654以下不能正确定义二维数组的选项是()。A:inta[2][2]={{1},{2}};B:inta[][2]={1,2,3,4};C:inta[2][2]={{1},2,3};D:inta[2][]={{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:8个字节答案:B第9题(1.0分)题号:489下列标识符中,不合法的C语言用户自定义标识符是()。A:printfB:enumC:_D:sin答案:B第10题(1.0分)题号:646若有说明inta[3][4];则a数组元素的非法引用是()。A:a[0][2*1]B:a[1][3]C:a[4-2][0]D:a[0][4]答案:D第11题(1.0分)题号:658若使用一维数组名作函数实参,则以下正确的说法是()。A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配[必须匹配]C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致【可以不同】答案:A第12题(1.0分)题号:728已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C第13题(1.0分)题号:145经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。charx=65;floaty=7.3;inta=100;doubleb=4.5;A:2,2,2,4B:1,2,2,4C:1,4,2,8D:2,4,2,8答案:C第14题(1.0分)题号:106以下叙述中不正确的是()。A:一个好的程序应该有详尽的注释B:在C程序中,赋值运算符的优先级最低【逗号运算】C:在C程序中,j++;是一条赋值语句D:C程序中的#include和#define均不是C语句答案:B第15题(1.0分)题号:594设intx=1,y=1;表达式(!x||y--)的值是()。A:0B:1C:2D:-1答案:B第16题(1.0分)题号:711下列选项中正确的语句组是()。A:chars[8];s={Beijing};B:char*s;s={Beijing};C:chars[8];s=Beijing;D:char*s;s=Beijing;答案:D第17题(1.0分)题号:195若有下列定义和语句,则对a数组元素的非法引用是()。inta[2][3],(*pt)[3];pt=a;A:pt[0][0]B:(*(pt+1))[2]C:*(pt[1]+2)D:*(a[0]+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题(1.0分)题号:715若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。A:i=*p;B:*p=*&j;【*P=i=J】C:i=&j;D:i=**p;答案:B第21题(1.0分)题号:633对以下说明语句inta[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第22题(1.0分)题号:431下列程序的输出结果是()。main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;break;}printf(a=%d,b=%d\n,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分)题号:556staticstruct{inta1;floata2;chara3;}a[10]={1,3.5,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。A:a[1]B:a[-1]C:a[0]D:a[10]答案:C第25题(1.0分)题号:543若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()。A:printf(%d,*(a+5));B:printf(%d,p[5]);C:printf(%d,*(p+5));D:printf(%d,*p[5]);答案:D第26题(1.0分)题号:580设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。【C语言总是转换为最长的数据类型】A:intB:floatC:doubleD:不确定答案:C第27题(1.0分)题号:199若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。A:非法,2B:&a[1][0],2C:&a[0][1],3D:a[0][0],4答案:B第28题(1.0分)题号:148C语言中要求对变量作强制定义的主要理由是()。A:便于移植B:便于写文件C:便于编辑预处理程序的处理D:便于确定类型和分配空间答案:D第29题(1.0分)题号:202设有如下定义:structsk{inta;floatb;}data,*p;若要使p指向data中的a域,正确的赋值语句是()。A:p=(structsk*)&data.a;B:p=(structsk*)data.a;C:p=&data.a;D:*p=data.a;答案:A第30题(1.0分)题号:697若x=2,y=3则x&y的结果是()。A:0B:2C:3D:5答案:B第31题(1.0分)题号:136下列程序的输出结果为()。main(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(%f\n,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源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上()。A:内存B:缓冲区C:文件D:寄存器答案:C第35题(1.0分)题号:571以下叙述正确的是()。A:在C程序中,main函数必须位于程序的最前面B:C程序的每行中只能写一条语句C:C语言本身没有输入输出语句D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案:C第36题(1.0分)题号:509inta=1,b=2,c=3;if(ab)a=b;if(ac)a=c;则a的值为()。A:1B:2C:3D:不一定答案:A第37题(1.0分)题号:693以下各选项企图说明一种新的类型名,其中正确的是()。A:typedefv1int;B:typedefv2=int;C:typedefintv3;D:typedefv4:int;答案:C第38题(1.0分)题号:151以下程序的运行结果是()。main(){inti=1,sum=0;while(i10)sum=sum+1;i++;【while使用格式不正确,没有用{}】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第40题(1.0分)题号:632以下叙述正确的是()。A:do-while语句构成的循环不能用其它语句构成的循环来代替.B:do-while语句构成的循环只能用break语句退出.C:用do-while语句构成的循环,在while后的表达式为非零时结束循环.D:用do-while语句构成的循环,在while后的表达式为零时结束循环答案:D第41题(1.0分)题号:500下列程序段的输出结果为()。intx=3,y=2;printf(%d,(x-=y,x*=y+8/5));A:1B:7C:3D:5整形答案:C第42题(1.0分)题号:518chara[]=Thisisaprogram.;输出前5个字符的语句是()。A:printf(%.5s,a);B:puts(a);C:printf(%s,a);D:a[5*2]=0;puts(a);答案:A第43题(1.0分)题号:669若用数组名作为函数的实参,传递给形参的是()。A:数组的首地址B:数组第一个元素的值C:数组中全部元素的值D:数组元素的个数答案:A第44题(1.0分)题号:496doublex;scanf(%lf,&x);不可以赋值给x变量的常量是()。A:123B:100000C:’A’D:abc答案:D第45题(1.0分)题号:531C语言中,定义结构体的保留字是()。A:unionB:structC:enumD:typedef答案:B第46题(1.0分)题号:630逻辑运算符两侧运算对象的数据类型()。A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D第47题(1.0分)题号:708下面判断正确的是()。A:char*a=china;等价于char*a;*a=china;B:charstr[10]={china};等价于charstr[10];str[]={china};C:char*s=china;等价于char*s;s=china;D:charc[4]=abc,d[4]=abc;等价于charc[4]=d[4]=