国家二级C语言机试(操作题)模拟试卷791
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
例如,输入一个整数27638496,函数返回值为64862。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
unsigned long fun(unsigned longn)
{unsigned long x=0;int t;
while(n)
{t=n%10;
/*********found*********/
if(t%2==【1】)
/*********found*********/
x=【2】+t;
/*********found*********/
n=【3】;
}
return x;
}
main()
{unsigned long n=﹣1;
while(n>99999999||n<0)
{printf(\\
(1)0
(2)10*x(3)n/10
解析:填空1:定义变量t用来存放某数的各个位数值,此处判断t是否为偶数,即对2求余结果是否为0。
填空2:将t作为x的个位数,原来x的各个位上升1位,即x=10*x+t。
填空3:每循环一次,通过除法运算,去掉数值最后一位。
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数为7531。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void fun(long s,long*t)
{
int d;
long s1=1;
/*********found*********/
t=0;
while(s>0)
{
d=s%10;
/*********found*********/
if(d%2==0)
{
*t=d*s1+*t;
s1*=10;
}
s/=10;
}
}
void main()
{
long s,t;
system(\\
(1)*t=0;
(2)if(d%2!=0)或if(d%2==1)
解析:(1)由函数定义可知,变量t是指针变量,所以对t进行赋初值0是不对的。因为t指向的是存放新数的变量,所以此处应给新数赋初值0,即木t=0;
(2)变量d表示数s各位上的数,此处的if条件应为判断d是否为奇数。
程序设计题
3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
“FirstString﹣﹣”
“SecondStnng”
程序输出:
“FirstString﹣﹣SecondString”
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void fun(char p1[],char p2[])
{
}
void main()
{
char s1[80],s2[40];
system(\\
void fun(char p1[],char p2[])
{
int i,j;
for(i=0;pl[i]!=’\0’;i++);
/*求出的i为p1字符串的总长度,包括结束标记符*/
for(j=0;p2[j]!=’\0’;j++)
p1[i++]=p2[j];/*将p2字符串连在p1字符串后面*/
p1[i]=’\0’;/*在字符串
最后加上结束标记符*/}
解析:本题用两个循环完成操作,第1个循环的作用是求出第1个字符串的长度,即将i指到第1个字符串的末尾;第2个循环的作用是将第2个字符串的字符连到第1个字符串的末尾。最后在第1个字符串的结尾加上字符串结束标识‘\0’。
本文档预览:3600字符,共2781字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载