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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C语言)笔试模拟试卷 186及答案与解析 1 在关系代数运算中,有 5种基本运算,它们是 ( )。 ( A)并 ( )、差 (-)、交 ()、除 ()和笛卡儿积 () ( B)并 ( )、差 (-)、交 ()、投影 ()和选择 () ( C)并 ( )、交 ()、投影 ()、选择 ()和笛卡儿积 () ( D)并 ( )、差 (-)、投影 ()、选择 ()和笛卡儿积 () 2 在数据库系统的组织结构中,下列 ( )映射把用户数据库与概念数据库联系了起来。 ( A)外模式 /模式 ( B)内模式 /外模式 ( C)模式 /内模式 ( D)内模式 /模式 3 下列关于线性链表的描述中,

2、正确的是 ( )。 、只含有一个指针域来存放下一个元素地址 、指针域中的指针用于指向该结点的前一个或后一个结点 (即前件或后件 ) 、结点由两部分组成:数据域和指针域。 ( A)仅 、 ( B)仅 、 ( C)仅 、 ( D)全部 4 下面关于数据库三级模式结构的叙述中,正确的是 ( )。 ( A)内模式可以有多个,外模式和模式只有一个 ( B)外模式可以有多个,内模式和模式只有一个 ( C)内模式只有一个,模式和外模式可以有多个 ( D)模式只有一个,外模式和内模式可以有多个 5 设有关键码序列 (66, 13, 51, 76, 81, 26, 57, 69, 23),要按关键码值递增的次序

3、排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为 ( )。 ( A) 23, 13, 51, 57, 66, 26, 81, 69, 76 ( B) 13, 23, 26, 51, 57, 66, 81, 76, 69 ( C) 23, 13, 51, 57, 26, 66, 81, 69, 76 ( D) 23, 13, 51, 57, 81, 26, 66, 69, 76 6 下列哪一条不属于数据库设计的任务 ?( ) ( A)设计数据库应用结构 ( B)设计数据库概沦结构 ( C)设计数据库逻辑结构 ( D)设计数据库物理结构 7 数据库技术的根本目标是 (

4、)。 ( A)数据存储 ( B)数据共享 ( C)数据查询 ( D)数据管理 8 需求分析阶段的任务是 ( )。 ( A)软件开发方法 ( B)软件开发工具 ( C)软件开发费用 ( D)软件系统功能 9 关系数据库管理系统能实现的专门关系运算包括 ( )。 ( A) 排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更新、排序 ( D)显示、打印、制表 10 数据管理技术发展的三个阶段中, ( )没有专门的软件对数据进行管理。 人工管理阶段 文件系统阶段 数据库阶段 ( A)仅 ( B)仅 ( C) 和 ( D) 和 11 下列说法正确的是 ( )。 ( A) main函数必须放在

5、C程序的最后面 ( B) main函数必须放在 C程序的最前面 ( C) main函数可以放在 C程序的中间部分,但在执行 C程序时是从程序开 头执行的 ( D) main函数可以放在 C程序的中间部分,但在执行 C程序时是从 main函数开始的 12 若有以下定义和语句: int a=010, b=010, c=10; printf(“%d,%d,%da“,a,b,C); 则输出结果是 ( )。 ( A) 8,10,10 ( B) 10,10,10 ( C) 8,8,10 ( D) 8,16,10 13 数字字符 0的 ASCII值为 48,运行下列程序的输出结果是 ( )。 main()

6、char a=1,b=2; printf(“%c,“,b+); printf(“%dn“,b-A); ( A) 3,2 ( B) 50,2 ( C) 2,2 ( D) 2,50 14 有以下程序: #include stdio.h main() int a=1,b=2; for(;a 12;a+) b+=a*2;a+=3; printf(“%d,%dn“,b,A); 程序运行后的输出结果是 ( )。 ( A) 32,13 ( B) 46,10 ( C) 72,13 ( D) 72,10 15 下列程序段选择项,使 i的运行结果为 3的程序段是 ( )。 ( A) int i=0, j=O; (

7、i=2, (j+)+i); ( B) int i=1, j=0; j=i=(i=3)*2); ( C) int i=0, j=1; (j=1)?(i=1):(i=3); ( D) int i=1, j=1; i+=j+=1; 16 下面程序的输出结果是 ( )。 #include stdio.h main() int x=7,y=3; printf(“%d“,y=x/y); ( A) 0 ( B) 2 ( C) 3 ( D)不确定的值 17 有以下程序: main() int y=1,x=2,z=3; printf(“%d,%dn“, (+x,y+),z+2); 执行后的输出结果是 ( )。

8、( A) 3,5 ( B) 2,5 ( C) 3,3 ( D) 1,5 18 当把 4个表达式用做 if语句的控制表达式时,有一个选项与其他 3个选项含义不同,这个选项是 ( )。 ( A) k%2 ( B) k%2=1 ( C) (k%2)!=0 ( D) !k%2=1 19 执行以下程序段的输出结果是 ( )。 int m=0x12,n=0x12; m=m-n; printf(“%Xn“,m); ( A) 0X0 ( B) 0X12 ( C) 0x0 ( D) 0 20 阅读以下程序 #include stdio.h main() Int Case;float printF; printf

9、(“请输入 2个数 :“); scanf(“%d %f“, printf(“%d%fn“,Case,printF); 以下说法正确的是 ( )。 ( A)定义浯句出错, Case是关键字,不能用作用户自定义标识符, printF不能用作用户自定义标识符 ( B)定义语句出错, Int无法被识别 ( C)定义语句无错, scanf不能作为输入函数使用 ( D)定义语句无错, printf不能输出 Case的值 21 已知字母 a的 ASCII码为十进制数 97,下面程序的输出结果是 ( )。 #include stdio.h main() char c1,c2; c1=a+6-0; c2=a+3

10、-0; printf(“%c,%cn“,c1,c2); ( A)输出无定值 ( B) d,e ( C) e,f ( D) g,d 22 下列能正确定义字符串的语句是 ( )。 ( A) char str=64; ( B) char str=“kx43“; ( C) char str=“; ( D) char str=“0“; 23 以下语句段执行后的输出结果是 ( )。 #include stdio.h main() int k=3; if(k) printf(“#“) else printf(“ ( A) # ( B) if(+a 0) else printf(“%d,%dn“,b,A);

11、( A) 2,2 ( B) 1,3 ( C) 3,2 ( D) 3,1 26 以下函数定义的类型符是 ( )。 fff(double x) printf(“%f“,x+x); ( A)与 x类型相同 ( B) void类型 ( C) int类型 ( D)无法确定 27 下面程序的输出结果是 ( )。 #include stdio.h main() int a=1,2,3,4,5,6,7,8,7,10,*p; p=a; printf(“%dn“,*p+8); ( A) 0 ( B) 1 ( C) 10 ( D) 9 28 若有以下定义,则对 a数组元素的正确引用是 ( )。 int a5,*p=

12、a; ( A) * pfintf(“%dn“,*(p+3); ( A) 67 ( B) 0 ( C)字符 C的地址 ( D) 字符 C 30 若运行以下程序时,从键盘输入 ADescriptor CR ( CR表示回车 ),则下面程序的运行结果是 ( )。 #include stdio.h main() char c; int v0=1,v1=0,v2=0; do switch(c=getchar() casea:caseA: casee:caseE: casei:caseI: caseo:caseO: caseu:caseU:v1+=1: default:v0+=1;v2+=1; while

13、(c!=n); printf(“v0=%d,v1=%d,v2=%dn“,v0,v1,v2); ( A) v0=7,v1=4,v2=7 ( B) v0=8,v1=4,v2=8 ( C) v0=11,v1=4,v2=11 ( D) v0=13,v1=4,v2=12 31 有以下程序: #include stdio.h main() int aa55=1,2,3,4,5,6,1,8,5,9,10,2,1,2,5,6; int i,s=0; for(i=0;i 4;i+) s+=aai2; printf(“%d“,s); 程序运行后的输出结果是 ( )。 ( A) 26 ( B) 19 ( C) 10

14、 ( D) 20 32 下述程序的输出结果是 ( )。 #include stdio.h void main() int a5=1,2,3,4,5; int *p=a,*q= p; printf(“%d,“,*(p+); printf(“%d“,*q); ( A) 2,2 ( B) 1,1 ( C) 3,4 ( D) 1,2 33 若有定义 int(*pt)3;,则下列说法不正确的是 ( )。 ( A) int(*pt)3是一个数组指针 ( B)指针 pt指向一个有 3个整型变量的数组 ( C)定义了一个名为 *pt、具有三个元素的整型数组 ( D)定义了一个名为 pt的指针变量,它可以指向每

15、行有三个整数元素的二维数组 34 对下述程序的判断中,正 确的是 ( )。 #include stdio.h void main() char *P,s256; p=s; while(strcmp(s,“the end“) printf(“Input the string:“); gets(s); while(*P) putchar(*p+); ( A)此程序循环接收字符串并输出,直到接收到字符串 “the end”为止 ( B)此程序循环接收字符串,接收到字符串 “the end”则输出,否 则程序终止 ( C)此程序循环接收字符串并输出,直到接收字符串 “the end”为止,但因为代码有

16、错误,程序不能正常工作 ( D)此程序循环接收字符串并将其连接在一起,直到接收字符串 “the end”为止,输出连接在一起的字符串 35 下面程序的输出结果是 ( )。 #include stdio.h #include string.h main() char p1=“WHO“,p2=“who“,str50=“xyz“; strcpy(str+1,strcat(p1,p2); printf(“%s“,str); ( A) xyzWHOwho ( B) zWHOwho ( C) zWHOwho ( D) xWHOwho 36 有以下程序: #include string.h void f(c

17、har p10,int n) /* 字符串从小到大排序 */ char t10;int i,j; for(i=0;i n-1;i+) for(j=i+1;j n;j+) if(strcmp(pi,pj) 0strcpy(t,pi);strcpy(pi,pj);strcpy(i,t); main() char p510=“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“; f(p,5); printf(“%dn“,strlen(p0); 程序运行后的输出结果 ( )。 ( A) 2 ( B) 4 ( C) 6 ( D) 3 37 下面结构体的定义语句中,错误的是 ( )。 (

18、A) struct ordint x;int y;int z;struct ord a; ( B) struct ordint x;int y;int z;ord a; ( C) struct ordint x;int y;int z;a; ( D) structint x;int y;int z;a; 38 有以下程序: #include string.h int a=4; int f(int n) int t=0;static int a=5; if(n%2) int a=6;t+=a+; elseint a=7;t+=a+; return t+a+; main() int s=a,i=0

19、; for(;i 2;i+)s+=f(i); printf(“%dn“,s); 程序运行后的输出结果是( )。 ( A) 24 ( B) 28 ( C) 32 ( D) 36 39 下面程序的输 m结果是 ( )。 typedef union double x3; int y4; char z10; M; M t; main() Printf(“%dn“,sizeof(t); ( A) 32 ( B) 26 ( C) 24 ( D) 4 40 下述程序的输出结果是 ( )。 #include stdio.h void main() char a=3,b=1; char c=ab 2; prin

20、tf(“%d“,C; ( A) 1 ( B) 7 ( C) 3 ( D) 2 41 若 int x=1, y=2;则计算表达式 y+=y-=x*=y后的 y值是 ( )。 42 以下程序段的运行结果是 ( )。 #include stdio.h main() int x=2, y=1: switch(x) case 1: switch(y) case 0:printf(“x=2, y=1n“); break; case 1:printf(“y=1n“); break; case 2:printf(“x=2n“); 43 以下程序统计从终端输入的字符中大写字母的个数。用 #号作为输入结束标志,请

21、填空。 #include stdio.h #include ctype.h main() int num26, i; char c; for(i=0; i 26; i+) numi=0; ( ); while(c!=# if(isupperC) numc-65+=1; for(i=0; i 26; i+) if(numi) printf(“%c, %dn“, i+65,numi); 44 以下程序运行后的输出结果是 ( )。 struct NODE int k; struct NODE*link; ; main() struct NODEm5, *p=m, *q=m+4; int i=0: w

22、hile(p!=q) p- k=+i; p+; q- k=1+; q-; q- k=i: for(i=0; i 5;i+)printf(“%d“,mi.k); printf(“n“); 45 下面程序将二维数组 a的行和列元素互换后存放到另一个二维数组 b中,请填空。 main() int a23=1, 2, 3, 4, 5, b32, i, j; for(i=0; i 2;i+) for(j=0; j 3; j+) ( ); 46 下面程序的输出结果是 ( )。 #include stdio.h main() static char a=“china“; char*ptr=a; while(

23、*ptr) printf(“%c“, *ptr-32); ptr+; 47 下面程序中的数组 a包括 10个整数元素,从 a中第二个元素起,分别将后项减前项之差存入数组 b,并按每行 4个元素输出数组 b,请填空。 main() int a10, b10, i; for(i=0; i 10; i+) scanf(“%d“, ),因此执行程序时会出错。 24 【正确答案】 D 【试题解析】 本题考查 scanf函数的基本格式。若在 scanf函数的格式控制字符串中插入了其他的字符,则在输入时要求按一一对应的位置原样输入这些字符,我们必须把 “a=”、 “b=”、 “c=”也输入。 25 【正确答

24、案】 C 26 【正确答案】 C 【试题解析】 在函数定义时,由于函数没有说明其类型,所以系统默认一律自动按整型处理。 27 【正确答案】 D 【试题解析】 “*”号的优先级比 “+”的优先级高,所以先执行 “*P”:指针 P指向的是数组的首地址,因此 *p=1;再加 8得 9。 28 【正确答案】 D 29 【正确答案】 B 【试题解析】 先定义了一个指向字符型数组 str的指针 P,指针 P指向数组 str的首地址, p+3将指针指向 str3,又因为字符型数组在存放字符串时会自动在末尾加上 0,所以 *(p+3)=0。 30 【正确答案】 D 【试题解析】 本题考查的是 switch语句

25、的应用。分析程序 , do-while语句是先执行 do后面的语句再判断是否符合 while的条件。 V2+=1;语句无论读入的是什么字母 (包括回车符 ),此语句都要执行,语句 default:v0+=1;亦是如此;而语句caseU:v1+=1;只有在读入的字母是 a、 A、 e、 E、 i、 I、 o、 O、 u、U时才会执行。 31 【正确答案】 B 【试题解析】 本题考查二维数组元素的引用。二维数组可以看成是一个矩阵,aai2其实就是第 i行的第 3个元素, for循环内的 s+=aai2其实就是将矩阵第3列的数相加,即 s=3+1+10+5=19。 32 【正确答案】 D 【试题解析

26、】 题干中, *(p+)就是数组元素 a0,输出 a0,之后指针 p的值加1, *q即是数组元素 a1。 33 【正确答案】 D 【试题解析】 首先, pt跟 *结合,所以是一个指针,所指向的对象是含有 3个元素的数组。所定义的指针没加 const,所以是个指针变量,还可以指向类似对象的其他元素,也就是说还可以指向其他含有 3个元素的数组。 34 【正确答案】 A 【试题解析】 strcmp(str1, str2)是比较字符串 str1和 sir2,当两字符串相等时,返回值为 0,不相等时返回值为非 0;所以此段程序的功能是在未接收到字符串“the end”时,读入字符并输出。 35 【正确答

27、案】 D 36 【正确答案】 D 【试题解析】 strcmp(str1, str2)是比较字符串 str1和 str2,若 str1 str2,返回值为正数; f()函数的功能就是将字符串按照从小到大的顺序进行排列,需要注意的是比较的足字符串中每个字符的 ASCII值的大小,所以元素 p0是 “abc”,它的长度为 3。 37 【正确答案】 B 38 【正确答案】 B 【试题解析】 本题考查的是外部变量的应用。因为程序的初始 int a=4;语句定义了外部变量 a,在以后的执行过程中,当 i=0时,调用 f(0)函数,执行的语句是else int a=7;t+=a+;,此处程序中又定义了变量

28、a,所以原来定义的外部变量在此不起作用,得到 t=7,返回值语句 return t+a+;处,外部变量 a起作用,返回值为 7+5=12:当 i=1时,调用 f(1)函数,执行的是语句 elseinta=6:t+=a+;,此处程序中又定义了变量 a,所以原来定义的外部变量在此不起作用,得到 t=6,返回值语句 39 【正确答案】 C 【试题解析】 本题考查的是联合所占的存储空间。sizeof(t)=sizeof(double)*3=8*3=24。联合体所占的存储空间墩决于所占空间最大的成员所占的空间。 40 【正确答案】 B 41 【正确答案】 0 42 【正确答案】 x=2 43 【正确答案

29、】 c=getchar() 44 【正确答案】 13431 45 【正确答案】 bji=aij 46 【正确答案】 CHINA 47 【正确答案】 bi-1=ai-ai-1 48 【正确答案】 11 49 【正确答案】 a=8, b=7 50 【正确答案】 存储结构 【试题解析】 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,即数据的组织形式。它分为数据的逻辑结构和数据的存储结构。 51 【正确答案】 消息 【试题解析】 对象之间进行通信的构造叫做消息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。 52 【正确答案】 内聚性 【试题解析】 模块的独立程度是

30、评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。内聚性是度量一个模块功能强度的一个相对指标,耦合性则用来度量模块之间的相互联系程度。 53 【正确答案】 一对多 【试题解析】 在现实世界中事物间的关联称为联系。在概念世界中联系反映了实体集间的一定关系。两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有 3种,分别是一对一,一对多和多对多,依据题意,一名学生只能住一间宿舍,一间宿舍可住多名学生 ,所以实体 “宿舍 ”与实体 “学生 ”的联系属于一对多的联系。 54 【正确答案】 数据操作 【试题解析】 数据模型就是现实世界的反映,数据模型所描述的内容有 3个部分,它们是数据结构、数据操作与数据约束。

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