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

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

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

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

程序填空题

1.下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符‘0’~‘9’,则将‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,…,‘9’转换成‘0’;若是其他字符则保持不变;并将转换后的结果作为函数值返回。

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

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

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

试题程序:

#include<stdio.h>

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

【1】fun(char ch)

{

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

if(ch>=’0’&&【2】)

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

return’9’-(ch-【3】);

return ch;

}

main()

{ char c1,c2;

printf(\\

(1)char

(2)ch<=’9’

(3)’0’

解析:本题考查:函数定义,注意函数定义的一般形式以及有参函数和无参函数的区别;if语句条件表达式,本题的条件表达式是判断数字字符;函数返回值,其一般形式为“return表达式;”。

填空1:函数定义时,类型标识符指明了函数的类型,函数的类型实际上是函数返回值的类型,所以此处应该填入char。

填空2:通过if条件语句判断字符串中字符是否为数字字符,即大于等于字符‘0’,同时小于等于字符‘9’。

填空3:return语句完成函数返回操作,要实现字符转换,完整语句为return’9’一(ch一’0’)。

有参函数定义,其一般形式为:

类型标识符函数名(形式参数列表)

{ 声明部分

语句

}

在形参列表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号分隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参也是变量,必须在形参列表中给出类型说明。

程序修改题

2.下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。

在main函数中,若fun返回1输出YES,若fun返回0输出NO!。

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

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

int fun(intm)

{

int k=2;

while(k<=m&&(m%k))

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

k++

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

if(m=k)

return 1;

else return 0 ;

}

void main()

{

int n;

system(\\

(1)k++ ;

(2)if(m==k)

解析:函数fun的功能是判断m是否为素数:m从2开始作为除数,并对m取余,若不存在一个数使得余数为0,则m为素数,程序的错误在于if(m=k)语句中的逻辑表达式写成了赋值语句。

程序设计题

3.规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的水号全部删除。形参h已指向字符串中第—个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。

例如,若字符串中的内容为“****A*BC*DEF*G********”,删除后,字符串中的内容应当是“****ABCDEFG********”。

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

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

试题程序:

#include<stdio.h>

#include<conio.h>

#include<string.h>

void fun(char*a,char*h,char*P)

{

}

main()

{

char s[81],*t,*f ;

printf(\\

void fun(char*a,char*h,char*p)

{

int i=0;

char*q=a;

/*将前导*号保存到a中*/

while(q<h)

{

a[i]=*q;q++;i++;

}

/*继续遍历数组*/

while(q<p){

if(*q!=’*’)

{

/*如果不是木保存到a中*/

a[i]=*q;i++;

}

q++;

}

/*将末尾*号保存到a中*/

while(*q)

{

a[i]=*q;i++;q++;

}

a[i]=’\0’;

解析:本题的重点是要选择好判断条件,首先是需要判断前导*号的结束,然后判断是否指向最后一个字母,最后补充尾部*号。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号