首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷950

国家二级(C语言)机试模拟试卷950

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

国家二级(C语言)机试模拟试卷950

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。

例如,若输入: 2008 5 1,则程序输出: 2008年5月1日是该年的第122天。

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

注意:部分源程序在文件blank1.c中。

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

#include

int isleap(int year)

{ int leap;

leap= (year%4==0 && year%100!=0 || year%400==0);

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

return __(1)__;

}

int fun(int year, int month, int day)

{ int table[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int days=0 , i;

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

days=days+table[i];

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

days=days+__(2)__;

if( isleap(year) && month>2 )

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

days=days+__(3)__;

return days;

}

void main( )

{ int year, month, day, days ;

printf(\\

(1)leap

(2)day

(3)1

解析:主要考查考生对循环结构的理解的掌握

填空1:isleap( )函数判断是否是闰年,由于初始化2月为28天,但是闰年是29,因此闰年要多加1天,isleap( )应该返

回0或者1,leap的表达式为逻辑运算,得到的结果刚好是0或1。

填空2:前面累加了平年月份的天数,还需要加上日的天数。

填空3:如果是闰年并且累加月份大于2月,需要多加1天。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第1门课程的平均分,作为函数值返回。

例如,主函数中给出了4名学生的数据,则程序运行的结果为:第1门课程的平均分是: 76.125000。

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

注意:部分源程序在文件modi1.c中。

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

#include

typedef struct

{ char num[8];

double score[2];

}STU ;

double fun(STU std[], int n)

{ int i;

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

double sum ;

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

for(i=0; i<2 ; i++)

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

sum+= std[i].score[1];

return sum/n;

}

void main( )

{ STU std[ ]={ \\

(1)double sum;改为double sum=0.0;

(2) for(i=0;i<2;i++)改为 for(i=0;i<n;i++)

(3) sum+=std[i]. score[1];改为sum+=std[i].score[0];

解析:主要考查临时变量初始化,C语言里临时变量不初始化,它的默认值是不确定的一个值。另外,考查C语言约定数组的下标是从0开始的。

(1)累加求和需要初始化累加结果的临时变量。

(2)共有n个学生的成绩,需要累加所有学生第一门课的成绩。

(3)第1门课程的平均分,C语言的下标是从0开始的。

程序设计题

3.使VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。

例如:若输入的数据为123,则输出结果为:输入的数字是3位。

注意:部分源程序在文件prog1.c中。

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

#include

void NONO( );

int fun(int n)

{

}

void main( )

{ int n, place ;

do{

printf(\\

int bits=1;//临时变量统计位数

while(n/10)//判断是否为0,若不为0,bits加1,再将n除以10,继续判断

{

bits++;

n=n/10;

}

return bits;

解析:主要考查考生对循环跳出的条件的理解,以及理解取数字位数的方法。

通过对指定的多位数每次除以10,去掉最后一位,直到为0结束,使用临时变量来统计一个多位数的位数。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号