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

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

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

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

程序填空题

1.下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。

例如,若s所指字符串为“asdl23fgh543df”,处理后新字符串为“asdfghdfl23543”。

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

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

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

试题程序:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

char*fun(char*s)

{ int i,j,k,n;char *p,*t;

n=strlen(s)+1;

t=(char*)malloc(n*sizeof(char));

P=(char*)malloc(n*sizeof(char)),

j=0;k=0;

for(i;0;i<n;i++)

{if(((S[i]>=’a’)&&(s[i]

<=’Z’))‖((s[i]>=’A’)&&(s[i]

<=’Z’))){

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

t[j]=【1】;j++;)

else

{p[k]=s[i];k++;}

}

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

for(i=0,i<【2】;i++)

t[j+i]=P[i];

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

t[j+k]=【3】

return t;

}

main()

{ char s[80];

printf(\\

(1)s[i]

(2)k

(3)’\0’或0

解析:填空1:将字符串s中所有字母元素赋给数组t。

填空2:字符串中所有非字母元素放到字母元素后面,所以i的取值范围是0~k。

填空3:最后给字符串加入结束标识’\0’。

程序修改题

2.下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。

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

(2)y-=1.0/(i*i);

解析:(1)使用for循环计算公式,必须计算到m,所以应改为for(i=2;i<=m;i++)。

(2)在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此应改为y-=1.0/(i*i)。

程序设计题

3.编写函数fun,其功能是:根据以下公式计算S,并将计算结果作为函数值返回,n通过形参传入。

float fun(int n)

{

int i,s1=0;

float s=0.0;

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

{

s1=sl+i; /*求每一项的分母*/

s=s+1.0/s1; /*求多项式的值*/

}

return s;

}

解析:此类计算表达式值的程序,首先需要根据题意分析表达式的规律,得出通项,然后再完成程序语句。

本题中表达式的规律是1+2+…+n的倒数之和,那么可以通过for循环语句来实现第1项到第n项的变化。其实就是累加算法,方法是先根据题目要求定义变量,注意该变量的数据类型,然后对其进行初始化操作,因为该变量的作用是累加器,所以初始值应为0(或0.0,根据变量数据类型来确定),再通过for循环语句来完成累加过程。

本题中s1用来表示每一项的分母,每一项的分母都是由前一项分母加项数。注意,由于s1定义成一个整型,所以在s=s+1.0/s1语句中不能把1.0写成1。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号