全国计算机等级考试二级C语言笔试模拟试题_第1页
全国计算机等级考试二级C语言笔试模拟试题_第2页
全国计算机等级考试二级C语言笔试模拟试题_第3页
全国计算机等级考试二级C语言笔试模拟试题_第4页
全国计算机等级考试二级C语言笔试模拟试题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国计算机等级考试二级C语言笔试模拟试题(2)总分:100分 及格:60分 考试时间:120分每小题1分,共40分(1)以下程序的输出结果是 #include void prt (int *x, int *y, int *z) printf(%d,%d,%dn,+*x,+*y,*(z+); main() int a=10,b=40,c=20; prt (&a,&b,&c); prt (&a,&b,&c);A. 11,42,31 12,22,41B. 11,41,20 12,42,20C. 11,21,40 11,21,21D. 11,41,21

2、12,42,22(2)设有以下语句: char x=3,y=6,z; z=xy<<2; 则z的二进制值是A. B. C. D. (3)下列程序的输出结果是 #include stdio.h main() int i,a=0,b=0; for(i=1;i<10;i+) if(i%2=0) a+; continue; b+; printf(a=%d,b=%d,a,b);A. a=4,b=4B. a=4,b=5C. a=5,b=4D. a=5,b=5(4)有如下程序: main() int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+;

3、 case 2: a+;b+; printf(a=%d,b=%dn,a,b); 该程序的输出结果是A. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=2(5)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A. e3,e1,e4,e2B. e2,e4,e3,e1C. e3,e4,e1,e2D. 任意顺序(6)fscanf函数的正确调用形式是A. fscanf(fp,格式字符串,输出表列);B. fscanf(格式字符串,输出表列,fp);C. fscanf(格式字符串,文件指针,输出表列);D. fscanf(文件指针,格式字符串,输入表列);(7)有如下程序

4、 main() float x=2.0,y; if(x<0.0)y=0.0; else if(x>10.0)y=1.0/x; else y=1.0; printf(%fn,y); 该程序的输出结果是A. 0.B. 0.C. 0.D. 1.(8)关系表中的每一横行称为一个A. 元组B. 字段C. 属性D. 码(9)将E-R图转换到关系模式时,实体与联系都可以表示成A. 属性B. 关系C. 键D. 域(10)以下对C语言函数的有关描述中,正确的是A. 在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则

5、不能使用函数D. 函数必须有返回值,返回值类型不定(11)阅读下面程序,则输出结果是 #include stdio.h void fun(int *a,int *b) int c=20,d=25; *a=c/3; *b=d/5; main() int a=3,b=5; fun(&a,&b); printf(%d,%dn,a,b);A. 6,5B. 5,6C. 20,25D. 3,5(12)设以下变量均为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

6、+1)(13)有如下定义 #define D 2 int x=5;float y=3.83; char c=D; 则下面选项中错误的是A. x+;B. y+;C. c+;D. D+;(14)在深度为5的满二叉树中,叶子结点的个数为A. 32B. 31C. 16D. 15(15)sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式(16)下列关于指针变量赋空值的说法错误的是A. 当赋空值的时候,变量指向地址为0的存储单元B. 赋值语句可以表达为变量名=0;C. 赋值语句可以表达为变量名=0;D. 一个指针变量可以被赋空值(17)已知函

7、数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义 struct a *f(int t1,int *t2,strcut a t3,struct a *t4) struct a p,*p1;int i; 则正确的函数调用语句为A. &p=f(10,&i,p,p1);B. p1=f(i+,(int*)p1,p,&p);C. p=f(i+1,&(i+2),*p,p);D. f(i+1,&i,p,p);(18)有如下程序: #define N 2 #define M N+1 #define NUM 2*M+1 main() int i; for(i=

8、1;i<=NUM;i+)printf(%dn,i); 该程序中的for循环执行的次数是A. 5B. 6C. 7D. 8(19)以下程序段的输出结果是 int a=1234; printf(%2dn,a);A. 12B. 34C. 1234D. 提示出错、无结果(20)下列程序执行后的输出结果是 main() char arr24; strcpy(arr,you); strcpy(arr1,me); arr03=& printf(%sn,arr);A. you&meB. youC. meD. err(21)下面对C语言的描述中,正确的是A. 函数一定有返回值,否则无法使用函

9、数B. C语言函数既可以嵌套定义又可以递归调用C. 在C语言中,调用函数时,只能将实参的值传递给形参D. C语言程序中有调用关系的所有函数都必须放在同一源程序文件中(22)若有运算符<<,sizeof,&=,则它们按优先级由高至低的正确排列次序是A. sizeof,&=,<<,B. sizeof,<<,&=C. ,<<,sizeof,&=D. <<,&=,sizeof(23)下面有关for循环的正确描述是A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达

10、式C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来(24)下面程序段的运行结果是 char *p=abcdefgh; p+=3; printf(%dn,strlen(strcpy(p,ABCD);A. 8B. 12C. 4D. 7(25)下面不属于软件设计原则的是A. 抽象B. 模块化C. 自底向上D. 信息隐蔽(26)请阅读以下程序: main() int a=5,b=0,c=0; if(a=b+c)printf(*n); else printf(n); 以上程序A. 有语法错不能通过编译B. 可以通过编译但不能通过连

11、接C. 输出*D. 输出(27)以下程序的输出结果是 main() int a,i;a=0; for(i=1;i5;i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; printf(%dn,a); A. 31B. 13C. 10D. 20(28)已知char ch=C;则以下表达式的值是A. AB. aC. ZD. c(29)SQL语言又称为A. 结构化定义语言B. 结构化控制语言C. 结构化查询语言D. 结构化操纵语言(30)以下叙述中正确的是A. 构成C程序的基本单位是函数B. 可以在一个函数中定义另一

12、个函数C. main()函数必须放在其他函数之前D. 所有被调用的函数一定要在调用之前进行定义(31)设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A. n=(n*100+0.5)/100.0B. m=n*100+0.5,n=m/100.0C. n=n*100+0.5/100.0D. n=(n/100+0.5)*100.0(32)若有说明:int a4=0,0;则下面不正确的叙述是A. 数组a的每个元素都可得到初值0B. 二维数组a的第一维大小为1C. 当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小D

13、. 只有元素a00和a01可得到初值,其余元素均得不到确定的初值(33)算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是A. 有零个输入或多个输入B. 高效性C. 有穷性D. 确定性(34)在位运算中,操作数右移一位,其结果相当于A. 操作数乘以2B. 操作数除以2C. 操作数乘以4D. 操作数除以4(35)单个用户使用的数据视图的描述称为A. 外模式B. 概念模式C. 内模式D. 存储模式每小题2分,共20分(1)已知x,y,z均为整型变量,且值均为1,则执行语句+x|+y&&+z;后,表达式x+y的值为A. 1B. 2C. 3D. 4(2)若

14、已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后 a<=25&&b-<=2&&c?printf(*a=%d,b=%d,c=%dn,a,b,c):printf(#a=%d,b=%d,c=%dn,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(3)C语言中用于结构化程序设计的3种基本结构是A. 顺序结构、选择结构、循环结构B. if,switch,breakC. for,while,do-w

15、hileD. if,for,continue(4)阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在) #include stdio.h void main() FILE *fp; int a10,*p=a; fp=fopen(a123.txt,w); while( strlen(gets(p)>0 ) fputs(a,fp); fputs(n,fp); fclose(fp);A. 从键盘输入若干行字符,按行号倒序写入文本文件a123.txt中B. 从键盘输入若干行字符,取前2行写入文本文件a123.txt中C. 从键盘输入若干行字符,第一行写入文本文件a123.txt

16、中D. 从键盘输入若干行字符,依次写入文本文件a123.txt中(5)阅读下面程序段,则执行后输出的结果是#include stdio.hmain() char fun(char,int);char a=A; int b=13; a=fun(a,b); putchar(a); char fun(char a,int b)char k;k=a+b; return k;A. AB. MC. ND. L(6)以下选项错误的是A. main() intx,y,z; x=0;y=x-1; z=x+y;B. main() intx,y,z; x=0,y=x+1; z=x+y;C. main() intx;

17、int inty; x=0,y=x+1; z=x+y;D. main() intx,y,z; x=0;y=x+1; z=x+y,(7)若有函数内部说明:int a34;则数组a中各元素A. 可在程序的运行阶段得到初值0B. 可在程序的编译阶段得到初值0C. 不能得到确定的初值D. 可在程序的编译或运行阶段得到初值0(8)设有以下说明语句 struct ex int x ; float y; char z ; example; 则下面的叙述中不正确的是A. struct结构体类型的关键字B. example是结构体类型名C. x,y,z都是结构体成员名D. structex是结构体类型名(9)下

18、列数据模型中,具有坚实理论基础的是A. 层次模型B. 网状模型C. 关系模型D. 以上3个都是(10)C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A. 必须为字母B. 必须为下划线C. 必须为字母或下划线D. 可以是字母,数字和下划线中任一字符每空2分,共40分(1)一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。(2)在树形结构中,树根结点没有 【1】 。(3)栈和队列通常采用的存储结构是 【1】 。(4)设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【13】。要求形参名为b。 main()

19、 double s1022; int n; fun(s); (5)在程序设计阶段应该采取 【2】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。(6)冒泡排序算法在最好的情况下的元素交换次数为 【1】 。(7)在对文件操作的过程中,若要求文件的位置指针回到文件的开始处,应当调用的函数是【9】。(8)以下程序的运行结果是【6】。 define MAX (a,b)(a>b?a:b)+1 main () int i=6,j=8,k; printf (%dn,MAX(i,j); (9)若有以下定义: char a;int b; float c

20、; double d; 则表达式a*b+d-c值的类型为【12】 。(10)关系操作的特点是 【5】 操作。(11)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。 int mystrlen(char *str) int i; for(i=0;【17】!= 0;i+); return(i); (12)将代数式 Z=x2+y2a+b 转换成程序设计中的表达式为 【2】 。(13)若串s=MathTypes,则其子串的数目是 【3】 。(14)下面程序的功能是将一个字符串str的内容颠倒过来,请填空。 #include main() int i,j,【15】;ch

21、ar str=; for(i=0,j=strlen(str)【16】;i k=stri;stri=strj;strj=k; printf(%sn,str); (15)设y是int型,请写出y为奇数的关系表达式()。(16)执行程序时的输入为,则程序的运行结果为 【7】 。 #include stdio.h main() int a,b; scanf( %2d%*2d%1d,&a,&b); printf( %dn,a-b);(17)有如图所示的双链表结构,请根据图示完成结构体的定义: int data;【18】 node;(18)若有如下定义,double a100;则a数组元素的下标上限是【8】 。(19)设有定义struct int a; float b; char c; abc, *p_abc=&abc;,则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论