[计算机类试卷]国家二级(C语言)笔试模拟试卷104及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷104及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷104及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 104及答案与解析 1 在长度为 n的有序线性表中进行二分查找,需要的比较次数为 ( )。 ( A) log2n ( B) nlog2n ( C) n/2 ( D) (n+1)/2 2 下列数据结构中能应用二分查找的是 ( )。 ( A)有序线性链表 ( B)有序顺序表 ( C)顺序存储的栈 ( D)顺序存储的队列 3 设有下列二叉树: 对此二叉树中序遍历的结果为 ( )。 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 4 在 模块化程序设计中,按功能划分模块的原则是 ( )。 ( A)各模块的功能尽量单一,且
2、各模块之间的联系尽量少 ( B)各模块的功能尽量单一,且各模块之间的联系尽量紧密 ( C)各模块应包括尽量多的功能 ( D)各模块应包括尽量多的输入输出操作 5 数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是 ( )。 ( A)线性链表 ( B)二叉链表 ( C)栈与队列 ( D)循环队列 6 下列叙述中正确的是 ( )。 ( A)软件就是程序清单 ( B)软件就是存放在计算机中的文件 ( C)软件应包括程序清单以及运行结果 ( D)软件包括程序、数据和文档 7 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及 ( )。 ( A)阶段性报
3、告 ( B)需求评审 ( C)总结 ( D)以上都不正确 8 在关系数据库中,用来表示实体之间联系的是 ( )。 ( A)树结构 ( B)网结构 ( C)线性表 ( D)二维表 9 下列叙述中正确的是 ( )。 ( A)用 E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系 ( B) 用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 10 关系表中的每一行称为一个 ( )。 ( A)元组 ( B)字段 ( C)属性 ( D)码 11 下列选项中,不能用作标识符的是 ( )
4、。 ( A) _1234_ ( B) _1_2 ( C) int_2_ ( D) 2_int_ 12 下列不属于 C语言关键字的选项是 ( )。 ( A) printf ( B) sizeof ( C) extern ( D) long 13 ( A) x/y*z ( B) x*(1/(y*z) ( C) x/y*1/z ( D) x/y/z 14 下列选项中属于 C语言构造类型的是 ( )。 ( A)指针类型 ( B)空类型 ( C)枚举类型 ( D)数组类型 15 若 a为 int类型,且其值为 3,则执行完表达式 a+=a-=a*a后, a的值是 ( )。 ( A) -3 ( B) 9
5、( C) -12 ( D) 6 16 有如下程序 main() int y=3, x=3, z=1; printf(“%d %dn“, (+x,+y), z+2); 运行该程序的输出结果是 ( )。 ( A) 3 4 ( B) 4 2 ( C) 4 3 ( D) 3 3 17 下面程序段的输出结果是 ( )。 int i=32770; printf(“%dn“, i); ( A) 32769 ( B) 32767 ( C) -32766 ( D)输出不确定数 18 设 x、 y、 t均为 int型变量,则执行语句: x=y=3; t=+x|+y;后, y的值为( )。 ( A)不定值 ( B)
6、 4 ( C) 3 ( D) 1 19 设 a、 b、 c、 d、 m、 n均为整型变量,且 a=3、 b=6、 c=7、 d=8、 m=2、 n=1,则逻辑表达式 “(m=a b)i 6;i+) printf(i%2)?(“*%dn“):(“#%dn“),i); 上面程序段的输 出结果是 _。 ( A) *4 #5 ( B) #4 *5 ( C) *4 *5 ( D) #4 #5 23 下列程序的输出结果是 _。 main() int i=0x100,j=100,k=0100; printf(“%d%d%dn“,i,j,k); ( A) 100 100 100 ( B) 16 100 100
7、 ( C) 256 100 64 ( D) 256 100 100 24 下列程序的输出 结果是 _。 main() int x, y; for(x=1,y=1;x10;x+) if(y 5)break; if(y%3 1) y+=3; continue; y-=5; printf(“%dn“,x); ( A) 2 ( B) 3 ( C) 4 ( D) 5 25 下列程序的输出结果是 _。 main() int x=0,a=0,b=2; if(x=a+b) printf(“*n“); else printf(“#n“); ( A)有语法错,不能通过编译 ( B)通过编译,但不能连接 ( C)
8、* ( D) # 26 下列说法中,正确的是 _。 ( A)指针是一个变量 ( B)指针中存放的可以是任何类型的值 ( C)指针变量是变量地址 ( D)指针变量占用存储空间 27 下列程序的输出结果是 _。 main() static int num5=1, 3,5,7,9; int*p1,*p2; p1=num; p2=i 3;i+)ni=O; k=2; for(i=0;i k;i+) for(j=0;j k;j+) nj=ni-1; printf(“%dn“,n0); ( A) -2 ( B) -1 ( C) 0 ( D) -3 29 C语言规定,简单变量作实参时,它和对应形参之间的数据传
9、递方式是_。 ( A)由实参传给形参,再由形参传回给实参 ( B)地址传递 ( C)单向值传递 ( D)由用户指定传递方式 30 在 C语言的循环语句 for、 while、 do-while中,用于结束本次循环,继续执行下一次循环的语句是 _。 ( A) switch ( B) break ( C) continue ( D) goto 31 执行下面程序的结果是 _。 main() int x=2; printf(“%dn“,(x-,x 1,xfloat a n; scanf(“%d“,i 3;i+) printf(“%d“,xi2-i); ( A) 1 59 ( B) 1 4 7 ( C
10、) 3 5 7 ( D) 3 6 9 35 下列程序的执行结果是 _。 in(f(char*s) char*p=s; while(*p!=0)p+; return(p-s); main() printf(“%dn“,f(“goodbye!“); ( A) 3 ( B) 6 ( C) 8 ( D) 0 36 以下程序段的执行结果为 _。 #define PLUS(X,Y)X+Y main() int x=1,y=2,z=3,sum; sum=PLUS(x+y,z)*PLUS(y,z); printf(“SUM=%d“,sum); ( A) SUM=9 ( B) SUM=12 ( C) SUM=1
11、8 ( D) SUM=28 37 下面函数的功能是 _。 exchange(int*ptr1,*ptr2) int*ptr; ptr=-ptr1; ptr1=ptr2; ptr2=ptr; ( A)交换 *ptr1和 *ptr2的值 ( B)无法改变 *ptr1和 *ptr2的值 ( C)可能造成系统故障,因为使用了空指针 ( D)交换 *ptr1和 *pb2的地 址 38 下列程序的执行结果是 _。 print(int*b,int m) int i; for(i=0;im;i+) *b=i; b+; printf(“%dn“,*-B) ; main() int a5=1,2, 3, 4, 5
12、; print(a,5); ( A) 5 ( B) 4 ( C) 3 ( D) 2 39 下列能正确进行字符数组赋初值的语句是 _。 ( A) chart5=a,b,c,d,e; ( B) char*t;t=“abcde“; ( C) char t5=“abcde“; ( D) char t5;t=“abcd“; 40 以下程序存在语法性错误,关于错误原因的正确说法是 _。 main() int a=5,b; void p_ch1(); b=p_ch1(A) ; ( A)语句 “void p_ch1(): ”有错,它是函数调用语句,不能使用 void说明 ( B)变量名不能使用大写字母 ( C
13、)函数说明和函数调用语句之间有矛盾 ( D)函数名中不能使用下划线 41 fseek函数是 C语言系统提供的标准库函数,其实现的具体操作是 _。 ( A)实现文件的顺序读写 ( B)实现文件的随机读写 ( C)改变文件的位置指针 ( D)以上答案均不正确 42 下列程序的运行结果是 _。 main() int a6,i; for(i=2;i 6;i+) ai=4*(i-2*(i 3)%5; printf(“%2d“,ai); ( A) 2 3 2 3 ( B) 1 2 1 2 ( C) 3 2 3 2 ( D) 2 2 2 2 43 下列语句所定义字符串在内存中占的字节数是 _。 char*s
14、=“NameAgen“; ( A)定义中有语法错误 ( B) 20 ( C) 19 ( D) 14 44 下列程序的输出结果是 _。 main() union int a2; long k; char c4; un,*sp=p2=p1=p2;p2=p; printf(“%d,%d,“,*p1,*p2); printf(“%d,%dn“,x,y); 程序的输出结果为_。 ( A) 6, 4, 4, 6 ( B) 4, 6, 6, 4 ( C) 4, 6, 4, 6 ( D) 6, 4,6, 4 46 下列程序的输出结果是 _。 int m=10; int fun(int a, int B) in
15、t m=2; return(a*b-m); main() int x=7, y=5; printf(“%dn“,fun(x,y)%m); ( A) 1 ( B) 2 ( C) 7 ( D) 3 47 下列程序的输出结果是 _。 struct exmple int x; int y; num2=1,2,3,2; main() printf(“%dn“,num1.y*num0.x/num1.x); ( A) 0 ( B) 1 ( C) 3 ( D) 6 48 对于下述说明,不能使变量 p- b的值增 1的表达式是 _。 struct exm int a; int b; float c *p; (
16、A) +p- b ( B) +(p+)- b ( C) p- b+ ( D) (+p)- b+ 49 以下程序的输出结果是 _。 fun(int*p,int a23) *p=a12; main() int a23=1,3,5,7,9,11,*p; p=(int*)malloc(sizeof(int); fun(i 10;i+,str+) *str=a+i; return+p; main() char a10; printf(“%sn“,fun(a,10); ( A) ABCDEFGHIJ ( B) abcdefghij ( C) bcdefghij ( D)不确定的值 51 用链表表示线性表的
17、突出优点是 _。 52 子程序通常分为两类: _和函数,前者是命令的抽象,后者是为了求值。 53 软件的 _设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 54 对软件是否能达到用户所期望的要求的测试称为 _。 55 实体之间的联系可以归结为一对一联系、一对多 (或多对多 )的联系与多对多联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于 _的联系。 56 以下程序运行时,若从键盘输入: 10 20 30回车,输出的结果是【 】。 #include stdio h main() int i=0,j=0,k=0; scanf(“%d%*
18、d%d“,c1 c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“n“); 61 已知字符 A的 ASCII代码值为 65,以下程序运行时若从键盘输入: B33回车,则输出结果是 【 】。 #include stdio h main() char a, b; a=getchar(); scanf(“%d“,b=b*2; printf(“%c%cn“,a,b); 62 以下程序中, fun函数的功能是求 3行 4列二维数组每行元素中的最大值。请填空。 void fun(int, int, int(*)4, int*); main() int a34=12, 41
19、, 36, 28, 19, 33, 15, 27, 3, 27, 19, 1,b3, i; fun(3, 4, a, b); for(i=0;i 3;i+)printf(“%4d“,bi); printf(“n“); void fun(int m, int n, int ar4, int *br) int i,j,x; for(i=0;i m;i+) x=ari0; for(j=0;j n;j+)if(x arij)x=arij; 【 】 =x; 63 以下程序运 行后的输出结果是【 】。 void swap(int x, int y) int t; t=x;x=Y;Y=t;printf(“%
20、d%d“,x,y); main() int a=3,b=4; swap(a,b); printf(“%d%d“,a,b); 64 以下程序运行后的输出结果是【 】。 #include stringh void fun(char*s, int p, int k) int i; for(i=p;i k-1;i+)si=si+2; main() char s=“abcdefg“; fun(s,3,strlen(s);puts(s); 65 以下程序运行后的输出结果是【 】。 #include string h main() char ch=“abc“,x34;int i; for(i=0;i 3;i
21、+)strcpy(xi,ch); for(i=0;i 3;i+)printf(“%s“,c+; return(a+b+c) ; main() int i, a=5; for(i=0;i 3;i+)printf(“%d%d“,i,fun(a) ); prind(“n“); 67 以下程序运行后的输出结果是【 】。 struct NODE int k; struct NODE*link; ; main() struct NODE m5,*p=m,*q=m+4; int i=0; while(p!=q) p- k=+i;p+; q- k=i+;q-; q- k=i; for(i=0;i 5;i+)p
22、rintf(“%d“,mi.k); printf(“n“); 68 以下程序中函数 huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串: yes!,否则函数返回字符串: no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如: adgda。请填空。 #include string.h char *huiwen(char*str) char*p1,*P2;int i,t=0; P1=str;p2= 【 】; for(i=0;i strlen(str)/2;i+) if(*p1+!=*p2-)t=1; break; if( 【 】 )return(“yes!“
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 104 答案 解析 DOC
