【计算机类职业资格】二级C语言笔试-441及答案解析.doc
《【计算机类职业资格】二级C语言笔试-441及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-441及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-441 及答案解析(总分:100.50,做题时间:90 分钟)一、选择题(总题数:40,分数:67.00)1.在计算机中,算法是指_。A) 查询方法 B) 加工方法C) 解题方案的准确而完整的描述 D) 排序方法(分数:2.00)A.B.C.D.2.下列描述中正确的是( )A) 程序就是软件B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体D) 软件是程序、数据和相关文档的集合(分数:2.00)A.B.C.D.3.以下叙述正确的是_。A) 构成 C程序的基本单位是函数B) 可以在函数中定义另一个函数C) main()函数必须放在其他函数之前D) 所有被调用
2、的函数一定要在调用之前进行定义(分数:2.00)A.B.C.D.4.下列不属于软件工程的 3个要素的是( )。A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.5.在下列选项中,不是一个算法一般应该具有的基本特征的是( )。A) 确定性 B) 可行性 C) 无穷性 D) 拥有足够的情报(分数:1.00)A.B.C.D.6.将 E-R图转换到关系模式时,实体与联系都可以表示成( )。 A) 属性 B) 关系 C) 记录 D) 码(分数:2.00)A.B.C.D.7.在数据库设计中,将 E-R图转换为关系模式的过程属于( )。A) 需求分析阶段 B) 逻辑设计阶段C)
3、 概念设计阶段 D) 物理设计阶段(分数:2.00)A.B.C.D.8.下列说法不正确的是( )。A) C语言程序是以函数为基本单位的,整个程序由函数组成B) C语言程序的一条语句可以写在不同的行上C) C语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D) C语言程序的每个语句都以分号结束(分数:2.00)A.B.C.D.9.以下选项中,能用作用户标识符的是A) void B) 8_8C) _0_ D) unsigned(分数:1.00)A.B.C.D.10.请选出以下程序的输出结果_。#includestdio.hsub(x,y,z)int x,y,*z;*z=y-x;
4、main()int a,b,c;sub(10,5,sub(7,a,sub(a,b,printf(“%d,%d,%d/n“,a,b,c);A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7(分数:2.00)A.B.C.D.11.以下定义语句中正确的是( )。A) char a=A b=B; B) float a=b=10.0;C) int a=10, *b= /*x的初值为十六进制数*/printf(“%u/n“,x);程序运行后的输出结果是( )。A) -1 B) 65535 C) 32767 D) 0xFFFF(分数:1.00)A.B.C.D.若有定
5、义语句“double x,t,*px,*py;”执行了“px=for(i=1;i5;i+)if(i%2) printf(“*“);else continue;printf(“#“);printf(“$/n“);A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$(分数:1.00)A.B.C.D.18.下列程序的输出结果是( )。main()chara7=“a0/0a0/0“;int i,j;i=sizeof(a);j=strlen(a);printf(“%d %d/n“,i,j);A) 2 2 B) 7 6 C) 7 2 D) 6 2(分数:2.00)A.B.C.D.
6、19.在下列选项中,没有构成死循环的是A) int i=100; B) for(:);while(1)i=i%100+1:if(i100)break;C) int k=10000;dok+;while(k10000);D) int s=36:while(s)-s;(分数:1.00)A.B.C.D.20.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。A) 地址传递B) 单向值传递C) 由实参传绐形,再由形参传回实参D) 传递方式由用户指定(分数:2.00)A.B.C.D.21.有以下程序:main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0
7、;j=3;j+)if(j*2)continue;x+;x+;printf(“x=%d/n”,x);程序执行后的输出结果是_。A) x=4 B) x=8 C) x=6 D) x=12(分数:2.00)A.B.C.D.22.下列程序的输出结果是( )。main()int i=1 j=2,k=3;if(i+=1A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 3(分数:2.00)A.B.C.D.23.下列程序的运行结果是( )。#includestdio.hmain()int a=2,b=3,C=4;if(aB) if(b0) C=0;else C+=1;printf(“%d/n“,) ;
8、A) 2 B) 3 C) 5 D) 4(分数:2.00)A.B.C.D.24.以下选项中值为 1的表达式是_。(A) 1-0(B) 1-/0(C) 1-0(D) /0-0(分数:2.00)A.B.C.D.有以下程序:#includestdio.hmain()char c1,c2;c1=A+8-4;c2=A+8-5;printf(“%c,%d/n“,c1,c2);已知字母 A的 ASCII码为 65,程序运行后的输出结果是( )。AE,68 BD,69 CE,D D输出无定值(分数:2.00)A.B.C.D.A.B.C.D.25.设有程序段int k=10;while(k=0)k=k-1;则下面
9、描述中正确的是A) while循环执行 10次 B) 循环是无限循环C) 循环体语句一次也不执行 D) 循环体语句执行一次(分数:2.00)A.B.C.D.26.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是_。(A) 函数的实参和其对应的形参共占同一存储单元(B) 形参只是形式上的存在,不会占用具体存储单元(C) 同名的实参和形参占同一存储单元(D) 函数的形参和实参分别占用不同的存储单元(分数:2.00)A.B.C.D.27.有以下程序#includestdio.hdouble f(double x);main()double a=0;int i;for(i=0;i30
10、;i+=10)a+=f(double)i);printf(“%5.0f/n“,a);double f(double x)return x*x+1;程序运行后的输出结果是( )。A)503 B)401 C)500 D)1404(分数:2.00)A.B.C.D.28.以下能正确定义二维数组的是( )。A) int a3; B) int a3 =2*3;C) int a3 =; D) int a23 =1,2,3,4:(分数:1.00)A.B.C.D.29.下列选项中,能正确定义数组的语句是A) int num02008; B) int num;C) int N=2008;int numN;D) #
11、define N 2008int numN;(分数:2.00)A.B.C.D.30.有以下程序段:struct stint x; int * y; * pt;int a = 1,2 ,b = 3,4;struct st c2 = 10,a,20,b;pt=c;以下选项中表达式的值为 11的是( )。A) *pt-y B) pt-x C) +pt-x D) (pt+)-x(分数:1.00)A.B.C.D.31.若要求从键盘读入含有空格字符的字符串,应使用函数A) getc() B) gets() C) getehar() D) scanf()(分数:1.00)A.B.C.D.32.有下列程序:m
12、ain()int k=5,n=0;doswitch(k)case 1: case 3:n+=1;k-;break;default:n=0;k-;case2: case 4;n+=2;k-;break;printf(“%d“,n);while(k0i=10;j=15;k=10*MIN(i,j);printf(“%d/n“,k);A) 15 B) 100 C) 10 D) 150(分数:1.00)A.B.C.D.34.执行下列程序后,输出的结果是( )。#includestdio.h#define S(X) X*Xvoid main()int a=9,k=3,m=2;a/=S(k+m)/S(k+m
13、);printf(“%d“,a);A) 1 B) 4 C) 9 D) 0(分数:2.00)A.B.C.D.35.有下列程序:#include stdio.hmain()FILE *fp; int a10=1,2,3,i,n;fp=fopen(“d1.dat“,“w“);for(i=0;i3;i+) fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=open(“d1.dat“,“r“);fscanf(fp,“%d“,fclose(fp);prinff(“%d/n“,n);程序的运行结果是( )。A) 12300 B) 123 C) 1 D) 3
14、21(分数:2.00)A.B.C.D.36.有以下程序:#includestdio.hint a=1;int fun(int c)static int a=2;c=c+1;return(a+)+c;main()int i,k=0;for(i=0;i2;i+)int a=3;k+=f(a);k+=a;printf(“%d/n“,k);程序的运行结果是_。A) 14 B) 15 C) 16 D) 17(分数:2.00)A.B.C.D.37.设有下列说明语句:strcut strint x; float y; char z;st;则下列的叙述中不正确的是( )。A) struct是结构体类型的关键字
15、 B) st 是结构体类型名C) x、y、x 都是结构体成员名 D) struct str 是结构体类型名(分数:2.00)A.B.C.D.38.以下程序中函数 scmp的功能是返回形参指针 s1和 s2所指字符串中较小字符串的首地址。#include stdio.h#include string.hchar *scmp(char*s1,char*s2)if(strcmp(s1,s2)0) return(s1);else return(s2);main()int i; char string20,str320;for(i=0;i3;i+) gets(stri);strcpy(string,sc
16、mp(str0,str1); /*库函数 strcpy对字符串进行复制*/strcpy(string,scmp(string,str2);printf(“%s/n“,string);若运行时依次输入:abcd、abba 和 abc三个字符串,则输出结果为( )。A) abcd B) abba C) abc D) baca(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:33.50)39.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 1 的信息。(分数:2.00)填空项 1:_40.结构化分析方法是面向 1 进行分析的方法。(分数:2.00)填空项 1:_
17、41.一个关系表的行称为 1。(分数:2.00)填空项 1:_42.栈的 3种基本运算是:入栈、退栈和 1。(分数:2.00)填空项 1:_43.若 x和 a均是 int型变量,则计算完 x=(a=4,6*2)后的 x值为 1。(分数:2.00)填空项 1:_44.以下程序运行时若从键盘输入:10 20 30回车。输出结果是_。#includestdio.hmain()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:_45.设 y为血型变量,请写出描述“y 是偶数”的表达式 1。(分数
18、:2.00)填空项 1:_46.执行以下“for(i=1;i+=4;i+);”语句后,变量 i的值是 1。(分数:2.00)填空项 1:_47.以下程序运行后,当输入“14 63”时,输出结果是_。#includestdio.hmain()int m, n;scanf(“%d %d“, while(m!=n)while(mn) m=m-n;while(mn) n=n-m;printf(“%d/n“, m);(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#includestdio.hmain()int x=1,y=1,a=1,b=1;switch(x)case 1:switch(
19、y)case 0: a+; break;case 1: b+; break;case 2:a+;b+;break;printf(“a=%d,b=%d/n“,a,B) ;(分数:1.50)填空项 1:_49.下列执行后输出的结果是U /U。main()intarr10,i,k=0for(i=0;i10;i+)atri=ifor(i=1,i4;i+) k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_50.执行下列语句段后,x 的值是_。int*P,x;x=100:p=puts(strcat(sp,“AAAAA“);(分数:2.00)填空项 1:_52.以下程序
20、中函数 fun的功能是:统计 person所指结构体数组中所有性别(sex)为 M的记录的个数,存入变量 n中,并作为函数值返回。请填空:#includestdio.h#define N 3typedef structint mum;char nam10;char sex;SS;int fun(SS person)int i,n=0:for(i=0;iN;i+)if(_=M)n+;return n;main()SS WN=1,“AA“,F),(2,“BB“,M),3,“CC“,M);int n;n=fun(W);printf(“n=%d/n“,n);(分数:4.00)填空项 1:_53.以下程
21、序运行后的输出结果是U /U。#include stdio, hmain( )char c1 ,c2;for( el = 0, c2 =9; e1c2; c1 + + , c2 - ) printf(“ %c%c“, c1, c2 );printf(“/n“ );(分数:2.00)填空项 1:_二级 C语言笔试-441 答案解析(总分:100.50,做题时间:90 分钟)一、选择题(总题数:40,分数:67.00)1.在计算机中,算法是指_。A) 查询方法 B) 加工方法C) 解题方案的准确而完整的描述 D) 排序方法(分数:2.00)A.B.C. D.解析:评析 计算机算法是指解题方案的准确
22、而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。2.下列描述中正确的是( )A) 程序就是软件B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体D) 软件是程序、数据和相关文档的集合(分数:2.00)A.B.C.D. 解析:解析 软件是运行在计算机硬件之上的逻辑实体,包括程序、数据和相关的文档。软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。3.以下叙述正确的是_。A) 构成 C程序的基本单位是函数B) 可以在函数中定义另一个函数C) main()函数必须放在其他函数之前D) 所有被调用的函数一定要在调用之前进行定义(分数:2.00)
23、A. B.C.D.解析:解析 C 语言是由函数构成的。一个 C程序可以包含一个主函数,即 main()函数,也可以包含一个 main()函数和若干其他函数。函数是 C程序的基本单位。被调用的函数可以是系统提供的库函数,也可以是自定义的函数。从函数的形式上分为有参函数和无参函数。main()函数可以位于程序最前头,也可以位于程序结尾或中间,C 程序总是从 main()函数开始执行,不论 main()函数在程序中的位置如何。C语言中函数必须独立定义,不能在一个函数中定义另一个函数,但可以在一个函数中调用另一个函数,而且被调函数的定义可以在程序中的任何位置,不一定要在调用函数之前进行定义。若被调函数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 441 答案 解析 DOC
