福建省c语言考试试题c题库选择题答案06-08(最新)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

12006年6月份-2008年1月份《C语言等级考试》模拟试卷集成(选择题部分)一、选择题1、关于C语言数据类型的叙述,正确的是(C)。A)枚举类型不是基本类型B)数组不是构造类型C)变量必须先定义后使用D)不允许使用空类型2、下面关于C语言用户标识符的描述,正确的是(D)。A)不区分大小写B)用户标识符不能描述常量C)类型名也是用户标识符D)用户标识符可以作为变量名3、下面叙述正确的是(B)。A)2/3与2.0/3.0等价B)(int)2.0/3与2/3等价C)++5与6等价D)’A’与”A”等价4、已知chara;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)。A)scanf(“%d”,&a);B)scanf(“%lf”,&a);C)scanf(“%c”,&a);D)scanf(“%u”,&a);5、下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点。A)先判断后执行B)单入口,单出口C)程序中没有执行不到的语句D)无死循环6、已知inta=3,b=5;则表达式a&&!b的值为(C)。A)3B)2C)0D)17、已知chara=’R’;则正确的赋值表达式是(A)。A)a=(a++)%4B)a+2=3C)a+=256--D)a=’\078’8、以下的语句中,无内嵌的if语句是(B)。A)if(x==y)x+=y;2B)if(xy&&x!=y);x+=y;C)if(x!=y)scanf(“%d”,&x);elsescanf(“%d”,&y);D)if(xy){x++;y++;}9、设有整型变量x,下述语句(B)不会出现死循环。A)for(;;x+=1)B)for(;(x=getchar())!=’\n’;);C)while(1){x++;}D)for(x=10;;x--);10、下列数组声明中,正确的是(A)。A)inta[5]={0};B)inta[]={012};C)inta[5]=0;D)inta[];11、以下数组定义中,正确的是(D)。A)inta[2][3]={1,2,3,4,5,6,7};B)inta[][]={{1,2,3},{4,5,6},{7,8,9}};C)inta[2][]={1,2,3,4,5,6};D)inta[][4]={6};12、设有如下数组定义:charstr[8]={“FuJian”};则分配给数组str的存储空间是(C)字节。A)6B)7C)8D)913、以下程序的运行结果是(A)。intfun(intarray[4][4])3{intj;for(j=0;j4;j++)printf(“%2d”,array[2][j]);printf(“\n”);}main(){inta[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};fun(a);}A)2005B)1004C)0120D)045014、若有以下宏定义,#defineMOD(x,y)x%y则执行以下程序段后,z的值是(D)。intz,a=15,b=100;z=MOD(b,a);A)100B)15C)11D)1015、对于基类型相同的两个指针变量之间,不能进行的运算是(C)。A)B)=C)+D)-16、若函数fun的函数头为:intfun(inti,intj)4且函数指针变量p定义如下:int(*p)(inti,intj);则要使指针p指向函数fun的赋值语句是(B)。A)p=*fun();B)p=fun;C)p=fun(i,j);D)p=&fun;17、设有以下定义语句:structstudent{intnum;charname[10];floatscore;}wang,zhang;则不正确的叙述是(C)。A)struct是结构体类型的关键字B)zhang是结构体变量名C)wang是结构体类型名D)num,name,score都是结构体类型student的成员名18、若有以下定义:structlink{intdata;structlink*next;}*head,*p;并已建立如下图所示的链表结构:headdatanextdatanext……dataNULL5指针p指向如下结点:p则能够把p所指结点插入到链表中成为链表第2个结点的程序段是(A)。A)p-next=head-next;head-next=p;B)head-next=p;p-next=head-next;C)p.next=head.next;head.next=p;D)(*head).next=p;(*p).next=(*head).next;19、设有如下定义:typedefint*INTEGER;INTEGERp,*q;则(C)是正确的叙述。A)p是int型变量B)q是基类型为int的指针变量C)p是基类型为int的指针变量D)程序中可用INTEGER代替int类型名20、以下程序的可执行文件名是file.exe。main()intargc;char*argv[];{inti;for(i=2;iargc;i++)datanext6printf(“%s%c”,argv[i],(iargc-1)?’‘:‘\n’);}在DOS命令行输入:fileMyCLanguageandProgramming回车,其输出结果是(A)。A)CLanguageandProgrammingB)MyCLanguageandProgrammingC)MyCLanguageandProgrammingD)fileMyCLanguageandProgramming21、在C语言源程序中,以下叙述正确的是(C)。A)main函数必须位于文件的开头B)每行只能写一条语句C)程序中的一个语句可以写成多行D)每个语句的最后必须有点号22、下面关于算术运算符的叙述,错误的是(A)。A)其运算对象不包含函数B)%(模运算符)的运算对象只能为整型量C)算术运算符的结合方向是“自左至右”D)自加和自减运算符的结合方向是“自右至左”23、下面叙述中,(A)不是结构化程序设计中的三种基本结构之一。A)数据结构B)选择结构C)循环结构D)顺序结构24、已知doublea=5.2;则正确的赋值表达式是(A)。A)a+=a-=(a=4)*(a=3)B)a=a*3=2C)a%3D)a=double(-3)25、逻辑运算符的优先级依次为(C)。7A)||&&!B)&&||!C)!&&||D)!||&&26、对于整型变量x,与while(!x)等价的是(B)。A)while(x!=0)B)while(x==0)C)while(x!=1)D)while(~x)27、下列数组声明中,正确的是(A)。A)inta[10];B)intn=10,a[n];C)intN=10;inta[N];D)intn;scanf(“%d”,&n);inta[n];28、有如下定义:charstr[6]={‘a’,’b’,’\0’,’d’,’e’,’f’};则语句:printf(“%s”,str);的输出结果是(D)。A)ab\B)abdefC)ab\0D)ab29、执行以下程序段的输出结果是(B)。inta=10,*p=&a;printf(“%d”,++*p);A)10B)11C)变量a的地址D)变量a的地址+130、若有以下程序段,且0≤i4,0≤j3,则不能正确访问a数组元素的是(D)。inti,j,(*p)[3];inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};8p=a;A)*(*(a+i)+j)B)p[i][j]C)*(p+i)[j]D)p[i]+j31、若有以下定义:structlink{intdata;structlink*next;}*head,*p;并已建立如下图所示的链表结构:phead则能保留链表其它结点,而删除P所指向结点的程序段是(A)。A)head-next=p-next;free(p)B)head-next=p;p-next=head-next;free(p);C)free(p);head-next=p;p-next=head-next;D)free(p);head-next=p-next;32、假定已有如下变量说明和枚举定义:charch;intj,k;……datanextdatanextdataNULL9enumday{sun,mon,tue,wed,thu,fri,sat};inta[sat]判断下列语句是否符合语法规则,结果是(C)。chara;/*语句1*/j+k=j;/*语句2*/if(a[mon]0)j++;/*语句3*/A)语句2错误,其它正确B)语句1正确,其它错误C)语句3正确,其它错误D)语句1错误,其它正确33、以下(D)是正确的常量。A)E-5B)1E5.1C)’a12’D)32766L34、标准函数fgets(s,n,f)的功能是(B)。A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为n-1的字符串存入指针s所指的内存35、关于C语言的源程序的叙述中,错误的是(C)。A)C语言的源程序由函数构成B)main函数可以书写在自定义函数之后C)必须包含有输入语句D)一行可以书写多个语句36、下面叙述正确的是(A)。A)强制类型转换运算的优先级高于算术运算10B)若a和b是整型变量,(a+b)++是合法的C)’A’*’B’是不合法的D)”A”+”B”是合法的37、设有以下语句,则(D)是对a数组元素的不正确引用,其中0≤i10。inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A)a[p-a]B)*(&a[i])C)p[i]D)*(*(a+i))38、结构化程序设计不包括(A)。A)最优化B)自顶而下,逐步细化C)模块化设计D)结构化编码39、已知inta=3,b=5;则表达式a==3&&b!=1的值为(C)。A)3B)5C)1D)040、已知inta[10];则对a数组元素引用不正确的是(A)。A)a[10]B)a[3+5]C)a[10-10]D)a[5]41、有如下定义inta[][3]={1,2,3,4,5,6,7,8};则数组a的行数是(B)。A)2B)3C)4D)无法确定的42、设有以下变量定义:charstr1[]=”string”,str2[8],*str3,*str4=”string”;11(A)是正确的。A)strcpy(str1,”china”);B)str2=”china”;C)strcpy(*str3,”china”);D)strcpy(str4[0],”china”);43、如下fun函数的类型是(C)。fun(floatx){doubley;intz;y=x*x;z=(int)y;return(z);}A)voidB)doubleC)intD)float44、以下叙述中,正确的是(A)。A)宏展开不占用运行时间,只占用编译时间B)预编译处理命令行必须以分号结束C)一个源程序只能有一个预编译处理命令行D)使用带参数的宏定义时,应该说明每个参数的数据类型45、设有如下变量定义:charaa[][3]={‘a’,’b’,’c’,’d’,’e’,’f’};char(*p)[3]=aa;则以下程序段的运行结果是(D)。p++;printf(“%c”,**p);12A)aB)bC)cD)d46、设有以下定义语句:structstudent{intnum;charname[10];floatscore;}wang,zhang;则变量wang所占的内存字节数是(B)。A)14B)16C)18D)2047、若有以下定义:structlink{intdata;structlink*next;}a,b,c,*head,*p;其中,指针head指向变量a,p指向变量c,a.next指向变

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功