【计算机类职业资格】二级C语言分类模拟题530及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题530及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题530及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 530 及答案解析(总分:48.50,做题时间:90 分钟)一、选择题(总题数:35,分数:48.50)1.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:1.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系2.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设计模式3.有以下程序 #include stdio.h main() int i=5; do if(i%3=1) if(i%5=2) printf
2、(“*%d“,i);break;) i+; while(i!=0); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.*7B.*3*5C.*5D.*2*64.以下 fun 函数的功能是将形参 s 所指字符串内容颠倒过来: void fun(char*s) int i,j,k; for(i=0,j=strlen(s)_; ij;i+,j-) k=si;si=sj;sj=k; 在横线处应填入的内容是_。(分数:1.00)A.+1B.-1C.+0D.,k=05.有如下程序: #includestdio.h main() int a=0,b=1; if(+a=b+) printf
3、(“T“); else printf(“F“); printf(“a=%d,b=%d/n“,a,b); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.Ta=0,b=1B.Fa=1,b=2C.Ta=1,b=2D.Fa=0,b=26.设有如下程序段: int a8 = 0; int b = 0; char c2 = “ A“,“B“; char d=“AB“; 以下叙述正确的是_。(分数:1.00)A.只有 a,b,c 的定义是合法的B.a,b,c,d 的定义都是合法的C.只有 a,b 的定义是合法的D.只有 c 的定义是合法的7.以下各选项企图说明一种新的类型名,其
4、中正确的是 _。(分数:1.00)A.typedef vl int;B.typedef v2=intC.typedef int v3;D.typedef v4:int8.有以下程序: #includestdio.h void fun(int*s,int n1,int n2) int i,j,t; i=n1;j=n2; while(ij) t=si;si=sj;sj=t;i+;j-; main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3);fun(a,4,9);fun(a,0,9); for(k=0;k10;k+) printf(“%d“,ak); pr
5、intf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.4321098765B.5678901234C.0987654321D.09876512349.若有以下程序 #includestdio.h typedef struct stu char name10, gender; int score; STU; void f(STU a, STU b) b=a; printf(“%s, %c, %d,“, b.name, b.gender, b.score); main() STU a=“Zhao“, “m“, 290, b=“Qian“, “f“, 350; f(a, b); p
6、rintf(“%s, %c, %d/n“, b.name, b.gender, b.score); 则程序的输出结果是_。(分数:2.00)A.Zhao, m, 290, Qian, f, 350B.Zhao, m, 290, Zhao, m, 290C.Qian, f, 350, Qian, f, 350D.Zhao, m, 290, Zhao, d, 35010.以下程序的功能是计算: (分数:1.00)A.s=1.0;B.for(n=10;n1;n-)C.s=s+1/n;D.printf(“%6.4f/n“,s);11.以下选项中非法的字符常量是_。(分数:1.00)A.“/101“B.
7、“/65“C.“/xff“D.“/019“12.有以下程序: #include stdio.h #define N 4 void fun(int aN) int bNN,i,j; for(i=0; iN; i+) for(j=0; jN; j+) bij=aN-1-ji; for(i=0; iN; i+) for(j=0; jN; j+) aij = bij; main() int xNN=1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16 ,i; fun(x); fun(x); for(i=0; iN; i+) printf(“%d,“,xii); print
8、f(“/n“); 程序的运行结果是_。(分数:1.00)A.16,11,6,1,B.1,6,11,16,C.4,7,10,13,D.13,10,7,4,13.有以下程序: # include stdio.h main() int a=2,b; b=a2; printf(“%d/n“,b); 程序运行后的输出结果是_。(分数:1.00)A.2B.4C.6D.814.以下选项中,能用做数据常量的是_。(分数:2.00)A.115LB.0118C.1.5e1.5D.o11515.已定义以下函数 int fun(int *p) return *p; fun 函数返回值是_。(分数:2.00)A.一个整
9、数B.不确定的值C.形参 p 中存放的值D.形参 p 的地址值16.函数 rewind(fp)的作用是_。(分数:2.50)A.使 fp 指定的文件的位置指针重新定位到文件的开始位置B.将 fp 指定的文件的位置指针指向文件中所要求的特定位置C.使 fp 指定的文件的位置指针向文件的末尾D.使 fp 指定的文件的位置指针自动移至下一个字符位置17.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为_。(分数:1.00)A.非 0 值B.“/0“C.0D.NULL18.以下程序的输出结果是 #include int a33=1,2,3,4,5,6,7,8,
10、9,*p;main( ) p=(int *)malloc(sized(int);f(p,a) ;printf(“%d/n“,*p);free(p);f(int *s,int p 3) *s=p11; A.1 B.4 C.7 D.5A B C D D解析 本题考查了二维数组元素引用的方法。题中用动态存储分配函数 malloc 分配了一个 int 型数据长度大小的内存,然后指针 p 指向了这段内存,函数 f( )中对 p 所指向的数据进行了赋值,p11为二维数组第二行第二列的元素,对应于实参 a 的元素 5,所以输出结果为 5。(分数:2.00)A.1B.4C.7D.519.下列选项中,能正确定义
11、数组的语句是_。(分数:1.00)A.int num02008;B.int num;C.int N=2008;int numN;D.#define N 2008int numN;20.有以下程序: #includestdio.h main() char c1=“1“, c2=“2“; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 当程序运行时输入 a回车后,下列叙述中正确的是_。(分数:2.50)A.变量 c1 被赋予字符 a,c2 被赋予回车符B.程序将等待用户输入第 2 个字符C.变量 c1 被赋予字符 a,c2 中仍是原有字符
12、 2D.变量 c1 被赋予字符 a,c2 中将无确定值21.以下能够实现计算 5!的程序段是_。(分数:1.00)A.int fac=1,k=0;dok+;fac*=k; while(k5);B.int fac=0,k=1;dofac*=k;k+; while(k5);C.int fac=1,k=1;dok+;fac*=k; while(k=5);D.int fac=1,k=0;dofac*=k;k+; while(k5);22.软件设计中模块划分应遵循的准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合23.软件设计中模块划分应遵循的准则是_。(分数
13、:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合24.执行程序段“int x=1,y=2;x=xy;y=yx;x=xy;”后,x 和 y 的值分别是_。(分数:1.00)A.1 和 2B.2 和 2C.2 和 1D.1 和 125.使用 fgets(str,n,p)函数从文件中读入一个字符串,以下叙述错误的是_。(分数:2.00)A.字符串读入后会自动加入“/0“B.fp 是指向该文件的文件型指针C.fgets 函数将从文件中最多读入 n-1 个字符D.fgets 函数将从文件中最多读入 n 个字符26.有以下程序: #includestdio.h main() i
14、nt i, j; for(i=1; i4; i+) for(j=i; j4; j+)printf(“%d*%d=%d“, i, j, i*j); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1*1=1 1*2=2 1*3=32*2=4 2*3=63*3=9B.1*1=1 1*2=2 1*3=32*1=2 2*2=43*1=3C.1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9D.1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=927.若变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示 x/yz 的 C 语言表
15、达式是_。(分数:1.00)A.x/y*zB.x*(1/(y*z)C.x/y*1/zD.x/y/z28.有以下程序段: int k, j, s; for(k=2; k6; k+, k+) s=1; for(j=k; j6; j+)s+=j; printf(“%d/n“, s); 以上程序段的输出结果是_。(分数:2.50)A.9B.1C.11D.1029.有下列程序: main() int i, j, x=0; for(i=0, i2; i+) x+; for(j=0; j=3; j+) if(j%2)continue; x+; x+; printf(“x=%d/n“, x); 程序执行后的输
16、出结果是_。(分数:1.00)A.x=4B.x=8C.x=6D.x=1230.下列选项中,能正确定义数组的语句是_。(分数:1.00)A.int num02008;B.int num;C.int N=2008;int numN;D.#define N 2008int numN;31.若有“double a;”,则正确的输入语句是_。(分数:2.50)A.scanf(“%lf“,a);B.scanf(“%f“,C.scanf(“%lf“,32.有以下程序 #include stdio.h void fun(char *c,int d) *c=*c+1; d=d+1; printf(“%c,%c,
17、“,*c,d); main() char b=“a“,a=“A“; fun( printf(“%c,%c/n“,b,a); 程序运行后的输出结果是_。(分数:1.00)A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B33.下列说法不正确的是 _ 。(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致34.有以下程序 #includestdio.h main() int k=5; while(-k)printf(“%d“,k
18、-=3); printf(“/n“); 执行后的输出结果是_。(分数:1.00)A.死循环B.2C.4D.135.以下程序段的输出结果是_。 #includestdio.h main() char p4=“ABC“,“DEF“,“GHI“; int i; for(i=0;i3;i+) puts(pi); (分数:2.50)A.ABCB.ADGC.ABCDEFGHID.ABC二级 C 语言分类模拟题 530 答案解析(总分:48.50,做题时间:90 分钟)一、选择题(总题数:35,分数:48.50)1.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:1.00
19、)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMS D.没有任何关系解析:解析 数据库系统由如下 5 个部分组成:数据库(DB)、数据库管理系统(DBMS)、数据库管理员(人员)、系统平台之一硬件平台(硬件)、系统平台之二软件平台(软件)。其中 DB(DataBase)即数据库,是统一管理的相关数据的集合;DBMS 即数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,为用户或应用完程序提供访问 DB 的方法。由以上可知,选项 C 为正确答案。2.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模
20、式C.外模式 D.设计模式解析:解析 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,因此选择 C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取的方法。3.有以下程序 #include stdio.h main() int i=5; do if(i%3=1) if(i%5=2) printf(“*%d“,i);break;) i+; while(i!=0); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.*7
21、B.*3*5C.*5D.*2*6解析:解析 本题考查的是 break 语句。dowhile 循环是“先执行,后判断”,所以无论条件如何,它都至少会执行一遍。程序首先初始化变量 i 为 5,然后进入 dowhile 循环体,首先判断(i%3=1),因为 5%3=2,所以 if 条件不满足,跳过下面的 if 语句,执行 i+,i 变为 6。第 1 遍循环结束,判断(i!=0)为真,继续循环。现在 i%3=6%3=0,所以 i 语句还是不被执行,继续 i+,i 变为 7,仍然满足(i!=0),继续循环。第 3 遍循环 i%3=7%3=1,满足条件(i%3=1),继续判断条件 i%5=2 成立,即输出
22、*7,然后执行hreak 语句跳出循环。4.以下 fun 函数的功能是将形参 s 所指字符串内容颠倒过来: void fun(char*s) int i,j,k; for(i=0,j=strlen(s)_; ij;i+,j-) k=si;si=sj;sj=k; 在横线处应填入的内容是_。(分数:1.00)A.+1B.-1 C.+0D.,k=0解析:解析 本题考查字符串处理函数 strlen。strlen 计算一个字符串的长度,包含结尾符,所以本题中 j 的初始化应该是从最后一个字符开始,所以应该将得到的字符串长度减 1,选项 B 正确。5.有如下程序: #includestdio.h main
23、() int a=0,b=1; if(+a=b+) printf(“T“); else printf(“F“); printf(“a=%d,b=%d/n“,a,b); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.Ta=0,b=1B.Fa=1,b=2C.Ta=1,b=2 D.Fa=0,b=2解析:解析 程序执行过程为:判断+a=b+是否成立,+a 前缀运算先加 1,则 a=1,b+后缀运算先取值,则 b=1,1=1 成立,输出 T,之后 b=2,输出 a=1,b=2。6.设有如下程序段: int a8 = 0; int b = 0; char c2 = “ A“,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 530 答案 解析 DOC
