2022年遼寧省鐵嶺市全國計算機等級考試C語言程序設計預測試題(含答案)_第1頁
2022年遼寧省鐵嶺市全國計算機等級考試C語言程序設計預測試題(含答案)_第2頁
2022年遼寧省鐵嶺市全國計算機等級考試C語言程序設計預測試題(含答案)_第3頁
2022年遼寧省鐵嶺市全國計算機等級考試C語言程序設計預測試題(含答案)_第4頁
2022年遼寧省鐵嶺市全國計算機等級考試C語言程序設計預測試題(含答案)_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2022年遼寧省鐵嶺市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(12題)1.下列哪一種圖的鄰接矩陣是對稱矩陣()。

A.有向圖B.無向圖C.AOV網D.AOE網

2.有以下程序:

程序的運行結果是()。

A.0987654321

B.4321098765

C.5678901234

D.0987651234

3.在具有n個結點的有序單鏈表中插入一個新結點并使鏈表仍然有序的時間復雜度是________

A.O(1)B.O(n)C.O(nlogn)D.O(n2)

4.輸入序列為ABC,輸出為CBA時,經過的棧操作為()。

A.push,pop,push,pop,push,pop

B.push,push,push,pop,pop,pop

C.push,push,pop,pop,push,pop

D.push,pop,push,push,pop,pop

5.算法應該是()

A.程序B.問題求解步驟的描述C.要滿足五個基本特性D.B和C

6.設有以下程序段:intx=0,s=0;whUe(!x!=0)s+=++x;printf("%d",s);則()。

A.運行程序段后輸出0B.運行程序段后輸出1C.程序段中的控制表達式是非法的D.程序段執行無限次

7.如果有n個節點用二叉樹來存儲,那么二叉樹的最小深度為()

A.Log2(n+1)B.Log2(n)C.Log2(n-1)D.n/2

8.判斷char型變量c1是否為小寫字母的正確表達式為()。

A.'a'<=c1<='z'

B.(c1>=A)‖(c1<=z)

C.('a'=>c1‖('z'<=c1)

D.(c1>='a')&&(c1<='z')

9.二叉樹的后序排列DBEFCA,中序排列DBAECF,那么對其做先序線索化二叉樹,節點E的線索化指向節點()

A.BCB.ACC.DFD.CF

10.已知8個數據元素為(34,76,45,18,26,54,92,65),按照依次插入結點的方法生成一棵二叉排序樹后,最后2層上的結點總數為______。

A.1B.2C.3D.4

11.程序流程圖(PFD)中的箭頭代表的是

A.數據流B.控制流C.調用關系D.組成關系

12.設inta=12,則執行完語句a+=a-=a*a后,a的值是()。

A.552B.264C.144D.-264

二、2.填空題(12題)13.由計算機、操作系統、DBMS、數據庫、應用程序及用戶組成的一個整體叫做【】。

14.設a、b、c為整數,且a=2、b=3、c=4,則執行完語句a*=18+(b++)-(++c);后,a的值是【】。

15.數據庫保護分為:安全性控制、______、并發性控制和數據的恢復。

16.以下程序的運行結果是【】。

#include<stdio.h>

main()

{inta=1,b=2,c;

c=max(a,b);

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

max(intx,inty)

{intz;

z=(x>y)?x:y;

return(z);}

17.設有chara,b;,若要通過a&b運算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進制是【】。

18.若a=10,b=20,則表達式!(a<b)的值是【】。

19.設y為血型變量,請寫出描述“y是偶數”的表達式______。

20.語句"int(*ptr)();"的含義是______是指向函數的指針,該函數返回一個int型數據。

21.對于圖書管理數據庫,將圖書表中"人民郵電出版社"的圖書的單價漲價5%。請對下面的SQL語句填空:UPDATE圖書【】WHERE出版單位="人民郵電出版社"

22.設有下列的程序段;

charstr[]="Hello";

char*ptr;

ptr=str;

執行上面的程序段后,*(ptr+5)的值為______。

23.數據庫系統中實現各種數據管理功能的核心軟件稱為【】。

24.以下程序運行的結果是【】。

#include<conio.h>

#include<stdio.h>

#defineM100

voidfun(intm,int*a,int*n)

{inti,j=0;

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

if(i%7==0‖i%11==0)

a[j++]=i;

*n=j;}

main()

{intaa[M],n,k;

clrscr();

fun(10,aa,&n);

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

if((k+1)%20==0)printf("\n");

elseprintf("%4d",aa[k]);

printf("\n");}

三、3.程序設計題(10題)25.請編寫一個函數fun,它的功能是:比較兩個字符串的長度,(不得調用C語言提供的求字符串長度的函數),函數返回較長的字符串。若兩個字符串長度相同,則返回第一個字符串。

例如,輸入beijingshah曲aj(為回車鍵),函數將返回shanghai。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。

26.請編寫函數fun(),其功能是:將s所指字符串中除了下標為偶數、同時ASCII碼值為奇數的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個新串放在t所指的數組中。

例如,若s所指字符串中的內容為ABCDEFG12345,其中字符B的ASCII碼值為偶數,所在元素的下標為奇數,因此必須刪除;而字符A的ASCII碼值為奇數,所在數組中的下標為偶數,因此不應當刪除,其他依次類推。最后t所指的數組中的內容應是ACEG。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序:

#include<conio.h>

#include<stdio.h>

#include<string.h)

voidfun(char*s,chart[])

{

}

main()

{

chars[100],t[100];

clrscr();

printf("\nPleaseenterstrings:");

scanf("%s",s);

fun(s,t);

printf("\nTheresultis:%s\n",t);

}

27.學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun(),它的功能是:把低于平均分的學生數據放在b所指的數組中,低于平均分的學生人數通過形參n傳回,平均分通過函數值返回。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序:

#include<stdio,h>

#defineN8

typedefstruct

{charnum[10];

doubles;

}STREC;

doublefun(STREC*a,STREC*b,int*n)

{

}

main()

{

STRECs[N]={{"GA05",85},{"GA03",76}

{"GA02",69},{"GA04",85}

{"GA01",91}{"GA07",72},{"GA08",64}

{"GA06",87}};

STSCh[N],t;

FILE*out;

int.i,j,n;

doubleave;

ave=fun(s,h,&n);

printf("The%dstudentdatawhichis

lowerthan%7.3f:\n"n,ave);

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

/*輸出成績低平均值的學生記錄*/

printf("%s%4lf\n"h[i]num,

h[i].s);

printf("\n");

ut=fopen("out71dat","w"

fprintf(out,"%d\n%7.3f\n",nave);

/*輸出平均值/

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

for(j=i+l;j<n;j++)

if(h[i].s>h[j].s)

{t=h[i];h[i]=h[j];h[j]=t;}

/*將成績由低至高排列*/

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

fprintf(out,"%4lf\n"h[i]s);

fclose(out);

}

28.請編寫函數fun(),它的功能是:求出1到1000之內能被7或11整除、但不能同時被7和11整除的所有整數并將它們放在a所指的數組中,通過n返回這些數的個數。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(int*a,int*n)

{

}

main()

{

intaa[1000],n,k;

clrscr();

fun(aa,&n);

for(k=0;kif((k+1)%10==0)

{printf("%5d",aa[k]);

printf("\n");}/*一行寫9個數*/

else

printf("%5d",aa[k]);

}

29.請編寫函數fun(),該函數的功能是:將s所指字符串中ASCII值為偶數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。

例如,若s所指字符串中的內容為ABCDEFGl2345,其中字符B的ASCⅡ碼值為偶數、…、字符2的ASCⅡ碼值為偶數、…,都應當刪除,其他依次類推。最后t所指的數組中的內容應是ACEGl35。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序;

#include<stdio.h>

#include<string.h>

#include<conio.h>

voidfun(char*s,chart[])

{

}

main()

{

chars[100],t[100];

clrscr();

printf(,\nPleaseenterstringS:");

scanf("%s",s);

fun(s,t);

printf("\nTheresultis:%s\n",t);

}

30.學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun(),該函數的功能是:把高于等于平均分的學生數據放在b所指的數組中,低于平均分的學生數據放在c所指的數組中,高于等于平均分的學生人數通過形參n傳回,低于平均分的學生人數通過形參m傳回,平均分通過函數值返回。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序:

#include<stdio.h>

#defineN12

typedefstruct

{charnum[10];

doubleS;

}STREC;

doublefun(STREC*a,STREC*b,STREC*C,int*n,int*m)

{

}

main()

{

STRECs[N]={{“GA05”,65},{“GA03”,86},

{“GA02”,76},{“GA04”,95},{“GA01”,93},

{“GA07”,78},{“GA08”,68},{“GA06”,88},

{“GA09”,60},{“GAll”,54},{“GAl2”,56},

{“GAl0”,98}};

STRECh[N],l[N],t;

FILE*out;

inti,j,m,n;

doubleave;

ave=fun(S,h,l,&n,&m);

printf("The%dstudentdatawhichishigherthan%7.3f:\n",n,ave);

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

printf("%s%4.lf\n",h[i].num,

h[i].s);

printf("\n");

printf("The%dStudentdatawhichiSlowerthan%7.3f:\n",m,ave);

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

printf("%s%4.1f\n",l[i].num,l[i].s);

printf("\n");

ut=fopen("out26.dat","w");

fprintf(out,"%d\n%7.3f\n",n,ave);

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

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

if(h[i].s<h[j].s)

{t=h[i];h[i]=h[i];h[j]=t;}

/*分數從現到低排列*/

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

fprintf(out,“%4.1f\n",h[i].s);

fprintf(out,"%d\n%7.3f\n",m,ave);

for(i=0;i<m-1;i++)

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

if(l[i].s<l[j].s)

{t=l[i];l[i]=l[j];l[j]=t;}

/*分數從高到低排列*/

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

fprintf(out,"%4.1f\n",l[i].s);

fclose(out);

}

31.請編寫函數fun(),該函數的功能是:將M行N列的二維數組中的數據,按行的順序依次放到一維數組中,一維數組中數據的個數存放在形參n所指的存儲單元中。

例如,若二維數組中的數據為:

33333333

44444444

55555555

則一維數組中的內容應該是33333333444444AA,55555555

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序:

#include<stdio.h>

voidfun(int(*s)[10],int*b,int*n,

intmm,intnn)

{

}

main()

{

intw[10][10]={{33,33,33,33},{44,44,

44,44},{55,55,55,55}},i,j;

inta[100]={0},n=0;

printf("Thematrix:\n");

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

{for(j+0;j<4;j++)

printf("%3d",w[i][j]);

printf("\n");

}

fun(w,a,&n,3,4);

printf("TheAarray:In");

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

printf("%3d",a[i]);

printf("\n\n");

}

32.請編寫一個函數voidfun(chara[],charb[],intn),其功能是:刪除一個字符串中指定下標的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數組中,n中存放指定的下標。

例如,輸入一個字符串:World,然后輸入3。則調用該函數后的結果為:Word。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。

33.假定輸入的字符串中只包含字母和*號。請編寫函數fun(),它的功能是:除了尾部的,:號之外,將字符串中其他*號全部刪除。形參p已指向字符串中最后一個字母。在編寫函數時,不得使用C語言的字符串函數。

例如,若字符串中的內容為****A*BC*DEF*G******,刪除后,字符串中的內容應當是ABCDEFG******。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(char*a,char*p)

{

}

main()

chars[81],*t;

printf("Enterastring:\n");

gets(s);

t=s;

while(*t)

t++;

t--;/*指針t指向字符串尾部*/

while(*t=='*')

t--;/*指針t指向最后一個字母*/

fun(s,t);

printf("Thestringafterdeleted:\n");

puts(s);

}

34.請編寫函數fun,函數的功能是:將大于形參m且緊靠m的k個素數存入xx所指的數組中。例如,若輸入17,5,則應輸出:19,23,29,3l,37。

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花插號中填入你編寫的若干語句。

四、單選題(0題)35.具有n個頂點的完全有向圖的弧數為()。

A.n(n-1)/2B.n(n-1)C.n2D.n2-1

五、單選題(0題)36.一個有8個頂點的有向圖,所有頂點的入度出度之和與所有頂點的出度之和的差是()

A.16B.4C.0D.2

六、單選題(0題)37.設變量已正確定義并賦值,下列表達式中正確的是()。

A.x=y+z+5,++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0

參考答案

1.B

2.C函數fun(int*s,intn1,intn2)的功能是對數組s中的元素進行首尾互相調換。所以在主函數中,當fun(a,0,3)執行完后,數組a[12]={4,3,2,1,5,6,7,8,9,0};再執行fun(a,4,9),數組a[12]={4,3,2,1,0,9,8,7,6,5};再執行fun(a,0,9)后,數組a[12]={5,6,7,8,9,0,1,2,3,4}。所以正確答案為c)。

3.B

4.B

5.B

6.B解析:本題中,邏輯非“!”運算符比不等于“!=”運算符優先級高,因此第一次循環時!x!=0的運算結果為真,s的運算結果為1;第二次循環時!x!=0的運算結果為假,循環結束,輸出s的結果為1。

7.A

8.D解析:C語言規定,字符常量在程序中要用單引號括起來。判斷c1是否為小寫字母的充要條件c1>='a'和c1<='z',用邏輯與(&&)來表示。A選項的這種形式在C語言中沒有,所以選項D)正確.

9.D

10.B

11.B解析:程序流程圖(PFD)是一種傳統的、應用廣泛的軟件過程設計表示工具,通常也稱為程序框圖,其箭頭代表的是控制流。

12.D

13.數據庫系統數據庫系統

14.3232解析:b++是先使用b的值參加運算,再對b加1。++c是先對c加1,再使用c的值參加運算。a*=18+(b++)-(++c)等價于a=a*(18+(b++)-(++c))則a=2*(18+3-5)=32。

15.完整性控制完整性控制

16.maxis2maxis2解析:函數通過參數來傳遞數據是單向的,只能由實參傳給形參而不能由形參傳給實參,但是可以通過函數的返回值將函數中的數據帶回。注意:函數的兩種調用方式及函數調用的語法要求。

17.1000001010000010解析:運算“&”的規則是只有當兩個相應的二進制位都為1時,該位的結果才為1。要保留第2、8位,只要將其與二進制數10000010相與。

18.00解析:已知a=10,b=20,所以邏輯表達式a<b的值為true,即為1,在這個表達式前面有一個邏輯運算符!,表示反操作,所以整個語句的值應當為false,即為0。

19.(y%2)==0(y%2)==0解析:因符合偶數的條件是對2取余為0,所以要描述y是偶數的表達式是(y%2)==0。

20.ptrptr解析:本題考查函數指針的概念。函數指針的定義格式是:類型標識符(*旨針變量名)()。注:“類型標識符”為函數返回值的類型。

21.SET單價=單價*1.05SET單價=單價*1.05解析:更新表中元組的值,使用UPDATE命令,一次可以更新表中的一個或多個屬性值。UPDATE短語之后指定更新數據所屬的表,將新的屬性值或表達式賦值給對應的屬性名(SET單價=單價*1.05),并置于SET短語之后。要求對人民郵電出版社的圖書漲5%,需要用WHERE短語對元組進行限制,即對符合條件的元組進行更新。

22.'\0''\\0'解析:本題涉及字符數組和指針的兩個知識點:①在C語言中,字符型數組在存放字符串時會自動在末尾加上字符串結束標識符'\\0'所以題中數組str有6個元素。②ptr指向數組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。

23.數據庫管理系統數據庫管理系統(DBMS)

24.77解析:解答本題的關鍵是要讀懂程序,要找出能被7或11整除的所有整數,注意數學中的“或”和C語言中的“或”的區別,但在此處,if條件語句中用了“‖”運算符,若要找能同時被7和11整除的所有整數則在if的條件中應使用“&&”運算符。

當然,如果m的值輸入50,即表達式fun(10,aa,&n);為fun(50,aa,&n);時輸入結果為:711142122283335424449。

25.

解析:該程序功能是比較兩個字符串的長度。解題過程是首先分別求得兩個字符串的長度,然后對這兩個值進行判斷,實現兩個字符串長度的比較。

26.voidfun(char*s/chart[]){intij=0;for(i=0;s[i]!='\0';i++){if(i%2==0&&s[i]%2!=0)t[j++]=s[i];}/*將下標為偶數同時ASCII碼值為奇數的字符放入數組t中*/t[j]='\0';/*在字符串最后加上結束標志位*/}voidfun(char*s/chart[])\r\n{inti,j=0;\r\nfor(i=0;s[i]!='\\0';i++)\r\n{if(i%2==0&&s[i]%2!=0)\r\nt[j++]=s[i];}/*將下標為偶數同時ASCII碼值為奇數的字符放入數組t中*/\r\nt[j]='\\0';/*在字符串最后加上結束標志位*/\r\n}解析:本題要求除了下標為偶數同時ASCII碼值為奇數的字符之外,其他字符都刪除。即要留下下標為偶數同時ASCII碼值為奇數的字符。所以,在if的條件語句中應使用if(i%2==0&&s[i]%2!=0)。

27.doublefun(STREC*aSTREC*bint*n){intij=0;doubleay=0.0;for(i=0;i<N;i++)av=av+a[i].s;av=av/N;/*求平均值*/for(i=0;i<N;i++)if(a[i].s<av)b[j++]=a[i];/*將低于平均值的學生記錄存入結構體b中*/*n=j;/*指針傳回低于平均值的學生人數//returnav;/*返回平均值*/}doublefun(STREC*a,STREC*b,int*n)\r\n{\r\ninti,j=0;\r\ndoubleay=0.0;\r\nfor(i=0;i<N;i++)\r\nav=av+a[i].s;\r\nav=av/N;/*求平均值*/\r\nfor(i=0;i<N;i++)\r\nif(a[i].s<av)b[j++]=a[i];/*將低于平均值的學生記錄存入結構體b中*/\r\n*n=j;/*指針傳回低于平均值的學生人數//\r\nreturnav;/*返回平均值*/\r\n}解析:很明顯,本題應該使用循環語句和條件判斷語句來實現目的,第1個循環是求出總分,然后求出平均分av。第2個循環的作用是將分數低于平均分的學生記錄存入數組b中。

28.voidfun(int*aint*n){intij=0;for(i=1;i<=1000;i++)/*求1到1000之內能被7或11整除、但不能同時被7和11整除的所有整數并放入數組a中*/if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;/*傳回滿足條件的數的個數*/}voidfun(int*a,int*n)\r\n{\r\ninti,j=0;\r\nfor(i=1;i<=1000;i++)/*求1到1000之內能被7或11整除、但不能同時被7和11整除的所有整數,并放入數組a中*/\r\nif((i%7==0||i%11==0)&&i%77!=0)\r\na[j++]=i;\r\n*n=j;/*傳回滿足條件的數的個數*/\r\n}解析:注意本題題目應是找出能被7或11整除但不能同時被7和11整除的所有整數。能同時被7和11整除的整數一定能被77整除,且不能被77整除的數不一定就是能被7或11整除的數。所以可得出程序中的if()。按運算優先級可知(i%7==0||i%11==0),注意,兩邊必須要有小括號。

29.voidfun(char*schart[]){inti=0;for(;*s!='\0';s++)/*找出ASCII值為奇數的字符依次存入數組t中*/if(*s%2==1)t[i++]=*s;t[i]='\0';/*在字符串的末尾口上串結束符*/}voidfun(char*s,chart[])\r\n{\r\ninti=0;\r\nfor(;*s!='\\0';s++)/*找出ASCII值為奇數的字符依次存入數組t中*/\r\nif(*s%2==1)\r\nt[i++]=*s;\r\nt[i]='\\0';/*在字符串的末尾口上串結束符*/\r\n}解析:要刪除ASCH值為偶數的字符,也就是要留下ASCH值為奇數的字符,由于最終是要求求出剩余字符(BPASCⅡ值為奇數)形成的新串,所以本題程序的算法是從原字符串的頭到尾掃描并找出ASCⅡ值為奇數的字符依次存入數組沖。此外,還要注意數組t的下標變化和下標的初值(初值必須為0,即i=0),t[i++]州的作用是先使用t[i]然后再使自增1。任何字符串的末尾都要有串結束符。這種算法在很多題中都要用到,學習者可以舉一反三地找一些其他相關習題練習一下。

30.doublefun(STREC*aSTREC*bSTREC*Cint*nint*m){inti;doubleav=0.0;*n=0;*m=0;for(i=0;i<N;i++)av=av+a[i].S;av=av/N;/*求平均值*/for(i=0;i<N;i++)if(av<=a[i].s){b[*n]=a[i];/*將高于等于平均分的學生存從所指存儲單元中并統計人數*/*n=*n+l;}else{c[*m]=a[i];/*將低于平均分的學生存入c所指存儲單元中并統計人數*/*m=*m+1;}returnav;/*返回平均分*/}doublefun(STREC\u3000*a,STREC*b,STREC*C,int*n,int*m)\r\n{\r\ninti;\r\ndoubleav=0.0;\r\n*n=0;\r\n*m=0;\r\nfor(i=0;i<N;i++)\r\nav=av+a[i].S;\r\nav=av/N;/*求平均值*/\r\nfor(i=0;i<N;i++)\r\nif(av<=a[i].s)\r\n{\r\nb[*n]=a[i];/*將高于等于平均分的學生存從所指存儲單元中,并統計人數*/\r\n*n=*n+l;\r\n}\r\nelse\r\n{\r\nc[*m]=a[i];/*將低于平均分的學生存入c所指存儲單元中,并統計人數*/\r\n*m=*m+1;\r\n}\r\nreturnav;/*返回平均分*/\r\n}解析:本題中第1個循環的作用求出所有分數的總和,只有進行了av=av/N后才得到平均值(我們在前面的程序中碰到過類似問題)。第2個循環的作用是將高于等于平均分的學生存/kb所指存儲單元中,將低于平均分的學生存入c所指存儲單元中。同一結構體變量之間可以互相賦值。

本程序中直接用*n,*m來分別表示b,c的下標,注意開始時要給*n,*m賦0,且使用時不能少*號。因為單獨的n,m是一個指針變量,而我們要用的是它所指向的那個存儲單元中的值。

31.voidfun(int(*s)[10]int*bint*nintmmintnn){intijk=0;for(i=0;i<mm;i++)/*將二維數組s中的數據按行的順序依次放到一維數組b中*/for(j=0;j<nn;j++)b[k++]=s[i][j];/*通過指針返回元素個數*/*n=k}voidfun(int(*s)[10],int*b,int*n,intmm,intnn)\r\n{\r\ninti,j,k=0;\r\nfor(i=0;i<mm;i++)/*將二維數組s中的數據

溫馨提示

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

評論

0/150

提交評論