國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言考試模擬題
在國(guó)家的計(jì)算機(jī)二級(jí)c語(yǔ)言考試中,我們常常會(huì)遇到哪些題目呢?下面是學(xué)習(xí)啦小編給大家整理的計(jì)算機(jī)二級(jí)c語(yǔ)言考試模擬題及答案,供大家參閱!
計(jì)算機(jī)二級(jí)c語(yǔ)言考試模擬題
一、基本操作題
請(qǐng)補(bǔ)充函數(shù)proc(),該函數(shù)的功能是計(jì)算下面公式SN的值:
SN=1+1/3十4/5+...+2N-1/SN-1
例如,當(dāng)N=20時(shí),SN=29.031674。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。
試題程序:
#include
#include
#include
double proc(int n)
{
double s=1.0,sl=0.0;
int k;
for(【1】;k<=n;k++)
{
sl=S;
【2】
}
return 【3】 ;
)
void main()
{
int k=0:
double sum;
system("CLS");
printf("\nPlease input N=");
scanf("%d",&k);
sum=proc(k);
printf("\nS=%If",sum);
)
二、程序改錯(cuò)題
下列給定程序中,函數(shù)proc()的功能是根據(jù)整型形參n,計(jì)算如下公式的值:
Y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(nn)
例如,n中的值為l0,則應(yīng)輸出0.817962。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include
#include
#include
double proc(int n)
{
double y=1.0;
f|****found****
int J=1; .
int i;
for(i=2;i<=n;i++)
{
j=-l*j;//****found****
y+=1/(i*i);
)
return(y);
)
void main()
{
int n=10:
system("CLS"):
printf("\nThe result is%lf\n",proc(n));
)
三、程序設(shè)計(jì)題
編寫(xiě)一個(gè)函數(shù),從傳人的M個(gè)字符中找出最長(zhǎng)的一個(gè)字符串,并通過(guò)形參指針max傳回該串地址(用****作為結(jié)束輸入的標(biāo)志)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。
試題程序:
#include
#include
#include
char*proc(char(*a)[81],int num)
{
)
void main()
{
char ss[l0][81],*max;
int n,i=0;
printf("輸入若干個(gè)字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")= =0)
{
i++:
gets(ssEi]);
puts(ss[i]);
)
n=i:
max=proe(SS,n);
printf("\nmax=%s\n",max);
}
計(jì)算機(jī)二級(jí)c語(yǔ)言考試模擬題答案
一、基本操作題程序填空題
【1】k=2【2】s+=(2*k一1)/sl【3】s
【解析】由題目中所給公式可知,多項(xiàng)武的第一項(xiàng)為1。變量s中存放多項(xiàng)式的和,其初始值為l。因此,循環(huán)從第二項(xiàng)開(kāi)始,因此,【1】處填“k=2”;變量sl中存放各項(xiàng)表達(dá)武的值,由公式可知,【2】處填“s+=(2*k-1)/sl”;題目中要求將多項(xiàng)式的和返回到主函數(shù)當(dāng)中,因此,【3】處填“s”。
二、程序改錯(cuò)題
(1)錯(cuò)誤:int j=1;正確:double j=1.0;
(2)錯(cuò)誤:y+=1/(i*i); 正確:y+=j/(i*i);
【解析】由函數(shù)proc()可知,變量j的作用是控制每一項(xiàng)符號(hào)的變化,并且作為運(yùn)算的分子,應(yīng)改為double型變量。因此,“int j=1;”應(yīng)改為“double j=1.0;”。變量y中存放多項(xiàng)式的值,多項(xiàng)式中的每一項(xiàng)符號(hào)由變量j決定。因此,“y+=1/(i*i);”應(yīng)改為“y+=j/(i*i);”。
三、程序設(shè)計(jì)題
char*proc(char(*a)[81],int M)
{
char*max;
int i=0:
max=a[O]:
for(i=0;i if(strlen(max) max=a[i];
return max; //返回最長(zhǎng)字符串的地址
}
【解析】本題首先要定義一個(gè)字符指針用于保存最長(zhǎng)的字符串,并使其初始值指向第一個(gè)字符串;再循環(huán)遍歷字符串?dāng)?shù)組,通過(guò)if語(yǔ)句比較字符串的長(zhǎng)度,并把最長(zhǎng)的字符串地址賦給字符指針;最后返回最長(zhǎng)字符串的地址。
看了“國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言考試模擬題”的人還看了:
1.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案
2.計(jì)算機(jī)二級(jí)c語(yǔ)言考試題庫(kù)及答案
3.2015年全國(guó)計(jì)算機(jī)考試二級(jí)C語(yǔ)言模擬卷
4.2015年計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析