欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C语言-35及答案解析.doc

    • 资源ID:1325288       资源大小:137.50KB        全文页数:27页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C语言-35及答案解析.doc

    1、二级 C 语言-35 及答案解析(总分:74.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,下列正确的程序段是U /U。 A. while(chgetchar()!N)printf(“%c“,ch); B. while(chgetchar()!N)printf(“%c“,ch); C. while(chgetchar()N)printf(“%c“,ch); D. while(chgetchar()N)printf(“%c“,ch);(分数:2.00)A.B.C.D.2.在一

    2、个 C 语言源程序文件中所定义的全局变量,其作用域为U /U。 A.所在文件的全部范围 B.所在程序的全部范围 C.所在函数的全部范围 D.由具体定义位置和 extern 说明来决定范围(分数:1.00)A.B.C.D.3.设有语句:“int a=1,b=2,*p1=”,则使指针 p1 指向变量 b 的赋值语句是_。 A. p1=*p2 B. *p1=p2 C. p1=p2 D. *p1=*p2(分数:1.00)A.B.C.D.4.为了合理组织数据,应遵循的设计原则是 U /U A. “一事一地”的原则,即一个表描述一个实体或实体之间的一种联系 B. 用外部关键字保证有关联的表之间的联系 C.

    3、 表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段 D. 以上各原则都包括(分数:1.00)A.B.C.D.5.在 16 位 IBM-PC 上使用 C 语言,若有如下定义:struct dataint i;char ch;double f;b;则结构变量 b 占用内存的字节数是U /U。 A. 1 B. 2 C. 7 D. 11(分数:2.00)A.B.C.D.6.若 w、x、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是U /U。w=2,x=3,y=4,z=5;m=(wx)?W:x:m=(mz)?m:Z;m=(my)?m:y; A. 2 B. 3 C. 5

    4、 D. 4(分数:2.00)A.B.C.D.7.假定 int 类型变量占用两个字节,若有定义:int x10=0,2,4);,贝数组 x 在内存中所占字节数是 _。 A. 3 B. 6 C. 10 D. 20 (分数:1.00)A.B.C.D.8.语句“a=2;p=b=*p+;”执行后的结果是( )。 A. a=3 b=3 B. a=2 b=2 C. a=2 b=1 D. a=2 b=3(分数:1.00)A.B.C.D.9.有以下程序#include stdio.hmain() int a=2,3,5,4,i;for(i=0;i4;i+)switch(i%2) case 0:switch(ai

    5、%2)case 0:ai+;break;case 1:ai-;break;case 1:ai=0;for(i=0;i4;i+) printf(“%d“,ai);printf(“/n“);程序运行后的输出结果是 A. 3 3 4 4 B. 2 0 5 0 C. 3 0 4 0 D. 0 3 0 4(分数:2.00)A.B.C.D.10.下列 4 项中,必须进行查询优化的是_。 A. 关系数据库 B. 网状数据库 C. 层次数据库 D. 非关系模型(分数:1.00)A.B.C.D.11.下列循环体的执行次数是U /U。#includestdio.hmain() int i,j;for(i=0 j=

    6、1;ij+1;i+=1,j-)printf(“%d/n“,j); A. 3 B. 2 C. 1 D. 0(分数:2.00)A.B.C.D.12.以下运算符中优先级最高的运算符是_。 A. + B. ?: C. != D. int b;float c;double d; A. float B. int C. char D. double(分数:1.00)A.B.C.D.14.详细设计的结果基本决定了最终程序的_。 A. 代码的规模 B. 运行速度 C. 质量 D. 可维护性(分数:1.00)A.B.C.D.15.有一个名为 ink.txt 的文件,内容如下:#define HDY(A,B) A/

    7、B#define PRINT(Y) printf(“y=%d/n.,Y)有以下程序:#include “init.txt“main()int a=1,b=2,c=3,d=4,k;K=HDY(a+c,b+d);PRINT(K);下面针对该程序的叙述正确的是_。 A. 编译有错 B. 运行出错 C. 运行结果为 y=0 D. 运行结果为 y=6(分数:2.00)A.B.C.D.16.若有说明 int i,j=2,*p= int num; void f(char * name, int num) struct STU s2= “ SunDan“, 20044, “ Penghua“, 20045;

    8、num=s0.num; strcpy(name, s0.name); main() struct STU s2= “YangSan“, 20041, “ LiSiGuo“, 20042 , * p; p=s1; f(p-name, p-num); printf(“ % s % d/n“, p- name, p-num); 程序运行后的输出结果是 A. SunDan 20042 B. SunDan 20044 C. LiSiGuo 20042 D. YangSan 20041(分数:2.00)A.B.C.D.18.数据库管理系统中用来定义模式、内模式和外模式的语言为 A. C B. Basic

    9、C. DDL D. DML(分数:1.00)A.B.C.D.19.若 fp 是指向某文件的指针,且已读到文件末尾,则函数 feof(fp)的返回值是 A. EOF B. -1 C. 1 D. NULL(分数:1.00)A.B.C.D.20.下列叙述中,不属于测试的特征的是 A. 测试的挑剔性 B. 完全测试的不可能性 C. 测试的可靠性 D. 测试的经济性(分数:2.00)A.B.C.D.21.若有说明语句:double *p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是 U /U。 A. *p=scanf(“%1f“,p); B. *p=scanf(“%f“,p); C. p

    10、=scanf(“%1f“,*p); D. p=scanf(“%1f“,p);(分数:2.00)A.B.C.D.22.分析下面函数swap(int *p1,*p2)int *p;*p*p1;*p1*p2;*p2=*p;则该程序功能为 U /U A. 交换*p1 和*p2 的值 B. 正确,但无法改变*p1 和*p2 的值 C. 交换*p1 和*p2 的地址 D. 可能造成系统故障,因为使用了空指针(分数:1.00)A.B.C.D.23.设有定义:int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是U /U。 A. *p=*q; B. p=q; C. *p= D. p=*q;

    11、(分数:1.00)A.B.C.D.24.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是 A. 编辑软件 B. 操作系统 C. 教务管理系统 D. 浏览器(分数:2.00)A.B.C.D.25.以下叙述中正确的是 _。 A. C 语言的源程序不必通过编译就可以直接运行 B. C 语言中的每条可执行语句最终都将被转换成二进制的机器指令 C. C 源程序经编译形成的二进制代码可以直接运行 D. C 语言中的函数不可以单独进行编译(分数:2.00)A.B.C.D.26.下列关于线性链表的描述中正确的是U /U。 A. 存储空间不一定连续,且各元素的存储顺序是任意的

    12、 B. 存储空间不一定连续,且前件元素一定存储在后件元素的前面 C. 存储空间必须连续,且各前件元素一定存储在后件元素的前面 D. 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A.B.C.D.27.以下叙述中,正确的是_。 A. 输入项可以是一个实型常量,如 scanf(“%f,3.5): B. 只有格式控制,没有输入项,能正确输入数据到内存,例如: scanf(“a=d, b=%d”); C. 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf(“%4.2f“, puts(ps+4); *(ps+4)=0; puts(s); 程序运行后的输出结果是

    13、(选项 D 中的第一行是空行) A)n/No Yes /No B)/No Yes C)n/NO Yes /No D)/No Yes(分数:1.00)A.B.C.D.32.执行以下的程序段后,m 的值是_。int a23=1,2,3,4,5,6;int m,*p;P= A. 4 B. 5 C. 3 D. 不确定(分数:2.00)A.B.C.D.33.设整型数 i=5,则 printf(“%d“i+i);的输出为_。 A. 10 B. 11 C. 12 D. 语法错误(分数:2.00)A.B.C.D.34.有以下程序#includestdio.hmain() int b33=0,1,2,0,1,2

    14、,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=i;j+)t+=bibji;printf(“%d/n“,t);程序运行后的输出结果是_。 A.4 B.3 C.1 D.9(分数:2.00)A.B.C.D.35.若有定义:int a23;,以下选项中对 a 数组元素正确引用的是U /U。 A. a21 B. a23 C. a03 D. a12!1(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:23.00)36.以下程序运行后的输出结果是U U /U /U。 void fun(int x,int y) x=x+y;Y=x-y;x=x-y; pri

    15、ntf(“%d,%d”,x,y); main() int x=2,y=3; fun(x,y); printf(“%d,%d/n”,x,y); (分数:1.00)填空项 1:_37.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda,请填空。 #includestring.h char*huiwen(char*str) char*p1,*p2;int i,t=0; p1=str;p2=_; for(i=0;i=strlen(str)/2;i+)

    16、 if(*p1+!=*p2-)t=1;break; if(t=0)return(“yes!“); else return(“no!“); main() char str50; printf(“Input:“);scanf(“%s“,str); printf(“%s/n“,huiwen(str); (分数:2.00)填空项 1:_38.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_39.在面向对象的程序设计中,类描述的是具有相似性质的一组U U /U /U。(分数:1.00)填空项 1:_40.以下程序的输出结果是_。 #include stdio.h void s

    17、wap(int *a, int *b) int *t; t=a;a=b;b=t; main( ) int i=3,j=5,*p=i,*q=j; swap(p,q); printf(“%d %d/n“,*p,*q); (分数:2.00)填空项 1:_41.C 语言中用 1 表示逻辑值为“真”,用数字“0”表示逻辑值为“假”。(分数:2.00)填空项 1:_42.以下程序的输出结果是U U /U /U。 main() int arr=30,25,20,15,10,5,*p=arr; p+; printf(“%d/n“,*(p+3); (分数:1.00)填空项 1:_43.在算法的 4 个特性中,算

    18、法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_44.以下程序中用户由键盘输入一个文件名,然后输入一串字符(用$结束输入)存放到此文件中,形成文本文件,并将字符的个数写到文件尾部。请填空。 #include string.h main() FILE*fp: char ch,fname32 int count=0: prinft(“input the filename:“): scanf(“%s“,fname); if(fp=fopen(_,“w+“)=NULL) printf(“cant open file:%s/n“,fname); exit(0):

    19、printf(“enter data:/n“): while(ch=getchar()!=) fputc(ch,fp): count+; fprintf(_,“/n%d/n“, count); fclose(fp): (分数:1.00)填空项 1:_45.以下程序的输出结果是_。 main() int a=5,b=4,c=3,d; d=(abC) ; printf(“%d/n”,D) ; (分数:1.00)填空项 1:_46.设有定义: struct person int ID; char name12; P; 请将 scanf(“%d“, _);语句补充完整,使其能够为结构体变量 P 的成员

    20、 ID 正确读入数据。(分数:2.00)填空项 1:_47.设 Y 是 int 型变量,请写出判断 Y 为奇数的关系表达式U U /U /U。(分数:2.00)填空项 1:_48.四条语句:x+;、+x;、x=x+1;、x=1+x;,执行后都使变量 x 中的值增 1,请写出一条同一功能的赋值语句(不得与列举的相同)U U /U /U。(分数:1.00)填空项 1:_49.以下程序段打开文件后,先利用 fseek 函数将文件位置指针定位在文件末尾,然后调用 ftell 函数返回当前文件位置指针的具体位置,从而确定文件长度。请填空。 FILE *myf; long f1; myf=_(“test,

    21、t“,“rb“); fseek(myf,0,SEEK_END) ;f1=ftell(myf); fclose(myf); printf(“%1d/n“,f1);(分数:1.00)填空项 1:_50.数据结构分为逻辑结构与存储结构,线性链表属于 1。(分数:2.00)填空项 1:_二级 C 语言-35 答案解析(总分:74.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,下列正确的程序段是U /U。 A. while(chgetchar()!N)printf(“%c“,ch);

    22、 B. while(chgetchar()!N)printf(“%c“,ch); C. while(chgetchar()N)printf(“%c“,ch); D. while(chgetchar()N)printf(“%c“,ch);(分数:2.00)A. B.C.D.解析:解析 while 循环的执行过程如下:计算 while 后面圆括号中表达式的值。当值为非 0 时,执行步骤 2;当值为 0 时,执行步骤 4。执行循环体一次。转去执行步骤 1。退出循环。在选项 A)中,表达式(chgetchar()!:N表示输入的字符不等于 N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。

    23、如果这个条件表达式不成立,即输入的字符等于 N,则退出循环。所以选项 A)为正确答案。2.在一个 C 语言源程序文件中所定义的全局变量,其作用域为U /U。 A.所在文件的全部范围 B.所在程序的全部范围 C.所在函数的全部范围 D.由具体定义位置和 extern 说明来决定范围(分数:1.00)A.B.C.D. 解析:解析 全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始到整个源文件结束止。当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用 extern 对此全局变量进行说明,以便通知编译程序该变量是一个已在外部定义了的全局变量,这时全局变量的作用域从

    24、extern 说明处起,延伸到该函数末尾。3.设有语句:“int a=1,b=2,*p1=”,则使指针 p1 指向变量 b 的赋值语句是_。 A. p1=*p2 B. *p1=p2 C. p1=p2 D. *p1=*p2(分数:1.00)A.B.C.D. 解析:解析 对于定义 int *p,*q;,可以通过赋值语句 p=q;,把指针变量 q 中的地址值赋给指针变量p,从而使这两个指针变量指向同一地址。4.为了合理组织数据,应遵循的设计原则是 U /U A. “一事一地”的原则,即一个表描述一个实体或实体之间的一种联系 B. 用外部关键字保证有关联的表之间的联系 C. 表中的字段必须是原始数据和

    25、基本数据元素,并避免在表之间出现重复字段 D. 以上各原则都包括(分数:1.00)A.B.C.D. 解析:5.在 16 位 IBM-PC 上使用 C 语言,若有如下定义:struct dataint i;char ch;double f;b;则结构变量 b 占用内存的字节数是U /U。 A. 1 B. 2 C. 7 D. 11(分数:2.00)A.B.C.D. 解析:解析 结构体变量所占用内存的字节数是其所有成员所占用内存字节数之和。本题中整型变量 i所占用的内存是 2 字节,字符型变量 ch 所占用的内存是 1 字节,双精度型变量 f 所占用的内存是 8 字节,三者相加即可。6.若 w、x、

    26、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是U /U。w=2,x=3,y=4,z=5;m=(wx)?W:x:m=(mz)?m:Z;m=(my)?m:y; A. 2 B. 3 C. 5 D. 4(分数:2.00)A. B.C.D.解析:解析 条件表达式“a?b:c”的含义是:当 a 为真时,其值等于表达式 b 的值,当 a 为假时,其值等于表达式 c 的值。 表达式运算过程:第 1 个表达式:w=2x=3 为真,所以返回 w 的值,即 m=w=2;第2 个表达式:m=2z=5 为真,所以返回 m 的值,即 m=2;第 3 个表达式:w=2y4 为真,所以返回 m 的值,即 m

    27、=2。7.假定 int 类型变量占用两个字节,若有定义:int x10=0,2,4);,贝数组 x 在内存中所占字节数是 _。 A. 3 B. 6 C. 10 D. 20 (分数:1.00)A.B.C.D. 解析:解析 当数组定义后,系统就为其分配内存空间,而不论其中有没有内容。因此,本题中数组x(10)不论是否为其元素初始化,它所分配的存储空间仍为 2*10=20 个字节。8.语句“a=2;p=b=*p+;”执行后的结果是( )。 A. a=3 b=3 B. a=2 b=2 C. a=2 b=1 D. a=2 b=3(分数:1.00)A.B. C.D.解析:解析 执行 p=for(i=0 j

    28、=1;ij+1;i+=1,j-)printf(“%d/n“,j); A. 3 B. 2 C. 1 D. 0(分数:2.00)A.B.C. D.解析:解析 本题考查 for 循环。第一次循环前先判断循环条件,此时 i=0,j=1,ij+1 成立,循环第一次;第二次循环前先判断循环条件,此时 i=1,j=0,(j-是先使用 j 的值再减 1),ij+1 不成立,结束循环。12.以下运算符中优先级最高的运算符是_。 A. + B. ?: C. != D. int b;float c;double d; A. float B. int C. char D. double(分数:1.00)A.B.C.D

    29、. 解析:解析 在 C 语言中,不同数据类型的数据运算时要先转换成相同的数据类型再参与运算。在上述表达式中,字符型先转换成整数得到 a*b,整数再转换成双精度型执行+d,单精度 float 型数据 c 先转换成双精度 double 型数据后参与减法运算。结果是 double 型。14.详细设计的结果基本决定了最终程序的_。 A. 代码的规模 B. 运行速度 C. 质量 D. 可维护性(分数:1.00)A.B.C. D.解析:解析 详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,但详细设计阶段的任务还不是具体的编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程

    30、序代码。因此,详细设计阶段的结果基本上就决定了最终的程序代码的质量。15.有一个名为 ink.txt 的文件,内容如下:#define HDY(A,B) A/B#define PRINT(Y) printf(“y=%d/n.,Y)有以下程序:#include “init.txt“main()int a=1,b=2,c=3,d=4,k;K=HDY(a+c,b+d);PRINT(K);下面针对该程序的叙述正确的是_。 A. 编译有错 B. 运行出错 C. 运行结果为 y=0 D. 运行结果为 y=6(分数:2.00)A.B.C.D. 解析:解析 本题考核的是带参数的宏定义,宏替换后,表达式“K=H

    31、DY(a+c,b+d);”即变为k=a+c/b+d=6。16.若有说明 int i,j=2,*p= int num; void f(char * name, int num) struct STU s2= “ SunDan“, 20044, “ Penghua“, 20045; num=s0.num; strcpy(name, s0.name); main() struct STU s2= “YangSan“, 20041, “ LiSiGuo“, 20042 , * p; p=s1; f(p-name, p-num); printf(“ % s % d/n“, p- name, p-num)

    32、; 程序运行后的输出结果是 A. SunDan 20042 B. SunDan 20044 C. LiSiGuo 20042 D. YangSan 20041(分数:2.00)A. B.C.D.解析:解析 本题考查的是结构体。主函数中定义了结构体类型的指针变量 p,并使其指向结构体类型的数组 s1,并通过调用函数 f 改变指针变量 p 所指向的结构体中成员变量 name 的值,但并未改变其num 的值。这是因为函数 f 中的形参 nam。是一个字符型指针变量,它指向主函数中指针变量 p 所指向的结构体的成员变量 name,所以对函数 f 中的形参*name。的改变也就是对主函数中 p-name

    33、 的改变,而函数 f 中对形参 num 的改变并不会影响主函数中 p-num 的值,因为此时传递给 num 的是一个值,而不是地址。18.数据库管理系统中用来定义模式、内模式和外模式的语言为 A. C B. Basic C. DDL D. DML(分数:1.00)A.B.C. D.解析:解析 选项 A)、B)显然不合题意。数据定义语言(Data Definition Language,简称 DDL)负责数据的模式定义与数据的物理存取构建;数据操纵语言 (Data Manipulation Language,简称 DML)负责数据的操纵,包括增、删、改等操作。19.若 fp 是指向某文件的指针,

    34、且已读到文件末尾,则函数 feof(fp)的返回值是 A. EOF B. -1 C. 1 D. NULL(分数:1.00)A.B.C. D.解析:解析 EOF 是指向文本文件的结束标志,NULL 是打开文件错误时的返回值。feof(fp)用来判断文件是否在文件末尾,文本文件和二进制文件均可以使用此函数,如果遇到文件结束就返回 1,否则返回0。20.下列叙述中,不属于测试的特征的是 A. 测试的挑剔性 B. 完全测试的不可能性 C. 测试的可靠性 D. 测试的经济性(分数:2.00)A.B.C. D.解析:解析 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定

    35、。它有 3 个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中,没有测试的可靠性这一说法。21.若有说明语句:double *p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是 U /U。 A. *p=scanf(“%1f“,p); B. *p=scanf(“%f“,p); C. p=scanf(“%1f“,*p); D. p=scanf(“%1f“,p);(分数:2.00)A.B.C.D. 解析:解析 double*p,a;语句表示定义了一个指向双精度型的指针变量 p 和双精度型变量 a,而语句p=*p*p1;*p1*p2;*p2=*p;则该程序功能为 U

    36、 /U A. 交换*p1 和*p2 的值 B. 正确,但无法改变*p1 和*p2 的值 C. 交换*p1 和*p2 的地址 D. 可能造成系统故障,因为使用了空指针(分数:1.00)A.B.C.D. 解析:23.设有定义:int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是U /U。 A. *p=*q; B. p=q; C. *p= D. p=*q;(分数:1.00)A. B.C.D.解析:解析 题目中定义了两个变量 n1 和 n2,又定义了两个指针 p 和 q 分别指向变量 n2 和 n1。要通过指针实现 n2=n1,就是要将 q 所指内容赋给 p 所指内容,即*p=*

    37、q。所以应该选择 A。24.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是 A. 编辑软件 B. 操作系统 C. 教务管理系统 D. 浏览器(分数:2.00)A.B. C.D.解析:解析 编辑软件、教务管理软件属于应用软件,操作系统属于系统软件,浏览器属于支撑软件,故本题答案选 B。25.以下叙述中正确的是 _。 A. C 语言的源程序不必通过编译就可以直接运行 B. C 语言中的每条可执行语句最终都将被转换成二进制的机器指令 C. C 源程序经编译形成的二进制代码可以直接运行 D. C 语言中的函数不可以单独进行编译(分数:2.00)A.B. C.D.解

    38、析:解析 C 语言编写的程序必须经过编译、连接后才可以执行,选项 A 错误;C 语言编译后生成的二进制代码是目标文件,需进一步连接生成.exe 文件方可执行,选项 C 错误;C 语言中函数可以单独编译。26.下列关于线性链表的描述中正确的是U /U。 A. 存储空间不一定连续,且各元素的存储顺序是任意的 B. 存储空间不一定连续,且前件元素一定存储在后件元素的前面 C. 存储空间必须连续,且各前件元素一定存储在后件元素的前面 D. 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A. B.C.D.解析:解析 线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连

    39、续的,也可能是不连续的。27.以下叙述中,正确的是_。 A. 输入项可以是一个实型常量,如 scanf(“%f,3.5): B. 只有格式控制,没有输入项,能正确输入数据到内存,例如: scanf(“a=d, b=%d”); C. 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf(“%4.2f“, puts(ps+4); *(ps+4)=0; puts(s); 程序运行后的输出结果是(选项 D 中的第一行是空行) A)n/No Yes /No B)/No Yes C)n/NO Yes /No D)/No Yes(分数:1.00)A.B. C.D.解析:解析 C 语言

    40、类型的字符串中“”为转义字符, n 表示回车符,所以 ps+4 输出的是回车符后的字符串,即为No,* (ps+4) = 0 把第 5 个字符赋为 0,是字符串的结束符,所以最后输出的字符串32.执行以下的程序段后,m 的值是_。int a23=1,2,3,4,5,6;int m,*p;P= A. 4 B. 5 C. 3 D. 不确定(分数:2.00)A.B. C.D.解析:评析;程序中定义了一个指向整型变量的指针变量,并对其赋值为二维整型数组 a 的首元素的地址。p4等价于*(p+4),即二维数组 a 中第四个元素的值,而 a 是一个 2*3 的二维数组,其第四个元素为 a11,即 5。33

    41、.设整型数 i=5,则 printf(“%d“i+i);的输出为_。 A. 10 B. 11 C. 12 D. 语法错误(分数:2.00)A.B.C.D. 解析:解析 C 语言中有基本的算术运算符(+、-、*、/)还包括自增自减运算符(+、-),在 C 语言解析表达式时,它总是进行贪婪咀嚼,这佯,该表达式就被解析为 i+ + +i,显然该表达式不合 C 语言语法。34.有以下程序#includestdio.hmain() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=i;j+)t+=bibji;printf(“%d/n“,t

    42、);程序运行后的输出结果是_。 A.4 B.3 C.1 D.9(分数:2.00)A. B.C.D.解析:解析 每次内循环只循环一次就结束,第一次外循环时 t=t+b0b00=1+b00=1+0=1;第二次外循环时 t=t+b1b11=1+b11=1+1=2;第三次外循环时 t=t+b2b22=2+b22=2+2=4。故本题答案为 A。35.若有定义:int a23;,以下选项中对 a 数组元素正确引用的是U /U。 A. a21 B. a23 C. a03 D. a12!1(分数:2.00)A.B.C.D. 解析:解析 C 语言中数组下标是从 0 开始的,所以二维数组 a23的第一维下标取值为

    43、 0、1;第二维的下标取值为 0、1、2,因而选项 A)、B)、C)都是错误的,选项 D)表示数组元素 a00。二、B填空题/B(总题数:15,分数:23.00)36.以下程序运行后的输出结果是U U /U /U。 void fun(int x,int y) x=x+y;Y=x-y;x=x-y; printf(“%d,%d”,x,y); main() int x=2,y=3; fun(x,y); printf(“%d,%d/n”,x,y); (分数:1.00)填空项 1:_ (正确答案:3,2,2,3)解析:解析 主函数中首先定义了整型变量 x 和 y,并分别给它们赋初值为 2 和 3,接着调

    44、用 fun()函数,fun()函数把实参 x 和 y 的值传给形式参数 x 和 y,实参和形参不再有联系。在 fun()函数中,通过运算使x 和 y 的值交换过来,所以 fun()函数中的输出结果是“3, 2”。fun()函数调用返回输出 x 和 y 依然是原来的 x 和 y,为“2,3”。原因是变量作为形参传值的,对形参的修改并不影响对应的实参。所以最后输出为 3,2,2,3。37.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda,请填空。 #includestring.h char*huiwen(char*str) char*p1,*p2;int i,t=0; p1=str;p2=_


    注意事项

    本文(【计算机类职业资格】二级C语言-35及答案解析.doc)为本站会员(registerpick115)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开