ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:68.50KB ,
资源ID:503290      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-503290.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C语言)笔试模拟试卷127及答案与解析.doc)为本站会员(explodesoak291)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级(C语言)笔试模拟试卷127及答案与解析.doc

1、国家二级( C语言)笔试模拟试卷 127及答案与解析 1 下列对于线性链表的描述中正确的是 _。 ( A)存储空间不一定是连续,且各元素的存储顺序是任意的 ( B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且各前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 2 下列关于栈的描述正确的是 _。 ( A)在栈中只能插入元素而不能删除元素 ( B)在栈中只能删除元素而不能插人元素 ( C)栈是特殊的线性表,只 能在一端插入或删除元素 ( D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 3 为了使模块尽可能

2、独立,要求 _。 ( A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低,且各模块问的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 4 下列叙述中,正确的是 _。 ( A)用 E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系 ( B)用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 5 以下叙述中正确的是 _。 ( A) C语言的源程序不

3、必通过编译就可以直接运行 ( B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 ( C) C源程序经编译形成的二进制代码可以直接运行 ( D) C语言中的函数不可以单独进行编译 6 以下有 4组用户标识符,其中合法的一组是 _。 ( A) For -sub Case ( B) 4d DO Size ( C) f2_G3 IF abc ( D) WORD void define 7 以下选项中不属于 C语言的类型的是 _。 ( A) signed short int ( B) unsigned long int ( C) unsigned int ( D) long short 8

4、 有以下程序: int*f(int*x, int*y) if(*x *y) return x; else return y; main() int a=7,b=8,*P,*q,*r; P= printf(“%c,%c,%c,%cn“,a,b,c,d); 若运行时从键盘上输入: 6,5,65,66回车,则输出结果是 _。 ( A) 6,5,A,B ( B) 6,5,65,66 ( C) 6,5,6,5 ( D) 6,5,6,6 10 有以下程序: main() char str10=“China“,“Beijing“),*P=str; printf(“%sn“, p+10); 程序运行后的输出结

5、果是 _。 ( A) China ( B) Beijing ( C) ng ( D) ing 11 有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是 _。 ( A) a=a+b=b+ ( B) w%(int)a+b) ( C) (c+w)%(int)a ( D) w=a=b; 12 有以下程序: main() int i=1,j=1,k=2; if(j+k+) 以下叙述中正确的是 _。 ( A)程序输出大写字母 M ( B)程序输出小写字母 m ( C)格式说明符不足,编译出错 ( D)程序运行时产生出错信息 17 以下程序

6、的功能是进行位运算: main() unsigned chara,b; a=73;b= 4,以下 C语言表达式中与代数式 计算结果不相符的是 _。 ( A) (a十 B) *h/2 ( B) (1/2)*(a+B) *h ( C) (a+B) *h*1/2 ( D) h/2*(a+B) 19 若有以下程序段: int m=0,n=0; char c=a; scanf(“%d %c %d“, else printf(“%dn“,b); ( A) 2 ( B) 3 ( C) 5 ( D) 1 21 以下程序段中,能够通过调用函数 fun,使 main函数中的指针变量 p指向一个合法的整型单元的是

7、_。 ( A) main() int *p; fun(p); int fun(int *p) int s; p= ( B) main() int *p; fun( int fun(int *p) int s; *p= ( C) # include stdlib. h main() int *p; fun( int fun(int *p) *p=(int *)malloc(2); ( D) # include stdlib. h main() int *p; fun(p); int fun(int *p) p=(int *)malloc(sizeof(int); 22 有以下程序段: main(

8、) int a=5, *b, *c; c= b= 程序在执行了 c= b= 语句后,表达式 *c的值是 _。 ( A)变量 a的地址 ( B)变量 b中的值 ( C)变量 a中的值 ( D)变量 b的地址 23 有以下程序: main() int i=0, s=0; do if(i % 2) i+; continue; i+; s+=i; while(i 7); printf(“% dn“, s); 执行后的输出结果是 _。 ( A) 16 ( B) 12 ( C) 28 ( D) 21 24 以下能正确定义一维数组的选项是 _。 ( A) int a5=0, 1, 2, 3, 4, 5);

9、( B) char a=0, 1, 2, 3, 4, 5); ( C) char a=A, B, C; ( D) int a5=“0123“; 25 已有定义: char a=“xyz“b=x, y, z);,以下叙述中正确的是 _。 ( A)数组 a和 b的长度相同 ( B) a数组长度小于 b数组长度 ( C) a数组长度大于 b数组长度 ( D)上述说法都不对 26 有以下程序: main() char p=a, b, c, q=“abc“; printf(“% d % dn“, sizeof(p), sizeof(q); ; 程序运行后的输出结果是 _。 ( A) 4 4 ( B) 3

10、 3 ( C) 3 4 ( D) 4 3 27 若程序中定义了以下函数: double myadd(double a, double B) return(a+B) ; 并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是 _ ( A) double myadd(double a, B) ; ( B) double myadd(double, double); ( C) double myadd(double b, double A) ; ( D) double myadd(double x, double y); 28 以下程序的输出结果是 _。 int f() st

11、atic int i=0; int s=1; s+=i; i+; return s; main() int i, a=0; for(i=0; i 5; i+) a+=f(); printf(“% dn“, a); ( A) 20 ( B) 24 ( C) 25 ( D) 15 29 有以下程序: int f1(int x, int y) return x y? x:y; int f2(int x, int y) return x y? y:x; main() int a=4, b=3, c=5, d=2, e, f, g; e=f2(f1(a, b), f1(c, d); f=f1(f2(a,

12、 b) , f2(c, d); g=a+b+c+d-e-f; printf(“% d, %d, %dn“, e, f, g); 程序运行后的输出结果是 _。 ( A) 4, 3, 7 ( B) 3, 4, 7 ( C) 5, 2, 7 ( D) 2, 5, 7 30 有以下程序: # define N 20 fun(int a, int n, int m) int i, j; for(i=m; i=n; i-)ai+1=ai; main() int i, aN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; fun(a, 2, 9); for(i=0; i 5; i+)print

13、f(“% d“, ai); 程序运行后的输出结果是 _。 ( A) 10234 ( B) 12344 ( C) 12334 ( D) 12234 31 在函数调用过程中,如果函数 funA调用了函数 funB,函数 funB又调用了函数funA,则 _。 ( A)称为函数的直接递归调用 ( B)称为函数的间接递归调用 ( C)称为函数的循环调用 ( D) C语言中不允许这样的递归调用 32 有以下函数定义: void fun(int n, double x) 若以下选项中的变量都已经正确定义并赋值,则对函数 fun的正确调用语句是 _。 ( A) fun(int y, double m); (

14、 B) k=fun(10, 12.5); ( C) fun(x, n); ( D) void fun(n, x); 33 执行下列程序时输入: 123空格 456空格 789回车,输出结果是_。 mein() char s100; int c, i; scanf(“% c“, scanf(“% d“, scanf(“% s“, s); printf(“% c, % d, % sn“, c, i, s); ( A) 123, 456, 789 ( B) 1, 456, 789 ( C) 1, 23, 456, 789 ( D) 1, 23, 456 34 在 C语言中,形参的默认存储类型是 _。

15、 ( A) auto ( B) register ( C) static ( D) extern 35 以下只有在使用时才为该类型变量分配内存的存储类说明是 _。 ( A) auto和 static ( B) auto和 register ( C) register和 static ( D) extern和 register 36 有以下程序: matin() char * s=“one“, “two“, “three“, *p; p=s1; printf(“% c, % sn“, *(p+1),s o); 执行后的输出结果是 _。 ( A) n, two ( B) t, one ( C) w

16、, one ( D) o, two 37 有以下程序: int a=2; int f(int n) static int a=3; int t=0; if(n % 2)(static int a=4; t+=a+; elsestatic int a=5; t+=a+; return t+a+; matin() int s=a, i; for(i=0; i 3; i+)s+=f(i); printf(“% dn“, s); 程序运行后的输出结果是 _。 ( A) 26 ( B) 28 ( C) 29 ( D) 24 38 以下叙述中正确的是 _。 ( A)局部变量说明为 static存储类,其生

17、存期将得到延长 ( B)全局变量说明为 static存储类,其作用域将被扩大 ( C)任何存储类的变量在未赋初值时,其值 都是不确定的 ( D)形参可以使用的存储类说明符与局部变量完全相同 39 以下叙述中正确的是 _。 ( A)预处理命令行必须位于源文件的开头 ( B)在源文件的一行上可以有多条预处理命令 ( C)宏名必须用大写字母表示 ( D)宏替换不占用程序的运行时间 40 有以下程序: # include stdio. h # difine F(X, Y) (X)*(Y) main() int a=3, b=4; print(“% dn“, F(a+, b+); 程序运行后的输出结果是

18、_。 ( A) 12 ( B) 15 ( C) 16 ( D) 20 41 对于长度为 n的顺序存储的线性表,当随机插入和删除 个元素时,需平均移动元素的个数为【 】。 42 注释说明了程序的功 能,它分为【 】注释和功能性注释。 43 软件测试中路径覆盖测试是整个测试的基础,它是对软件【 】进行测试。 44 数据库技术的主要特点为数据的集成性、数据的高【 】和低冗余性、数据独立性和数据统 管理与控制。 45 数据元素之间【 】的整体称为逻辑结构。 46 设 Y是 int型变量,请写出判断 Y为奇数的关系表达式【 】。 47 以下程序的输出是【 】。 main() char str1=How

19、do you do“, *p=strl; strcpy(str1+strlen(str1)2“es she“); pfinff(“%sn“,p1); 48 以下程序输出的最后个值是【 】 int ff(int n) static int f=1; f=f*n return f; main() int i; for(i=1;i =5:i+) printf(“%d、 n“,ff(i); 49 下列程序的输出结果是【 】。 main() int a=2,4,6,*prt= for(y=0;y 3;y+) z=(*(ptr+y x)?*(ptr+y):x; printf(“%dn“,z); 50 若有

20、定义语句 char s100,d100;int j=0,i=0;且 s中已赋字符串,请填空以实现拷贝。 (注:不使用逗号表达式 ) whi1e()si)dj=【 】 :j+; dj=0; 51 若有如下结构体说明: struct STRU int a,b;charc:double d; struct STRU*p1,*p2; 请填空,以完成对 t数组的定义, t数组的每个元素为该结构体类型。【 】t20 52 以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用 ftell函数返回当前文件位置指针的具体位置,从而确定文件长度, 请填空。 FILE*myf; lon

21、gfl; myf=【 】 (“test.t“,“rb“); fseek(myf,(),SEEK_END) fl+ftell(myf); fclose(myf); printf(“%ldn“,fl); 国家二级( C语言)笔试模拟试卷 127答案与解析 1 【正确答案】 A 【试题解析】 线性链表属于链式存储结构,在链式存储结构中,存储空间可以不连续,各元素的存储顺序是任意的,元素之间的逻辑关系是由指针域 来决定的。 2 【正确答案】 C 【试题解析】 栈是特殊的线性表,它的一端封闭,在另一端进行插入和删除操作。 3 【正确答案】 B 【试题解析】 为了使模块尽可能独立,模块分解时应满足信息隐蔽

22、原则。尽量使模块的内聚度高,模块间的耦合度低。模块的大小适中 (通常一个模块以 50 100个语句行最为适宜 )。 4 【正确答案】 A 【试题解析】 E-R模型可以用一种非常直观的图的形式表示,这种图称为 E-R图。用 E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系。 5 【正确答案】 B 【试题解析】 C语言编写的程序必须经过编译、连接后才可以执行,选项 A错误; C语言编译后生成的二进制代码是目标文件,需进一步连接生成 .exe文件方可执行,选项 C错误; C语言中函数可以单独编译。 6 【正确答案】 C 【试题解析】 选项 A中有非法标识符 -sub,选项 B中有非

23、法标识符 4d,选项 D中有 C语言保留字 void。 7 【正确答案】 D 【试题解析】 本题考查 C语言中整型变量的分类问题,选项 D不是 C语言合法的数据类型。 8 【正确答案】 B 【试题解析】 函数 f是一个返回值为指针的函数,其功能是比较两个数中的最小值,并返回最小值的存储单元地址。 main函数中定义了指针变量 p和 q,p=j先加 1得 2,然后输出。 15 【正确答案】 A 【试题解析】 B选项中 32应加单引号, C选项中 f=f+1.1两边都是不定值,不正确; D中 E后要用整型数,且 E后必须要有数字。 16 【正确答案】 B 【试题解析】 输出项表是一个逗号表达式,它

24、的值为 a2,因此输出的是 a2的值。 17 【正确答案】 A 【试题解析】 a 73=0000011100000011=00000100=4; b= 4,因此可得答案为 How does she。 48 【正确答案】 120 【试题解析】 静态变量的类型说明符是 static,静态局部变量属于静态存储方式,它具有以下特点: 静态变量的类型说明符是 static,静态局部变量属于静态存储方式,它具有以下特点: 静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。 对静态局部变量是在编译时赋初值的,即只赋初值 次,在程序运行时它已有初值。以后每次调用函数时不再重

25、新赋初值而只是保留上次函数调用结束时的值。 如在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值 0(对数值 型变量 )或空字符 (对字符变量 )。 (注意: C语言中非静态变量在定义时,系统并不会自动给它赋初值 ) 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。本题中函数的功能是:与 for语句一起求一个整数的阶乘。 49 【正确答案】 6 【试题解析】 条件运算符的优先级高于赋值运算符,因此本题先计算关系个表达式 (*ptr+y) x)?(ptr+y):x的值,再赋绐变量 z,当 y=O时, *(ptr+y)=2,而 x=8,(*(ptr+y) x)

26、条件为真,则整个条件表达式的值为 *(pry)=2,所以 z=2;当 y=1时*(ptr+y)=4, (*(ptr+y) x)条件为真,则整个条件表达式的值为 *(ptr+y)=4,所以z=4;当 y=2时, *(ptr+y)=6, *(ptr+y) x)条件为真,则整个条件表达式的值为*(ptr+y)=6,所以 z=6;循环结束。因此输出 z的结果为 6。 50 【正确答案】 si+ 【试题解析】 本题中为了能实现字符串的拷贝,需要使字符数组 s从头到尾依次遍历其所有元素。本题应使用 i的自增后置来实现。 51 【正确答案】 stmctSTRU 【试题解析】 结构件类型是构造数据类型,是用户自己定义的 种类型。结构件类型的定义: struct结构体类型名 成员项表; 定义结构伸变量的的形式为:struct结构体类型名变量 1,变量 2, 其中变量包括; 般变量、指针变量、数组变量等。 52 【正确答案】 fopen 【试题解析】 C语言中的文件分为: ASCII文件与二进制文件。文件在使用前打开,使用后要关闭。打开文件的函数为: fopen(),调用形式为: fp=fopen(“文件名“,“使用文件方式 “);关闭文件的函数为: fclose(),调用形式为: fclose(fp),其中 fp为文件指针。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1