全国计算机等级考试二级C语言模拟试题及答案(三)

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

全国计算机等级考试二级C语言模拟试题及答案(三)

全国计算机等级考试二级C语言模拟试题及答案(三)一、选择题(1)算法的空间复杂度是指A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)执行过程中所需要的存储空间正确答案: D(2)用链表表示线性表的优点是A)便于随机存取B)花费的存储空间较顺序存储少C)便于插入和删除操作D)数据元素的物理顺序与逻辑顺序相同正确答案: C(3)数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构正确答案: C(4)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性正确答案: D(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程正确答案: Bn(6)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试正确答案: A(7)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是A)控制流B)加工C)数据存储D)源和潭正确答案: A(8)应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题正确答案: C(9)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)逻辑设计阶段C)概念设计阶段 D)物理设计阶段正确答案: B(10)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是A)数据库系统B)文件系统C)人工管理D)数据项管理正确答案: A(11)以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)C函数定义的格式是K&R格式正确答案: An(12)结构化程序所规定的三种最基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数正确答案: C(13)一个C语言程序是由A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成正确答案: B(14)请选出可用作C语言用户标识符的是A)void,define,WORDB)a3_b3,_123,IFC)FOR,--abc,CaseD)2a,Do,Sizeof正确答案: B(15)下列各数据类型不属于构造类型的是A)枚举型B)共用型C)结构型D)数组型正确答案: A(16)在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L正确答案: D(17)以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案: Dn(18)sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式正确答案: B(19)若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A)4B)16C)32D)52正确答案: C(20)下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。#includemain(){inti=0,j,k;do{i++;k=316-13*i;}while(______);j=k/11; printf("316=13*%d+11*%d",i,j);}A)k/11B)k%11C)k/11==0D)k%11==0正确答案: B(21)设有定义:intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A)p=1;B)*q=2;C)q=p;D)*p=5;正确答案: D(22)下面程序的运行结果是#includemain(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}A)-1B)1Cn)8D)0正确答案: D(23)下面程序的输出结果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3B)4C)1D)2正确答案: A(24)有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];则b的值是A)5B)6C)9D)8正确答案: C(25)设有intx=11;则表达式(x++*1/3)的值是A)3B)4C)11D)12正确答案: A(26)请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A)5B)14C)8D)输出项不合法,无正常输出正确答案: A(27)下列程序的输出结果是main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",nd*y);} A)3B)3.2C)0D)3.07正确答案: C(28)下列程序的输出结果是intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf("%d\n",res);}A)4B)6C)8D)10正确答案: B(29)下面能正确进行字符串赋值操作的是A)chars[5]={"ABCDE"};B)chars[5]={′A′,′B′,′C′,′D′,′E′};C)char*s;s="ABCDE";D)char*s;chara;scanf("%s",&s);正确答案: C(30)执行以下程序后,a,b的值分别为main(){inta,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}A)-1,5B)1,6C)0,7D)4,10正确答案: C(31)设有数组定义:chararray[]="China";则数组narray所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节正确答案: C(32)若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是A)a[p-a]B)*(&a[i])C)p[i]D)a[10]正确答案: D(33)以下不正确的定义语句是A)doublex[5]={2.0,4.0,6.0,8.0,10.0};B)inty[5]={0,1,3,5,7,9};C)charc1[]={′1′,′2′,′3′,′4′,′5′};D)charc2[]={′\x10′,′\xa′,′\x8′};正确答案: B(34)若有以下程序#include inta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序输出结果是A)6B)8C)4D)2正确答案: D(35)下面程序段的运行结果是char*format="%s,a=%d,b=%d\n";inta=11,b=10;a+=b;printf(format,"a+=b",a,b);A)for,"a+=b",abB)format,"a+=b"C)a+=b,a=21,b=10D)以上结果都不对正确答案: Cn(36)C语言允许函数类型缺省定义,此时函数值隐含的类型是A)floatB)intC)longD)double正确答案: B(37)以下程序有语法错误,有关错误原因的正确说法是main(){intG=5,k;voidprt_char();...k=prt_char(G);...}A)语句voidprt_char();有错,它是函数调用语句,不能用void说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线正确答案: C(38)以下叙述中不正确的是A)在不同的函数中可以使用相同的名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效正确答案: D(39)有以下程序:#includeunionpw{inti;charch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}程序的输出结果是A)13B)14C)208D)209正确答案: A(40)在16位IBM-PC机上使用C语言,若有如下定义structdata{intni;charch;doublef;}b;则结构变量b占用内存的字节数是A)1B)2C)7D)11正确答案: D(41)下面程序的运行结果是#includemain(){inta=1,b=10;do{b-=a;a++;}while(b--<0);printf("a=%d,b=%d\n",a,b);}A)a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=9正确答案: B(42)以下程序的输出结果是voidreverse(inta[],intn){inti,t;for(i=0;i2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%d\n",fib(3));}该程序的输出结果是A)2B)4C)6D)8正确答案: B(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROGABCDEFGHIJKL<回车>,则输出结果为main(intargc,char*argv[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}A)ABCDEFGB)IJHL    C)ABCDEFGHIJKLD)IJKLABCDEFGH正确答案: D(45)以下程序有错,错误原因是main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;......}A)p和q的类型不一致,不能执行*p=*q;语句B)*p中存放的是地址值,因此不能执行*p=40;语句C)q没有指向具体的存储单元,所以*q没有实际意义D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果正确答案: D(46)函数rewindn的作用是A)使文件位置指针重新返回文件的开始位置B)将文件位置指针指向文件中所要求的特定位置C)使文件位置指针指向文件的末尾D)使文件位置指针自动移至下一个字符位置正确答案: A(47)设有以下说明语句structex{intx;floaty;charz;}example;则下面的叙述中不正确的是A)struct结构体类型的关键字B)example是结构体类型名C)x,y,z都是结构体成员名D)structex是结构体类型名正确答案: B(48)设有以下语句:charx=3,y=6,z;z=x^y<<2;则z的二进制值是A)00010100B)00011011C)00011100D)00011000正确答案: B(49)阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n");scanf("%s",infile);printf("Entertheoutfilename:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("cannotopeninfile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){printf("cannotopenoutfile\n");exit(0);}while(!nfeof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C(50)C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B二、填空题 (1)数据的逻辑结构有线性结构和【1】两大类。正确答案: 1.(非线性结构)(2)顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。正确答案: 1.(相邻)(3)一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【3】。正确答案: 1.(可重用性)(4)软件工程研究的内容主要包括:【4】技术和软件工程管理。正确答案: 1.(软件开发)(5)关系操作的特点是【5】操作。正确答案: 1.(集合)(6)下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。#includemain(){inti;char s[21],*p;for(i=0;i<20;i++)s[i]=getchar();s[i]=【6】;p=【7】while(*p)putchar (【8】);}正确答案: 1.('')2.(s)3.(*p++)n(7)以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。#includemain(){FILE  *fp;chara[4]="1234",b[6]="abcedf";if((fp=fopen("【9】","wb"))=NULL)exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b,【10】,1,fp);fclose(fp);}正确答案: 1.(lett.dat)2.(6*sizeof(char))(8)在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为【11】。正确答案: 1.(8)(9)以下程序输出的结果是【12】。main(){inta=5,b=4,c=3,d;d=(a>b>c);printf("%d\n",d);}正确答案: 1.(0)(10)以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。请按题意,完成填空。试题程序:#include#includevoidfun(intx,intpp[],int*n){inti,j=0;【13】if(x%i==0)pp[j++]=i;【14】;}main(){int x,aa[1000],n,i;clrscr();printf("\nPleaseenteranintegernumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;i#includeintfun(int*s,intt,int*k){inti;*k=0;【15】if(s[*k]
查看更多

相关文章