2022-2023學(xué)年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題一卷(含答案)_第1頁(yè)
2022-2023學(xué)年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題一卷(含答案)_第2頁(yè)
2022-2023學(xué)年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題一卷(含答案)_第3頁(yè)
2022-2023學(xué)年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題一卷(含答案)_第4頁(yè)
2022-2023學(xué)年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題一卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022-2023學(xué)年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題一卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(12題)1.下列能正確定義且賦初值的語(yǔ)句是()。

A.intn1=n2=1;

B.charC=99;

C.floatf=f+1;

D.doublex=1.2E5.6;

2.

3.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系

4.以下敘述中錯(cuò)誤的是A.算法正確的程序最終一定會(huì)結(jié)束

B.算法正確的程序可以有零個(gè)輸出

C.算法正確的程序可以有零個(gè)輸入

D.算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果

5.下列敘述中正確的是()。

A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的

B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)

C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表

D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間

6.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。

A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭

7.設(shè)x,y,t均為int型變量,執(zhí)行語(yǔ)句:

x=y=3;

t=++x||++y;

完成后,y的值為A.A.不確定B.4C.3D.1

8.對(duì)初始狀態(tài)為遞增序列的數(shù)組按遞增順序排序,最省時(shí)間的是插入排序算法,最費(fèi)時(shí)間的算法是()

A.堆排序B.快速排序C.插入排序D.歸并排序

9.

10.設(shè)有兩個(gè)串p和q,求q在p中首次出現(xiàn)的位置的運(yùn)算稱為()。

A.連接B.模式匹配C.求子串D.求串長(zhǎng)

11.

12.下列程序的輸出結(jié)果是()。

intf1(intx,inty){returnx>y?x:y;}

intf2(intx,inty){returnx>y?y:x;}

main()

{inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,B),f1(c,D));

f=f1(f2(a,B),f2(c,D));

g=a+b+C+d-e-f;

phntf("%d,%d,%d\n",e,f,g);

}

A.4,3,7B.3,4,7C.5,2,7D.2,5,7

二、2.填空題(12題)13.數(shù)據(jù)的獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,這稱為_(kāi)_____。

14.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。

15.下述函數(shù)統(tǒng)計(jì)一個(gè)字符串中的單詞個(gè)數(shù),單詞是指處在空格之間的字符序列,請(qǐng)?zhí)羁铡?/p>

intword(char*s)

{intnum=0,flag=0;

while(*s)

{if(【】=='')flag=0;

elseif(【】){flag=1;num++}

}

return【】;}

16.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={'a','b','c','d','e','f','h','\0'};inti,j;i=sizeof(A);j=strlen(A);printf("%d,%d",i,j);}程序運(yùn)行后的輸出結(jié)果是()。

17.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為【】。

18.在樹(shù)形結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有______。

19.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指內(nèi)存空間中,形成一個(gè)新字符串s。

請(qǐng)?zhí)羁铡?/p>

voidsstrcpy(char*s,char*t)

{while(*s++=【】);}

main()

{charstrl[100],str2[]="abcdefgh";

sstrcpy(strl,str2);

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

}

20.下列語(yǔ)句能循環(huán)______次。

ints=12;

while(s);

--s;

21.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為_(kāi)_____。

22.以下程序的輸出結(jié)果是【】。

#include<stdlib.h>

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

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

}

23.已知函數(shù)isaplha(ch)的功能是判斷變量ch是否是字母,若是,則該數(shù)值為1,否則為0。下面程序執(zhí)行后的輸出結(jié)果是()。

#include<ctype.h>

#include<string.h>

voidfun(chars[])

{inti,j;

for(i=0,j=0;s[i];i++)

s[j]='\0';

}

main()

{charss[80]="goodmorning";

fun(ss);

printf("%s",ss);

}

24.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

三、3.程序設(shè)計(jì)題(10題)25.請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是:移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則如下:把第1到第m個(gè)字符,平移到字符串的最后,把第m+l到最后的字符移到字符串的前部。

例如,字符串中原有的內(nèi)容為:ABCDEFGHIJK,m的值為3,則移動(dòng)后,字符串中的內(nèi)容應(yīng)該是:DEFGHIJKABC。

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

26.請(qǐng)編寫(xiě)函數(shù)fun,其功能是:計(jì)算并輸出當(dāng)x<0.97時(shí)下列多項(xiàng)式的值,直到|Sn-Sn-2

|<0.000001為止。

例如,在主函數(shù)中從鍵盤給x輸入0.21后,輸出為:s=1.100000。

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

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

27.請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,其功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。

例如,若輸入“abc4EFg”,則應(yīng)輸出“aBc4EFg”。

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

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

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

例如,在主函數(shù)中從鍵盤給n輸入15,則輸出為:s=2.718282。

注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。

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

29.請(qǐng)編一個(gè)函數(shù)floatfun(doubleh),函數(shù)的功能是對(duì)變量h中的值保留兩位小數(shù),并對(duì)第三位進(jìn)行四舍五入(規(guī)定h中的值為正數(shù))。

例如:若h值為8.32433,則函數(shù)返回8.32:若h值為8.32533,則函數(shù)返回8.33。

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

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

試題程序:

#include<stdio.h>

#include<conio.h>

floatfun(floath)

{

}

main()

{

floata;

clrscr();

printf("Entera:");

scanf("%f",&a);

printf("Theoriginaldatais:");

printf("%f\n\n",a);

printf("Theresult:%f\n",fun(a));

}

30.N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:找出學(xué)生的最低分,由函數(shù)值返回。

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

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

試題程序:

#include<stdio.h>

#include<Stdlib.h>

#defineN8

StructSlist

{doubles;

StructSlist*next;

};

tyPedefStructSlistSTREC;

doublefun(STREC*h)

{

}

STREC*Creat(double*S)

{

STREC*h,*p,*q;

inti=0;

h=p={STREC*)malloc(sizeof(STREC));

p->S=0;

while(i<N)

/*產(chǎn)生8個(gè)節(jié)點(diǎn)的鏈表,各分?jǐn)?shù)存入鏈表中*/

{q=(STREC*)malloc(sizeOf(STREC));

p->S=S[i];i++;p->next=q;p=q;

}

p->next=NULL;

returnh;

/*返回鏈表的首地址*/

}

outlist(STREC*h)

{

STREC*p;

p=h;

printf("head");

do

{printf("->%2.of",p->s);p=p->next;}

/*輸/出各分?jǐn)?shù)*/

while(p!=NULL);

printf("\n\n");

}

main()

{

doubles[N]={56,89,76,95,91,68,75,

85},min;

STREC*h;

h=creat(S);

outlist(h);

min=fun(h);

printf("min=%6.If\n",min);

}

31.請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a,b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。

例如,當(dāng)a=45時(shí),b=12,調(diào)用到該函數(shù)后,c=5142。

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

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

試題程序:

#include<stdio.h>

#include<conio.h>

voidfun(inta,intb,long*c)

{

}

main()

{

inta,b;

longc;

clrscr();

printf("Inputa,b:");

scanf(,%d%d",&a,&b);

fun(a,b,&c);

printf("Theresultis:%ld\n",c);

}

32.請(qǐng)編寫(xiě)一個(gè)函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計(jì)在tt字符串中“a”到“z”26個(gè)字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。

例如:當(dāng)輸入字符串a(chǎn)bcdefghabcdeabc后,程序的輸出結(jié)果應(yīng)該是:33322110000000000000000000

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(char*tt,intpp[])

{

}

main()

{

charaa[1000];

intbb[26],k,n;

clrscr();

printf("\nPleaseenteracharstring:");

scanf("%s",aa);

fun(aa,bb);

for(k=0;k<26;k++)

printf("%d",bb[k]);

printf("\n");

}

33.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。

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

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

34.編寫(xiě)函數(shù)fun,函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,函數(shù)返回所求出的素?cái)?shù)的個(gè)數(shù)。

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

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

四、單選題(0題)35.下列不屬于軟件工程的3個(gè)要素的是

A.工具B.過(guò)程C.方法D.環(huán)境

五、單選題(0題)36.廣義表(a,b,c,d)的表頭是()。

A.aB.(a)C.(b,c,d)D.((b,c,c))

六、單選題(0題)37.以下程序的輸出結(jié)果是()。main{intx=0.5;charz=‘a(chǎn)’;printf(“d\n”,(x&1)&&(z<‘z’));}A.0B.1C.2D.3

參考答案

1.B在c語(yǔ)言規(guī)定中,可以在定義變量的同時(shí)給變量賦初值,選項(xiàng)A中n2沒(méi)有定義;選項(xiàng)C中不能在賦值表達(dá)式的右邊出現(xiàn)變量本身,選項(xiàng)D中字母E后面的數(shù)應(yīng)該為整數(shù),所以不對(duì)。

2.D

3.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。

4.B(45)B)解析:算法應(yīng)該具有下列五個(gè)特性:

①有窮性:一個(gè)算法必須在執(zhí)行有窮步之后結(jié)束。

②確定性:算法中的每一步,必須有確切的含義,在他人理解時(shí)不會(huì)產(chǎn)生二義性。

③動(dòng)態(tài)性:算法中描述的每一步操作都可以通過(guò)已有的基本操作執(zhí)行有限次實(shí)現(xiàn)。

④輸入:一個(gè)算法應(yīng)該有零個(gè)或多個(gè)輸入。

⑤輸出:一個(gè)算法應(yīng)該有一個(gè)或多個(gè)輸出。這里所說(shuō)的輸出是指與輸入有某種特定關(guān)系的量。

5.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。

6.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。

7.Ct=++x或++y,當(dāng)++x不為0的時(shí)候,即++x為真,則不需要再繼續(xù)判斷++y,那么y就不再執(zhí)行自加,因此y=3.

8.B

9.B

10.B

11.C

12.A解析:根據(jù)函數(shù)intf1(intx,inty){returnx>y?x:y;}和int饅(intx,inty){retumx>y?y:x;}的定義可知,如果x>y成立,則函數(shù)n返回x的值,函數(shù)C返回y的值。所以n(a,B=4,n(c,d)=5,C(a,B=3,f2(c,d)=2,故e=f2(4,5)=4,f=n(3,2)=3,g=4+3+5+2-4-3=7。

13.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的獨(dú)立性是指數(shù)據(jù)和應(yīng)用程序相互獨(dú)立,分為物理獨(dú)立性和邏輯獨(dú)立性。其中物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)、存取方式)改變時(shí),不需要修改應(yīng)用程序。而邏輯獨(dú)立性是指當(dāng)邏輯結(jié)構(gòu)改變時(shí),不需要修改應(yīng)用程序。

14.1對(duì)多(或1:N)1對(duì)多(或1:N)

15.*s++flag==0或*(s-1)==''num*s++\r\nflag==0或*(s-1)==''\r\nnum解析:在統(tǒng)計(jì)字符串單詞個(gè)數(shù)的算法中,本題的flag是為了記錄一個(gè)單詞是否結(jié)束。第18空應(yīng)填*s++;如果某個(gè)字符不是空格,則必需判斷它是否是單詞,如是,則使得flag的標(biāo)志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空格,如果是則使得flag=0,否則判斷前一個(gè)字符是否是空格,如果是則說(shuō)明這個(gè)字符是一個(gè)單詞的開(kāi)始,將flag標(biāo)志為1,num的值加1,如果不是,則不必記錄。故第19空應(yīng)flag==0或*(s-1)=='';最后一個(gè)空格需填寫(xiě)的是返回的單詞的個(gè)數(shù),即num。

16.98

17.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。

18.前件前件

19.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組strl和str2,并且給str2賦初值“abc&fgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1。在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后指針s和指針t都下移到下一個(gè)元素。所以空格處應(yīng)該填*t++或*(t++)。

20.無(wú)限無(wú)限解析:分析程序“while(s)”語(yǔ)句后面有一個(gè)“;”不能執(zhí)行后面的語(yǔ)句,只是執(zhí)行空語(yǔ)句,所以s=12保持不變,因此,沒(méi)有條件限制的能循環(huán)無(wú)限次(即死循環(huán))。

21.1212解析:本題考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的基本格式為:“表達(dá)式1,表達(dá)式2,…”,其整個(gè)表達(dá)式的結(jié)果取最后一個(gè)子表達(dá)式的值。本題中首先計(jì)算逗號(hào)表達(dá)式中的第1個(gè)表達(dá)式a=2*3=6,然后計(jì)算第2個(gè)表達(dá)式a*2,這時(shí)整個(gè)表達(dá)式的值為12,但要注意,因?yàn)榈?個(gè)表達(dá)式并沒(méi)有給a賦值,因此a的值不變;接下來(lái)執(zhí)行最后一個(gè)表達(dá)式a+6=12,所以整個(gè)表達(dá)式最后的值為12。

22.4040解析:本題中指針s1和s2都指向同一個(gè)內(nèi)存中的地址。因此語(yǔ)句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。

23.goodmorninggoodmorning解析:子函數(shù)fun(chars[])的作用是將字符數(shù)組s中除去字母以外的所有其他字符都去掉,然后將字母仍按原來(lái)的順序存在數(shù)組s中。在主函數(shù)中調(diào)用fun(ss),是將“goodmorning”中所有的非字母去掉,在這里就是去掉空格,然后輸出ss。

24.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。

25.

解析:該程序功能是移動(dòng)字符串中的內(nèi)容,第一個(gè)字符移動(dòng)到最后,后面的字符往前移動(dòng)一位,形成循環(huán)左移。移動(dòng)m個(gè)字符的就是循環(huán)左移m次。

26.

解析:該程序功能是計(jì)算并輸出當(dāng)x<0.97時(shí)題干中給出的多項(xiàng)式的值。根據(jù)題干中給出的數(shù)列,首先推出每一項(xiàng)的表達(dá)式,然后再對(duì)多項(xiàng)式進(jìn)行累加求和。

27.

解析:該程序功能是將字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(xiě)。其中,同一英文字母的大寫(xiě)和小寫(xiě)的ASCII碼值相差32,因此,要將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母,只要將其對(duì)應(yīng)的ASCII碼值減去32即可。

28.

解析:該程序功能是計(jì)算并輸出多項(xiàng)式的值。該題的解題思路是。根據(jù)題干中給出的數(shù)列,首先推出每一項(xiàng)的表達(dá)式,然后再對(duì)多項(xiàng)式進(jìn)行累加求和。

29.floatfun(floath){longt;t=(h*1000+5)/10;/*單精度數(shù)h乘以1000后再加5相當(dāng)十對(duì)h中的第三位小數(shù)進(jìn)行四舍五入除以10后將其賦給一個(gè)長(zhǎng)整型數(shù)時(shí)就把第三位小數(shù)后的數(shù)全部截去*/return(float)t/100;/*除以100保留2位小數(shù)*/floatfun(floath)\r\n{\r\nlongt;\r\nt=(h*1000+5)/10;/*單精度數(shù)h乘以1000后再加5,相當(dāng)十對(duì)h中的第三位小數(shù)進(jìn)行四舍五入\r\n除以10后將其賦給一個(gè)長(zhǎng)整型數(shù)時(shí)就把第三位小數(shù)后的數(shù)全部截去*/\r\nreturn(float)t/100;/*除以100,保留2位小數(shù)*/解析:注意本題要求h的值真正發(fā)生了四舍五入,而不是為了輸出,即不能用printf(“%7.2f”,h)來(lái)直接得到結(jié)果。由于單精度數(shù)h乘以1000后再加5,此時(shí)相當(dāng)于對(duì)h中的第三位小數(shù)進(jìn)行四舍五入,再將其賦給一個(gè)長(zhǎng)整型數(shù)時(shí)就把第三位小數(shù)后的數(shù)全部截去。注意在return中要將其中一個(gè)數(shù)轉(zhuǎn)成浮點(diǎn)型數(shù)。

30.doublefun(STREC*h){doublemin=h->s;while(h!=NULL)/*通過(guò)循環(huán)找到最低分?jǐn)?shù)*/{if(min>h->s)min=h->s;h=h->next;}returnmin;}doublefun(STREC\u3000*h)\r\n{\r\ndoublemin=h->s;\r\nwhile(h!=NULL)/*通過(guò)循環(huán)找到最低分?jǐn)?shù)*/\r\n{if(min>h->s)\r\nmin=h->s;\r\nh=h->next;\r\n}\r\nreturnmin;\r\n}解析:在本題中,h為—個(gè)指向結(jié)構(gòu)體的指針變量,若要引用它所指向的結(jié)構(gòu)體中的某一成員時(shí),要用指向運(yùn)算符“->”。由于是鏈表,所以要使h逐一往后移動(dòng),使用的是h=h->next。

31.voidfun(intaihtblong*c){*c=a%10*i000+b/10*l00+a/10*10+b%10;/*將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上*/}voidfun(inta,ihtb,long*c)\r\n{\r\n*c=a%10*i000+b/10*l00+a/10*10+b%10;/*將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和\r\n個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上*/\r\n}解析:本題中主要的問(wèn)題是怎么取出a和b的個(gè)位數(shù)和十位數(shù),取出后怎么表示成c中相應(yīng)的位數(shù)。由于a和b都是只有兩位的整數(shù),所以分別對(duì)它們除10可得到它們的十位數(shù),分別用10對(duì)它們求余可得到它們的個(gè)位數(shù)。如45/10結(jié)果為4而不是4.5(這是由于兩個(gè)數(shù)都為整型,所以結(jié)果出為整型),45%10結(jié)果為5。若a為45,則a/10*10的結(jié)果為40而非45。乘1000,

溫馨提示

  • 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)論