2022年二级C语言考试模拟试题 .pdf
《2022年二级C语言考试模拟试题 .pdf》由会员分享,可在线阅读,更多相关《2022年二级C语言考试模拟试题 .pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、笔试部分一、填空题1.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH 和 DBGEACHF ,则该二叉树的后序遍历为( ) A.GEDHFBCA B.DGEBHFCA C.ABCDEFGH D.ACBFEDHG 【参考答案】B 2.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是( ) A.e3,e1,e4,e2 B.e2, e4,e3,e1 C.e3,e4,e1,e2 D.任意顺序【参考答案】B 3.程序设计语言的基本成分是数据成分、运算成分、控制成分和( ) A.对象成分B.变量成分C.语句成分D.传输成分【参考答案】D 4.下列不属于 软件工程 的 3 个要素的是 ( )
2、 A.工具B.过程C.方法D.环境【参考答案】D 5.将 E-R 图转换到关系模式时,实体与联系都可以表示成( ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 43 页 - - - - - - - - - A.属性B.关系C.键D.域【参考答案】B 6.在深度为5 的满二叉树中,叶子结点的个数为( ) A.32B.31C.16D.15 【参考答案】C 7.一些重要的程序语言(如 C 语言 和 Pascal语言) 允许过程的递归调用。而实现递归调用中的在 存储 分配通常
3、用 ( ) A.栈B.堆C.数组D.链表【参考答案】A 8.开发软件时对提高开发人员工作效率至关重要的是( ) A.操作系统 的资源 管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力【参考答案】B 9.数据处理的最小单位是( ) A.数据B.数据元素C.数据项D.数据结构【参考答案】C 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 43 页 - - - - - - - - - 10.下述关于数据库系统的叙述中正确的是( ) A.数据库系统减
4、少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据【参考答案】B 11.以下程序的输出结果是( A )main() int a=21,b=11; printf(%dn,-a+b,-b+a); A.30B.31C.32D.33 【参考答案】A 12.设 x,y 和 z 都是 int 型变量, 且 x=3,y=4,z=5 , 则下面表达式中, 值为 0 的表达式是 ( D )A.x&y B.x=y C.x +y&y-z D.!(xy&! z 1) 【参考答案】D 13.设有程序段名师资料总结 - - -精品资料欢迎下载 -
5、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 43 页 - - - - - - - - - int k=10; while(k=0)k=k-1; 则下面描述中正确的是( C )A.while 循环执行 10 次B.循环是无限循环C.循环体语句一次也不执行D. 循环体语句执行一次【参考答案】C 14.以下程序的输出结果是( A )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:
6、a+=5; printf(%dn,a);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 43 页 - - - - - - - - - A.31B.13C.10D.20 【参考答案】A 15.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的语句是(B )#include main() int a,b,t; scanf( %d%d ,&a,&b);while(_) if(ab) t=a;a=b;b=t; printf(%d%
7、dn,a,b);scanf( %d%d ,&a,&b); A.!a=bB.a!=bC.a=bD.a=b 【参考答案】B 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 43 页 - - - - - - - - - 16.若有说明: int a 4=0,0; 则下面不正确的叙述是( D )A.数组 a 的每个元素都可得到初值0 B.二维数组a的第一维大小为1 C.当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小D.只有元素a0 0和 a0 1可得到初值
8、,其余元素均得不到确定的初值【参考答案】D 17.已知学生记录描述为struct student int no; char name20, sex; struct int year,month,day; birth; ; struct student s; 设变量 s 中的 “ 生日 ” 是“1984 年 11 月 12 日” ,对 “birth ”正确赋值的程序段是( D )A.year=1984;month=11;day=12; B.s.year=1984;s.month=11;s.day=12; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
9、 - - - - - 名师精心整理 - - - - - - - 第 6 页,共 43 页 - - - - - - - - - C.birth.year=1984;birth.month=11;birth.day=12; D.s.birth.year=1984;s.birth.month=11;s.birth.day=12; 【参考答案】D 18.有如下程序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); 该程序的输出的结果是( D )A.12B.13C
10、.14D.15 【参考答案】D 19.有如下定义struct personchar name9;int age; struct person class 10=John,17, paul ,19, Mary,18, Adam ,16;根据上述定义,能输出字母M 的语句是( D )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 43 页 - - - - - - - - - A.printf(%cn,class 3.name); B.printf(%c n,class 3.n
11、ame1); C.printf(%c n,class 2.name1); D.printf(%cn,class 2.name0); 【参考答案】D 20.阅读下列程序,当运行函数时,输入asd af aa z67,则输出为( A )#include #include #include int fun(char *str) int i,j=0; for(i=0;str i!= 0;i+)if(str i!= )strj+ =str i; strj= 0; main () char str81; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
12、- - - 名师精心整理 - - - - - - - 第 8 页,共 43 页 - - - - - - - - - int n; clrscr(); printf(Input a string:);gets(str); puts(str); fun(str); printf(%s n,str); A.asdafaaz67B.asd af aa z67C.asdD.z67 【参考答案】A 21.若有定义: char *st=how are you ;下列程序段中正确的是( A )A.char a11,*p;strcpy(p=a+1,&st 4); B.char a11;strcpy(+a,st)
13、; C.char a11;strcpy(a,st); D.char a ,*p;strcpy(p=&a 1,st+2); 【参考答案】 A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 43 页 - - - - - - - - - 22.请选出正确的程序段(C )A.int *p; B.int *s,k; scanf( %d ,p);*s=100; C.int *s,k; D.int *s,k; char *p,c; char *p,e; s=&k; s=&k; p=&
14、c; p=&c; *p=a;s=p; *s=1; 【参考答案】C 23.下面四个选项中,均是合法整型常量的选项是(A )A.160 -0 xffff 011 B.-0 xcdf 01a 0 xe C.-01 986,012 0668 D.-0 x48a 2e5 0 x 【参考答案】A 24.假定 x 和 y 为 double 型,则表达式x=2,y=x+3/2 的值是( D )A.3.500000B.3C.2.000000D.3.000000 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
15、- 第 10 页,共 43 页 - - - - - - - - - 【参考答案】D 25.已知 i,j,k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( C )A.scanf( %2d,%2d,%2d ,i,j,k);B.scanf( %d%d%d,&i,&j,&k);C.scanf( %d,%d,%d ,&i,&j,&k);D.scanf( i=%d,j=%d,k=%d,&i,&j,&k);【参考答案】C 26.若执行下面的程序时,从键盘上输入5 和 2,则输出结果是( C )main() int a,b,k;
16、 scanf( %d,%d ,&a,&b);k=a; if(ab)k=a%b; else k=b%a; printf(%dn,k); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 43 页 - - - - - - - - - A.5B.3C.2D.0 【参考答案】C 27.以下程序的输出结果是(C )main() int x=1,y=3; printf(%d ,x+); int x=0;x+=y*2; printf(%d,%d ,x,y); printf(%d,%d
17、n,x,y); A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D.1,7,3,2,3 【参考答案】C 28.请阅读以下程序main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 43 页 - - - - - - - - - int a=5,b=0,c=0; if(a=b+c)printf(* * *n);else printf( n); 以上程序( D )A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出 * * * D.输出【参考
18、答案】 D ?29.设有如下定义char *s2=abcd, ABCD ;则下列说法错误的是(B )A.s 数组元素的值分别是abcd和ABCD 两个字符串的首地址B.s 是指针数组名,它含有两个元素分别指向字符型一维数组C.s 数组的两个元素分别存放的是含有4 个字符的一维字符数组中的元素名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 43 页 - - - - - - - - - D.s 数组的两个元素中分别存放了字符a和A的地址【参考答案】C 30.有以下程序str
19、uct STU char num 10;float score3; main() struct STU s 3= 20021,90,95,85,20022,95,80,75,20023,100,95,90,*p=s; ZK) int i;float sum=0; for(i=0;iscorei; printf(%6.2fn,sum); 程序运行后的输出结果是()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 43 页 - - - - - - - - - A.260.00
20、B.270.00C.280.00D.285.00 【参考答案】B 31.有如下定义#define D 2 int x=5;float y=3.83; char c= D;则下面选项中错误的是()A.x+;B.y+;C.c+;D.D+; 【参考答案】D 32.下列程序的运行结果是()void fun(int *a,int *b) int *k; k=a;a=b;b=k; main() int a=2004,b=9,*x=&a,*y=&b; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
21、 15 页,共 43 页 - - - - - - - - - fun(x,y); printf(%d %d ,a,b); A.2004 9B.9 2004C.0 0D.编译时出错【参考答案】A 33.下面程序应能对两个整型变量的值进行交换 。以下正确的说法是()main() int a=10,b=20; printf(1)a=%d,b=%dn,a,b);swap(&a,&b); printf(2)a=%d,b=%dn,a,b); swap(int p,int q) int t; t=p;p=q;q=t; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
22、- - - - - - 名师精心整理 - - - - - - - 第 16 页,共 43 页 - - - - - - - - - A.该程序完全正确B.该程序有错,只要将语句swap(&a,&b) ;中的参数改为a,b 即可C.该程序有错, 只要将 swap () 函数中的形参p 和 q 以及 t 均定义为指针 (执行语句不变)即可D.以上说法都不对【参考答案】D 34.以下程序的输出结果是()int f() static int i=0; int s=1; s+=i;i+; return s; main() int i,a=0; for(i=0;i5;i+)a+=f(); 名师资料总结 -
23、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 43 页 - - - - - - - - - printf(%dn,a); A.20B.24C.25D.15 【参考答案】D 35.C 语言 程序的基本单位是()A.程序行B.语句C.函数D.字符【参考答案】C 36.设有如下函数fun(float x) printf(n%d ,x*x);则函数的类型是( ) A.与参数 x 的类型相同B.是 void C.是 int 型D.无法确定【参考答案】C 37.C 语言 规定,函数返回值的类型是由
24、( ) A.return 语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 43 页 - - - - - - - - - C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定【参考答案】D 38.下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数:876 675 896 101 301 401 980 431 451 777 #include #include int fun(int *
25、s,int t,int *k) int i; *k=0; for(i=0;it;i+) if(s*k si)*k=i; return s*k ; main() int a10= 876,675,896,101,301,401,980,431,451,777,k; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 43 页 - - - - - - - - - clrscr(); fun(a,10,&k); printf(%d,%d n,k,a k); 则输出结果为( ) A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年二级C语言考试模拟试题 2022 二级 语言 考试 模拟 试题
限制150内