2022年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2022年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2022年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2022年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2022年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2022年陜西省咸陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(12題)1.若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)()。

A.getcharB.getcC.getsD.scanf

2.設(shè)一組初始記錄關(guān)鍵字序列為(Q,H,C,Y,P,A,M,S,R,D,F,X),則按字母升序的第一趟冒泡排序結(jié)束后的結(jié)果是()

A.F,H,C,D,P,A,M,Q,R,S,Y,X

B.P,A,C,S,Q,D,F,X,R,H,M,Y

C.A,D,C,R,F,Q,M,S,Y,P,H,X

D.H,C,Q,P,A,M,S,R,D,F,X,Y

3.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦值40000的正確語(yǔ)句是()

A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*10L;

4.

5.有下列程序:main{inti,s=0,t[]={1,2,3,4,5,6,7,8,9);for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。A.45B.20C.25D.36

6.下列算法中,()算法用來(lái)求圖中某頂點(diǎn)到其他頂點(diǎn)所有頂點(diǎn)之間的最短路徑。

A.DijkstraB.FloyedC.PrimD.Kruskal

7.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

8.一個(gè)棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棱的順序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA

9.若以“a+”方式打開一個(gè)已存在的文件,以下敘述正確的是()。

A.文件打開時(shí),原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作

B.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進(jìn)行重寫和讀操作

C.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫和讀操作

D.文件打開時(shí),原有文件內(nèi)容被刪除,只可進(jìn)行寫操作

10.下列定義數(shù)組的語(yǔ)句中,正確的是()。A.#defineN10?intx[N];

B.intN=10;int[N];

C.intx0..10];

D.Intx[];.

11.有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf(“%d\n,”,S(k+j));}程序的運(yùn)行結(jié)果是()。

A.33B.197C.143D.28

12.第

11

若有定義:char*st="howareyou";下列程序段中正確的是

A.chara[11],*p;strcpy(p=a+1,&st[4]);

B.chara[11];strcpy(++a,st);

C.chara[11];strcpy(a,st);

D.chara[],*p;strcpy(p=&a[1],st+2);

二、2.填空題(12題)13.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。

14.下面程序的功能是將一個(gè)字符串str的內(nèi)容倒序,請(qǐng)?zhí)羁铡?/p>

#inelude<stdio.h>

#include<strins.h>

main()

{inti,j,【】;

charstr[]={"1234567"};

for(i=0,j=strlen(str)【】;i<j;i++,j--)

{k=str[i];str[i]=str[j];str[j]=k;}

printf("%s\n",str);

}

15.函數(shù)調(diào)用語(yǔ)句:“fgets(buf,n,fp);”從中指向的文件中讀入n個(gè)字符放到buf字符數(shù)組中,函數(shù)返回值為______。

16.下列程序的運(yùn)行結(jié)果是______。

#include<string.h>

char*ss(char*s)

{returns+strlen(s)/2;}

main()

{char*p,*str="abcdefgh";

p=ss(str);printf('%s\n",p);

}

17.在循環(huán)中,continue語(yǔ)句與break語(yǔ)句的區(qū)別是:______語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。

18.下列程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{inta,b,c;

a=3;b=4;c=5;

if(a>b)

if(a>c)

printf("%d",a);

elseprintf("%d",b);

printf("%d\n",c);

}

19.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

20.有以下程序

intfa(intx){returnx*x;}

intfb(intx){retumx*x*x;}

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

程序運(yùn)行后,輸出結(jié)果是【】。

21.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。

22.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【】。

23.以下程序用來(lái)輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>

structst

{charname[20];doublescore;};

main()

{structstex;

printf("exsize:%d\n",sizeof(【】));}

24.函數(shù)compare的功能是比較兩個(gè)字符串是否相等,若相等則函數(shù)返回1,否則返回o,請(qǐng)?zhí)羁铡?/p>

compare(chars[],chart[])

{

inti=0

while(s[i]==t[i]&&【】)i++;

return(【】?1:0);

}

三、3.程序設(shè)計(jì)題(10題)25.請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出給定數(shù)組(長(zhǎng)度為9)中每相鄰兩個(gè)元素之平均值的平方根之和。

例如,給定數(shù)組中的9個(gè)元素依次為12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,輸出應(yīng)為:s=35.951014。

注意:部分源程序在文件PROGl.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。

26.請(qǐng)編寫函數(shù)fun(),它的功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)從0到p(含p,p<n-1)的數(shù)組元素平移到數(shù)組的最后。例如:一維數(shù)組中的原始內(nèi)容為:1,2,3,4,5,6,7,8,9,10;p的值為3。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為:5,6,7,8,9,10,1,2,3,4。部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。

#include<stdiO.h>

#defineN80

voidfun(int*w,intp,intn)

{

}

main()

{in[a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

inti,p,n=15;

printf("Theodginaldata:\n");

for(i=0;i<n;i++)printf("%3d",a[i]);

printf("\nEnterp:");

scanf("%d",&p);

fun(a,p,n);

printf("\nThedataaftermoving:\n");

for(i=0;i<n;i++)printf("%3d”,a[i]);

}

27.下列程序定義了N×N的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)fun(),函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的s。例如:若a數(shù)組中的值為

a=01279

19745

23831

45682

59141

則返回土程序后s的值應(yīng)為3.375。

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

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的仟何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。

試題程序:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#defineN5

doublefun(intw[][N])

{

}

main()

{

inta[N][N]={0,1,2,7,9,1,9,7,4,5,2,

3,8,3,1,4,5,6,8,2,5,9,1,4,1};

inti,j;

doubles;

clrscr();

printf("*****Thearray*****\n");

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

{for(j=0;j<N;i++)

{printf("%4d",a[i][j]);}

printf("\n");

}

s=fun(a);

printf("*****THERESULT*****\n");

printf("Thesumis:%lf\n",s);

}

28.程序定義了NxN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組右上三角元素中的值乘以m。

例如:若m的值為2,a數(shù)組中的值為:

注意:部分源程序存在文件PROGl.C文件中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。

29.編寫函數(shù)fun(),它的功能是:計(jì)算和輸出下列級(jí)數(shù)的和。

S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))

例如,當(dāng)n=10時(shí),函數(shù)值為0.909091。

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

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。

試題程序;

#include<conio.h>

#include<stdio.h>

doublefun(intn)

{

}

main()

{

clrscr();

printf("%f\n",fun(10));

}

30.請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出給定10個(gè)數(shù)的方差:

例如,給定的10個(gè)數(shù)為95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,輸出為s=11.730729。

注意:部分源程序在文件PROGl.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。

31.請(qǐng)編寫函數(shù)fun(),其功能是:計(jì)算并輸出下列多項(xiàng)式的值。

S=1+4/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)

例如,著主函數(shù)從鍵盤給n輸入50后,則輸出為S=1.960784。

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

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。

試題程序:

#include<stdio.h>

doublefun(intn)

{

}

main()

{

intn;

doubles;

printf("\nInputn:");

scanf("%d",&n);

s=fun(n);

printf("\n\ns=%f\n\n",s);

}

32.編寫函數(shù)fun,它的功能是:求小于形參n同時(shí)能被3與7整除的所有自然數(shù)之和的平方根,并作為函數(shù)值返回。

例如若n為1000時(shí),程序輸出應(yīng)為:s=153.909064。

注意:部分源程序在文件PROGl.C文件中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。

33.請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:將大于形參m且緊靠m的k個(gè)素?cái)?shù)存入xx所指的數(shù)組中。例如,若輸入17,5,則應(yīng)輸出:19,23,29,3l,37。

注意:部分源程序在文件PROGl.C文件中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花插號(hào)中填入你編寫的若干語(yǔ)句。

34.編寫一個(gè)函數(shù),從num個(gè)字符串中找出最長(zhǎng)的一個(gè)字符串,并通過(guò)形參指針max傳回該串地址。(注意:主函數(shù)中用¨¨作為結(jié)束輸入的標(biāo)志。)

注意:部分源程序在文件PROGl.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。

四、單選題(0題)35.以下語(yǔ)句中,正確制作電子郵件鏈接的是()。

五、單選題(0題)36.C語(yǔ)言函數(shù)中未指定存儲(chǔ)類的變量,其隱含類別是()

A.autoB.staticC.registerD.void

六、單選題(0題)37.有以下程序:#include<stdio.h>main(){char*s=“01234”;while(*(++s)!=‘\0’){switch(*s-‘0’){case0:case1:putchar(*s+1);break;case2:putchar(*s+1);break;case3:putchar(*s+1);default:putchar(*s+1);break;}}}程序運(yùn)行后的輸出結(jié)果是()。

A.22345B.2345C.12345D.23445

參考答案

1.C當(dāng)輸入字符串時(shí),函數(shù)scanf用“空格”間隔不同的字符串,scanf函數(shù)不能輸入空格。getchar函數(shù)用于輸入字符,其調(diào)用形式為ch=getchar(),getehar函數(shù)從終端讀入一個(gè)字符作為函數(shù)值,把讀入的字符賦給變量ch。在輸入時(shí),空格、回車符都將作為字符讀入,而且只有在用戶按<Enter>鍵時(shí),讀入才開始執(zhí)行。gets函數(shù)的調(diào)用形式為getS(Str_adr),其中“str_adr”是存放輸入字符串的起始地址,可以是字符數(shù)組名、字符數(shù)組元素的地址或字符指針變量。gets函數(shù)用來(lái)從終端鍵盤讀入字符串(包括空格符),直到讀入一個(gè)換行符為止。getc函數(shù)的調(diào)用形式為ch=getc(Pf),其中“pf”是文件指針,函數(shù)的功能是從“pf”指定的文件中讀入一個(gè)字符,并把它作為函數(shù)值返回。故本題答案為C選項(xiàng)。

2.D

3.D

4.D

5.C在for循環(huán)語(yǔ)句中自變量i從0開始,每次自加2,執(zhí)行s+=*(t+i)語(yǔ)句,因?yàn)镃語(yǔ)言規(guī)定數(shù)組名做表達(dá)式相當(dāng)于數(shù)組的首地址,也就是第一個(gè)元素的地址。因此,*(t+i)代表數(shù)組的第i+1個(gè)元素。所以程序運(yùn)行的結(jié)果是1+3+5+7+9=25,即變量S的值等于25。

6.A

7.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。

8.B棧是先進(jìn)后出的原則組織數(shù)據(jù),所以人棧最早的最后出棧,所以選擇B。

9.AC語(yǔ)言中,文件打開方式“a+”表示打開一個(gè)文本文件,從文件開始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時(shí)指定的文件名創(chuàng)建一個(gè)新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項(xiàng)。

10.A數(shù)組說(shuō)明的一般形式為:類型說(shuō)明符數(shù)組名[常量表達(dá)式]。B)中N是變量,不能用變量定義數(shù)組長(zhǎng)度。C)選項(xiàng)中數(shù)組長(zhǎng)度是非法的一串?dāng)?shù)字。定義數(shù)組時(shí)必須為其指明長(zhǎng)度,D)選項(xiàng)中數(shù)組長(zhǎng)度為空,所以非法。

11.CS為帶參數(shù)的宏定義,運(yùn)行“S(k+j)”為4*(k+j)*k+j+1=143。故本題答案為C選項(xiàng)。

12.A本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語(yǔ)句就是非法的:str1='China',如果想把“China”這5個(gè)字符放到數(shù)組str1中,除了逐個(gè)輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如,strcpy(str1,'China');或strcpy(str1,str2);注意,不能企圖用以下語(yǔ)句來(lái)實(shí)行賦值(將str2的值傳給str1):str1=str2;不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)

其中,需要注意的是,字符數(shù)組1的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(str1),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

13.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個(gè)表達(dá)式的值為++a的值,++a的值為7。請(qǐng)注意前綴++,--和后綴++,--的區(qū)別。

14.k-1k-1解析:第一處應(yīng)該是定義的某個(gè)變量,讀程序可知,變量k沒(méi)有定義,所以此處應(yīng)填入k。字符串的倒序,就是將首尾對(duì)應(yīng)的字符(數(shù)組元素)兩兩交換??捎脙蓚€(gè)游標(biāo)變量i和j分別代表前端元素的下標(biāo)和后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]仍然位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長(zhǎng)度減1,所以在第二處應(yīng)填入-1。

15.buf的首地址buf的首地址解析:考查fsets()函數(shù)的功能,f8ets()函數(shù)用來(lái)從文件中讀入字符串。調(diào)用格式為:f8ets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個(gè)int型變量。調(diào)用函數(shù)fsets()時(shí),最多能讀入n-1個(gè)字符,系統(tǒng)自動(dòng)在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。

16.efghefgh解析:本題考核的知識(shí)點(diǎn)是通過(guò)指針引用字符串.函數(shù)“的作用是讓形參指針s指向該字符串的右半部分.主函數(shù)中首先定義了一個(gè)字符型指針變量p和字符型指針str;并初始化為“abcdefgh”,然后調(diào)用函數(shù)ss,將實(shí)參str傳給形參s,因此可知該函數(shù)返回的指針,指向str所指的字符串“abcdefgh”的右半部分,即指向字符串“efgh”,所以最后輸出指針p(指針p的值為調(diào)用函數(shù)ss(sD)的返回值)所指向的字符串為“efgh。

17.continuecontinue解析:continue語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語(yǔ)句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。

18.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語(yǔ)句a>b不成立,所以不執(zhí)行后面的語(yǔ)句,直接執(zhí)行“printf('%d\\n',c);”語(yǔ)句,輸出c的值,輸出結(jié)果為5。

19.q<p+nq<p+n解析:考查對(duì)于函數(shù)的地址傳遞的掌握情況。通過(guò)地址傳遞可以在被調(diào)函數(shù)中對(duì)調(diào)用函數(shù)中的變量進(jìn)行引用。

20.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個(gè)參數(shù),形參f1與f2分別是兩個(gè)指向函數(shù)的指針。在f中執(zhí)行f2(x)-f1(x),實(shí)際上是執(zhí)行了fb(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為23-22=4。

21.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

22.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。

23.structst或exstructst或ex解析:結(jié)構(gòu)體類型數(shù)據(jù),其數(shù)據(jù)成員各自占據(jù)不同的存儲(chǔ)空間,整個(gè)結(jié)構(gòu)體變量所占存儲(chǔ)單元的字節(jié)數(shù)為每一個(gè)數(shù)據(jù)成員所占的存儲(chǔ)空間的和。注意:共用體變量所占存儲(chǔ)單元字節(jié)數(shù)的計(jì)算。

24.s[i]&&t[i]或s[i]!='\0'&&t[i]!='\0'!(s[i]-t[i])s[i]&&t[i]或s[i]!='\\0'&&t[i]!='\\0'\r\n!(s[i]-t[i])解析:while后括號(hào)中的判斷條件為兩個(gè)字符串相同位置上的字符相等,且兩個(gè)字符串都沒(méi)有結(jié)束,則循環(huán)。故第一空應(yīng)該填s[i]&&t[i]或其他等價(jià)表達(dá)式。如果兩個(gè)字符串完全相等,則while循環(huán)退出時(shí)s[i]和t[i]的值同時(shí)為0,否則s[i]和t[i]不相等。故表達(dá)式s[i]-t[i]在字符串相等時(shí)為0,不相等時(shí)為非0,所以第二空應(yīng)該填!(s[i]-t[i])就滿足題意了。

25.

解析:該程序功能是計(jì)算并輸出給定數(shù)組(長(zhǎng)度為9)中每相鄰兩個(gè)元素之平均值的平方根之和。在循環(huán)中,首先確定相鄰元素之間的關(guān)系,然后對(duì)其進(jìn)行平均值平方根之和的操作。

26.voidfun(int*wintpintn){intiJ;inta[N];for(i=0;i<=p;i++)a[i]=w[i]for(i=p+1j=0;i<n;i++j++)w[j]=w[i];for(i=0;i<=p;i++)w[n-p-1+i]=a[i];}voidfun(int*w,intp,intn)\r\n{inti,J;\r\ninta[N];\r\nfor(i=0;i<=p;i++)a[i]=w[i]\r\nfor(i=p+1,j=0;i<n;i++,j++)w[j]=w[i];\r\nfor(i=0;i<=p;i++)w[n-p-1+i]=a[i];\r\n}解析:將數(shù)組后面的元素向前平移,肯定會(huì)將前面的元素覆蓋。因此,可以定義一個(gè)數(shù)組用來(lái)暫時(shí)存放前面的元素??梢韵葘[0]~w[p]依次賦給a[0]~a[p];然后將w[p]~w[n—1)

移到數(shù)組的前面:再將a[0]~a[p)依次賦給w[n-p-1+i]~w[n—1]。

27.doublefun(intw[][N]){intijk=0;doubleav=0.0;for(i=0;i<N;i++)for(j=0;j<N;j++)if(i==0||i==N-1||j==0||j==N-1)/*只要下標(biāo)中有一個(gè)為0或N-1則它一定是周邊元素*/{av=av+w[i][j];/*將周邊元素求和*/k++;}returnav/k;/*求周邊元素的平均值*/}doublefun(intw[][N])\r\n{\r\ninti,j,k=0;\r\ndoubleav=0.0;\r\nfor(i=0;i<N;i++)\r\nfor(j=0;j<N;j++)\r\nif(i==0||i==N-1||j==0||j==N-1)/*只要下標(biāo)中有一個(gè)為0或N-1,則它一定是周邊元素*/\r\n{av=av+w[i][j];/*將周邊元素求和*/\r\nk++;\r\n}\r\nreturnav/k;/*求周邊元素的平均值*/\r\n}解析:該題采用逐一判斷的方式,周邊元素的下標(biāo)一定有一個(gè)是0或N-1,且只要下標(biāo)中有一個(gè)為0或N-1,則它一定是周邊元素。計(jì)算周邊元素個(gè)數(shù)的方式是當(dāng)給av加一個(gè)值時(shí),則k加1。k也可用2*N+2*N-4求得。

28.

解析:該程序功能是使數(shù)組右上半三角元素中的值乘以m。本題中首先要確定右上角半角元素的特點(diǎn),然后對(duì)元素逐個(gè)進(jìn)行乘以m的操作。其中,右上角的元素是行下標(biāo)小于等于列下標(biāo)的元素。

29.doublefun(intn){inti;doubles=0.0;for(i=l;i<=n;i++)s=s+l.0/(i*(i+l));/*求級(jí)數(shù)的和*/returns;}doublefun(intn)\r\n{\r\ninti;\r\ndoubles=0.0;\r\nfor(i=l;i<=n;i++)\r\ns=s+l.0/(i*(i+l));/*求級(jí)數(shù)的和*/\r\nreturns;\r\n}解析:解決數(shù)學(xué)序列的問(wèn)題,我們的思路依然是“數(shù)學(xué)先行”,即先看清楚題目的數(shù)學(xué)邏輯,然后再根據(jù)C語(yǔ)言來(lái)“翻譯”出來(lái)。本題中,每一項(xiàng)的值都是n*(n+1)的倒數(shù)。當(dāng)輸入n時(shí),從1開始循環(huán),注意,此處for(i=1;i

30.

解析:該程序功能是計(jì)算并輸出給定10個(gè)數(shù)的方差。解題思路是,根據(jù)題干中給出的方差公式首先計(jì)算出x’的值,然后計(jì)算根號(hào)里面的值,最后求其平方根。

31.doublefun(intn){inti;doubles=0.0s1=0.0;for(i=1;i<=n;i++){s1=s1+i;/*求每—項(xiàng)的分母*/s=s+1.0/s1;/*求S=1+1/(1+2)+1/(1+2+3)+…+

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論