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

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

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

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

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

    1、二级 C 语言笔试 54 及答案解析(总分:84.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.若变量已正确说明为 float 类型,要通过语句 scanf(“%f%f%f“, char ch; float f; a,b,c; 则共用体变量 a,b,c 占用内存的字节数为( )。(分数:1.00)A.1B.2C.4D.611.若有以下说明和语句: int c45,(*p)5; p=c; 能够正确引用 c 数组元素的是( )。(分数:1.00)A.p+lB.*(p+3)C.*(p+1)+3D.*(p0+2)12.下面程序的输出结果是( )。 #define S

    2、QR(X) 2*X+1 main() int a,b,C; a=3;b=2;C=1; a* =SQR(b+c)/SQR(b+c); printf(“%d“,a); (分数:1.00)A.3B.18C.21D.2413.以下合法的 C 语言赋值语句是( )。(分数:1.00)A.a=b=58B.k=int(a-:C.a=58,b=20D.+i;14.有以下程序: main() int i; for(i=0;i3;i+) switch(i) case1:printf(“%d“,i); case2:printf(“%d“,i); default:printf(“%d“,i); 执行后输出结果是( )

    3、。(分数:1.00)A.011122B.012C.012020D.12015.以下程序中函数 f 的功能是将 n 个字符串按由大到小的顺序进行排序: #include string.h void f(char p10,int n) char t20; int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+ if(strcmp(pi,pj)0) strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t); main() char p10:“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“,);int i; f(p,5); prin

    4、tf(“%d/n“,strlen(p0); 程序运行后的输出结果是( )。(分数:1.00)A.6B.4C.5D.316.以下程序的功能是( )。 # include stdio.h main() FILE*fPl; *fp2; fp1:fopen(“file1“,“r“); fp2:fopen(“file2“,“w“); while(! Feof(fP1) fputc(fgetc(fP1),fp2); fclose(fP1);fclose(fp2);(分数:1.00)A.将磁盘文件的内容显示在屏幕上B.将两个磁盘文件合为一个C.将一个磁盘文件复制到另一个磁盘文件中D.将两个磁盘文件合并后送屏

    5、幕17.已知字母 A 的 ASCII 码为十进制的 65,下面程序的输出结果是( )。 main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,“c/n“,ch1,Ch2);(分数:1.00)A.67,DB.B,CC.C,DD.不确定的值18.以下正确的数组定义语句是( )。(分数:1.00)A.int y14=1,2,3,4,5,B.float x3=1,2,3C.long s23=1,1,21,2,3,D.double t3=019.若有说明:int n=2,*p=; p+; main() char s50=“abcdeeffgee“,b

    6、=e; a(s,b);printf(“%s/n“,s); 则程序运行后的输出结果是( )。(分数:1.00)A.AbcdeeffgeeB.ABCDeeFFGeeC.abcdEEffgEED.ABCDEEFFGEE27.若有如下程序: int s3 3=a,b,C,d,e,f,g,h,i,*t; main() t:(int*)malloc(sizeof(int); sub(t,s); printf(“%c/n“,*t); sub(int*p,int b3) *p=b21; 则程序运行后的输出结果是( )。(分数:1.00)A.dB.eC.hD.b28.下面程序的输出结果是( )。 func(in

    7、t X) static int a=2; return (a+=X); main() int b=2,c=4,d; d=func(b); d=func(c); printf(“%d/n“,d); (分数:1.00)A.4B.6C.8D.1229.能正确表示逻辑关系“a=10 或 a=0”的 C 语言表达式是( )。(分数:1.00)A.a=10ora=10B.a=0|a=10C.a=10 printf(“%d/n“,j); 则输出结果是U 【6】 /U。(分数:2.00)填空项 1:_57.若有如下程序: #include “stdio.h“ main() char s30; Strcpy(

    8、Strcpy( strcpy(; printf(“%S/n“,s); 则程序运行后的输出结果是U 【7】 /U。(分数:2.00)填空项 1:_58.以下程序运行后的输出结果是U 【8】 /U。 main() int p711,13,14,15,16,17,18; int i=0,j=0; while(i7 printf(“%d/n“,j); (分数:2.00)填空项 1:_59.有以下程序 main() int n=0,m+1,X=2; if(!n) X-=l; if(m) X-=2; if(X) X-=3; printf(“%d/n“,x); 执行后输出的结果是U 【9】 /U。(分数:2

    9、.00)填空项 1:_60.执行以下程序后,输出#号的个数是U 【10】 /U。 #include studio.h main() int i,j; for(i=1;i5;i+) for(j=2;j=i;j+)putchar(#); (分数:2.00)填空项 1:_61.函数 sub 的功能是根据下面近似分式求 的值。 (*)/6=1+1/(2*2)+1/(3*3)+1/(n*n) 现在请在下面的函数中填空,完成求 值的功能。 #include“math.h“ double sub(long m) double sum=0.0,t;long n; for(n=1;n=m;n+) sum+=U

    10、【11】 /U; t=sqrt(6*sum); return(t); (分数:2.00)填空项 1:_62.执行以下程序后 sum 的值是U 【12】 /U。 main() int i,sum; for(i=1;i6;i+) sum+=i; printf(“%d/n“,sum); (分数:2.00)填空项 1:_63.下列程序的输出结果是U 【13】 /U。 void fun(int*n) while (*n)-); printf(“%d“,+(*n); main() int a=1000; fun( (分数:2.00)填空项 1:_64.下面程序用来输出结构体变量 a 所占存储单元的字节数,

    11、请填空。 main() struct stu char x20;float y; a; printf(“a size:%d/n“,sizeof(U 【14】 /U); (分数:2.00)填空项 1:_65.下面程序的功能是将字符串 a 下标值为偶数的元素由小到大排序,其他元素不变,请填空。 #includestdio.h main() char a=“labchmfye“,t; int i,j; for(i=0;i7;i+=2) for(j=i+2;j9;U 【15】 /U) if(U 【16】 /U) t=ai; ai=aj; aj=t;j+;puts(a); printf(“/n“); (

    12、分数:2.00)填空项 1:_66.以下程序中,函数 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(ak iaj i)k=j; s+=U 【17】 /U; U 【18】 /U=s; main() int xMN=3,2,5,1,4,l,8,3),s; SumColumMin(U 【19】

    13、 /U); printf(“%d/n“,s); (分数:2.00)填空项 1:_67.若有如下程序: main() int a2=1,2,6,9,11,(*t)2; t=a; printf(“%d,%d/n“,*(t1+1),(*t) 1); 则程序运行后输出的结果是U 【20】 /U。(分数:2.00)填空项 1:_二级 C 语言笔试 54 答案解析(总分:84.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.若变量已正确说明为 float 类型,要通过语句 scanf(“%f%f%f“, char ch; float f; a,b,c; 则共用体变量 a,

    14、b,c 占用内存的字节数为( )。(分数:1.00)A.1B.2C.4 D.6解析:解析 共用体变量中的所有成员占有同一个存储空间,其字节数与成员中占字节数最多的那个成员相等。char 占 1 个字节, int 占 2 个字节,float 占 4 个字节,因此本题中的共用体变量 a,b,c 占用内存的字节数为 4。11.若有以下说明和语句: int c45,(*p)5; p=c; 能够正确引用 c 数组元素的是( )。(分数:1.00)A.p+lB.*(p+3)C.*(p+1)+3D.*(p0+2) 解析:解析 本题中定义了一个二维数组 c 和一个指针数组 p,并初始化让 p 指向 c。显然此

    15、时 p 中的各元素为地址,选项 A 中 p+1,此时其中的 1 代表的长度是整个二维数组 c 的长度,故 p+l 将让 p 指向 c 数组后面的元素,不能引用 c 数组中的成员,故选项 A 错误;同理选项 B 和选项 C 都不正确,选项 D 中 p0指的是指针数组中的第一个元素的地址即 c 的首地址,此时的 1 的长度代表的是数组 C 中一行的长度,故p0+2 代表的是第 3 行的首地址,而*(p0+2)将代表第 3 行的第一个元素的地址,所以,4 个选项中选项 D 符合题意。12.下面程序的输出结果是( )。 #define SQR(X) 2*X+1 main() int a,b,C; a=

    16、3;b=2;C=1; a* =SQR(b+c)/SQR(b+c); printf(“%d“,a); (分数:1.00)A.3B.18C.21 D.24解析:解析 以 b+c 代替参数 x,a*=a*(2*b+c+1/2*b+c+1)=3*(2*2+1+1/2*2+1+1)=21。13.以下合法的 C 语言赋值语句是( )。(分数:1.00)A.a=b=58B.k=int(a-:C.a=58,b=20D.+i; 解析:解析 选项 A 和选项 C 中都没有以“;”结束,故选项 A 和选项 C 都不是正确的赋值语句;选项 B中强制转换类型符 int 应用括号括起来,故选项 B 不正确,只有选项 D

    17、是合法的 C 语言赋值语句。14.有以下程序: main() int i; for(i=0;i3;i+) switch(i) case1:printf(“%d“,i); case2:printf(“%d“,i); default:printf(“%d“,i); 执行后输出结果是( )。(分数:1.00)A.011122 B.012C.012020D.120解析:解析 for 循环执行了 3 次,第一次时 i 的值为 0,执行其后的 switch 语句,没有匹配的分支,执行 default 语句后的 printf 语句,输出为 0;第二次循环时 i 的值为 1,执行其后的 switch 语句,与

    18、第一个分支匹配,执行其后的 primf 语句,输出 1,由于没有遇到 break 语句,所以一直向下执行,又输出了两个 1,第三次循环时 i 值为 2,执行其后的 switch 语句,同理输出两个 2。所以, A 选项是正确的。15.以下程序中函数 f 的功能是将 n 个字符串按由大到小的顺序进行排序: #include string.h void f(char p10,int n) char t20; int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+ if(strcmp(pi,pj)0) strcpy(t,pi);strcpy(pi,pj);strcpy(p

    19、j,t); main() char p10:“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“,);int i; f(p,5); printf(“%d/n“,strlen(p0); 程序运行后的输出结果是( )。(分数:1.00)A.6B.4C.5 D.3解析:解析 函数 strcmp(字符串 1,字符串 2)作用是将“字符串 1”和“字符串 2”进行比较,如果“字符串 1”“字符串 2”,返回一个人于 0 的整数值;如果“字符串 1”“字符串 2”,返回一个小于 0 的整数值;如果“字符串 1”“字符串 2”,返回 0。 函数 strcpy(字符串数组名,字符串,整型表达式

    20、)的作用是将“字符串”的前“整型表达式”个字符存入到指定的“字符数组”中,若省略“整型表达式”,则将整个“字符串”存入“字符数组”中。 函数 f()的功能是利用选择法把一个具有 n 行的二维数组中按行存放的 n 个字符串由大到小排序。在主函数中定义了一个二维字符数组 p 并给它按行赋初值,然后调用 f()函数,把它按行从大到小排列。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串。由此可知最大的字符串为“dcdbe”,排序后存放在第一行,其首地址为 p0,在输出语句输出的 p0指向的字符串长度是 5。16.以下程序的功能是( )。 # i

    21、nclude stdio.h main() FILE*fPl; *fp2; fp1:fopen(“file1“,“r“); fp2:fopen(“file2“,“w“); while(! Feof(fP1) fputc(fgetc(fP1),fp2); fclose(fP1);fclose(fp2);(分数:1.00)A.将磁盘文件的内容显示在屏幕上B.将两个磁盘文件合为一个C.将一个磁盘文件复制到另一个磁盘文件中 D.将两个磁盘文件合并后送屏幕解析:解析 程序首先定义了两个文件类型的指针 fp1、fp2。为读打开文件 filel,并让指针 fp1 指向该文件;为写打开文件 file2,并让指

    22、针 fp2 指向该文件。循环执行从文件 file1 中读取一个字符,输出到文件 file2 中,直到文件 file1 结束。因此程序的功能是将文件 file1 中的内容复制到文件 file2 中。17.已知字母 A 的 ASCII 码为十进制的 65,下面程序的输出结果是( )。 main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,“c/n“,ch1,Ch2);(分数:1.00)A.67,D B.B,CC.C,DD.不确定的值解析:解析 输出函数中的格式控制符要求 ch1 按带符号的十进制形式输出,A+5-3;=65+53=67,所以输出

    23、变量 ch 值的 ASCII 码的十进制表示。格式控制符要求变量 ch2 按字符形式输出,A+6-3=65+6-3=68,字母 D 的 ASCII 码的十进制表示为 68,所以输出 D。18.以下正确的数组定义语句是( )。(分数:1.00)A.int y14=1,2,3,4,5,B.float x3=1,2,3C.long s23=1,1,21,2,3,D.double t3=0 解析:解析 选项 A 二维数组行下标为 1,即数组有一行元素,列下标为 4 表示一行中包含 4 个元素,而初值列表中有 5 个元素,故 A 错。选项 B 省略了列下标故错误。选项 C 二维数组行下标为 2,数组有

    24、2行元素,而初值列表中有 3 行元素,故 C 错误。故 D 为所选。19.若有说明:int n=2,*p=; p+; main() char s50=“abcdeeffgee“,b=e; a(s,b);printf(“%s/n“,s); 则程序运行后的输出结果是( )。(分数:1.00)A.AbcdeeffgeeB.ABCDeeFFGeeC.abcdEEffgEE D.ABCDEEFFGEE解析:解析 函数 a 的功能是将字符数组 s 中的小写字母 e 变为大写字母,其余字符不变,4 个选项中只有 C 符合题意。27.若有如下程序: int s3 3=a,b,C,d,e,f,g,h,i,*t;

    25、 main() t:(int*)malloc(sizeof(int); sub(t,s); printf(“%c/n“,*t); sub(int*p,int b3) *p=b21; 则程序运行后的输出结果是( )。(分数:1.00)A.dB.eC.h D.b解析:解析 让指针变量 t 指向一个整型动态存储空间。函数 sub 中的语句“*p=b21”是将数组元素 b2)(1即 h 赋给 p 所指向的存储单元中。28.下面程序的输出结果是( )。 func(int X) static int a=2; return (a+=X); main() int b=2,c=4,d; d=func(b);

    26、d=func(c); printf(“%d/n“,d); (分数:1.00)A.4B.6C.8 D.12解析:解析 func(b)调用函数 func 并将实参传递给形参 x,x 的值为 2。a+=x=2+2=4,返回值为4。func(c)调用函数 func 并将实参传递给形参 x,x 的值为 4。因为 a 被定义为静态的整型变量,当第一次调用函数 func 返回后 a 存储单元中的数据仍然保留值为 4,所以 a+=x=4+4=8。29.能正确表示逻辑关系“a=10 或 a=0”的 C 语言表达式是( )。(分数:1.00)A.a=10ora=10B.a=0|a=10C.a=10”此时 n 的值

    27、为 0,所以执行结果为:输出一个0,n 的值变为-1。此时循环条件!(-n)=!(-2)为假,程序结束。故程序运行后的输出结果是 20,应该选择 D。50.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:1.00)A.内模式 B.外模式C.概念模式D.逻辑模式解析:解析 内模式能够给出数据库物理存储结构与物理存取方法;外模式是用户的数据视图:概念模式是全体用户公共数据视图;没有逻辑模式。二、B填空题/B(总题数:17,分数:34.00)51.算法的复杂度主要包括U 【1】 /U复杂度和空间复杂度。(分数:2.00)填空项 1:_ (正确答案:时间)解析:解析 算法的复杂

    28、度主要指时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量;算法的空间复杂度,一般是指执行这个算法所需要的内存空间规模。52.在面向对象方法中,允许作用于某个对象上的操作称为U 【2】 /U。(分数:2.00)填空项 1:_ (正确答案:方法)解析:解析 在面向对象方法中,方法是指允许作用于某个对象上的各种操作。53.软件生命周期包括 8 个阶段。为了使各时期的任务更明确,又可分为 3 个时期:软件定义期、软件开发期、软件维护期。编码和测试属于U 【3】 /U期。(分数:2.00)填空项 1:_ (正确答案:软件开发)解析:解析 软件生命周期可以分为 3 个时期:软件

    29、定义期,包括问题定义、可行性研究和需求分析 3个阶段;软件开发期,包括系统设计、详细设计、编码和测试 4 个阶段;软件维护期,即运行维护阶段。编码和测试属于软件开发阶段。54.如果一个工人可管理多个设备,而一个设备只被一个工人管理,则卖体“工人”与实体“设备”之间存在U 【4】 /U关系。(分数:2.00)填空项 1:_ (正确答案:一对多)解析:解析 实体之间的联系有 3 类:一对一,一对多,多对多。设有两个实体集 E1和 E2,如果 E2中的每一个实体与 E1中的任意个实体(包括零个)有联系,而 E1中的每一个实体最多与 E2中的一个实体有联系,则称这样的联系为“从 E2到 E1的一对多的

    30、联系”,通常表示为“l:n 的联系”。由此可见,工人和设备之间是一对多关系。55.关系数据库管理系统能实现的专门关系运算包括选择、连接和U 【5】 /U。(分数:2.00)填空项 1:_ (正确答案:投影)解析:解析 关系数据库管理系统的专门关系运算包括选择、连接和投影。选择运算在指定的关系中选取所有满足给定条件的元组,构成一个新关系;投影运算在给定关系的某些域上进行;连接运算是从两个关系的笛卡尔积中选出满足给定属性间一定条件的元组。56.若有语句: int i=-19, j=i%4; printf(“%d/n“,j); 则输出结果是U 【6】 /U。(分数:2.00)填空项 1:_ (正确答

    31、案:-3)解析:解析 %运算符是求两个数相除的余数,其结果与被除数的符号一致,本题中“-19%4”的值为“-3”。57.若有如下程序: #include “stdio.h“ main() char s30; Strcpy( Strcpy( strcpy(; printf(“%S/n“,s); 则程序运行后的输出结果是U 【7】 /U。(分数:2.00)填空项 1:_ (正确答案:adgh)解析:解析 函数 strcpy 是字符串复制函数。第一次将“adc“复制到以 int i=0,j=0; while(i7 printf(“%d/n“,j); (分数:2.00)填空项 1:_ (正确答案:24

    32、)解析:解析 本题主函数中首先定义了一个长度为 7 的数组,然后用一个 while 循环引用数组的元素,当 i 大于 7 或者 pi为偶数时,循环结束。显然当 i=2 时,p2=14 为偶数时,循环结束,此时 j 的值为j=p0+p1=24。59.有以下程序 main() int n=0,m+1,X=2; if(!n) X-=l; if(m) X-=2; if(X) X-=3; printf(“%d/n“,x); 执行后输出的结果是U 【9】 /U。(分数:2.00)填空项 1:_ (正确答案:-4)解析:解析 if-else 构造了一种二路分支选择,是一种最基本的选择结构,if(条件) S1

    33、(if 分结构) else S2(else 分结构),它的工作过程是:先对条件表达式进行判断,若为真(成立,值为非零),就执行if 分结构(S1);否则(不成立,值为 0),就执行 else 分结构(S2)。本题中,n=O,可以判断(!n)为真,执行“x=x-1=2-1=1;m=1”,可以判断(m)为真,执行“x=x-2=1-2=-1;”进而可以判断(x)为真,执行x=x-3=-1-3=-4。所以,最后输出为-4。60.执行以下程序后,输出#号的个数是U 【10】 /U。 #include studio.h main() int i,j; for(i=1;i5;i+) for(j=2;j=i;

    34、j+)putchar(#); (分数:2.00)填空项 1:_ (正确答案:6)解析:解析 本题中,i、j 分别为外循环和内循环的循环控制变量,外层循环共执行了 4 次。当 i=1 时,由于内层循环判断条件 (2=1)为假不执行内层循环。当 i=2 时,执行内层循环,输出一个#;当 i=3 时,内层循环循环两次,输出两个#:当 i=4 时,内层循环循环 3 次,输出 3 个#。当 i=5 时,循环判断条件不成立,退出外层循环。所以一共输出 6 个#。61.函数 sub 的功能是根据下面近似分式求 的值。 (*)/6=1+1/(2*2)+1/(3*3)+1/(n*n) 现在请在下面的函数中填空,

    35、完成求 值的功能。 #include“math.h“ double sub(long m) double sum=0.0,t;long n; for(n=1;n=m;n+) sum+=U 【11】 /U; t=sqrt(6*sum); return(t); (分数:2.00)填空项 1:_ (正确答案:1.0/(n*n))解析:解析 sam 中累加的值是 1+1/(2*2)+1/(3*3)+1/(n*n),如果写为 1/(n*n),则会因为 1 和n 都为整型,结果则为实型,将 1 变为 1.0,结果则为实型。62.执行以下程序后 sum 的值是U 【12】 /U。 main() int i,

    36、sum; for(i=1;i6;i+) sum+=i; printf(“%d/n“,sum); (分数:2.00)填空项 1:_ (正确答案:15)解析:解析 程序的功能是求 1、2、3、4、5 的和即 15。63.下列程序的输出结果是U 【13】 /U。 void fun(int*n) while (*n)-); printf(“%d“,+(*n); main() int a=1000; fun( (分数:2.00)填空项 1:_ (正确答案:0)解析:解析 while 循环的条件为即当*n 非零时执行循环,(*n)一是先使用*n 的值再对*n 减 1,结束while 循环后*n 的值为-1

    37、。 +(*n)是先对*n 加 1 再使用*n 的值,-1+1=0,输出*n 的值即输出 0。64.下面程序用来输出结构体变量 a 所占存储单元的字节数,请填空。 main() struct stu char x20;float y; a; printf(“a size:%d/n“,sizeof(U 【14】 /U); (分数:2.00)填空项 1:_ (正确答案:d)解析:解析 d 被定义为一个结构体类型变量,求结构体变量 a 所占存储单元的字节数即 sizeof(d)。65.下面程序的功能是将字符串 a 下标值为偶数的元素由小到大排序,其他元素不变,请填空。 #includestdio.h

    38、main() char a=“labchmfye“,t; int i,j; for(i=0;i7;i+=2) for(j=i+2;j9;U 【15】 /U) if(U 【16】 /U) t=ai; ai=aj; aj=t;j+;puts(a); printf(“/n“); (分数:2.00)填空项 1:_ (正确答案:15 j+ 16 aiaj或 ajai)解析:解析 题目要求排序的元素是下标值为偶数的元素,外循环循环 4 次,i 的值分别为0、2、4、6,所以内循环也循环 4 次,i 的值就应为 2、4、6、8,在循环体中已经有了对 j 加 1 的操作,因此 for 后括号中的语句应再对 j

    39、 加 1,保证下标为偶数。if 语句的功能是如果后一个数比前一个数小则交换位置。66.以下程序中,函数 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(ak iaj i)k=j; s+=U 【17】 /U; U 【18】 /U=s; main() int xMN=3,2,5,1,4,l,8

    40、,3),s; SumColumMin(U 【19】 /U); printf(“%d/n“,s); (分数:2.00)填空项 1:_ (正确答案:17 aki 18 *sum 19 x, t=a; printf(“%d,%d/n“,*(t1+1),(*t) 1); 则程序运行后输出的结果是U 【20】 /U。(分数:2.00)填空项 1:_ (正确答案:9,2)解析:解析 本题开始定义了一个 int 型二维数组 a,并赋以 5 个初值,系统使数组的最高维为 3,并让a00=1,a01=2,a10=6, a11=9,a20=11,a21因为初值不够而初始化为 0。然后定义一个行指针 t 指向数组 a 的首地址,因为表达式 t1表示指向元素 a10的 int 型指针,t1+1 表示指向 a11的 int 型指针,故*(t1+1)返回的是 a11的值 9。而*t 表示指向元素 a00的 int 型指针,故(*t)1返回的是 a01的值 2。所以正确答案应该为 9,2。


    注意事项

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




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

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

    收起
    展开