[计算机类试卷]国家二级(C语言)笔试模拟试卷28及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷28及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷28及答案与解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 28及答案与解析 1 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算以及 ( )。 ( A)数据的存储结构 ( B)计算方法 ( C)数据映象 ( D)逻辑存储 2 串的长度是 ( )。 ( A)串中不同字符的个数 ( B)串中不同字母的个数 ( C)串中所含字符的个数且字符个数大于 0 ( D)串中所含字符的个数 3 在计算机中,算法是指 ( )。 ( A)加工方法 ( B)解题方案的准确而完整的描述 ( C)排序方法 ( D)查询方法 4 以下不属于面向对象的基本特点的是 ( )。 ( A)分类性 ( B)多态性 ( C)继
2、承性 ( D)封装性 5 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 ( )。 ( A)软件投机 ( B)软件危机 ( C)软件工程 ( D)软件产生 6 下面不属于软件设计原则的是 ( )。 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐蔽 7 开发大型软件时,产生困难的根本原因是 ( )。 ( A)大系统的复杂性 ( B)人员知识 不足 ( C)客观世界千变万化 ( D)时间紧、任务重 8 下列 SQL语句中,用于修改表结构的是 ( )。 ( A) ALTER ( B) CREATE ( C) UPDATE ( D) INSERT 9 数据库、数据库系
3、统和数据库管理系统之间的关系是 ( )。 ( A)数据库包括数据库系统和数据库管理系统 ( B)数据库系统包括数据库和数据库管理系统 ( C)数据库管理系统包括数据库和数据库系统 ( D)三者没有明显的包含关系 10 关系模型允许定义三类数据约束,下列不属于数据约束的是 ( )。 ( A)实体完整性约束 ( B)参照完整性约束 ( C)域完整性约束 ( D)用户自定义的完整性约束 11 下列选项中,不能用作标识符的是 ( )。 ( A) _1234_ ( B) _1_2 ( C) int_2_ ( D) 2_int_ 12 以下定义语句中正确的是 ( )。 ( A) char a=A b=B;
4、 ( B) float a=b=10.0; ( C) int a=10, *b= struct node * next; ; ( ) CreatList(char * s) struet node * h, * p, * q; h = (struet node * ) maloc(sizeof(struct node) ); p=q=h; while( * s! =0) p = ( struct node * ) maloc ( sizeof( struct node) ); p- data= *s; q- next=p; q=p; s+; p- next =0; return h main(
5、 ) char str = “link list“; struet node * head; head = CreatList (str); ( A) char * ( B) struet node ( C) struct node * ( D) char 16 有以下程序: #include stdio. h main( ) int m =3,n =4,x; x= -m+; x=x+8/+n; prinff(“ % d n“ ,x); 程序运行 后的输出结果是 ( )。 ( A) 3 ( B) 5 ( C) -1 ( D) -2 17 有以下程序: #include stdio. h mai
6、n ( ) char a :a,b; printf( “% c,“ , + + a); printf(“%c n“ ,b =a+); 程序运行后的输出结果是 ( )。 ( A) b, b ( B) b, c ( C) a, b ( D) a, c 18 结构化程序由三种基本结构组成,三种基本结构组成的算法 ( )。 ( A)可以完成任何复杂的任务 ( B)只能完成部分复杂的任务 ( C)只能完成符合结构化的任务 ( D)只能完成一些简单的任务 19 有以下程序: #include stdio. h main ( ) int x = 1,3,5,7,2,4,6,0 ,i,j,k; for(i =
7、0;i 3;i + ) for (j =2;j = i;j ) if( xj + 1 xj ) k = xj ;xj = xj + 1 ;xj + 1 = k; for (i =0;i 3;i+) for(j =4;j 7-i;j +) if(xj xj+1) k=xj;xj =xj+1;xj+1 =k; for (i=0;i 8;i +) printf(“%d“ ,xi); prinff(“n“ );程序运行后的输出结果是 ( )。 ( A) 75310246 ( B) 1234567 ( C) 76310462 ( D) 13570246 20 有定义语句 doubld a, b; int
8、 w; long c;若各变量已正确赋值,则下列选项中正确的表达式是 ( )。 ( A) a=a+b=b+ ( B) w%(int) a+b) ( C) (c+w)%(int)a ( D) w=a=b; 21 对表达式 for(表达式 1;表达式 3)可理解为 ( )。 ( A) for(表达式 1;0;表达式 3) ( B) for(表达式 1;1;表达式 3) ( C) for(表达式 1;表达式 1;表达式 3) ( D) for(表达式 1;表达式 3;表达式 3) 22 以下程序的输出结果是 ( )。 #include stdio.h main() int a,i;a=0; for(
9、i=1;i 5;i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; printf(“%dn“,a); ( A) 31 ( B) 13 ( C) 10 ( D) 20 23 若有如下语句: int x=3; do printf(“%dn“,x-=2); wbile(! ( -x);则上面程序段 ( )。 ( A)输出的是 1 ( B)输出的是 1和 -2 ( C)输出的是 3和 0 ( D)是死循环 24 判断 char型变量 cl是否为大写字母的正确表达式是 ( )。 ( A) =cl =Z ( B) (c
10、l = ) scanf(“%d%d“, while(_) if(a b) t=a;a=b;b=t; printf(“%d,%dn“,a,b); scanf(“%d%d“, ( A) ! a=b ( B) a! =b ( C) a= =b ( D) a=b 26 以下对 C语言函数的有关描述中,正确的是 ( )。 ( A)在 C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参 ( B) C函数既可以嵌套定义又可以递归调用 ( C)函数必须有返回值,否则不能使用函数 ( D)函数必须有返回值,返回值类型不定 27 有以下程序: #include stdio.h void fun(i
11、nt a,int b,int c) a=456,b=567,c=678; main() int x=10,y=20,z=30; fun(x,y,z); printf(“%d,%d,%dn“,x,y,z); 此程序的输出结果是 ( )。 ( A) 30,20,10 ( B) 10,20,30 ( C) 456,567,678 ( D) 678,567,456 28 有如下程序段: int *p,a=10,b=1; p= a= *p+b;执行该程序段后, a的值为( )。 ( A) 12 ( B) 11 ( C) 10 ( D)编译出错 29 有如下说明: int a10=1,2,3,4,5,6,
12、7,8,9,10,*p=a;则数值为 9的表达式是( )。 ( A) *p+9 ( B) *(p+8) ( C) *p+=9 ( D) p+8 30 以下程序调用 scanf函数给变量 a输入数值的方法是错误的,其 错误原因是( )。 #include stdio.h main() int *p,*q,a,b; p= printf(“input a:“); scanf(“%d“,*p); ( A) *p表示的是指针变量 p的地址 ( B) *p表示的是变量 a的值,而不是变量 a的地址 ( C) *p表示的是指针变量 p的值 ( D) *p只能用来说明 p是一个指针变量 31 对以下说明语句的
13、正确理解是 ( )。 int a10=6,7,8,9,10; ( A)将 5个初值依次赋给 a1至 a5 ( B)将 5个初值依次赋给 a0至 a4 ( C)将 5个初值依次赋给 a6至 a10 ( D)因为数组长度与初值的个数不相同,所以此语句不正确 32 若有说明: int a4=0,0;则下面不正确的叙述是 ( )。 ( A)数组 a的每个元素都可得到初值 0 ( B)二维数组 a的第一维大小为 1 ( C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小 ( D)只有元素 a00和 a01可得到初值,其余元素均得不到确定的初值 33 有以下程序: #include
14、 stdio.h #include string.h main() char a=a,b,c,d,e,f,g,h,0; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%dn“,i,j); 程序运行后的输出结果是 ( )。 ( A) 9, 9 ( B) 8, 9 ( C) 1, 8 ( D) 9, 8 34 假定 int类型变量占用两个字节,若有定义: int x10=0,2,4;则数组 x在内存中所占字节数是 ( )。 ( A) 3 ( B) 6 ( C) 10 ( D) 20 35 已知学生记录描述为: struct student int no
15、; char name20,sex; struct int year,month,day; birth; ; struct student s; 设变量 s中的 “生日 ”是 “1984年 11月 12日 ”,对 “birth”正确赋值的程序段是 ( )。 ( A) year=1984;month=11;day=12; ( B) s.year=1984;s.month=11;s.day=12; ( C) birth.year=1984;birth.month=11;birth.day=12; ( D) s.birth.year=1984;s.birth.month=11;s.birth.day
16、=12; 36 以下程序的运行结果是 ( )。 #include stdio.h #define MIN(x,y) (x) (y)? (x):(y) main() int i=10,j=15,k; k=10*MIN(i,j); printf(“%dn“,k); ( A) 10 ( B) 15 ( C) 100 ( D) 150 37 有如下程序: #include stdio.h int func(int a,int b) return(a+b): main() int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%dn“,r); 该程序的输出结果是
17、 ( )。 ( A) 12 ( B) 13 ( C) 14 ( D) 15 38 设有以下说明语句: typedef struct int n; char ch8; PER;则下面叙述中正确的是 ( )。 ( A) PER是结构体变量名 ( B) PER是结构体类型名 ( C) typedef struct是结构体类型 ( D) struct是结构体类型名 39 有如下定义: struct person char name9;int age; struct person class10=“John“,17,“paul“,19,“Mary“,18,“Adam“,16; 根据上述定义,能输出字母M
18、的语句是 ( )。 ( A) printf(“%cn“,class3.name); ( B) printf(“%cn“,class3.name1); ( C) printf(“%cn“,class2.name1); ( D) printf(“%cn“,class2.name0); 40 以下程序执行后 x的值是 ( )。 #include stdio.h main() int x,y=252,i=386,*m= x=(z= =m); printf(“%d“,x); ( A) 252 ( B) 1 ( C) 0 ( D)运行时出错, x无定值 41 阅读下列程序,当运行程序时,输入 asd af
19、 aa z67,则输出为 ( )。 #include sldio.h int fun (char *str) int i,j=0; for(i=0;stri! =0;i+) if(stri! =“) strj+=stri; strj=0; main() char str81; int n; printf(“Input a string:“); gets(str); fun(str); printf(“%sn“,str); ( A) asdafaaz67 ( B) asd af aa z67 ( C) asd ( D) z67 42 下列程序的输出结果是 ( )。 #include stdio.
20、h struct abc int a, b, c, s; main() struct abc s2=1,2,3,4,5,6; int t; t=s0.a+s1.b; printf(“%dn“,t); ( A) 5 ( B) 6 ( C) 7 ( D) 8 43 有以下函数: fun(char *p) return p; 该函数的返回值是 ( )。 ( A)无确切值 ( B)形参 p中存放的地址值 ( C)一个临时存储单元的地址 ( D)形参 p自身的地址值 44 若有定义: char *st=“how are you“;下列程序段中正确的是 ( )。 ( A) char a11, *p; st
21、rcpy(p=a+1, ( B) char a11; strcpy(+a, st); ( C) char a11; strcpy(a, st); ( D) char a, *p; strcpy(p= 45 下列程序的运行结果是 ( )。 #include stdio.h void fun(int *a, int *b) int *k; k=a; a=b; b=k; main() int a=3,b=6, *x= fun(x,y); printf(“%d%d“,a,b); ( A) 6 3 ( B) 3 6 ( C)编译出错 ( D) 0 0 46 表达式 a b|(c ( B) fwrite(
22、fp,size,count,buffer); ( C) fwrite(fp,count,size,buffer); ( D) fwrite(buffer,size,count,fp); 48 C语言中,文件组成的基本单位为 ( )。 ( A)记录 ( B)数据行 ( C)数据块 ( D)字符序列 49 请选出下面正确的程序段 ( )。 ( A) int *s; scanf(“%d“,s); ( B) int *s,k; *s=100; ( C) int *s,k; char *p, c; s= p= *p=a; ( D) int *s,k; char *p, c; s= p= s=p; *s=
23、1; 50 若有下面的说明和定义,则 sizeof(struct aa)的值是 ( )。 struct aa int r1; double r2; float r3; union uuchar u15;long u22;ua; mya; ( A) 30 ( B) 29 ( C) 24 ( D) 22 51 数据结构分为逻辑结构与存储结构,线性链表属于【 】。 52 在面向对象方法中,类之间共享属性和操作的机制称为【 】。 53 耦合和内聚是评价模块独立性的两个主要标准,其中【 】反映了模块内各成分之间的联系。 54 一个项目有一个项目主管,一个项目主管可管理多个项目,则实体 “项目主管 ”与实
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 28 答案 解析 DOC
