计算机等级考试 二级C语言 笔试模拟试题 北邮七

合集下载

国家二级C语言机试(编译预处理和指针)模拟试卷7(题后含答案及解析)

国家二级C语言机试(编译预处理和指针)模拟试卷7(题后含答案及解析)

国家二级C语言机试(编译预处理和指针)模拟试卷7(题后含答案及解析)题型有:1. 选择题选择题1.有以下程序:#include<stdio.h>void main( ) void fun(char*c) {char s[81];{while(*c) gets(s);fun(s);puts(s);{if(*c >=‘a’&&*c<=‘z’)*c=*c-(‘a’-’A’);} c++:}} 当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A.HELLO BEIJINGB.Hello BeijingC.hello BeijingD.hELLO Beijing正确答案:A解析:子函数fun的功能是把小写字母转换成大写字母,所以程序的输出结果为选项A)。

知识模块:编译预处理和指针2.有以下程序#include<stdio.h>void f(int*p,int*q) void f(int*p,int*q);{ main( ) p==p+1;*q=*q+1;{ int m=1,n=2,*r=&m;} f(r,&n);printf(“%d,%d”,m,n);}程序运行后的输出结果是A.2,3B.1,3C.1,4D.1,2正确答案:B解析:本题考查函数的调用与指针。

fun( )函数的作用是:使指针p指向原来所指变量的下一个变量,使q指针指向的值加1。

主函数中,指针r指向m,调用fun( )函数的结果是,使r指向地址位于m后面的变量,使位丁n的地址上的变量(就是n)的值加1,因此,结果为1,3。

知识模块:编译预处理和指针3.有以下程序#include<stdio.h>main( ) void fun(int*a,int*b) { int x=3,y=5,*p=&x,*q=&y;{ int*c;fun(p,q);printf(“%d,%d,”,*p,*q);c=a;a=b;b=c;} fun(&x,&y);printf(“%d,%d\n”,*p,*q);}程序运行后的输出结果是A.3,5,5,3B.3,5,3,5C.5,3,3,5D.5,3,5,3正确答案:B解析:本题考查函数的调用与指针。

国家二级C语言机试C语言基础知识模拟试卷7_真题-无答案

国家二级C语言机试C语言基础知识模拟试卷7_真题-无答案

国家二级C语言机试(C语言基础知识)模拟试卷7(总分60,考试时间90分钟)1. 选择题1. DOS文件系统的组织结构属于A. 星形结构B. 网星结构C. 环形结构D. 树形结构2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A. C语言程序仅可以编译执行B. C语言程序仅可以解释执行C. C语言程序既可以编译执行又可以解释执行D. 以上说法都不对3. 以下叙述中错误的是A. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令D. C语言源程序经编译后生成后缀为.obj的目标程序4. 下列叙述中错误的是A. C程序可以由多个程序文件组成B. 一个C语言程序只能实现一种算法C. C程序可以由一个或多个函数组成D. 一个C函数可以单独作为一个C程序文件存在5. 以下叙述中错误的是A. 结构化程序由顺序、分支、循环三种基本结构组成B. C语言是一种结构化程序设计语言C. 使用三种基本结构构成的程序只能解决简单问题D. 结构化程序设计提倡模块化的设计方法6. 以下叙述中错误的是A. 算法正确的程序最终一定会结束B. 算法正确的程序可以有零个输入C. 算法正确的程序可以有零个输出D. 算法正确的程序对于相同的输入一定有相同的结果7. 以下选项中关于程序模块化的叙述错误的是A. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C. 把程序分成若干相对独立的模块,可便于编码和调试D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序8. C语言源程序名的后缀是A. .exeB. .objC. .cD. .cp9. 关于算法,以下叙述中错误的是A. 同一个算法对于相同的输入必能得出相同的结果B. 一个算法对于某个输入的循环次数是可以事先估计出来的C. 某个算法可能会没有输入D. 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕10. 以下不能用于描述算法的是A. 程序语句B. E-R图C. 伪代码和流程图D. 文字叙述11. 以下叙述中正确的是A. 程序的算法只能使用流程图来描述B. N—S流程图只能描述简单的顺序结构的程序C. 计算机可以直接处理C语言程序,不必进行任何转换D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构12. 以下叙述中正确的是A. 在C语言程序设计中,所有函数必须保存在一个源文件中B. 在算法设计时,可以把复杂任务分解成一些简单的子任务C. 只要包含了三种基本结构的算法就是结构化程序D. 结构化程序必须包含所有的二三种基本结构,缺一不可13. 以下叙述中正确的是A. 每个后缀为.c的C语言源程序都应该包含一个main函数B. 在C语言程序中,main函数必须放在其他函数的最前面C. 每个后缀为.c的C语言源程序都可以单独进行编译D. 在C语言程序中,只有main函数才可单独进行编译14. 有以下程序,在VC6平台上编译运行,程序运行后的输出结果是#include<stdio.h>main(){int s,t,A=10;double B=6:s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}A. 4,4B. 2,4C. 4,8D. 10,615. 对于一个正常运行的C程序,以下叙述中正确的是A. 程序的执行总是从程序的第一个函数开始,在main函数结束B. 程序的执行总是从main函数开始,在程序的最后一个函数中结束C. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D. 程序的执行总是从main函数开始16. 计算机能直接执行的程序是A. 目标程序B. 可执行程序C. 汇编程序D. 源程序17. 以下叙述中正确的是A. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行B. C语言程序将从源程序中第一个函数开始执行C. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等D. C语言规定必须用main作为主函数名,程序将从此开始执行18. 以下叙述中错误的是A. C程序在运行过程中所有计算都以二进制方式进行B. 所有C程序都需要编译链接无误后才能运行C. C程序在运行过程中所有计算都以十进制方式进行D. C程序中字符变量存放的是字符的ASCII值19. 下列叙述中正确的是A. 在C程序中main函数的位置是固定的B. C程序中所有函数之间都可以相互调用C. 每个C程序文件中都必须要有一个main函数D. 在C程序的函数中不能定义另一个函数20. 以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在21. C语言程序的模块化通过以下哪个选项来实现A. 变量B. 程序行C. 函数D. 语句22. 以下叙述中正确的是A. 程序的主函数名除main外,也可以使用Main或mainB. 在C程序中,模块化主要是通过函数来实现的C. 程序可以包含多个主函数,但总是从第一个主函数处开始执行D. 书写源程序时,必须注意缩进格式,否则程序会有编译错误23. 以下叙述中正确的是A. C语言程序总是从最前面的函数开始执行B. C语言程序总是从main函数开始执行C. C语言程序中main函数必须放在程序的开始位置D. C语言程序所调用的函数必须放在main函数的前面24. C语言主要是借助以下哪种手段来实现程序模块化A. 定义常量和外部变量B. 使用丰富的数据类型C. 使用三种基本结构语句D. 定义函数25. 以下四个程序中,完全正确的是A. #include<stdio.h>main();{/*/1Programming /*/printf("programming!\n");}B. #include<stdio.h>main();{/*programming*/printf("programming!\n");}C. #include<stdio.h>main() {/*/*programming*/*/printf("programming!\n");}D. include<stdio.h>main() {/*programming*/printf("programming!\n");}26. 以下关手结构化程序设计的叙述中正确的是A. 结构化程序使用goto语句会很便捷B. 一个结构化程序必须同时由顺序、分支、循环三种结构组成C. 由三种基本结构构成的程序只能解决小规模的问题D. 在C语言中,程序的模块化是利用函数实现的27. 以下叙述中正确的是A. C程序中的每一行只能写一条语句B. 简单C语句必须以分号结束C. C语言程序中的注释必须与语句写在同一行D. C语句必须在一行内写完28. 以下叙述中正确的是A. C程序书写格式严格,要求一行内只能写一个语句B. C程序书写格式自由,一个语句可以写在多行上C. C程序中的注释只能出现在程序的开始位置和语句的后面D. 用C语言编写的程序只能放在一个程序文件中29. 以下关于C语言的叙述中正确的是A. C语言中的变量可以在使用之前的任何位置进行定义B. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致C. C语言的数值常量中夹带空格不影响常量值的正确表示D. C语言中的注释不可以夹在变量名或关键字的中间30. 有以下程序#include<stdio.h>main(){int a=0,b=0;/*给a赋值a=10;b=20;给b赋值*/printf("a+b=%d\n",a+b);/*输出计算结果*/}程序运行后的输出结果是A. a+b=30B. a+b=10C. 出错D. a+b=0。

计算机2级C语言模拟题

计算机2级C语言模拟题

计算机2级C语言模拟题笔试部分一、选择题1.串的长度是( )A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数【参考答案】D2.以下不属于对象的基本特点的是( )A.分类性B.多态性C.继承性D.封装性【参考答案】C3.下面不属于软件设计原则的是( )A.抽象B.模块化C.自底向上D.信息隐蔽【参考答案】C4.下列SQL语句中,用于修改表结构的是( )A.ALTERB.CREATEC.UPDATED.INSERT【参考答案】A5.关系模型允许定义3类数据约束,下列不属于数据约束的是( )A.实体完整性约束B.参照完整性约束C.域完整性约束D.用户自定义的完整性约束【参考答案】C6.非空的循环单链表head的尾结点(由p所指向),满足( )A.p->next==NULLB.p==NULLC.p->next=headD.p=head【参考答案】C7.对建立良好的程序设计风格,下面描述正确的是( )A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无【参考答案】A8.在软件生产过程中,需求信息的给出是( )A.程序员B.项目管理者C.软件解析设计人员D.软件用户【参考答案】D9.NULL是指( )A.0B.空格C.未知的值或无任何值D.空字符串【参考答案】C10.下列说法中,不属于数据模型所描述的内容的是( )A.数据结构B.数据操作C.数据查询D.数据约束【参考答案】C11.在C语言中,退格符是()A.\nB.\tC.\fD.\b【参考答案】D12.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25 &&b--<=2 &&c? printf(″***a=%d,b=%d,c=%d\n″,a,b,c):printf(″###a=%d,b=%d,c=%d\n″,a,b,c);程序输出的结果是()A.* * *a=25,b=13,c=19B.* * *a=26,b=14,c=19C.### a=25,b=13,c=19D.### a=26,b=14,c=19【参考答案】C13.若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是()#includemain(){ char c;int v0=1,v1=0,v2=0;do{ switch(c=getchar()){ case ′a′:case′A′:case′e′:case′E′:case′i′:case′I′:case′o′:case′O′:case′u′:case′U′:v1+=1;default:v0+=1;v2+=1;}} while(c!=′\n′);print f(″v0=%d,v1=%d,v2=%d\n″,v0,v1,v2); }A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=13,v1=4,v2=1214.执行下面的程序段后,变量k中的值为()int k=3,s[2];s[0]=k;k=s[1]*10;A.不定值B.33C.30D.10【参考答案】A15.有如下程序段int a=14,b=15,x;char c=′A′;x=(a&&b)&&(c<′B′);执行该程序段后,x的值为()A.tureB.falseC.0D.1【参考答案】D16.以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)< p="">if(a[i]>a[p])_______return(p);}在下划线处应填入的内容是()A.i=pB.a[p]=a[i]C.p=jD.p=i 【参考答案】D17.有如下程序main(){ char s[]=″ABCD″,*p;for(p=s+1;p<s+4;p++)printf(″%s\n″,p);< p="">}该程序的输出结果是()A.ABCDB.ABCD BCD CD DC.BD.BCDC CDD D【参考答案】D18.以下正确的说法是()A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参类型不一致,以实参类型为准【参考答案】B19.结构化程序设计的三种基本逻辑结构是( )A.选择结构、循环结构和嵌套结构B.顺序结构、选择结构和循环结构C.选择结构、循环结构和模块结构D.顺序结构、递归结构和循环结构【参考答案】C20.设有如下定义struck sk{ int a;float b;} data;int * p;若要使p指向data中的a域,正确的赋值语句是()A.p=8a;B.p=data.a;C.p=&data.aD.*p=data.a;【参考答案】C21.在下述程序中,判断i>j共执行的次数是()main(){ int i=0,j=10,k=2,s=0;for(;;){ i+=k;if(i>j){ printf(″%d″,s);break;}s+=i;}}A.4B.7C.5D.6【参考答案】D22.以下程序的输出是()struct st{ int x;int *y;} *p;int dt[4]={10,20,30,40};struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt [0],60,&dt[0]};main(){ p=aaprintf(″%d\n″,++(p->x));}A.10B.11C.51D.60【参考答案】C23.下列数据中,不合法的C语言实型数据的是()A.0.123B.123e3C.2.1e3.5D.789.0【参考答案】C24.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为( )A.intB.floatC.doubleD.不确定【参考答案】C25.设以下变量均为int类型,表达式的值不为7的是()A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)【参考答案】C26.若变量a是int型,并执行语句:a=′A′+1.6;,则正确的叙述是( )A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符′A′的ASCII值加上1【参考答案】D27.有如下程序main(){int x=23;do{ printf(″%d″,x--);} while(!x);}该程序的执行结果是()A.321B.23C.不输出任何内容D.陷入死循环【参考答案】B28.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.′a′<=c<=′z′B.(c>=′a′)||(c<=′z′)C.(′a′<=c)and(′z′>=c)D.(c>=′a′)&&(c<=′z′)【参考答案】D29.下面程序段的运行结果是()char str[]=″ABC″,*p=str;printf(″%d\n″,*(p+3));A.67B.0C.字符′C′的地址D.字符′C′【参考答案】B30.有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)()int a[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))【参考答案】D31.有以下程序fun(int x,int y,int z){ z=x*y;}main(){int a=4,b=2,c=6;fun(a,b,c);printf(″%d″,c);}程序运行后的输出结果是()A.16B.6C.8D.12【参考答案】B32.以下叙述中不正确的是()A.预处理命令都必须以#号开始B.在程序中凡是以#号开始的语句行都是预处理命令行C.宏替换不占用运行时间,只占编译时间D.在以下定义是正确的:#define PI 3.1415926【参考答案】D33.下面程序段的运行结果是()char *p=″abcdefgh″;p+=3;printf(″%d\n″,strlen(strcpy(P,″ABCD″)));A.8B.12C.4D.7【参考答案】C34.已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是()A.一个整型变量,代表要读入的数据项总数B.一个文件指针,指向要读的文件C.一个指针,指向要读入数据的存放地址D.一个存储区,存放要读的数据项【参考答案】C35.C语言规定,在一个源程序中,main函数的位置()A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后【参考答案】C36.以下叙述中正确的是( )A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点【参考答案】C37.C语言中最简单的数据类型包括( )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.字符型、实型、逻辑型【参考答案】B38.下列可用于C语言用户标识符的一组是( )A.void define WORDB.a3_b3 _123 CarC.For abc IFCaseD.2a DO sizeof【参考答案】B39.已知int t=0;while (t=1){…}则以下叙述正确的是( )A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对【参考答案】B40.有以下程序main(){ int i=1,j=1,k=2;if((j++ || k++)&&i++)printf(″%d,%d,%d\n″,i,j,k);}执行后输出结果是( )A.1,1,2B.2,2,1C.2,2,2D.2,2,3 【参考答案】C41.在下列选项中,没有构成死循环的是( )A.int i=100;while(1){ i=i%100+1;if(i>100)break;}B.for(;;);C.int k=1000;do{k++;}while(k>10000);D.int s=36;while(s)--s;【参考答案】D42.有以下程序float fun(int x,int y){return(x+y);}main(){ int a=2,b=5,c=8;printf(″%3.0f\n″,fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是( )A.编译出错B.9C.21D.9.0【参考答案】B43.设有以下说明语句struct stu{ int a;float b;} stutype;则下面的叙述不正确的是( )A.struct是结构体类型的关键字B.struct stu是用户定义的结构体类型C.stutype是用户定义的结构体类型名D.a和b都是结构体成员名【参考答案】C44.以下说法正确的是( )A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分【参考答案】C45.下列程序执行后的输出结果是( )void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5]={0};a=0;b[0]=3;func(&a,b);printf(″%d\n″,b[0]);}A.6B.7C.8D.9【参考答案】A46.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){ int i,j,t;for(i=0;i<n-1;i++)< p="">for(j=i+1;j<n;j++)< p="">if(a[i]< p="">}main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf(″%d″,aa[i]);printf(″\n″);}程序运行后的输出结果是( )A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,8,7,6,5,4,9,10,D.1,2,10,9,8,7,6,5,4,3,【参考答案】C47.若执行下述程序时,若从键盘输入6和8时,结果为( ) main(){ int a,b,s;scanf(″%d%d″,&a,&b);s=aif(a<b)< p="">s=b;s*=s;printf(″%d″,s);}A.36B.64C.48D.以上都不对【参考答案】B48.有以下程序void ss(char *s,char t){ while( *s){ if(*s==t)*s=t-′a′+′A′s++;</b)<><></n;j++)<></n-1;i++)<></s+4;p++)printf(″%s\n″,p);<></n;i++)<>。

全国计算机等级考试二级C语言笔试试题及答案解析

全国计算机等级考试二级C语言笔试试题及答案解析

全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。

编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。

2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。

string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。

试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。

答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。

2. 以下程序的输出结果是()。

```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。

在本题中,5除以3的余数为2,因此输出结果为2。

试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。

```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。

2022年计算机等级考试二级C语言模拟试卷及其答案

2022年计算机等级考试二级C语言模拟试卷及其答案
②循环链表中最终一种结点旳指针不是空,而是指向表头结点。
(2)【2】软件开发
评析:基于软件工程旳目旳,软件工程旳理论和技术性研究旳内容重要包括:软件开发技术和软件工程管理。
软件开发技术包括:软件开发措施学、开发过程、开发工具和软件工程环境,其主体内容是软件开发措施学。
软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。
(5)A
评析:确认测试旳任务是验证软件旳功能和性能及其他特性与否满足了需求规格阐明中确实定旳多种需求,以及软件配置与否完全、对旳。
(6)D
评析:常见旳需求分析措施有:构造化分析措施和面向对象旳分析措施。构造化分析旳常用工具有:数据流图(DFD)、数据字典(DD)、鉴定树和鉴定表等。
(7)C
评析:在软件设计过程中,必须遵照软件工程旳基本原则:这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。
(8)B
评析:内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储构造与物理存取措施,如数据存储旳文献构造、索引、集簇及hash等存取方式与存取途径。
(9)D
评析:在关系数据库中,用二维表来表达实体之间元组所构成,因此关系可视为元组旳集合,将E-R图转换到关系模式时,实体与联络都可以表到达关系。
(7)【7】1.0/(i*i) 或 (double)1/(i*i)
评析:体现式1+1/(2*2)+1/(3*3)+...+1(n*n)可写为1/(1*1)+1/(2*2)+1/(3*3)+...+1(n*n)
n
即:∑1÷(i×i)
i=1
对应旳C语言旳体现式s = s + 1.0/(i*i)。注:必须要写成1.0旳形式,否则 1/(i*i)返回值为其值截尾取整,即恒为0。

计算机二级《C语言》模拟试题及答案

计算机二级《C语言》模拟试题及答案

计算机二级《C语言》模拟试题及答案计算机C语言是学计算机设计的根底语言,同学们学得怎么样了呢?为同学分享最新的C语言考试题库,希望能帮助到大家学习!1.算法的空间复杂度是指( )。

A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下表达中正确的选项是( )。

A.一个逻辑数据构造只能有一种存储构造B.逻辑构造属于线性构造,存储构造属于非线性构造C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率3.简单的交换排序方法是( )。

A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于构造化程序设计原那么和方法的描述错误的选项是( )。

A.选用的构造只准许有一个入口和一个出口B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现C.不允许使用GOT0语句D.语言中假设没有控制构造,应该采用前后一致的方法来模拟5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。

A.可重用性差B.平安性差C.非持久性D.冗余性6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是( )。

A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念7.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指( )。

A.模块间的关系B.系统构造部件转换成软件的过程描述C.软件层次构造D.软件开发过程8.两个或两个以上模块之间关联的严密程度称为( )。

A.耦合度B.内聚度C.复杂度D.数据传输特性9.以下描述错误的选项是( )。

A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合10.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。

计算机c语言二级考试题库及答案

计算机c语言二级考试题库及答案

计算机c语言二级考试题库及答案一、单选题1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x12B. 0.5C. 0b101D. 0L答案:A2. 下列哪个关键字用于定义C语言中的函数?A. classB. functionC. voidD. int答案:D3. C语言中,哪个运算符用于计算两个整数的乘积?A. %B. *C. /D. +答案:B4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello\nWorld"D. "Hello" "World"答案:A5. C语言中,以下哪个选项是正确的数组声明?A. int a[];B. int a[10];C. int a = 10;D. int a{10};答案:B二、填空题1. 在C语言中,使用________关键字可以定义一个结构体。

答案:struct2. 若有以下代码段:```cint a = 5, b = 10;a = b;```则变量a的值变为________。

答案:103. C语言中,用于输出字符串的函数是________。

答案:printf4. 若有以下代码段:```cint x = 3;float y = 2.5;```则x和y的类型分别是________和________。

答案:int, float5. 在C语言中,若要定义一个指向整型的指针变量,应使用声明________。

答案:int *p;三、编程题1. 编写一个C语言程序,计算并输出两个整数的和。

```c#include <stdio.h>int main() {int a = 10, b = 20;int sum = a + b;printf("The sum of %d and %d is %d\n", a, b, sum);return 0;}```2. 编写一个C语言函数,实现字符串的反转,并在main函数中调用该函数,输出反转后的字符串。

全国计算机等级考试二级C语言上机考试题库及答案

全国计算机等级考试二级C语言上机考试题库及答案

第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。

答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText 和WriteText实现。

答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。

答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题(1-11每题2分,11-21每题1分,21-41每题2分,共72分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

1.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时大约要移动表中的________个元素。

(A)n(B)n/2(C)(n+1)/2(D)n+12.设某二叉树有如下特点:结点的子树数目不是2个,则是0个。

这样的一棵二叉树中有m(m>0)个子树为0的结点时,该二叉树的结点总数为________。

(A)2m+1(B)2m―1(C)2(m―1)(D)2(m+1)3.二叉树有________个根结点。

(A)只有1个(B)1或多(C)0或1(D)至少24.面向对象方法和技术以________为核心。

(A)模型(B)消息(C)类(D)对象5.提高测试的有效性非常重要,成功的测试是指________。

(A)证明了被测试程序正确无误(B)说明了被测试程序符合相应的要求(C)未发现被测程序的错误(D)发现了至今为止尚未发现的错误6.在软件开发过程中,为了充分发挥少数经验丰富、技术高超的程序员的作用,程序设计小组应采用________的组织形式。

(A)主程序员组(B)民主制程序员组(C)现代程序员组(D)传统程序员组7.在软件项目管理过程中一个关键的活动是制定________,它是软件开发工作的第一步。

(A)软件开发计划(B)软件文档计划(C)软件项目计划(D)软件开发计划8.软件开发阶段通常可分成________等阶段。

(A)软件设计、编码、软件测试(B)软件编码、分析、软件测试(C)软件分析、编码、软件测试(D)软件维护、编码、软件测试9.概念设计的主要目标是产生数据库概念结构,该结构主要反映________。

(A)DBA管理信息的需求(B)数据库的维护需求(C)应用程序开发的需求(D)企业的信息需求10.数据库的三级体系结构即关系子模式、关系模式与存储模式,是对________抽象的3个级别。

(A)存储器(B)数据库系统(C)数据(D)数据库管理系统11.下面的程序________。

main(){ int x=3,y=0,z=0;if(x=y+z)printf("* * * *");elseprintf("# # # #");}(A)有语法错误不能通过编译(B)输出* * * *(C)可以通过编译,但是无法连接,因而不能运行(D)输出# # # #12.以下程序的输出结果是_______。

# includemain(){ int a=2,c=5;printf("a=%%d,b=%%d\n",a,c);}(A)a=%2,b=%5(B)a=2,b=5(C)a=%%d,b=%%d(D)a=%d,b=%d13.下面程序的输出结果是________。

main(){ int x=023;printf(%d\n",--x);}(A)17(B)18(C)23(D)2414.若执行下面的程序时从键盘上输入3和4,则输出结果是________。

main(){ inta,b,s;scanf("%d %d",&a,&b);s=a;if(as=b;s=s*s;printf("%d\n",s);}(A)14(B)16(C)18(D)2015.有以下程序# includemain(){ int c;while((c=getchar())!='\n'){ switch(c-'2'){ case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);case 4: putchar(c+2);break;}}printf("\n");}从第一列开始输入以下数据,代表回车。

2743则程序的输出结果是________。

(A)66877(B)668966(C)6677877(D)668876616.下面程序的输出是________。

main(){ int x=100, a=10, b=20, ok1=5, ok2=0; if(aif(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;printf("%d\n",x);(A)-1(B)0(C)1(D)不确定的值17.下面程序的输出是________。

main(){ char x=040;printf("%d\n",x=x<<1);}(A)100(B)64(C)120(D)16018.以下for语句构成的循环执行了________次。

# include# define N 2# define M N+1# define NUM (M+1)*M/2main(){ int i , n=0;for ( i=1;i<=NUM;i + + );{ n + + ;printf("%d",n);}printf("\n");}(A)5(B)6(D)819.合法的数组定义是________。

(A)int a[]={"string"};(B)int a[]={2,2,1,4,5};(C)char a="s";(D)int a[2][]={0,1,2,3,4};20.语句printf("%d\n",sizeof("he\t\\hello"));的输出是________。

(A)9(B)16(C)8(D)2421.下述对C语言字符数组的描述中错误的是________。

(A)字符数组可以存放字符串(B)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值(C)字符数组中的字符串可整体输入输出(D)不可以用关系运算符对字符数组中的字符串进行比较22.当执行下面程序且输入acd时,输出的结果是________。

#include#includemain(){ charss[10]="12345";gets(ss);printf("%s\n",ss);}(B)acd9(C)123456acd(D)acd45678923.以下程序的输出结果为________。

main(){ char *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char **p;int i;p=alpha;for(i=0;i<4;i + + )printf("%s",p[i]);printf("\n");}(A)ABCDEFGHIJKL(B)ABCD(C)AEIM(D)ABCDEFGHIJKLMNOP24.下面程序的输出结果是________。

main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}(A)1(B)4(C)3(D)225.已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是________。

(A)p=max;(B)*p=max;(C)p=max(a,b);(D)*p=max(a,b);26..以下程序的输出结果是________。

# include# define P 3# define SA) P*a*amain(){intx;x=S(3+5);printf("%d\n",x); }(A)192(B)29(C)27(D)2527.以下叙述中不正确的是________。

(A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值(B)在C中,在调用函数时,实参和对应形参在类型不需相同(C)在C中,外部变量的隐含类别是静态存储类别(D)在C中,函数形参可以声明为register变量28.若有以下定义,则p+5表示________。

int a[10],*p=a;(A)元素a[5]的地址(B)元素a[5]的值(C)元素a[6]的地址(D)元素a[6]的值29.以下程序的输出结果是________。

# includemain(){ int k=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(a,b)inta,b;{ staticint m=0,i=2;i+=m+1;m=i+a+b;return(m);}(A)8,17(B)8,16(C)8,20(D)8,830.有以下程序段int k=0:while(k=l)k++;while循环执行的次数是_________。

(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次31.若有以下定义:int t[3][2];能正确表示t数组元素地址的表达式是________。

(A)&t[3][2](B)t[3](C)t[1](D)*t[2]32.若有以下的定义:int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a;则值为3的表达式是________。

(A)p+=3, *(p++)(B)p+=2,*++p(C)p+=2, *p(D)p+=2,++*p33.假定所有变量均已正确声明,下列程序段运行后x的值是________。

a=b=c=0;x=35;if(!a)x--;else if(B) ;if(C) x=3;else x=4;(A)34(B)4(C)35(D)334.在以下一组运算符中,优先级最高的运算符是________。

(A)<=(B)=(D)!=35.在C语言中,引用数组元素时,其数组下标的数据类型允许是________。

(A)整型常量(B)整型表达式(C)整型常量或整型表达式(D)任何类型的表达式36.若有以下程序片段charstr[]="ab\n\012\\\"";printf("%d",strlen(str));上面程序段的输出结果是________。

相关文档
最新文档