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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储学生的学号、姓名和三门课的成绩。函数fun的功能是:将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。

例如,若传给形参a的数据中学号、姓名和三门课的成绩依次是:10001、“ZhangSan”、95、80、88,修改后的数据应为:10002、“LiSi”、96、81、89。

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

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

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

试题程序:

#include<stdio.h>

#include<string.h>

struct sLudent{

long sno;

char name[10],

float:score[3];

};

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

【1】fun(struct student;a)

{int i;

a.sno=10002;

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

stropy【2】,\\

(1)struct student

(2)a.name

(3)a.score[i]

解析:填空1:函数定义时,类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。本题中,用结构类型定义函数类型。

填空2和填空3:此处考查结构体变量成员的表示方法,a.name和a.score[i]分别表示学生的姓名和成绩。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。

例如:当输入100时,输出:

100=9+10+11+12+13+14+15+16

100=18+19+20+21+22

请改正函数fun中指定部位的错误,使它能得出正确的结果。

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

试题程序:

#include<stdio.h>

void fun(int n)

{int j,b,c,m,flag=0;

for(b=1;b<=n/2;b++){

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

n=m;

c=b;

while(m!=0&&m>=c){

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

m=m-c;c++

}

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

if(m!=0)

{printf(\\

(1)m=n;

(2)m=m-c;c++;

(3)if(m==0)

解析:(1)每次循环,程序需要对n执行减去连续的正整数序列来判断n是否刚好为0,即n是否是连续的正整数序列之和,所以需要使用临时变量m寄存n的值,每次循环对m执行减运算操作,不满足继续下一轮。另外,程序声明变量m时,未初始化它的值,所以此处应该修改为:m=n。

(2)语法错误。C语言中每个语句必须以分号结束,所以应修改为:m=m-c;c++;。

(3)题目判断n是否是连续的正整数序列之和,若是,则输出所有序列,程序中m依次减去连续的正整数,当m为0时,表示m(即n)满足条件,再输出当前序列中的每个正整数,所以此处判断条件反了,应修改为:if(m==0)。

程序设计题

3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m>n。

float fun(int m,int n)

{

float p1=1,p2=1,p3=1;

int i;

for(i=1;i<=m;i++)

p1*=i;

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

p2*=i;

for(i=1;i<=(m-n);i++)

p3*=i;

return p1/(p2*p3);

}

解析:本题考查循环的使用。通过三个for循环分别计算阶乘。其中p1=m!,p2=n!,p3=(m-n)!。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号