《2022年计算机二级C真题 .pdf》由会员分享,可在线阅读,更多相关《2022年计算机二级C真题 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2014 年全国计算机等级考试二级C 语言笔试真题一、选择题(1)下列关于栈叙述正确的是A) 栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A) 有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7 个结点,其中叶子结点只有1 个,则该二叉树的深度为(假设根结点在第1 层) A)3 B)4 C)6 D)7 (4)在软件开发中,需求分析阶段产生的主要文档是A) 软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求
2、规格说明书(5)结构化程序所要求的基本结构不包括A) 顺序结构B)GOTO 跳转C)选择 (分支 )结构D)重复 (循环 )结构(6)下面描述中错误的是A) 系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD 图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A) 数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是A)1:1 联系B)1:m 联系C)m:1 联系D)m:n 联系(9)有三个关系R、S 和
3、T 如下:则由关系R 和 S 得到关系 T 的操作是A) 自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt 实例化值的是A)-369 B)369 C)0.369 D)整数集合 1,2,3,4,5 (11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C 语言程序仅可以编译执行B)C 语言程序仅可以解释执行C)C 语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用 C 语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可
4、以运行D)在没有安装C 语言集成开发环境的机器上不能运行C 源程序生成的.exe文件(13)以下选项中不能用作C 程序合法常量的是A)1,234 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - B)123C)123 D)x7G (14)以下选项中可用作C 程序合法实数的是A).1e0 B)3.0e0.2C)E9 D)9.12E (15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)
5、=3; B)a=b=c+1; C)a=(b=4)+c; D)a=1+(b=c=4); (16)有以下程序段char name20; int num; scanf(name=%snum=%d,name;&num); 当执行上述程序段,并从键盘输入:name=Lili num=1001后, name的值为A)Lili B)name=Lili C)Lilinum= D)name=Lili num=1001 (17)if语句的基本形式是:if( 表达式 )语句,以下关于“ 表达式 ” 值的叙述中正确的是A) 必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#incl
6、ude main() int x=011; printf(%dn,+x); 程序运行后的输出结果是A)12 B)11 C)10 D)9 (19)有以下程序#include main() int s; scanf(%d,&s); while(s0) switch(s) case 1:printf(%d,s+5); case 2:printf(%d,s+4);break; case 3:printf(%d,s+3); default:printf(%d,s+1);break; scanf(%d,&s); 运行时,若输入1 2 34 5 0,则输出结果是A)6566456 B)66656 C)666
7、66 D)6666656 (20)有以下程序段int i,n; for(i=0;i=0&si=9)n+; printf(%dn,n); 程序运行后的输出结果是A)0 B)3 C)7 D)8 (22)若 i 和 k 都是 int 类型变量,有以下 for 语句for(i=0,k=-1;k=1;k+)printf(*n); 下面关于语句执行情况的叙述中正确的是A) 循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#include main() char b,c;int i; b=a; c=A; for(i=0;i=a&*c=z) *c=*c-(a-A); c
8、+; main() chars81; gets(s); fun(s); puts(s); 当 执 行 程 序 时 从 键 盘 上 输 入HelloBeijing,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing (30)以下函数的功能是: 通过键盘输入数据,为数组中的所有元素赋值。#include #define N 10 void fun(intxN) int i=0; while(i 在程序中下划线处应填入的是A)x+i B)&xi+1C)x+(i+) D)&x+i (31)有以下程序#incl
9、ude main() chara30,b30; scanf(%s,a); gets( B); printf(%sn %sn,a, B); 程序运行时若输入:how areyou? I am fine 则输出结果是A)how areyou? B)how I am fine are you? I am fine C)how areyou? I am fine D)how are you? (32)设有如下函数定义int fun(intk) if(k1) return 0; elseif(k=1) return 1; else returnfun(k-1)+1; 若执行调用语句:n=fun(3);
10、,则函数fun 总共被调用的次数是A)2 B)3 C)4 D)5 (33)有以下程序#include int fun (int x,int y) if(x!=y) return (x+y)/2); else return (x); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - main() inta=4,b=5,c=6; printf(%dn,fun(2*a,fun(b, C); 程序运行后的输出结果是A)3 B)6 C)8
11、D)12 (34)有以下程序#include int fun() static intx=1; x*=2; return x; main() int i,s=1; for(i=1;ix);printf(%dn,+(p-y); 程序运行后的输出结果是A)1,2 B)4,1 C)3,4 D)2,3 (38)有以下程序#include struct S inta,b;data2=10,100,20,200; main() struct Sp=data1; printf(%dn,+(p.a); 程序运行后的输出结果是A)10 B)11 C)20 D)21 (39)有以下程序#include main(
12、) unsignedchar a=8,c; c=a3; printf(%dn, C); 程序运行后的输出结果是A)32 B)16 C)1 D)0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - (40) 设fp已 定 义 , 执 行 语 句fp=fopen(file,w);后,以下针对文本文件 file 操作叙述的选项中正确的是A) 写操作结束后可以从头开始读B)只能写不能读C)可以在原有内容后追加写D)可以随意读和写二、填空题
13、(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。(2) 一 棵 二 叉 树 的 中 序 遍 历 结 果 为DBEAFC , 前序遍历结果为ABDECF ,则后序遍历结果为【2】 。(3)对软件设计的最小单位(模块或程序单元 )进行的测试通常称为【3】 测试。(4)实体完整性约束要求关系数据库中元组的【 4】属性值不能为空。(5)在关系 A(S,SN, D)和关系B(D,CN,NM) 中, A 的主关键字是 S, B 的主关键字是D, 则称 【5】是关系 A 的外码。(6)以下程序运行后的输出结果是【6】 。#include main() int a; a=(int)(doub
14、le)(3/2)+0.5+(int)1.99*2); printf(%dn,a); (7) 有以下程序#include main() int x; scanf(%d,&x); if(x15)printf(%d,x-5); if(x10)printf(%d,x); if(x5)printf(%dn,x+5); 若程序运行时从键盘输入12,则输出结果为【7】 。(8)有以下程序 (说明:字符0的 ASCII码值为 48) #include main() charc1,c2; scanf(%d,&c1); c2=c1+9; printf(%c%cn,c1,c2); 若程序运行时从键盘输入48,则输出
15、结果为【8】 。(9)有以下函数voidprt(char ch,int n) int i; for(i=1;i0) 开始的后续元素全部向前移动一个位置。请填空。void fun(intaN,int k) int i; for(i=k;i (12)有以下程序, 请在【12】处填写正确语句,使程序可正常编译运行。#include 【12】 ; main() double x,y,(*p)(); scanf(%lf%lf,&x,&y); p=avg; printf(%fn,(*p)(x,y); double avg(double a,double B) return(a+ B)/2); 名师资料总结
16、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - (13) 以下程序运行后的输出结果是【13】 。#include main() int i,n5=0; for(i=1;i=0;i-) putchar(*(p+i); printf(n); free(p); (15) 以下程序运行后的输出结果是【15】 。#include main() FILE *fp;int x6=1,2,3,4,5,6,i; fp=fopen(test.dat,wb);
17、fwrite(x,sizeof(int),3,fp); rewind(fp); fread(x,sizeof(int),3,fp); for(i=0;i6;i+) printf(%d,xi); printf(n); fclose(fp); 参考答案一、选择题:1-5 ABDDB 6-10 ACDCB 11-15 ADAAA 16-20 ADCAD 21-25 BDBCD 26-30 CDCCC 31-35 BBBDB 36-40 CDDCB 二、填空题:【1】 有序 【 2】 DEBFCA 【3】单元【4】 主键【5】 D 【6】 3 【7】 1217 【8】 09 【 9】 4 【10】 20 0 【11】 i-1 【 12】double avg(double,double); 或doubleavg(double a,double B); 【13】 13715 【14】 emoclew 【15】123456名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -
限制150内