ImageVerifierCode 换一换
格式:DOC , 页数:3 ,大小:35KB ,
资源ID:1332081      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1332081.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷267及答案解析.doc)为本站会员(testyield361)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷267及答案解析.doc

1、国家二级 C语言机试(操作题)模拟试卷 267及答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.下列给定程序中,函数 fun的功能是:把形参 a所指数组中的最小值放在元素 a0中,接着把 a所指数组中的最大值放在 a1元素中;再把 a所指数组元素中的次小值放在 a2中,把 a所指数组元素中的次大值放在 a3,依此类推。 例如,若 a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7;则按规则移动后,数据排列为:1,9,2,8,3,7,4,6,5。形参 n中存放 a所指数组中数据的个数。 规定 fun函数中的 max存放当前所找的最大值

2、px 存放当前所找最大值的下标。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdioh #define N 9 void fun(int a,int n) int i,j,max,min,px,pn,; for(i=0;in1;i+=2) *found* max=min= 【1】 ; px=pn=i; for(j=i+1;jn;j+) *found* if(max 【2】 ) max=aj;px=j;) *found* if(min 【3】 ) min=aj;pn=

3、j; if(pn!=i) t=ai;ai=rain;apn=t; if(px=i)px=pn; if(px!=i+1) t=ai+1,ai+1=max; apx=t;) void main() ( int bN=9,1,4,2,3,6,5,8,7),i; printf(“nThe original data:n“); for(i=0;iN;i+) printf(“4 d“,bi); printf(“n“); fun(b,N); printf(“nThe data aftermoving:n“); for(i=0;iN;i+) printf(“4 d“,bi); printf(“n“); (分数

4、2.00)_二、程序修改题(总题数:1,分数:2.00)2.下列给定程序中函数 fun的功能是:在字符串的最前端加入 n个*号,形成新串,并且覆盖原串。字符串的长度最长允许为 79。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件NODI1C 中,不要改动 main函数,不得增行或删行,也不得更改程序的结构!试题程序:#includestdioh#includestringhvoid fun(char s,int n) char a80,*p; int i;*found* s=p; for(i=0;in;i+)ai=*; do ai=*p; i+; *found* while

5、P+) ai=0; strcpy(s,a);main() int n;char s80; printf(“nEnter a string:“); gets(s); printf(“nThe string“s“n“,s); printf(“nEnter n(number of*):“); scanf(“d“,n); fun(s,n); printf(“nThe string after insert:“s“n“,s);(分数:2.00)_三、程序设计题(总题数:1,分数:2.00)3.编写个函数,其功能是:从传入的 num个字符中找出最长的一个字符串,并通过形参指针 max传回该串地址(用*

6、作为结束输入的标识)。注意:部分源程序在文件 PROG1C 中。请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。试题程序:1 #includeconioh2 #includestdioh3 #includestringh4 #includestdlibh5 char*fun(char(*a)81,int num,char * max)6 78 9 void main()10 11 FILE*wf;12 char ss1081,*ps=NULL;13 char s381=“abcd“,“deg“,“diegns“),*P=NULL;14 int i

7、0,n;15 system(“CLS“);16 printf(“输入若干个字符串:“);17 gets(ssi);18 puts(ssi);19 while(!strcmp(ssi,“*“)=0)*用 4个星号作为结束输入的标志*20 21 i+;22 gets(SSi);23 puts(SSi);24 25 n=i;26 ps=fun(ss,n,ps);27 printf(“nmax=sn“,ps);28 *29 wf=fopen(“outdat“,“w“);30 P=fun(s,3,p);31 fprintf(wf,“s“,P);32 fclose(wf);33 *34 (分数:2.00

8、国家二级 C语言机试(操作题)模拟试卷 267答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.下列给定程序中,函数 fun的功能是:把形参 a所指数组中的最小值放在元素 a0中,接着把 a所指数组中的最大值放在 a1元素中;再把 a所指数组元素中的次小值放在 a2中,把 a所指数组元素中的次大值放在 a3,依此类推。 例如,若 a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7;则按规则移动后,数据排列为:1,9,2,8,3,7,4,6,5。形参 n中存放 a所指数组中数据的个数。 规定 fun函数中的 max存放当前所找的最大

9、值,px 存放当前所找最大值的下标。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdioh #define N 9 void fun(int a,int n) int i,j,max,min,px,pn,; for(i=0;in1;i+=2) *found* max=min= 【1】 ; px=pn=i; for(j=i+1;jn;j+) *found* if(max 【2】 ) max=aj;px=j;) *found* if(min 【3】 ) min=aj;pn

10、j; if(pn!=i) t=ai;ai=rain;apn=t; if(px=i)px=pn; if(px!=i+1) t=ai+1,ai+1=max; apx=t;) void main() ( int bN=9,1,4,2,3,6,5,8,7),i; printf(“nThe original data:n“); for(i=0;iN;i+) printf(“4 d“,bi); printf(“n“); fun(b,N); printf(“nThe data aftermoving:n“); for(i=0;iN;i+) printf(“4 d“,bi); printf(“n“); (分

11、数:2.00)_正确答案:(正确答案:(1)ai (2)aj (3)aj)解析:解析:本题考查:数组的引用;if 语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,则不执行下面的语句。 填空 1:for 循环语句循环体中将数组元素 ai赋值给变量 max和变量 min。 填空 2:通过一次 for循环,找到数组中的最大值,if 语句的条件表达式是 maxaj。 填空 3:同理,此处 if语句的条件表达式是 minaj。 求最大值或者最小值的题目,一般都是先假设一个元素最大或最小,然后通过 if条件语句将该元素和其他元素进行比较操作来完成。二、程序修改题(总题数:1,分数:2.

12、00)2.下列给定程序中函数 fun的功能是:在字符串的最前端加入 n个*号,形成新串,并且覆盖原串。字符串的长度最长允许为 79。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件NODI1C 中,不要改动 main函数,不得增行或删行,也不得更改程序的结构!试题程序:#includestdioh#includestringhvoid fun(char s,int n) char a80,*p; int i;*found* s=p; for(i=0;in;i+)ai=*; do ai=*p; i+; *found* while(*P+) ai=0; strcpy(s,a);ma

13、in() int n;char s80; printf(“nEnter a string:“); gets(s); printf(“nThe string“s“n“,s); printf(“nEnter n(number of*):“); scanf(“d“,n); fun(s,n); printf(“nThe string after insert:“s“n“,s);(分数:2.00)_正确答案:(正确答案:(1)p=s; (2)while(*p+);)解析:解析:(1)指针 p应指向 s,所以应改为 p=s;。 (2)循环等待,当 while循环执行一次,临时变量p应该指向字符串的下一位置

14、所以应改为 while(*p+);。三、程序设计题(总题数:1,分数:2.00)3.编写个函数,其功能是:从传入的 num个字符中找出最长的一个字符串,并通过形参指针 max传回该串地址(用*作为结束输入的标识)。注意:部分源程序在文件 PROG1C 中。请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。试题程序:1 #includeconioh2 #includestdioh3 #includestringh4 #includestdlibh5 char*fun(char(*a)81,int num,char * max)6 78 9 void

15、 main()10 11 FILE*wf;12 char ss1081,*ps=NULL;13 char s381=“abcd“,“deg“,“diegns“),*P=NULL;14 int i=0,n;15 system(“CLS“);16 printf(“输入若干个字符串:“);17 gets(ssi);18 puts(ssi);19 while(!strcmp(ssi,“*“)=0)*用 4个星号作为结束输入的标志*20 21 i+;22 gets(SSi);23 puts(SSi);24 25 n=i;26 ps=fun(ss,n,ps);27 printf(“nmax=sn“,ps)

16、28 *29 wf=fopen(“outdat“,“w“);30 P=fun(s,3,p);31 fprintf(wf,“s“,P);32 fclose(wf);33 *34 (分数:2.00)_正确答案:(正确答案:char *fun(char(*a)81,int num, char *max) int i=0; max=a0; for(i=0;inum;i+) *找出最长的一个字符串* if(strlen(max) strlen(ai) max=ai; return max;*传回最长字符串的地址* )解析:解析:首先应该明白 ss是一个指向一维数组的指针变量,max 是指向指针的变量,所以引用变量时要注意加上*。本程序使用循环语句遍历字符串数组,使用条件语句判断该字符串是否最长。

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