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

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

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

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

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

    1、二级 C语言笔试 356及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.以下函数值的类型是_。 fun(float x) float y; y=3*x-4; return y; (分数:2.00)A.intB.不确定C.voidD.float2.下列叙述中正确的是_。(分数:2.00)A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言所有函数都是外部函数3.有以下语句:int b;char c10;,则正确的输入语句是_。(分数:2.00)A.scanf(“% d % s“, B.sca

    2、nf(“% d % s“, C.scanf(“% d % s“, b, ;D.scanf(“% d % s“, b, &;4.结构化程序有 3种基本结构组成,3 种基本结构组成的算法_。(分数:2.00)A.可以完成任何复杂的任务B.只能完成部分复杂的任务C.只能完成符合结构化的任务D.只能完成一些简单的任务5.下列数据结构中,能用二分法进行查找的是_。(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表6.下列对于软件测试的描述中正确的是_。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能地多

    3、发现程序中的错误D.软件测试的目的是使程序符合结构化原则7.有以下程序: main() int a=666, b=888; printf(“% d/n“, a, b); 程序运行后的输出结果是_。(分数:2.00)A.错误信息B.666C.888D.666,8888.下列描述中正确的是_。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件新产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题9.有以下程序段: int k=0, a=1, b=2, c=3; k=ab? b:a; k=kc? c:k;

    4、 执行该程序后,k 的值是_。(分数:2.00)A.3B.2C.1D.010.有以下程序: main() int m3=1, 4, 7, 2, 5, 8, 3, 6, 9); int i, j, k=2; for(i=0; i3; i+) printf(“% d“, mki); 执行后输出结果是_。(分数:2.00)A.456B.258C.369D.78911.以下叙述中正确的是_。(分数:1.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(stati 类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto变量和 static变

    5、量的初值都是随机值12.以下程序段中与语句 k=ab?(bc? 1:0):0;功能等价的是_。(分数:1.00)A.if(ab else k=0;C.if(a=k=0; else if(b=k=1;D.if(ak=1; else if(bk=1; else k=0;13.有以下程序: void sott(int a, int n) int i, j, t; for(i=0; in-1; i+) for(j=i+1; jn; j+) if(aiaj)t=ai;ai=aj;aj=t;) main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, I; sort(a

    6、a+2, 5); for(i=0; i10; i+)printf(“% d“, aai); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 10,B.1, 2, 7, 6, 3, 4, 5, 8, 9, 10,C.1, 2, 7, 6, 5, 4, 3, 8, 9, 10,D.1, 2, 9, 8, 7, 6, 5, 4, 3, 10,14.有以下程序: struct STU char name10; int num; float TotalScore; ; void f(struct STU *p) struc

    7、t STU s2=“SunDan“, 20044, 550, “Penghua“, 20045, 537, *q=s; +p; +q; *p=*q; main() struct STU s3=“YangSan“, 20041, 703, “LiSiGuo“, 20042, 580; f(s); printf(“ % s % d % 3.0f/n“, s1. name, s1. num, s1. TotalScore); 程序运行后的输出结果是_。(分数:1.00)A.SunDan 20044 580B.Penghua 20045 537C.LiSiGUO 20042 580D.SunDan 2

    8、0041 70315.一个 C程序中_。(分数:1.00)A.main函数必须出现在所有函数之前B.main函数可以在任何地方出现C.main函数必须出现在所有函数之后D.main函数必须出现在固定位置16.下到叙述中正确的是_。(分数:1.00)A.C语言中既有逻辑类型也有集合类型B.C语言中没有逻辑类型但有集合类型C.C语言中有逻辑类型但没有集合类型D.C语言中既没有逻辑类型也没有集合类型17.以下程序的输出结果是_。 fun(int x, int Y, int z) z=x*x+y*y; main() int a=31; fun(5, 2, a); printf(“% d“, a); (

    9、分数:1.00)A.0B.29C.31D.无定值18.设有定义语句:char c1=92,c2=92; ,则以下表达式中值为零的是_。(分数:1.00)A.c1c2B.c1 i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf(“% d, % d/n“, i1, i2); 程序运行后的输出结果是_。(分数:1.00)A.64, 28B.4, 4C.4, 3D.64, 6420.以下程序中函数 sort的功能是对 a所指数组中的数据进行由大到小的排序: float sort(int a, int n) int i, j, t; for(i=0; in-1; i+) for

    10、(j=i+1; jn; j+) if(aiaj)t=ai; ai=aj; aj=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10), i; sort( for(i=0; i10; i+)printf(“% d“, aai); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 10B.10, 9, 8, 7, 6, 5, 4, 3, 2, 1C.1, 2, 3, 8, 7, 6, 5, 4, 9, 10D.1, 2, 10, 9, 8, 7, 6, 5, 4, 321.

    11、有如下程序: main() int s=0, a=1,n; scanf(“% d“, do s+=1; a=a-2; while(a!=n) printf(“% d/n“, s); 若要使程序输出 2,则应该从键盘输入的值是_。(分数:2.00)A.-1B.-3C.-5D.022.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是_。(分数:2.00)A.char s10=“abcdefg“;B.char t=“abcdefg“, * s=t;C.char s10; s=“abcdefg“;D.char s10; strcpy(s, “abcdefg“);23.当调用函数时,实参是一个

    12、数组名,则向函数传送的是_。(分数:2.00)A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值24.以下程序的输出结果是_。 char cchar(char ch) if(ch=A return ch; main() char s=“ABC+abc=defDEF“,*p=s; while(* p) * p=cchar(* p); p+; printf(“% s/n“, s); (分数:2.00)A.abe+ABC=DEFdefB.abc+abe=defdefC.abcaABCDEFdefD.abcabcdefdef25.有以下程序: float fun(int x,

    13、 int y) return(x+y); main() int a=2, b=5, c=8; printf(“% 3.0f/n“, fun(int)fun(a+c, b) , a-c) ); 程序运行后的输出结果是_。(分数:2.00)A.编译错误B.9C.21D.9.026.以下叙述中正确的是_。(分数:2.00)A.C程序中注释部分可以出现在程序中任何合适的地方B.花括号“”和“”只能作为函数体的定界符C.构成 C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是 C语句之间的分隔符,不是语句的一部分27.有以下程序: main() int a, b, d=25; a=d/10%9

    14、; b=a printf(“% d, % d/n“, a, b) ; 程序运行后的输出结果是_。(分数:2.00)A.6, 1B.2, 1C.6, 0 (D.2, 028.以下程序中函数 reverse的功能是对 a所指数组中的内容进行逆置。 void reverse(int a, int n) int i, t; for(i=0; in/2; i+) t=ai; ai=an-1-1; an-1-i=t; main() int b10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; int i, s=0; reverse(b, 8); for(i=6; i10; i+) s+=b

    15、i; printf(“% d/n“, s); 程序运行后的输出结果是_。(分数:2.00)A.22B.10C.34D.3029.有以下程序: main() int a=101, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p= printf(“% d/n“, *p+*q); 程序运行后的输出结果是_。(分数:2.00)A.16B.10C.8D.630.有如下程序: main() int k=4, n=0; for(; nk; ) n+; if(n% 3!=0)continue; k-; printf(“ % d, % d/n“, k, n); 程序运行后的输出结果是_。(分数:2

    16、.00)A.1, 1B.2, 2C.3, 3D.4, 431.数据的存储结构是指_。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示32.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。(分数:2.00)A.地址传递B.单向值传递C.由实参传给形参。再由形参传同实参D.传递方式由用户指定33.数据库系统的核心是_。(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员34.有如下函数调用语句: func(rec1, rec2+rec3, (rec4, rec5); 该函数

    17、调用语句中,含有的实参个数是_。(分数:2.00)A.3B.4C.5D.有语法错35.以下叙述中正确的是_。(分数:2.00)A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英国国家的自然语言和数学语言作为语言的表达形式D.C语言出现得最晚,具有其他语言的一切优点36.以下能正确定义数组并正确赋初值的语句是_。(分数:2.00)A.int N=5, bN=;B.int a12=1, 3;C.int c2=1, 2, 3, 4;D.int d32=1, 2, 34;37.以下不能定义为用户标识符的是_。(分数:2.00)A.scanfB.VoidC._3comD

    18、.int38.有以下函数: fun(char *a, char *b) while(*a!=/0)b+; return(*a-*b); 该函数的功能是_。(分数:2.00)A.计算 a和 b所指字符串的长度之差B.将 b所指字符串连接到 a所指字符串中C.将 b所指字符串连接到 a所指字符串后面D.比较 a和 b所指字符串的大小39.若以下选项中的变量已正确定义,则正确的赋值语句是_。(分数:2.00)A.x1=26.8%3;B.1+2=x2;C.x3=0x12;D.x4=1+2=3;40.用树形结构来表示实体之间联系的模型称为_。(分数:2.00)A.关系模型B.网状模型C.层次模型D.以上

    19、 3个都是二、B填空题/B(总题数:15,分数:30.00)41.问题处理方案的正确而完整的描述称为U 【1】 /U。(分数:2.00)填空项 1:_42.数据结构分为逻辑结构和存储结构,循环队列属于U 【2】 /U结构。(分数:2.00)填空项 1:_43.在面向对象方法中,类之间共享属性和操作的机制称为U 【3】 /U。(分数:2.00)填空项 1:_44.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中U 【4】 /U的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_45.在数据管理技术的发展过程

    20、中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是U 【5】 /U。(分数:2.00)填空项 1:_46.以下程序的功能是将字符串 s中的数字字符放人 d数组中,最后输出 d中的字符串。例如,输入字符串 abc123edf456gh,执行程序后输出 123456。请填空。 # includestdio. h # includectype. h main() char s80, d80; int i, j; gets(s); for(i=j=0; si!=/0; i+) if(U 【6】 /U) dj=si; j+;) dj=/0; puts(D) ; (分数:2.

    21、00)填空项 1:_47.有以下程序: void fun(int *a, int i, int j) int t; if(ij) t=ai; ai=aj; aj=t; i+ ;j-; fun(a, i, j); main() int x=(2, 6, 1, 8), i; fun(x, 0, 3); for(i=0; i4; i+)printf(“% 2d“, xi); 程序运行后的输出结果是U 【7】 /U。(分数:2.00)填空项 1:_48.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。 main() int i, a20, sum, count; sum=c

    22、ount=0; for(i=0; i20; i+)scanf(“% d“, U【8】 /U); for(i=0; i20; i+) if(ai0) count+; sum+=ai; printf(“sum=% d, count=% d/n“, sum, count); (分数:2.00)填空项 1:_49.以下程序通过函数 SunFun求 (分数:2.00)填空项 1:_50.有以下程序: main() int a=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *p; for(p=a; pa+10; p+)printf(“% d,“, *p); 程序运行后的输出结果是U 【10】

    23、 /U。(分数:2.00)填空项 1:_51.以下程序中,函数 SumColumMin的功能是:求出 M行 N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。 # define M 2 # define N 4 void SumColumMin(int aMN, int *sum) int i, j, k, s=0; for(i=0; iN; i+) k=0; for(j=1; jM; j+) if(akiaji)k=j; s+=aki; *sum=s; main() int xMN=3, 2, 5, 1, 4, 1, 8, 3, s; SumColumMi

    24、n(U 【11】 /U); printf(“% d/n“ , s); (分数:2.00)填空项 1:_52.函数 fun的功能是计算 xn:double fun(double x, int n) int i; double y=1;for(i; =1; i=n; i+)y=y*x;return y;主函数中已正确定义 m、a、b 变量并赋值,并调用 fun函数计算:m=a 4+b4-(a+B)3。实现这一计算的函数调用语句为U 【12】 /U。(分数:2.00)填空项 1:_53.以下程序中函数 huiwen的功能是检查一个宁符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数

    25、返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空_。# include string. hchat * huiwen(chat * str) char *p1, *p2; int i, t=0;p1=str; p2=U 【13】 /U;for(i=0; i=strlen(str)/2; i+)if(*p1+!=*p2-)t=1; break;if(! t或 t!=0)return(“yes!“);else return(“no!“);main() char str50;printf(“Input: “); scanf(“% s“, str);pr

    26、intf(“% s/n“, huiwen(str);(分数:2.00)填空项 1:_54.有以下程序: main() int num44=1, 2, 3, 4), 5, 6, 7, 8), 9, 10, 11, 12), 13, 14, 15, 16, i, j; for(i=0; i4; i+) for(j=0; j=i; j+)printf(“% 4c“, ); for(j=_; j4; j+)printf(“% 4d“, numij); printf(“/n“); 若要按以下形式输出数组右上半三角: 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是U 【14】 /

    27、U。(分数:2.00)填空项 1:_55.以下程序运行后的输出结果是U 【15】 /U。 int f(int a, int n) if(n=1)return f(a, n-1)+an-1; else return 0; main() int aa5=(1, 2, 3, 4, 5), s; s=f(aa, 5); printf(“% d/n“, s); (分数:2.00)填空项 1:_二级 C语言笔试 356答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.以下函数值的类型是_。 fun(float x) float y; y=3*x-4;

    28、 return y; (分数:2.00)A.int B.不确定C.voidD.float解析:解析 C 语言规定函数定义时若不声明函数值的类型,则默认为是整型。2.下列叙述中正确的是_。(分数:2.00)A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言所有函数都是外部函数 解析:解析 C 语言在编译时检查语法错误,系统会提示出错原因和错误位置,选项 A错误;C 语言中只有函数,没有过程,选项 B错误;C 语言中的函数调用可以嵌套,但定义不能嵌套,选项 C错误;如果在定义函数时不加 static,C 语言默认都是外部函数,C 语言中函数定义时一般

    29、不加 static,故正确答案为选项 D。3.有以下语句:int b;char c10;,则正确的输入语句是_。(分数:2.00)A.scanf(“% d % s“, B.scanf(“% d % s“, C.scanf(“% d % s“, b, ;D.scanf(“% d % s“, b, &;解析:解析 b 是整型数,在输人语句中要加取地址符,而 c是数组名,本身就是数组的首地址,因此不用加取地址符。4.结构化程序有 3种基本结构组成,3 种基本结构组成的算法_。(分数:2.00)A.可以完成任何复杂的任务 B.只能完成部分复杂的任务C.只能完成符合结构化的任务D.只能完成一些简单的任务

    30、解析:解析 结构化程序的 3种基本结构是顺序、循环、选择,任何复杂的任务都可以通过这 3种结构来实现。5.下列数据结构中,能用二分法进行查找的是_。(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分查找只适用于顺序存储的有序表。6.下列对于软件测试的描述中正确的是_。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能地多发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析 软件测试的目的是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。7.有以下程序: m

    31、ain() int a=666, b=888; printf(“% d/n“, a, b); 程序运行后的输出结果是_。(分数:2.00)A.错误信息B.666 C.888D.666,888解析:解析 printf 如果实参个数多余,不算错,只输出前面的正确参数。8.下列描述中正确的是_。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件新产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发中的技术问题解析:解析 软件工程是解决软件项目的管理、软件开发过程中的技术、软件产品的生产率等问题,它的主要思想是强调在

    32、软件开发过程中需要应用工程化原则。9.有以下程序段: int k=0, a=1, b=2, c=3; k=ab? b:a; k=kc? c:k; 执行该程序后,k 的值是_。(分数:2.00)A.3B.2 C.1D.0解析:解析 第一个表达式得到 k=2,对于第二个表达式,因为 k=23,k 仍然赋值为 k。因此最后 k值为 2。10.有以下程序: main() int m3=1, 4, 7, 2, 5, 8, 3, 6, 9); int i, j, k=2; for(i=0; i3; i+) printf(“% d“, mki); 执行后输出结果是_。(分数:2.00)A.456B.258C

    33、.369 D.789解析:解析 数组 m初始化后结果为:m00=1、m01=4、m02=7、m10=2、m11=5、m12=8、m20=3、m21=6、m22=9。for 循环语句的作用是输出数组元素 m20、m21和 m22,所以输出结果为:369。11.以下叙述中正确的是_。(分数:1.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(stati 类别变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto变量和 static变量的初值都是随机值解析:解析 函数的形参是局部变量,只在函数内部起作用,调用函数时为形参分配存储空间,调

    34、用结束后释放形参的存储空间,因此选项 C错误。未在定义语句中赋初值的 static变量的初值是 0,选项 D错误。局部静态变量也是全局变量,选项 A错误。12.以下程序段中与语句 k=ab?(bc? 1:0):0;功能等价的是_。(分数:1.00)A.if(ab else k=0;C.if(a=k=0; else if(b=k=1;D.if(ak=1; else if(bk=1; else k=0;解析:解析 语句 k=ab? (bc? 1:0):0;的功能是如果 ab 同时 bc,k=1,否则 k=0。正确答案为 A。13.有以下程序: void sott(int a, int n) int

    35、 i, j, t; for(i=0; in-1; i+) for(j=i+1; jn; j+) if(aiaj)t=ai;ai=aj;aj=t;) main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, I; sort(aa+2, 5); for(i=0; i10; i+)printf(“% d“, aai); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 10,B.1, 2, 7, 6, 3, 4, 5, 8, 9, 10,C.1, 2, 7, 6, 5, 4, 3, 8

    36、, 9, 10, D.1, 2, 9, 8, 7, 6, 5, 4, 3, 10,解析:解析 aa+2=aa2,因此 sort(aa+2,5)是从 aa2开始,依次与后面的元素进行比较,将当前值小于其后一项的值进行互换,循环 5次。14.有以下程序: struct STU char name10; int num; float TotalScore; ; void f(struct STU *p) struct STU s2=“SunDan“, 20044, 550, “Penghua“, 20045, 537, *q=s; +p; +q; *p=*q; main() struct STU s

    37、3=“YangSan“, 20041, 703, “LiSiGuo“, 20042, 580; f(s); printf(“ % s % d % 3.0f/n“, s1. name, s1. num, s1. TotalScore); 程序运行后的输出结果是_。(分数:1.00)A.SunDan 20044 580B.Penghua 20045 537 C.LiSiGUO 20042 580D.SunDan 20041 703解析:解析 f 函数用了显式传地址的方式,因此主函数中的 s值发生了变化。15.一个 C程序中_。(分数:1.00)A.main函数必须出现在所有函数之前B.main函数

    38、可以在任何地方出现 C.main函数必须出现在所有函数之后D.main函数必须出现在固定位置解析:解析 本题主要考查 main函数的基本知识。main 函数可以出现在 C程序的任何地方。16.下到叙述中正确的是_。(分数:1.00)A.C语言中既有逻辑类型也有集合类型B.C语言中没有逻辑类型但有集合类型C.C语言中有逻辑类型但没有集合类型D.C语言中既没有逻辑类型也没有集合类型 解析:解析 本题考查 C语言中数据类型的种类,C 语言中没有逻辑类型和集合类型。C 语言的数据类型有:整型、字符型、实型、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。各种数据类型变量的定义和常量的表示

    39、形式见各个考点的理论链接。17.以下程序的输出结果是_。 fun(int x, int Y, int z) z=x*x+y*y; main() int a=31; fun(5, 2, a); printf(“% d“, a); (分数:1.00)A.0B.29C.31 D.无定值解析:解析 函数 fun的形参是简单变量,main 函数中调用 fun时只是把实参的值传递给形参,形参的改变不影响实参,所以调用完函数 fun后 a的值不发生变化,即 a=31。18.设有定义语句:char c1=92,c2=92; ,则以下表达式中值为零的是_。(分数:1.00)A.c1c2 B.c1 i1=f(8)

    40、/f(4); i2=f(4+4)/f(2+2); printf(“% d, % d/n“, i1, i2); 程序运行后的输出结果是_。(分数:1.00)A.64, 28B.4, 4C.4, 3 D.64, 64解析:解析 用宏代换有:i1=f(8)/f(4)=(88)/(44)=4,i2=f(4+4)/f(2+2)=(4+44+4)/(2+22+2)=3。20.以下程序中函数 sort的功能是对 a所指数组中的数据进行由大到小的排序: float sort(int a, int n) int i, j, t; for(i=0; in-1; i+) for(j=i+1; jn; j+) if(

    41、aiaj)t=ai; ai=aj; aj=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10), i; sort( for(i=0; i10; i+)printf(“% d“, aai); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 10B.10, 9, 8, 7, 6, 5, 4, 3, 2, 1C.1, 2, 3, 8, 7, 6, 5, 4, 9, 10 D.1, 2, 10, 9, 8, 7, 6, 5, 4, 3解析:解析 本题考查数组名作为函数形参的函

    42、数调用问题。数组名作函数形参是按地址传递,形参的改变可以传回实参。sort 函数的两个形参中一个是数组名,sort 函数的功能是对数组元素进行由大到小的排序。主函数调用 sort函数时,实参为 aa3元素的地址和整数 5,即 sort函数将对数组 aa中的元素aa3、aa4、aa5、aa6、aa75 个元素的值进行由大到小的排序,排序后 aa3=8、aa4=7、aa5=6、aa6=5、aa5=4,而数组 aa中其余元素的值不变,因此结果是 C。21.有如下程序: main() int s=0, a=1,n; scanf(“% d“, do s+=1; a=a-2; while(a!=n) pr

    43、intf(“% d/n“, s); 若要使程序输出 2,则应该从键盘输入的值是_。(分数:2.00)A.-1B.-3 C.-5D.0解析:解析 本题中如果 printf函数输出为 2,需要执行两次 s+=1语句,第一次执行完循环语句后得s=1、a=1-2=-1,第二次执行完循环语句后得 s=1+1=2、a=-1-2=-3,所以正确答案为-3。22.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是_。(分数:2.00)A.char s10=“abcdefg“;B.char t=“abcdefg“, * s=t;C.char s10; s=“abcdefg“; D.char s10; s

    44、trcpy(s, “abcdefg“);解析:解析 C 语言中不能使用赋值运算符“=”直接对字符数组元素名赋一字符串。选项 C错误。23.当调用函数时,实参是一个数组名,则向函数传送的是_。(分数:2.00)A.数组的长度B.数组的首地址 C.数组每一个元素的地址D.数组每个元素中的值解析:解析 数组名作函数实参时,所传递的是数组第一个元素的地址。24.以下程序的输出结果是_。 char cchar(char ch) if(ch=A return ch; main() char s=“ABC+abc=defDEF“,*p=s; while(* p) * p=cchar(* p); p+; printf(“% s/n“, s); (分数:2.00)A.abe+ABC=DEFdefB.abc+abe=defdef C.abcaABCDEFdefD.abcabcdefdef解析:解析 字符数组元素作函数参数是单向的值传递。函数 cchar的功能是将大写字母转换为小写字母。主函数中 while循环语句的条件是判断指针 p当前指向的字符是否为空,若不为空,则调用函数cchar,即主函数中通过循环语句将字符串“ABC+abc=defDEF“中的大写字母全部转换为小写字母,因此printf的输出结果为选项 B。25


    注意事项

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




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

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

    收起
    展开