国家二级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版点下载