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

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

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

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

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

    1、二级 C 语言-38 及答案解析(总分:76.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:47.00)1.有以下计算公式(分数:1.00)A.B.C.D.2.若变量已正确定义并赋值,以下符合 C 语言语法的表达式是 A. a:=b+1 B. a=b=c+2 C. int 18.5%3 D. a=a+7=c+b(分数:1.00)A.B.C.D.3.若有以下定义;char a;int b; float c;double d;则表达式“a*b+d-c”值的类型为 U /U A. float B. int C. char D. double(分数:1.00)A.B.C.D.4.设

    2、有定义语句int x6=2,4,6,8.5,7),*p=x,i;要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是_。 A. for(i=0;i6;i+) printf(“%2d“,*(p+); B. for(i=0;i6;i+) prinff(“%2d“,*(p+i); C. for(i=0;i6;i+) printf(“%2d“,*p+); D. for(i=0;i6;i+) printf(“%2d“,(*p)+);(分数:1.00)A.B.C.D.5.以下不合法的数值常量是_。 A. 011 B. le1 C. 8.0E0.5 D. 0xabcd(分数:1.00)A.B.C

    3、.D.6.有以下程序main()int x,y,z;x=y=1;z=x,y,y;printf(“%d,%d,%d/n“,x,y,z);程序运行后的输出结果是_。 A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,1(分数:1.00)A.B.C.D.7.以理对枚举类型名的定义中正确的是 _。 A. enum a=one, two, three); B. enum a one=9, two=1three; C. enum a=“one“, “two“, “three“; D. enum a “one“, “two“. “three“;(分数:2.00)A.B.C.D.8.有以下程

    4、序段char ch; int kch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是 A. 因变量类型与格式描述符的类型不匹配输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C. a,97,12k=12 D. a,97,k=12(分数:1.00)A.B.C.D.9.有以下程序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“

    5、,x);程序执行后的输出结果是 A. x=4 B. x=8 C. x=6 D. x=12(分数:2.00)A.B.C.D.10.有以下程序main() int i=1,j=2,k=3;if(i+=1(+j=3|k+=3)printf(“%d %d %d/n“,i,j,k);程序运行后的输出结果是_。 A. 1 2 3 B. 2 3 4 C. 2 2 3 D. 2 3 3(分数:1.00)A.B.C.D.11.以下程序的输出结果是_。main() int i,x33=9,8,7,6,5,4,3,2,1,*p=for(i=0;i4;i+=2)printf(“%d “,pi); A. 5 2 B.

    6、5 1 C. 5 3 D. 9 7(分数:1.00)A.B.C.D.12.若有定义 float a=25,b,*p=,则下列对赋值语句*p=a;和 p=的正确解释为U /U。 A. 两个语句都是将变量 a 的值赋予变量 p B. *p=a 是使 p 指向变量 a,而 p=num=s0num;strcpy(name,s0name);main()struct STU s2=“YangSall“,20041,“LiSiGao“,20042,*p;p= B. int a3=2*3; C. int a3=; D. int a23=1),2,3,4);(分数:1.00)A.B.C.D.20.在长度为 64

    7、 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。 A. 63 B. 64 C. 6 D. 7(分数:2.00)A.B.C.D.21.有以下程序#define f(x) x*xmain( ) int i;i=f(4+4)/f(2+2);printf(“%d/n”,i); 执行后输出结果是( ) A.28 B.22 C.16 D.4 (分数:1.00)A.B.C.D.22.下列选项中不符合良好程序设计风格的是_。 A. 源程序要文档化 B. 数据说明的次序要规范化 C. 避免滥用 go to 语句 D. 模块设计要保证高耦合,高内聚(分数:2.00)A.B.C.D.23.有以下程序#i

    8、ncludestdio.hmain() int a=5,b=lt;t=(a2)|b;printf(“%d/n“,t);程序运行后的输出结果是_。 A. 21 B. 11 C. 6 D. 1(分数:2.00)A.B.C.D.24.在计算机中,一个字节所包含二进制位的个数是 A)2 B)4 C)8 D)16(分数:1.00)A.B.C.D.25.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是_。 A. a=(b=4)=3; B. a=b=c+1; C. a=(b=4)+c; D. a=1+(b=c=4);(分数:1.00)A.B.C.D.26.若变量已正确定义,下列正

    9、确的程序段是U /U。 A. while(ch=getchar()=/N)putchar(ch); B. while(ch=getchar()=/n)putchar(ch); C. while(ch=getchar()!=/N)putchar(ch); D. while(ch=getchar()!=/n)putchar(ch);(分数:2.00)A.B.C.D.27.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是U /U。 A.函数的实参和其对应的形参共占同一存储单元 B.形参只是形式上的存在,不占用具体存储单元 C.同名的实参和形参占同一存储单元 D.函数的形参和实参分别

    10、占用不同的存储单元(分数:1.00)A.B.C.D.28.下列选项中不属于软件生命周期开发阶段任务的是U /U。 A. 软件测试 B. 概要设计 C. 软件维护 D. 详细设计(分数:2.00)A.B.C.D.29.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是 A. 一对一 B. 一对多 C. 多对多 D. 多对一(分数:2.00)A.B.C.D.30.下列程序的运行结果是U /U。main() int a=-5,b=1,c=1;int x=0,Y=2,z=0;if(c0)x=x+ y;if(a=0) if(b0)if(c=0)y=x-y;

    11、else if(c0)Y=x-y;else z=y;printf(“%d,%d,%d/n“,x,y,z); A. 2,2,0 B. 2,2,2 C. 0,2,0 D. 2,0,2(分数:1.00)A.B.C.D.31.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是 A. 1 B. 2 C. 3 D. 4(分数:1.00)A.B.C.D.32.有以下程序:#includestdio.h#includestring.htypedef struct char name9;char sex;float score2;STU;void f(STU

    12、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);程序的运行结果是_。 A. Qian,f,95,92 B. Qian,m,85,90 C. Zhao,f,95,92 D. Zhao,m,85,90(分数:2.00)A.B.C.D.33.以下正确的函

    13、数头定义形式是 A) double fun(int x,int y) B) double fun(int x;int y) C) double fun(int x,int y);D) double fun(int x,y);(分数:2.00)A.B.C.D.34.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是U /U。 A. strcpy(s1,s2) B. strcpy(s1, “ABCDE“); C. s1=“ABCDE“; D. for(i=0;i6;i+) s1i=s2i;(分数

    14、:1.00)A.B.C.D.35.已知字母 A 的 ASCII 码为十进制的 65,下面程序main() char ch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(“%d,%c/n“,ch1,ch2);的输出是_。 A. 67,D B. B,C C. C,D D. 不确定的值 (分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:29.00)36.以下程序运行后的输出结果是U U /U /U。 main() int p=30; printf(“%d/n“,(p/30?p/10:p%3); (分数:1.00)填空项 1:_37.以下程序中,函数 fun 的

    15、功能是计算 x2-2x+6,主函数中将调用 fun 函数计算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。double fun(double x)return(x*x-2*x+6);double x,y1,y2;printf(“Enter x:“);scanf(“%lf“, max=a0 0; for (i=0;i3;i+) for (j=0; j4; j+) if (maxa i j) max=ai j; row=i; colum=j; printf(“max=%-5d row=%-3d colum=%-3d/n“,max, row, colum);

    16、(分数:4.00)填空项 1:_40.以下程序的功能是:对输入的一行字符串的数字字符按它们的字面值累加,输出此累加和。例如,输入一行字符是:ab34dh8u,输出值应当是 15。请填空。 #include stdio.h #include ctype.h main() char ch; int a,s; _; while(ch=getchar()_) if( isdigit (ch) a=_;s+=a; printf(“s=%d/n/n“,s);(分数:1.00)填空项 1:_41.在树形结构中,树根结点没有U U /U /U。(分数:2.00)填空项 1:_42.在算法正确的前提下,评价一个

    17、算法的两个标准是空间复杂度和 1。(分数:2.00)填空项 1:_43.下列程序的输出结果是_。 long fun5(int n) ( long s; if(n=l)(n=2) s=2; else s=n+fun5(n-1); return(s); main() long x; x=fun5(4); printf(%1d/n“,x);(分数:2.00)填空项 1:_44.若 x 为 int 类型,请写出与!x 等价的 C 语言表达式 1。(分数:2.00)填空项 1:_45.软件设计模块化的目的是U U /U /U。(分数:1.00)填空项 1:_46.下列程序的输出结果是_。 #includ

    18、estdioh main() char b=“Hello you“; b5 =0; printf(“%s/n“,b); (分数:2.00)填空项 1:_47.以下程序运行后的输出结果是U U /U /U。 fun(int x) if(x/20)fun(x/2); printf(“%d“,x); main() fun(6);(分数:1.00)填空项 1:_48.一个关系表的行称为 1。(分数:2.00)填空项 1:_49.已有定义:char c= ;int a=1,b;(此处 c 的初值为空格字符),执行 b=!c float c;double d;则表达式“a*b+d-c”值的类型为 U /U

    19、 A. float B. int C. char D. double(分数:1.00)A.B.C.D. 解析:4.设有定义语句int x6=2,4,6,8.5,7),*p=x,i;要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是_。 A. for(i=0;i6;i+) printf(“%2d“,*(p+); B. for(i=0;i6;i+) prinff(“%2d“,*(p+i); C. for(i=0;i6;i+) printf(“%2d“,*p+); D. for(i=0;i6;i+) printf(“%2d“,(*p)+);(分数:1.00)A.B.C.D. 解析:解析

    20、 选项 A、B、C 显然都能够正确输出数组 x 中的元素,但是在 D 选项中,该程序一共输出了六次数组 x 中的第一个元素自加 1 的值,因此是错误的。5.以下不合法的数值常量是_。 A. 011 B. le1 C. 8.0E0.5 D. 0xabcd(分数:1.00)A.B.C. D.解析:评析:数值常量区分为不同的类型,如 12、0、-3 为整型常量,4.6、-123 为实型常量,a,A为字符常量。实数常量有两种表示形式:十进制小数形式和指数形式。用指数形式表示必须注意字母e(或 E)之前必须有数字,且 e(或 E)后面的指数必须为整数。如:e3、7e3.5、8.0E0.5 都是不合法的。

    21、6.有以下程序main()int x,y,z;x=y=1;z=x,y,y;printf(“%d,%d,%d/n“,x,y,z);程序运行后的输出结果是_。 A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,1(分数:1.00)A.B.C. D.解析:评析:x:表示在使用 x 之后,使 x 的值加 1;y:表示在使用 y 之后,使 y 的值加1;y:表示在使用 y 之前,使 y 的值加 1。此题中执行 z=x,是将 x 的值先赋给 z,所以 z=1,接下来 x 自行加 1,其结果为 2:执行 y后,y=2,执行后,y=3;故答案选 C。7.以理对枚举类型名的定义中正确的是 _。

    22、 A. enum a=one, two, three); B. enum a one=9, two=1three; C. enum a=“one“, “two“, “three“; D. enum a “one“, “two“. “three“;(分数:2.00)A.B. C.D.解析:解析 声明枚举类型用 enum 开头。例如:enum weekday(sun,mon,tue,wed,thu,fri,sat); 说明:1、在 C 编译中,对枚举元素按常量处理,同时可以改变他们的值。2、枚举值可以用来做判断比较。3、一个整数不能直接赋给一个枚举变量。8.有以下程序段char ch; int k

    23、ch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是 A. 因变量类型与格式描述符的类型不匹配输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C. a,97,12k=12 D. a,97,k=12(分数:1.00)A.B.C.D. 解析:解析 输出格式控制符%c 表示将变量以字符的形式输出;输出格式控制符%d 表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为 a,97;第二个输出语句输出的结果为 k=12。9.有以下程序mai

    24、n()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);程序执行后的输出结果是 A. x=4 B. x=8 C. x=6 D. x=12(分数:2.00)A.B. C.D.解析:解析 此程序考查了 for 循环和 x+。对于大循环,有两个 x+,其中循环 3 次,对于小循环,循环三次,但是运行了两次 x+,所以最后结果是 6+2=8。10.有以下程序main() int i=1,j=2,k=3;if(i+=1(+j=3|k+=3)printf(“%d %d %d/n“,i,j

    25、,k);程序运行后的输出结果是_。 A. 1 2 3 B. 2 3 4 C. 2 2 3 D. 2 3 3(分数:1.00)A.B.C.D. 解析:11.以下程序的输出结果是_。main() int i,x33=9,8,7,6,5,4,3,2,1,*p=for(i=0;i4;i+=2)printf(“%d “,pi); A. 5 2 B. 5 1 C. 5 3 D. 9 7(分数:1.00)A.B.C. D.解析:解析 首先使指针 p 指向 x11,即 5,然后通过循环输出 p0和 p2。12.若有定义 float a=25,b,*p=,则下列对赋值语句*p=a;和 p=的正确解释为U /U。

    26、 A. 两个语句都是将变量 a 的值赋予变量 p B. *p=a 是使 p 指向变量 a,而 p=num=s0num;strcpy(name,s0name);main()struct STU s2=“YangSall“,20041,“LiSiGao“,20042,*p;p= B. int a3=2*3; C. int a3=; D. int a23=1),2,3,4);(分数:1.00)A.B.C.D. 解析:解析 本题中,A、B、C 选项犯了同样的错误,没有对数组 a 的第一个下标进行初始化,不能正确地申请空间,因此是错误的,而在 D 选项中,数组的存放形式是:1,0,0),2,0,0,3,

    27、4,0。20.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。 A. 63 B. 64 C. 6 D. 7(分数:2.00)A.B. C.D.解析:解析 对于长度为 n 的有序线性表,在最坏情况下,顺序查找需要比较 n 次。21.有以下程序#define f(x) x*xmain( ) int i;i=f(4+4)/f(2+2);printf(“%d/n”,i); 执行后输出结果是( ) A.28 B.22 C.16 D.4 (分数:1.00)A. B.C.D.解析:解析 f(4+4)f(2+2)=4+4*4+42+2*2+2=28。22.下列选项中不符合良好程序设计

    28、风格的是_。 A. 源程序要文档化 B. 数据说明的次序要规范化 C. 避免滥用 go to 语句 D. 模块设计要保证高耦合,高内聚(分数:2.00)A.B.C.D. 解析:23.有以下程序#includestdio.hmain() int a=5,b=lt;t=(a2)|b;printf(“%d/n“,t);程序运行后的输出结果是_。 A. 21 B. 11 C. 6 D. 1(分数:2.00)A. B.C.D.解析:解析 本题主要考查了 C 语言的逻辑运算符,先将变量 a,b 的值转换为 2 进制数,a=00000101,b=00000001,a 先左移 2 位结果为 00010100,

    29、再与 b 按位或运算,结果为 00010101,转换为十进制数为 21,因此,选项 A 是正确的。24.在计算机中,一个字节所包含二进制位的个数是 A)2 B)4 C)8 D)16(分数:1.00)A.B.C. D.解析:解析 在表示数据位数时,把 8 位二进制数称为一个字节。25.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是_。 A. a=(b=4)=3; B. a=b=c+1; C. a=(b=4)+c; D. a=1+(b=c=4);(分数:1.00)A. B.C.D.解析:解析 此题考查 C 语言中赋值表达式的概念。用一个赋值运算符“=”将一个变量和一个

    30、表达式连接起来的式子称为赋值表达式。选项 A 中缺少表达式。26.若变量已正确定义,下列正确的程序段是U /U。 A. while(ch=getchar()=/N)putchar(ch); B. while(ch=getchar()=/n)putchar(ch); C. while(ch=getchar()!=/N)putchar(ch); D. while(ch=getchar()!=/n)putchar(ch);(分数:2.00)A.B.C.D. 解析:解析 本题考查两个知识点:C 语言用/n这个字符常量表示换行;getchar 函数的作用是从终端输入一个字符,当遇到换行时结束输入。27.

    31、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是U /U。 A.函数的实参和其对应的形参共占同一存储单元 B.形参只是形式上的存在,不占用具体存储单元 C.同名的实参和形参占同一存储单元 D.函数的形参和实参分别占用不同的存储单元(分数:1.00)A.B.C.D. 解析:解析 在 C 语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。28.下列选项中不属于软件生命周期开发阶段任务的是U /U。 A. 软件测试 B. 概要设计 C. 软件维护 D. 详细设计(分数:2.00)A.B.C. D.解析:解析 软件的生命周期可分为软件定义、软件开发及软件运行维护 3 个阶段

    32、。其中软件定义阶段的主要工作有可行性研究与计划制定和需求分析等:软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运行维护阶段的主要工作是软件的运行及后期的维护等。29.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是 A. 一对一 B. 一对多 C. 多对多 D. 多对一(分数:2.00)A.B.C. D.解析:解析 本题考查实体之间的联系。实体集之间的联系没有多对一,所以排除选项 D。用于一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,所以实体工作人员与实体计算机之间的联系是多对多。30.下列程序的运行结果是U /U。ma

    33、in() int a=-5,b=1,c=1;int x=0,Y=2,z=0;if(c0)x=x+ y;if(a=0) if(b0)if(c=0)y=x-y;else if(c0)Y=x-y;else z=y;printf(“%d,%d,%d/n“,x,y,z); A. 2,2,0 B. 2,2,2 C. 0,2,0 D. 2,0,2(分数:1.00)A. B.C.D.解析:解析 本题考查 if else 语句的使用。 先判断第 1 个 if 语句,因为 c=10,所以 x=x+ y=0+2=2。第 1 个 if 语句,因为 a=-50,所以进入下列的复合语句。经判断发现,复合语句中第 2 个

    34、if语句的条件均不满足,不执行任何语句退出,在这个过程中 y 和 z 的值没有发生变化。31.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是 A. 1 B. 2 C. 3 D. 4(分数:1.00)A. B.C.D.解析:解析 本题考查条件表达式的嵌套,因为 A=1,b=4,所以 Ab 成立,则条件表达式的值即 a 的值为 1。32.有以下程序:#includestdio.h#includestring.htypedef struct char name9;char sex;float score2;STU;void f(STU a)ST

    35、U 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);程序的运行结果是_。 A. Qian,f,95,92 B. Qian,m,85,90 C. Zhao,f,95,92 D. Zhao,m,85,90(分数:2.00)A. B.C.D.解析:解析 本题考查的是

    36、结构体变量的单向值传递。题目中,把结构体变量中的数据作为一个整体传送给相应的形参,传递的是实参结构体变量中的值。函数体内对形参结构体变量中任何成员的操作,都不会影响对应实参中成员的值。33.以下正确的函数头定义形式是 A) double fun(int x,int y) B) double fun(int x;int y) C) double fun(int x,int y);D) double fun(int x,y);(分数:2.00)A. B.C.D.解析:解析 形式参数之间是以逗号“,”隔开,且每个变量均需说明其数据类型,圆括号后面不能有分号。只有选项 A 符合要求。34.若已包括头文

    37、件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是U /U。 A. strcpy(s1,s2) B. strcpy(s1, “ABCDE“); C. s1=“ABCDE“; D. for(i=0;i6;i+) s1i=s2i;(分数:1.00)A.B.C. D.解析:解析 数组名 s1 是代表 s1 数组首地址的地址常量,而不是变量,因为“=”左边不能出现常量,因此 s1=“ABCDE“的方法是错误的。35.已知字母 A 的 ASCII 码为十进制的 65,下面程序main() char ch1,ch2

    38、;ch1=A+5-3;ch2=A+6-3;printf(“%d,%c/n“,ch1,ch2);的输出是_。 A. 67,D B. B,C C. C,D D. 不确定的值 (分数:1.00)A. B.C.D.解析:解析 由于字符“5”和“3”的 ASCII 码相差为 2,所以 ch1 经过运算后的值应为 65+2=67;同理,ch2 经过运算后的值应为 65+3=68,即是字符“D”。二、B填空题/B(总题数:15,分数:29.00)36.以下程序运行后的输出结果是U U /U /U。 main() int p=30; printf(“%d/n“,(p/30?p/10:p%3); (分数:1.0

    39、0)填空项 1:_ (正确答案:3)解析:解析 三目运算表达式的规则为如果“?”前面表达式的值为真,则取“:”前的表达式的值,否则,取“:”后面表达式的值。又由于条件运算符的结合方向是自右向左的,所以在本试题中,先计算表达式中 p%3,该值为 0,再计算表达式 p/10 其值为 3,最后计算表达式 P/3 该值为 10,所以此表达式等价于“10? 3:0”,显然取“:”前的值为 3,所以最后输出的值为 3。37.以下程序中,函数 fun 的功能是计算 x2-2x+6,主函数中将调用 fun 函数计算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。doubl

    40、e fun(double x)return(x*x-2*x+6);double x,y1,y2;printf(“Enter x:“);scanf(“%lf“, max=a0 0; for (i=0;i3;i+) for (j=0; j4; j+) if (maxa i j) max=ai j; row=i; colum=j; printf(“max=%-5d row=%-3d colum=%-3d/n“,max, row, colum); (分数:4.00)填空项 1:_ (正确答案:max=10 row=2 colum=1)解析:40.以下程序的功能是:对输入的一行字符串的数字字符按它们的字

    41、面值累加,输出此累加和。例如,输入一行字符是:ab34dh8u,输出值应当是 15。请填空。 #include stdio.h #include ctype.h main() char ch; int a,s; _; while(ch=getchar()_) if( isdigit (ch) a=_;s+=a; printf(“s=%d/n/n“,s);(分数:1.00)填空项 1:_ (正确答案:s=0 !=/n ch-0)解析:解析 按照题目的要求,s 用于保存累加结果;while 语句用于得到一个字符串,并以/n结束;if 语句用于判断一个字符是否为数值型,如果是就将其累加至 s 中。4

    42、1.在树形结构中,树根结点没有U U /U /U。(分数:2.00)填空项 1:_ (正确答案:前件)解析:解析 在树形结构中,每一个结点只有一个前件,称为父结点;没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点;没有后件的结点称为叶子结点。42.在算法正确的前提下,评价一个算法的两个标准是空间复杂度和 1。(分数:2.00)填空项 1:_ (正确答案:时间复杂度)解析:解析 在算法正确的前提下,评价一个算法的两个标准是空间复杂度和时间复杂度。算法的时间复杂度,是指执行算法所需要的计算工作量。算法的空间复杂度是指执行这个算法所需要的内存空间。43.下列

    43、程序的输出结果是_。 long fun5(int n) ( long s; if(n=l)(n=2) s=2; else s=n+fun5(n-1); return(s); main() long x; x=fun5(4); printf(%1d/n“,x);(分数:2.00)填空项 1:_ (正确答案:9)解析:解析 考查 if else 语句,n=4 不满足条件,所以 fun5(4)=4+fun5(3),n=3 也不满足条件,fun5(3)=3+fun5(2),n=2 满足条件 fun5(2)=2,故 x=4+3+2=9。44.若 x 为 int 类型,请写出与!x 等价的 C 语言表达式 1。(分数:2.00)填空项 1:_ (正确答案:x=0)解析:解析 !x 的逻辑意思就是 x 为非,即 x=0。45.软件设计模块化的目的是U U /U /U。(分数:1.00)填空项 1:_ (正确答案:降低复杂性)解析:解析 模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由此分解来降低复杂性。46.下列程序的输出结果是_。 #includestdioh main() char b=“Hello you“; b5 =0; printf(“%s/n“,b); (分数:2.00)填空项 1:_ (正确答案:Hel


    注意事项

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




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

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

    收起
    展开