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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。

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

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

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

试题程序:

#include<stdio.h>

#include<stdlib.h>

void fun(char*s,int a,double f)

{

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

【1】fp;

char str[100],str1[100],str2[100];

int a1;double f1;

fp=fopen(\\

(1)FILE*

(2)fclose(fp)

(3)fp

解析:填空1:从使用fp=fopen(\\

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件mMi1.c。在此程序中,函数fun的功能是:从P所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。

例如,调用fun函数之前给字符串输入“ABCDeFGH”,调用后字符串中的内容应为“eABCDFGH”。

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

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

试题程序:

#include<stdio.h>

void fun(char*p)

{

char max,*q;int i=0;

max=p[i];

while(p[i]!=0)

{

if(max<p[i])

{max=p[i];

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

q=p+i

}

i++;

}

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

while(q<p)

{

*q=*(q-1);q–;

}

p[0]:max;

}

void main()

{

char str[80];

printf(\\

(1)q=p+i;

(2)while(q>p)

解析:解答本题需要三个步骤,首先找到字符串中ASCII码值最大的字符并保存;然后将该字符复制,并将该字符前面的字符串顺次后移;最后将ASCII码值最大的字符赋给字符串的第一个字符。要找到ASCII码值最大的字符可以通过定义一个字符变量一,该字符变量初始时等于字符串的第一个字符,若字符串的下一个字符大于max,则将下一个字符赋给max,如此循环到字符尾,即可得到ASCII码值最大的字符,同时令指针q指向最大字符。此后对最大字符前面的子串顺次后移,可采用while语句实现。

程序设计题

3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和,一c号。编写函数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字符,共2781字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号