【计算机类职业资格】二级C语言笔试-57及答案解析.doc
《【计算机类职业资格】二级C语言笔试-57及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-57及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-57 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.要求通过 while循环不断读入字符,当读入字母 N时结束循环。若变量已正确定义,以下正确的程序段是_。(分数:2.00)A.while(ch=getchar()!=N)printf(“%c“,ch);B.while(ch=getchar()!=N)printf(“%c“,ch);C.while(ch=getchar()=N)printf(“%c“,ch);D.while(ch=getchar()=N)printf(“%c“,ch);2.若各选项中所用变量已正确定义,函
2、数 fun中通过 return语句返回一个函数值,以下选项中错误的程序是_。(分数:2.00)A.main() x=fun(2,10); float fun(int a,int b)B.float fun(int a,int main() x=fun(i,j);C.float fun(int,int); main() x=fun(2,10); float fun(int a,int b)D.main() float fun(int i,int j); x=fun(i,j); float fun(int a,int b)3.若有定义:float x=1.5;int a=1,b=3,c=2;则正确
3、的 switch语句是_。(分数:2.00)A.switch(x) case 1.0:printf(“*/n“);case 2.0:printf(“*/n“);B.switch(int)x); case 1:printf(“*/n“);case 2:printf(“*/n“);C.switch(a+b) case 1:printf(“*/n“);case 2+1:printf(“*/n“);D.switch(a+b) case 1:printf(“*/n“);case c:printf(“*/n“);4.有以下程序#includestruct ttint x; struct tt *y; *p
4、;struct tt a4=20, a+1,15,a+2,30,a+3,17,amain()int i;p=a;for(i=1; i=2; i+) printf(“%d“, p-x); p=p-y;程序的运行结果是_。(分数:2.00)A.20,30B.30,17C.15,30D.20,155.有以下程序#include main()FILE *fp; int a10=1,2,3,i,n;fp=fopen(“dl.dat“,“w“);for(i=0;i3;i+) fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“dl.dat“,
5、“r“);fscanf(fp,“%d“,n);fclose(fp);printf(“%d/n“,n);程序的运行结果是_。(分数:2.00)A.12300B.123C.1D.3216.有以下程序main()int y=10;while(y-);printf(“y=%d/n“,y);程序执行后的输出结果是_。(分数:2.00)A.y=0B.y=-1C.y=1D.while构成无限循环7.冒泡排序在最坏情况下的比较次数是_。(分数:2.00)A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/28.有以程序#include #include typedef struct char na
6、me9; char sex; float score2; STU;void f( STU a)STU b=“Zhao“,m,85.0,90.0; int i;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i2;i+) a.scorei=b.scorei;main()STU c=“Qian“,f,95.0,92.0;f(C); printf(“%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1);程序的运行结果是_。(分数:2.00)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,
7、95,92D.Zhao,m,85,909.以下能正确定义字符串的语句是_。(分数:2.00)A.char str=/064;B.char str=“kx43“;C.char str=“;D.char str=“/0“;10.两个或两个以上模块之间关联的紧密程度称为_。(分数:2.00)A.耦合度B.内聚度C.复杂度D.数据传输特性11.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC的关键字(键或码)为_。(分数:1.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩12.有以下程序#i
8、ncludemain()int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+) printf(“%d “,i+j);printf(“/n“);程序运行的结果是_。(分数:1.00)A.2 3 4 3 4 5B.4 3 2 5 4 3C.2 3 3 4 4 5D.4 5 3 4 2 313.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划14.有以下程序void swap(char *x,char *y)char t;t=*x; *x=*y; *y=t;main()char *s1=“
9、abc“,*s2=“123“;swap(s1,s2);printf(“%s,%s/n“,s1,s2);程序执行后的输出结果是_。(分数:1.00)A.123,abcB.abc,123C.1bc,a23D.321,cba15.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是_。(分数:1.00)A.并B.交C.投影D.笛卡儿乘积16.有以下程序#include#define N 5#define M N+1#define f(x) (x*M)main()int i1,i2;i1=f(2);i2=f(1+1);printf(“%d %d“,i1,i2);程序的运行结果是_。(分数:1
10、.00)A.12 12B.11 7C.11 11D.12 717.以下叙述中错误的是_。(分数:1.00)A.改变函数形参的值,不会改变对应实参的值B.函数可以返回地址值C.可以给指针变量赋一个整数作为地址值D.当在函数的开头包括头文件 stdio.h时,可以给指针变量赋 NULL18.有以下程序#include main()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i12;i+) csi+;for(i=1;i5;i+) printf(“%d“,ci);printf(“/n“);程序的运行结果是_。(分数:1.00)A.1 2 3 4B.2
11、3 4 4C.4 3 3 2D.1 1 2 319.对如下二叉树ABDECF进行后序遍历的结果为_。(分数:1.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA20.有以下程序#include void fun(char *a,char *b)while(*a=*) a+;while(*b=*a) b+;a+;main()char *s=“*a*b*“,t80;fun(s,t); puts(t);程序的运行结果是_。(分数:1.00)A.*a*bB.a*bC.a*b*D.ab21.有以下程序main()int a33,*p,i;p=a00;for(i=0;i9;i+)pi
12、=i;for(i=0;i3;i+)printf(“%d“,a1i);程序运行后的输出结果是_。(分数:2.00)A.0 1 2B.1 2 3C.2 3 4D.3 4 522.以下能正确定义且赋初值的语句是_。(分数:2.00)A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.5;23.有以下程序#includevoid f(char p10,int n)char t10;int i,j;for(i=0;iN-1;i+)for(j=i+1;jN;j+)if(strcmp(pi,pj)0)strcpy(t,pi);strcpy
13、(pi,pj);strcpy(pj,t);main()char p510=“abc“, “aabdfg“, “abbd“, “dedbe“, “cd“;f(p,5);printf(“%d/n“, strlen(p0);程序运行后的输出结果是_。(分数:2.00)A.2B.4C.6D.324.变量 a中的数据用二进制表示的形式是 01011101,变量 b中的数据用二进制表示的形式是 11110000。若要求将 a的高 4位取反,低 4位不变,所要执行的运算是_。(分数:2.00)A.abB.a|bC.abD.a425.有以下程序main()int a,b,d=25;a=d/10%9;b=a(-
14、1);printf(“%d,%d/n“,a,b);程序运行后的输出结果是_。(分数:2.00)A.6,1B.2,1C.6,0D.2,026.有以下程序main()char *p=“3697“,“2584“;int i,j;long num=0;for(i=0;i2;i+)j=0;while(pij!=/0)if(pij-0)%2)num=10*num+pij-0;j+=2;printf(“%d/n“,num);程序执行后的输出结果是_。(分数:2.00)A.35B.37C.39D.397527.以下叙述中错误的是_。(分数:2.00)A.可以通过 typedef增加新的类型B.可以用 type
15、def将已存在的类型用一个新的名字来代表C.用 typedef定义新的类型名后,原有类型名仍有效D.用 typedef可以为各种类型起别名,但不能为变量起别名28.有以下程序int a=2;int f(int n)static int a=3;int t=0;if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+;main()int s=a, i;for( i=0; i3; i+) s+=f(i);printf(“%d/n“, s);程序运行后的输出结果是_。(分数:2.00)A.26B.28C.29D.24
16、29.设有条件表达式:(EXP)?i+:j-,则以下表达式中与(EXP)完全等价的是_。(分数:2.00)A.(EXP=0)B.(EXP!=0)C.(EXP=1)D.(EXP!=1)30.程序流程图中指有箭头的线段表示的是_。(分数:2.00)A.图元关系B.数据流C.控制流D.调用关系31.以下叙述中错误的是_。(分数:2.00)A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句32.下列叙述中正确的是_。(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库系统的根本目标是要解
17、决数据的共享问题C.数据库管理系统就是数据库系统D.以上三种说法都不对33.对长度为 n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为_。(分数:2.00)A.log2nB.n/2C.nD.n+134.有以下程序#include #include void fun(char *s ,int n)char *t; int i,j;for(i=0; iN-1;NBSP;i+)NBSP;for(j=i+1; jN;NBSP;j+)NBSP;if(strlen(si)strlen(sj) t=si; si=sj; sj=t;main()char *ss=“bcc“,“bbcc“,“xy“,“a
18、aaacc“,“aabcc“;fun(ss,5); printf(“%s,%s/n“,ss0,ss4);程序的运行结果是_。(分数:2.00)A.xy,aaaaccB.aaaacc,xyC.bcc,aabccD.aabcc,bcc35.下列选项中不属于结构化程序设计方法的是_。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用36.有以下程void change(int k)k0=k5;main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n=4)change(xn);n+;for(n=0;n5;n+)printf(“%d“,xn);printf
19、(“/n“);程序运行后的输出结果是_。(分数:2.00)A.6 7 8 9 10B.1 3 5 7 9C.1 2 3 4 5D.6 2 3 4 537.下列定义变量的语句中错误的是_。(分数:2.00)A.int _int;B.double int_;C.char for;D.float US$38.有以下程序#includemain(int argc,char *argv)int i=1,n=0;while(iprintf(“%d/n“,n);该程序生成的可执行文件名为:proc.exe,若在运行时输入命令行:proc 123 45 67则该程序的输出结果是_。(分数:2.00)A.3B.
20、5C.7D.1139.以下叙述中错误的是_。(分数:2.00)A.C语言源程序经编译后生成后缀为.obj 的目标程序B.C程序经过编译、连接步骤后才能形成一个真正可执行的二进制机器指令文件C.用 C语言编写的程序称为源程序,它以 ASCII代码形式存放在一个文本文件中D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令40.设有定义语句 int(*f)(int);,则以下叙述正确的是_。(分数:2.00)A.f是基类型为 int的指针变量B.f是指向函数的指针变量,该函数具有一个 int类型的形参C.f是指向 int类型一维数组的指针变量D.f是函数名,该函数的返回值是基类
21、型为 int类型的地址二、填空题(总题数:13,分数:30.00)41.设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置),尾指针 rear=29(指向队尾元素),则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_42.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_43.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_44.一个关系表的行称为 1。(分数:2.00)填空项 1:_45.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中, 1 负责数据的模式定义与数据的物
22、理存取构建。(分数:2.00)填空项 1:_46.以下程序运行时若从键盘输入:10 20 30回车。输出结果是_。#includemain()int i=0,j=0,k=0;scanf(“%d%*d%d“,i,j,k);printf(“%d%d%d/n“,i,j,k);(分数:2.00)填空项 1:_47.下面程序由两个源程序文件:t4.h 和 t4.c组成,程序编译运行结果是_。t4.h的源程序为:#define N 10#define f2(x) (x*N)t4.c的源程序为:#include#define M 8#define f(x) (x)*M)#include “t4.h“main
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 57 答案 解析 DOC
