首页 > 全部 > 二级C语言 > 国家二级C语言程序设计机试(程序填空题)模拟试卷2

国家二级C语言程序设计机试(程序填空题)模拟试卷2

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

国家二级C语言程序设计机试(程序填空题)模拟试卷2

程序填空题

1.给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

例如,形参s所指的字符串为:abedefgh,n的值为5,程序执行后t所指字符数组中的字符串应为:defgh。

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

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

试题程序:

#include

#include

#define N 80

void fun(char*s,int n,char*t)

{

int len,i,j=0;

len=strlen(s);

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

if(n>=len)strepy(____1____);

else

{

for(i=len—n;i<=len一1;i++)

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

t[j++]=__2__;

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

t[i]=____3____;

}

}

main()

{

char s[N],t[N];int n;

printf(“Enter a string:”);

gets(s);

printf(“Enter n:”);

seanf(“%d”,&n);

fun(s,n,t);

printf(“The string t:”);

puts(t);

(1)t,s (2)s[i] (3)0或’\0’

解析:本题考查:在矩阵中找出在行上最大、在列上最小的那个元素。

填空1:当给定的长度n大于该字符串s的长度,那么把该字符串直接复制到t就可以了,所以应填t,s。

填空2:使用for循环语句,把最右边n个字符依次添加到t中,所以应填s[i]。

填空3:字符串操作结束,需要给t加一个字符串结束符,所以应填0或’\0’。

2.给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参S所指的字符串为”abcdef35adgh3kjsdf7”,则输出结果为4。

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

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

试题程序:

#include

void fun(char*s,int*t)

{

int i,n;

n=0;

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

for(i=0;___1___!=0;i++)

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

if(S[i]>=‘0’&&s[i]<=___2___)

n++:

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

____3____;

}

main()

{

char s[80]=“abcdef35adgh3kjsdf7”;

int t;

prinff(“\nTine original string is:%s\n”,s);

fun(S,&t);

printf(“\nThe result is:%d\n”,t);

}

(1)s[i] (2),9, (3)*t=n

解析:本题考查:for循环语句;if语句条件表达式;指针变量。

填空1:通过for循环语句,来判断是否到字符串结尾,变量i用于存放字符串数组下标,则应填入s[i]。

填空2:题目要求判断数字字符,所以此处应填入,9,。

填空3:将数字字符个数存入变量t中,这里需注意变量t是指针变量。

说明:if语句的条件表达式一般会考查三方面的内容:

(1)条件判断,即>与>=、<与<=、=:与!=的区别,需要仔细分析题干的意思,确定条件表达式的内容。

(2)逻辑判断,即&&(逻辑与)与‖(逻辑或)的区别,需要根据题干确定if条件中若干个条件表达式的并存关系。

(3)=(赋值号)与==(等于号)的区别,注意在if条件中不会出现=(赋值号)。

3.函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。

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

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

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

试题程序:

#include

int isleap(int year)

{

int leap;

leap=fyear%4==0&&year%100

!=0‖ year%400==0);

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;

}

main()

{

int year,month,day,days;

prinff(“请输入年、月、日:”);

scanf(“%d%d%dtt,year,&month,&day);

days=fun(year,month,day);

prinff(“%d年%d B%d日是该年的第%d天\n”,year,month,day,days);

(1)leap (2)day (3)1

解析:本题考查:对循环结构的理解和掌握。

填空1:leap isleap()函数判断是否是闰年,由于初始化2月为28天,但是闰年是29,所以闰年要多加1天,isleap()应该返回0或者1,leap的表达式为逻辑运算,得到的结果刚好是0或1。

填空2:day前面累加了平年月份的天数,还

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

剩余未完,查看全文
收藏
国家二级C语言程序设计机试(程序填空题)模拟试卷2

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号