一、单选题(60分)1、关于建立函数的目的,以下正确的说法是()。A、提高程序的执行效率B、提高程序的可读性C、減少程序的篇幅D、减少程序文件所占内存正确答案:B学生答案:Bv2、下列程序段的输出结果为()。Intx=3.y=2.printf(%d.(x-=y.x*=y+8/5));A、1B、7C、3D、5正确答案:C学生答案:CV3、fgets(str.n.fp)函数从文件中读入一个字符串,以下正确的叙述是()。A、字符串读入后不会自动加入.0'B、fp是file类型的指针C、fgets函数将从文件中最多读入n-1个字符D、fgets函数将从文件中最多读入n个字符正确答案:C学生答案:CV4、若有说明.intlj=2,p=&1',则能完成=赋值功能的语句是()。A、i=p;B.p=*&);C、i=&j;;D、I=**p;正确答案:B学生答案:Bv5、以下正确的说法是()。A、用户若需调用标准库函数,调用前必须重新定义B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义C、系统根本不允许用户重新定义标准库函数D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调正确答案:B学生答案:Bv6、C语言中,定义结构体的保留字是()。A、unionB、structC、enumD、typedef正确答案:B学生答案:Bv7、以下语句中,不能实现回车换行的是()。A、printf(n);B、putchar(n);c、tprintf(stdout,in);D、fwrite(n,1.1.stdout);正确答案:B学生答案:Bv8、若有inta[10]=10.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学生答案:DV9、下列程序的输出结果为()。main((intm=7.n=4jfloata=38.4,b=6.4.x.x=m/2+n*a/b+1/2.printf%n.x);jA、27B、27.5C、28D、28.5正确答案:A学生答案:AV10、在C语言中,能代表逻辑值“真”的是()。A、TrueB、大于0的数C、非0整数D、非0的数正确答案:D学生答案:DV11、以下叙述中错误的是()。A、二进制文件打开后可以先读文件的末尾,而顺序文件不可以B、在程序结束时,应当用fclose函数关闭已打开的文件C、在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D、不可以用FILE定义指向二进制文件的文件指针正确答案:D学生答案:DV12、经过下列的语句intj,a[10],*p定义后,下列语句中台法的是()。A、p=p+2;B、p=a[5]:C、p=a[2]+2;D、p=&(j+2);正确答案:A学生答案:Av13、以下错误的描述是:函数调用可以()。A、出现在执行语句中B、出现在一个表达式中C、做为一个函数的实参D、做为一个函数的形参正确答案:D学生答案:Dv14、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(tp)的返回值是()。A、EOFB、0C、非零值D、NULL正确答案:C学生答案:CV15、若k为int型变量,则以下程序段的执行结果是()。k=-8567;printf(7%06D/.k);A、格式描述符不合法,输出无定值B、输出为1%06D|C、输出为|0-8567|D、输出为|-8567|正确答案:B学生答案:Bv16、以下对C语言函数的描述中,正确的是()。A、C程序必须由一个或一个以上的函数组成B、C函数既可以嵌套定义又可以递归调用C、函数必须有返回值.否则不能使用函数D、C程序中有调用关系的所有函数必须放在同一个程序文件中正确答案:A学生答案:AV17、若x=2,y=3则x&y的结果是()。A、0B、2C、3D、5正确答案:B学生答案:Bv18、用户定义的函数不可以调用的函数是()A、非整型返回值的B、本文件外的C、main函数D、本函数下面定义的正确答案:C学生答案:CV19、以下程序的运行结果是().main((intj=1,sum=0;while(i10)sum=sum+1;j++;printf[A、i=10,sum=9B、i=9,sum=9C、i=2,sum=1D、运行出现错误正确答案:D学生答案:DV20、C语言中,要求运算数必须是整型的运算符是()。A、n8、%C、!D、正确答案:B学生答案:BV21、函数的形式参数隐含的存储类型说明是()。A、externB、staticC、registerD、auto正确答案:D学生答案:DV22、要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的图A、fopen(A.\userlabc.txt,r)B、fopen(A.lluserllabc.txt,r+)C、fopen(A.luserlabc.txt,rb)D、fopen(A_\luserllabc.txt,w)正确答案:A学生答案:Av23、下列程序的输出结果是().main((intx=1.y=0,a=0.b=0;switch(x)(case1.switch(y)(caA、a=1,b=0B、a=2,b=1C、a=1,b=1D、a=2,b=2正确答案:B学生答案:BV24、执行以下程序段后,输出结果和a的值是()。Inta=10;printf(%d剔,a++);A、10和10B、10和11C、11和10D、11和11正确答案:B学生答案:Bv25、C语言中的文件类型只有()。A、索引文件和文本文件两种B、ASCII文件和二进制文件两种C、文本文件一种D、二进制文件一种正确答案:B学生答案:Bv26、staticstruct[inta1;floata2;chara3:ja[10]=(1,3.5.’A];说明数组a是地址常量,它有A、a[1]B、a[-1]C、a[0]D、a[10]正确答案:C学生答案:CV27、若执行fopen函数时发生错误,则函数的返回值是()。A、地址值B、0C、1D、EOF正确答案:B学生答案:Bv28、函数rewind的作用是()。A、使位置指针重新返回文件的开头B、将位置指针指向文件中所要求的特定位置C、使位置指针指向文件的末尾D、使位置指针自动移至下一个字符位置正确答案:A学生答案:AV29、若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为A、scanf(%d,p);B、scanf(%d,&p);C、scanf(%d,p);D、scanf(%d,**p);正确答案:A学生答案:AV30、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()A、自动(auto)B、静态(static)C、外部(extern)D、寄存器(register)正确答案:A学生答案:AV31、若有inti=3.*p;p=&l;下列语句中输出结果为3的是()。A、printf[%d,&p);B、printf(%d.*);C、printf(%d.p);D、printf(%d.p);正确答案:C学生答案:CV32、inta[10]:台法的数组元素的最小下标值为().A、10B、9C、1D、0正确答案:D学生答案:DV33、下列程序的输出结果是().main()(charc1=97,c2=98.printf(%d%c,c1,c2);jA、9798B、97bC、a98D、ab正确答案:B学生答案:Bv34、若有下列定义和语句,则对a数组元素的非法引用是()。Inta[2][3].(*pt)[3].pt=a;A、pt[o][0]B、*(pt+1)[2]C、*(pt[1]+2)D、(a[0]+2正确答案:B学生答案:Bv35、在C语言中,形参的缺省存储类是()。A、autoB、registerC、staticD、extern正确答案:A学生答案:AV36、已知x=43,ch=*A',y=0,则表达式(x=y&&ch'B'&&ly)的值是()。A、0B、语法错C、1D、假正确答案:C学生答案:CV37、下列四个选项中,均是C语言关键字的选项是()。A、auto、enum、includeB、switch、typedef、continueC、signed、union、scanfD、if、struct、type正确答案:B学生答案:Bv38、语句while(IE);中的表达式IE等价于(妄)。A、E==0B、El=1C、El=0D、E==1正确答案:A学生答案:AV39、下列标识符中,不合法的C语言用户自定义标识符是()。A、printfB、enumC、_D、sin正确答案:B学生答案:Bv40、若用数组名作为函数的实参,传递给形参的是()。A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数正确答案:A学生答案:AV41、可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。A、内存B、缓冲区C、文件D、寄存器正确答案:C学生答案:CV42、逻辑运算符两侧运算对象的数据类型()。A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据正确答案:D学生答案:DV43、下列程序段的输出结果为()。Floatk=0.8567:printf%06.10%%,k*100);A、0085.6%%B、0085.7%C、0085.6%D、857正确答案:B学生答案:Bv44、设C语言中,Int类型数据占2个字节,则short类型数据占()。A、1个字节B、2个字节C、4个字节D、8个字节正确答案:B学生答案:Bv45、以下程序的输出结果是().main()(chars[]=*123°*p.p=s.printf(%c%c%cin.*p++.p++.p++),A、123B、321C、213D、312正确答案:B学生答案:BV46、以下选项中合法的实型常数是()·A、5E2.0B、E-3C、0.2D、1.3E正确答案:C学生答案:CV47、以下的选择中,正确的赋值语句是().A、a=1,b=2B、j++C、a=b=5;D、y=int(x)正确答案:C学生答案:CV48、若有以下的定:intt[3][2];能正确表示t数组元素地址的表达式是A、&t[3][2]B、t[3]C、&Ⅱ[1]D、t[2]正确答案:D学生答案:DV49、若二维数组a有m列,则在a[们前的元素个数为()。A、j'm+lB、i'm+jC、i'm+j-1D、i'm+j+1正确答案:B学生答案:Bv50、以下只有在使用时才为该类型变量分配内存的存储类说明是()。A、auto和staticB、auto和registerC、register和staticD、extern和register正确答案:B学生答案:Bv51、以下数值中,不正确的八进制数或十六进制数是()。A、0x16B、16C、-16D、Oxaaaa正确答案:C学生答案:CV52、在位运算中,操作数每右移一位,其结果相当于()。A、操作数乘以2B、操作数除以2C、操作数乘以16D、操作数除以16正确答案:B学生答案:Bv53、若使用一维数组名作函数实参,则以下正确的说法是()。A、必须在主调函数中说明此数组的大小B、实参数组类型与形参数组类型可以不匹配C、在被调用函数中,不需要考虑形参数组的大小D、实参数组名与形参数组名必须一致正确答案:A学生答案:AV54、doublex.scanf(%1r.&x),不可以赋值給x变量的常量是()。A、123B、100000C、A'D、abc正确答案:D学生答案:DV55、设intx=1.y=1;表达式(Xjly--)的值是()。A、0B、1C、2D、-1正确答案:B学生答案:BV56、变量的指针,其含义是指该变量的(