首页 > 全部 > 二级C语言 > 国家二级C语言机试(操作题)模拟试卷608

国家二级C语言机试(操作题)模拟试卷608

本单篇文档共2685字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 4206人下载
价格: 1.10 原价:¥9.60
收藏

国家二级C语言机试(操作题)模拟试卷608

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过函数值返回。

例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后,a所指数组中的数据为:9,1,3,5,7,返回值为5。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!

试题程序:

#inclucle<stotio.h>

#define N9

int fun(int a[],int n)

{int i,j;

j=0;

for(i=0;i<n;i++)

/*********found*********/

if(a[i]%2==【1】)

{

/*********found*********/

a[j]=a[i];【2】

}

/*********found*********/

return【3】

}

main()

{int b[N]={9,1,4,2,3,6,5,8,7),i,n;

printf(\\

(1)1

(2)j++

(3)j

解析:填空1:根据题目要求,需进行奇偶数的判定,可以通过if条件语句来判断数组元素是否为奇数,如果元素不能被2整除,则为奇数,所以填入if(a[i]%2==1)。

填空2:将为奇数的元素重新存放到数组的前面,同时下标增1。

填空3:函数返回值需要返回数组中奇数的个数,因此返回变量j。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include<stdio.h>

/*********found*********/

void fun(int x,inty)

{int t;

/*********found*********/

t=x;x=y;y=t;

}

void main()

{int a,b;

a=8;

b=3;

fun(&a,&b);

printf(\\

(1)void fun(int*x,int*y)

(2)t=*x;*x=*y;*y=t;

解析:(1)本题考查指针变量作函数参数。一般变量作参数时,不能改变实参的值,采用指针变量作为参数则能够改变实参的值。主函数中fun函数的调用方式表明fun函数的参数应当为指针类型。

(2)此处是一个变量交换操作错误,可知x、y是指针类型,变量类型不同,因而x、y不能与t进行值的交换。

程序设计题

3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:将S所指字符串中ASCII码值为奇数的字符删除,剩余字符形成的新串放在t所指数组中。

例如,若s所指字符串中的内容为“ABCDEFG12345”,其中字符A的ASCII码值为奇数,字符1的ASCII码值也为奇数,都应当删除,其他依此类推。最后t所指的数组中的内容应是“BDF24”。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include<conio.h>

#include<stdio.h>

#include<string.h>

void fun(char*s,char t[])

{

main()

{

char s[100],t[100],Msg[]=\\

void fun(char*s,char t[])

{

int i,j=0,n;

n=strlen(s);

/*遍历整个数组*/

for(i=0;i<n;i++)

/*如果元素的ASC工工码值为偶数*/

if(s[i]%2==0)

{

/*将元素保存到t中*/

t[j]=s[i];

j++;

}

t[j]=’\0’;

}

解析:要删除ASCII码值为奇数的字符,也就是要保留ASCII码值为偶数的字符,由于最终是要求出剩余字符形成的新串,所以本题的算法是对原字符串从头到尾扫描,找出ASCII码值为偶数的字符并依次存入数组。

本文档预览:3600字符,共2685字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(操作题)模拟试卷608

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号