![國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言歷年上機(jī)真題及基礎(chǔ)知識(shí)1參考模板_第1頁(yè)](http://file4.renrendoc.com/view/fe98d9fdc6e833dbbf13927aac01e208/fe98d9fdc6e833dbbf13927aac01e2081.gif)
![國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言歷年上機(jī)真題及基礎(chǔ)知識(shí)1參考模板_第2頁(yè)](http://file4.renrendoc.com/view/fe98d9fdc6e833dbbf13927aac01e208/fe98d9fdc6e833dbbf13927aac01e2082.gif)
![國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言歷年上機(jī)真題及基礎(chǔ)知識(shí)1參考模板_第3頁(yè)](http://file4.renrendoc.com/view/fe98d9fdc6e833dbbf13927aac01e208/fe98d9fdc6e833dbbf13927aac01e2083.gif)
![國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言歷年上機(jī)真題及基礎(chǔ)知識(shí)1參考模板_第4頁(yè)](http://file4.renrendoc.com/view/fe98d9fdc6e833dbbf13927aac01e208/fe98d9fdc6e833dbbf13927aac01e2084.gif)
![國(guó)家計(jì)算機(jī)二級(jí)c語(yǔ)言歷年上機(jī)真題及基礎(chǔ)知識(shí)1參考模板_第5頁(yè)](http://file4.renrendoc.com/view/fe98d9fdc6e833dbbf13927aac01e208/fe98d9fdc6e833dbbf13927aac01e2085.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1/41第一套1.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從鍵盤輸入一個(gè)字符串并保存在字符str1中,把字符串str1中下標(biāo)為偶數(shù)的字符保存在字符串str2中并輸出。例如,當(dāng)str1=“cdefghij”,則str2=“cegi”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】″%s″,str1 【2】%c 【3】str2【解析】填空1:本題考查對(duì)標(biāo)準(zhǔn)輸入函數(shù)scanf()的調(diào)用格式,當(dāng)輸入字符串時(shí),格式控制字符串為″%s″,題目要求輸入的字符串保存在str1中,所以地址表列應(yīng)為字符串的首地址,即為str1。填空2:本題考查對(duì)標(biāo)準(zhǔn)輸出函數(shù)printf()的調(diào)用格式,當(dāng)輸出為字符型變量時(shí),格式控制字符串為″%c″。填空3:題目要求將str1中下標(biāo)為偶數(shù)的字符保存在字符串str2中并輸出,所以printf()函數(shù)的輸出表列是str22.改錯(cuò)題在主函數(shù)中從鍵盤輸入若干個(gè)數(shù)放入數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列給定程序中,函數(shù)fun()的功能是計(jì)算數(shù)組元素中值為負(fù)數(shù)的平均值(不包括0)。例如:數(shù)組中元素的值依次為43,-47,-21,53,-8,12,0,則程序的運(yùn)行結(jié)果為-25.333333。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<conio.h>#include<stdio.h>doublefun(intx[]){doublesum=0.0;intc=0,i=0;/**********************found***********************/while(x[i]==0){if(x[i]<0){sum=sum+x[i];c++;}i++;}/**********************found***********************/sum=sum\c;returnsum;}main(){intx[1000];inti=0;clrscr();printf("\nPleaseentersomedata(endwith0):");do{scanf("%d",&x[i]);}while(x[i++]!=0);printf("%f\n",fun(x));}答案及評(píng)析:(1)錯(cuò)誤:while(x[i]==0)正確:while(x[i]!=0)(2)錯(cuò)誤:sum=sum\c;正確:sum=sum/c;【解析】錯(cuò)誤1:此處考查的是對(duì)循環(huán)條件的理解,當(dāng)被判斷的數(shù)組元素為0時(shí),說(shuō)明這是數(shù)組的最后一個(gè)元素,此時(shí)要跳出循環(huán)。錯(cuò)誤2:C語(yǔ)言中的除法運(yùn)算符是"/",而不是"\"。3.編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)intfun(int*s,intt,int*k),用來(lái)求出數(shù)組的最小元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。例如,輸入如下整數(shù):234345753134436458100321135760則輸出結(jié)果為6,100。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>intfun(int*s,intt,int*k){}main(){inta[10]={234,345,753,134,436,458,100,321,135,760},k;clrscr();fun(a,10,&k);printf("%d,%d\n",k,a[k]);}答案及評(píng)析:intfun(int*s,intt,int*k){inti;*k=0;/*k所指的數(shù)是數(shù)組的下標(biāo)值*/for(i=0;i<t;i++)if(s[*k]>s[i])*k=i;/*找到數(shù)組的最小元素,把該元素的下標(biāo)賦給k所指的數(shù)*/returns[*k];/*返回?cái)?shù)組的最小元素*/}【解析】本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算,此外,一開(kāi)始應(yīng)讓*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。第二套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:從‘a(chǎn)’到‘z’統(tǒng)計(jì)一個(gè)字符串中所有字母字符各自出現(xiàn)的次數(shù),結(jié)果保存在數(shù)組alf中。注意:不區(qū)分大小寫(xiě),不能使用字符串庫(kù)函數(shù)。例如,輸入:“A=abc+5*c”,結(jié)果為:a=2,b=1,c=2。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】alf[i]=0 【2】*p+=32 【3】p++【解析】填空1:數(shù)組alf[26]用來(lái)存放字母字符出現(xiàn)的次數(shù),在使用之前需要清零。填空2:題目要求不區(qū)分大小寫(xiě),所以可以先將所有的大寫(xiě)字母都轉(zhuǎn)換為對(duì)應(yīng)的小寫(xiě)字母,然后一并記錄出現(xiàn)的次數(shù)。將大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)的小寫(xiě)字母,只需將ASCII碼加上32就可以了。填空3:指針p指向字符串tt,通過(guò)p自加1來(lái)移動(dòng)指針,訪問(wèn)字符串中的所有字符。2.改錯(cuò)題下列給定程序中函數(shù)fun()的功能是:從低位開(kāi)始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如,當(dāng)s中的數(shù)為4576235時(shí),t中的數(shù)為4725。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#include<conio.h>/**********************found***********************/intfun(longs,long*t){longs1=10;*t=s%10;while(s>0){/**********************found***********************/s=s%100;*t=s%10*s1+*t;s1=s1*10;}}main(){longs,t;clrscr();printf("\nPleaseenters:");scanf("%ld",&s);fun(s,&t);printf("Theresultis:%ld\n",t);}答案及評(píng)析:(1)錯(cuò)誤:intfun(longs,long*t)正確:voidfun(longs,long*t)(2)錯(cuò)誤:s=s%100;正確:s=s/100;【解析】錯(cuò)誤1:函數(shù)由指針來(lái)完成參數(shù)的傳遞,所以沒(méi)有返回值,應(yīng)定義函數(shù)的類型為void。錯(cuò)誤2:此處要注意特殊運(yùn)算符號(hào)"%"--取余和"/"--整除的區(qū)別。將一個(gè)數(shù)整除100則可得到由其百位數(shù)以上的數(shù)組成的新數(shù)字,將一個(gè)數(shù)整除100取余則可得到由十位數(shù)和個(gè)位數(shù)組成的新數(shù)。3.編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun(),它的功能是:求出一個(gè)4×M整型二維數(shù)組中最小元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#defineM4#include<stdio.h>fun(inta[][M]){}main(){intarr[4][M]={11,3,9,35,42,-4,24,32,6,48,-32,7,23,34,12,-7};printf("min=%d\n",fun(arr));}答案及評(píng)析:fun(inta[][M]){inti,j,min=a[0][0];for(i=0;i<4;i++)for(j=0;j<M;j++)if(min>a[i][j])min=a[i][j];/*求出二維數(shù)組的最小值*/returnmin;}【解析】此類求最大值或最小值的C語(yǔ)言問(wèn)題,我們可以采用逐個(gè)比較的方式。要求數(shù)組中的所有元素走動(dòng)一遍,并從中找出最大、最小值,要注意一開(kāi)始應(yīng)使min存放數(shù)組中的第一個(gè)元素的值。可按逐行查找也可按逐列查找的方式,本題采用的是逐行查找的方式。即行下標(biāo)在外層循環(huán),列下標(biāo)在內(nèi)層循環(huán),因?yàn)樵谘h(huán)的嵌套中越在內(nèi)層循環(huán),循環(huán)變化就越快。第三套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是求一維數(shù)組x[N]的平均值,并對(duì)所得結(jié)果進(jìn)行四舍五入(保留兩位小數(shù))。例如:當(dāng)x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0},結(jié)果為:avg=15.030000。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】sum+=x[i] 【2】avg*1000 【3】(avg+5)/10【解析】填空1:通過(guò)for循環(huán)求出10個(gè)數(shù)的累加和,存于變量sum中。填空2:為了實(shí)現(xiàn)四舍五入保留兩位小數(shù)的功能,應(yīng)將平均值先擴(kuò)大1000倍。填空3:將平均值加上5,再除以10,實(shí)現(xiàn)四舍五入的功能。2.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是:先從鍵盤上輸入一個(gè)3行3列的矩陣的各個(gè)元素的值,然后輸出主對(duì)角線元素之積。請(qǐng)改正函數(shù)fun()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>intfun(){inta[3][3],mul;inti,j;mul=1;for(i=0;i<3;i++){/**********************found***********************/for(i=0;j<3;j++)scanf("%d",&a[i][j]);}for(i=0;i<3;i++)/**********************found***********************/mul=mul*a[i][j];printf("Mul=%d\n",mul);}main(){fun();}答案及評(píng)析:(1)錯(cuò)誤:for(i=0;j<3;j++)正確:for(j=0;j<3;j++)(2)錯(cuò)誤:mul=mul*a[i][j];正確:mul=mul*a[i][i];【解析】錯(cuò)誤1:循環(huán)結(jié)構(gòu)中,要給變量j賦初值0。錯(cuò)誤2:主對(duì)角元素的行號(hào)和列號(hào)相等,所以參加乘法的是a[i][i],而不是a[i][j]。3.編程題學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中。注意:分?jǐn)?shù)低的學(xué)生可能不只一個(gè),函數(shù)返回分?jǐn)?shù)最低學(xué)生的人數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#defineN16typedefstruct{charnum[10];ints;}STREC;intfun(STREC*a,STREC*b){}main(){STRECs[N]={{"GA005",82},{"GA003",75},{"GA002",85},{"GA004",78},{"GA001",95},{"GA007",62},{"GA008",60},{"GA006",85},{"GA015",83},{"GA013",94},{"GA012",78},{"GA014",97},{"GA011",60},{"GA017",65},{"GA018",60},{"GA016",74}};STRECh[N];inti,n;FILE*out;n=fun(s,h);printf("The%dlowestscore:\n",n);for(i=0;i<n;i++)printf("%s%4d\n",h[i].num,h[i].s);/*輸出最低分學(xué)生的學(xué)號(hào)和成績(jī)*/printf("\n");out=fopen("out19.dat","w");fprintf(out,"%d\n",n);for(i=0;i<n;i++);fprintf(out,"%4d\n",h[i].s);fclose(out);}答案及評(píng)析:intfun(STREC*a,STREC*b){inti,j=0,min=a[0].s;for(i=0;i<N;i++)if(min>a[i].s)min=a[i].s;/*找出最小值*/for(i=0;i<N;i++)if(min==a[i].s)b[j++]=a[i];/*找出成績(jī)與min相等的學(xué)生的記錄,存入結(jié)構(gòu)體b中*/returnj;/*返回最低成績(jī)的學(xué)生人數(shù)*/}【解析】該程序使用循環(huán)嵌套,第1個(gè)for語(yǔ)句的作用是找出最小值。第2個(gè)循環(huán)的作用是找出與min相等的成績(jī),也即最低成績(jī)的學(xué)生記錄,并存入b中。第四套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:分類統(tǒng)計(jì)一個(gè)字符串中元音字母和其他字符的個(gè)數(shù)(不區(qū)分大小寫(xiě))。例如,輸入aeiouAOUpqrt,結(jié)果為A:2E:1I:1O:2U:2other:4。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】bb[i]=0 【2】bb[5]++ 【3】p++;【解析】填空1:數(shù)組bb[6]用來(lái)存放5個(gè)元音字母和其他字符的個(gè)數(shù),在使用之前需要清零。填空2:數(shù)組元素bb[5]用來(lái)存放其他字符的個(gè)數(shù),當(dāng)指針p所指的字符不是元音字母時(shí),則認(rèn)為是其他字符,bb[5]加1。填空3:指針p指向字符串str,通過(guò)p自加1來(lái)移動(dòng)指針,訪問(wèn)字符串中的所有字符。2.改錯(cuò)題下列給定的程序中,函數(shù)fun()的功能是:計(jì)算并輸出k以內(nèi)最大的6個(gè)能被7或11整除的自然數(shù)之和。K的值由主函數(shù)傳入,若k的值為500,則函數(shù)的值為2925。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#include<conio.h>intfun(intk){intm=0,mc=0,j;/**********************found***********************/while(k>=2)&&(mc<6){/**********************found***********************/if((k%7=0)||(k%11=0)){/**********************found***********************/m=k;mc++;}k--;}returnm;}main(){clrscr();printf("%d\n",fun(500));}答案及評(píng)析:(1)錯(cuò)誤:while(k>=2)&&(mc<6)正確:while((k>=2)&&(mc<6))(2)錯(cuò)誤:if((k%7=0)||(k%11=0))正確:if((k%7==0)||(k%11==0))(3)錯(cuò)誤:m=k;正確:m=m+k;【解析】錯(cuò)誤1:C語(yǔ)言規(guī)定while語(yǔ)句后的表達(dá)式兩側(cè)必須要有圓括號(hào)。錯(cuò)誤2:if語(yǔ)句的判斷條件應(yīng)用關(guān)系運(yùn)算符,而不是賦值運(yùn)算符。錯(cuò)誤3:根據(jù)題意,將滿足條件的數(shù)求累加和。3.編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun(),它的功能是:將ss所指字符串中所有下標(biāo)為偶數(shù)位置的字母轉(zhuǎn)換為小寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入ABC4efG,則應(yīng)輸出aBc4efg。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*ss){}main(){chartt[81];clrscr();printf("\nPleaseenteranstringwithin80characters:\n");gets(tt);printf("\n\nAfterchanging,thestring\n\%s",tt);fun(tt);printf("\nbecomes\n\%s\n",tt);}答案及評(píng)析:voidfun(char*ss){inti;for(i=0;ss[i]!='\0';i++)/*將ss所指字符串中所有下標(biāo)為偶數(shù)位置的字母轉(zhuǎn)換為小寫(xiě)*/if(i%2==0&&ss[i]>='A'&&ss[i]<='Z')ss[i]=ss[i]+32;}【解析】從C語(yǔ)言的學(xué)習(xí)中我們知道,只要將小寫(xiě)字母減去32則轉(zhuǎn)成大寫(xiě)字母,將大寫(xiě)字母加上32則轉(zhuǎn)成小寫(xiě)字母。該程序是用if語(yǔ)句實(shí)現(xiàn)該功能轉(zhuǎn)化的。第五套1.填空題從鍵盤輸入一組無(wú)符號(hào)整數(shù)并保存在數(shù)組xx[N]中,以整數(shù)0結(jié)束輸入,要求這些數(shù)的最大位數(shù)不超過(guò)4位,其元素的個(gè)。例如:當(dāng)xx[8]={123,11,25,222,42,333,14,5451}時(shí),bb[4]={25,42,333,5451}。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】xx[i]%10 【2】bb[n++]=xx[i] 【3】n【解析】填空1:將一個(gè)整數(shù)對(duì)10取余,則得到這個(gè)整數(shù)的個(gè)位數(shù),將一個(gè)整數(shù)除以10再對(duì)10取余,則得到這個(gè)整數(shù)的十位數(shù)。由程序可以看出,變量s保存了整數(shù)的十位數(shù),所以應(yīng)該將整數(shù)的個(gè)位數(shù)保存于變量g中。填空2:當(dāng)整數(shù)的個(gè)位與十位的數(shù)字之和大于5時(shí),則將這個(gè)整數(shù)存于數(shù)組bb中,同時(shí),變量n記錄了滿足條件的無(wú)符號(hào)整數(shù)的個(gè)數(shù)。填空3:題目要求滿足條件的無(wú)符號(hào)整數(shù)的個(gè)數(shù)由fun函數(shù)返回,所以函數(shù)返回n。2.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是:在字符串str中找出ASCⅡ碼值最小的字符,將其放在第一個(gè)位置上,并將該字符前的原字符向后順序移動(dòng)。例如,調(diào)用fun()函數(shù)之前給字符串輸入fagAgBDh,調(diào)用后字符串中的內(nèi)容為AfaggBDh。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>/**********************found***********************/voidfun(charp){charmin,*q;inti=0;min=p[i];while(p[i]!=0){if(min>p[i]){/**********************found***********************/p=q+i; min=p[i];}i++;}while(q>p){*q=*(q-1);q--;}p[0]=min;}main(){charstr[80];printf("Enterastring:");gets(str);printf("\nTheoriginalstring:");puts(str);fun(str);printf("\nThestringaftermoving:");puts(str);printf("\n\n");}答案及評(píng)析:(1)錯(cuò)誤:voidfun(charp)正確:voidfun(char*p)(2)錯(cuò)誤:p=q+i;正確:q=p+i;【解析】錯(cuò)誤:由于本題中函數(shù)的功能是對(duì)字符串進(jìn)行處理,而不是對(duì)單個(gè)字符進(jìn)行處理,因此,函數(shù)的參數(shù)應(yīng)為字符串指針。錯(cuò)誤2:使指針q指向ASCII碼最小的字符本題解答需要3個(gè)步驟:(1)找到字符串中ASCII碼值最小的字符,并保存。(2)將該字符復(fù)制,并將該字符前面的字符串順次后移。(3)將ASCII碼值最小的字符賦給字符串的第1個(gè)字符。找到ASCII碼值最小的字符可以通過(guò)定義一個(gè)字符min,該字符初始時(shí)等于字符串的第1個(gè)字符,若字符串的下一個(gè)字符小于min,則將下一個(gè)字符賦給min,如此循環(huán)到字符尾,即可得到ASCII碼值最小的字符,同時(shí)令指針q指向最小字符。之后對(duì)最小字符前面的子串順次后移,可采用while語(yǔ)句實(shí)現(xiàn)。此題需要熟練掌握和靈活應(yīng)用C語(yǔ)言的字符與整型變量的關(guān)系以及字符串操作。3.編程題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>#defineN8structslist{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.0f",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.1f\n",min);}答案及評(píng)析: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;}【解析】在本題中,h為一個(gè)指向結(jié)構(gòu)體的指針變量,若要引用它所指向的結(jié)構(gòu)體中的某一成員時(shí),要用指向運(yùn)算符"->"。由于是鏈表,所以要使h逐一往后移動(dòng),使用的是h=h->next。第六套1.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從一個(gè)字符串中截取前面若干個(gè)給定長(zhǎng)度的子字符串。其中,str1指向原字符串,截取后的字符存放在str2所指的字符數(shù)組中,n中存放需截取的字符個(gè)數(shù)。例如:當(dāng)str1=“cdefghij”,然后輸入4,則str2=“cdef”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】″%d″,&n 【2】str2[i]=str1[i]; 【3】str2【解析】填空1:本題考查對(duì)標(biāo)準(zhǔn)輸入函數(shù)scanf()的調(diào)用格式,由后面的程序可以知道,變量n保存了要截取的字符數(shù),注意在n前面不要忘了取址符‘&'。填空2:截取前n個(gè)字符,就是將字符串str1的前n個(gè)字符依次賦給字符串str2的前n個(gè)字符。填空3:本題考查對(duì)標(biāo)準(zhǔn)輸出函數(shù)printf()的調(diào)用格式,根據(jù)題意,應(yīng)輸出截取后的字符串,即字符串str2。2.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#include<conio.h>voidfun(char*s){inti,j;for(i=0,j=0;s[i]!='\0';i++)/**********************found***********************/if((s[i]>='A'&&s[i]<='Z')&&(s[i]>='a'&&s[i]<='z'))s[j++]=s[i];/**********************found***********************/s[j]="\0";}main(){charitem[80];clrscr();printf("\nEnterastring:");gets(item);printf("\n\nThestringis:\%s\n",item);fun(item);printf("\n\nThestringofchangingis:\%s\n",item);}答案及評(píng)析:(1)錯(cuò)誤:if((s[i]>='A'&&s[i]<='Z')&&(s[i]>='a'&&s[i]<='z'))正確:if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))(2)錯(cuò)誤:s[j]="\0";正確:s[j]='\0';【解析】錯(cuò)誤1:字母包括小寫(xiě)字母和大寫(xiě)字母,這里是"或"的關(guān)系,所以用"||"運(yùn)算符。錯(cuò)誤2:字符串的結(jié)束標(biāo)志符為字符,而不是字符串。3.編程題下列程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun(inta[][N]),該函數(shù)的功能是:使數(shù)組右上半三角元素中的值全部置成0。例如a數(shù)組中的值為a=456179326,則返回主程序后a數(shù)組中的值應(yīng)為000100320注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>#defineN5intfun(inta[][N]){}main(){inta[N][N],i,j;clrscr();printf("*****Thearray*****\n");for(i=0;i<N;i++)/*產(chǎn)生一個(gè)隨機(jī)的5*5矩陣*/{for(j=0;j<N;j++){a[i][j]=rand()%10;printf("%4d",a[i][j]);}printf("\n");}fun(a);printf("THERESULT\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",a[i][j]);printf("\n");}}答案及評(píng)析:intfun(inta[][N]){inti,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]=0;/*將數(shù)組右上半三角元素中的值全部置成0*/}【解析】本題旨在考查控制數(shù)組中右上半三角元素的算法,也就是兩個(gè)千篇一律的循環(huán)語(yǔ)句,希望學(xué)習(xí)者能夠掌握消化。第七套1.填空題str是全部由小寫(xiě)字母字符和空格字符組成的字符串,由num傳入字符串的長(zhǎng)度。請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:統(tǒng)計(jì)字符串str中的單詞個(gè)數(shù),結(jié)果由變量num傳回。每個(gè)單詞之間都由空格隔開(kāi),并且字符串str開(kāi)始不存在空格。例如:str=“howdoyoudo”,結(jié)果為:num=4。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】i<*num 【2】n++ 【3】*num=n【解析】填空1:*num傳入字符串的長(zhǎng)度,所以for循環(huán)中變量i的變化范圍是從0到*num-1。填空2:如果當(dāng)前判斷的字符是小寫(xiě)字母,并且它的下一個(gè)字符是空格或者是字符串結(jié)束標(biāo)記符,則表示當(dāng)前字符是一個(gè)單詞的最后一個(gè)字母,統(tǒng)計(jì)單詞數(shù)的變量n要加上1。填空3:題目要求結(jié)果由變量num傳回,所以要將n的值賦給指針num所指的單元。2.改錯(cuò)題下列給定程序中,fun()函數(shù)的功能是:根據(jù)形參m,計(jì)算下列公式的值。t=1-1/2+1/3-1/4+…+(-1)(m+1)/m例如,若輸入5,則應(yīng)輸出0.783333。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<conio.h>#include<stdio.h>/**********************found***********************/intfun(intm){doublet=1.0,j=1.0;inti;/**********************found***********************/for(i=1;i<m;i++){j=-1*j;t+=j/i;}returnt;}main(){intm;clrscr();printf("\nPleaseenter1integernumber:");scanf("%d",&m);printf("\nTheresultis%lf\n",fun(m));}答案及評(píng)析:(1)錯(cuò)誤:intfun(intm)正確:doublefun(intm)(2)錯(cuò)誤:for(i=1;i<m;i++)正確:for(i=2;i<=m;i++)【解析】錯(cuò)誤:函數(shù)的返回值為實(shí)型數(shù),所以應(yīng)定義為double類型。錯(cuò)誤2:根據(jù)題目的公式,參加運(yùn)算的數(shù)應(yīng)從2到m,包括m。3.編程題請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:求出1到1000之內(nèi)能被5或13整除、但不能同時(shí)被5和13整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>voidfun(int*a,int*n){}main(){intaa[1000],n,k;clrscr();fun(aa,&n);for(k=0;k<n;k++)if((k+1)%10==0){printf("%5d",aa[k]);printf("\n");/*一行寫(xiě)10個(gè)數(shù)*/}elseprintf("%5d",aa[k]);}答案及評(píng)析:voidfun(int*a,int*n){inti,j=0;for(i=1;i<=1000;i++)/*求1到1000之內(nèi)能被5或13整除、但不能同時(shí)被5和13整除的所有整數(shù),并放入數(shù)組a中*/if((i%5==0||i%13==0)&&i%65!=0)a[j++]=i;*n=j;/*傳回滿足條件的數(shù)的個(gè)數(shù)*/}【解析】注意本題題目是找出能被5或13整除但不能同時(shí)被5和13整除的所有整數(shù)。能同時(shí)被5和13整除的整數(shù)一定能被65整除,且不能被65整除的數(shù)不一定就是能被5或13整除的數(shù)。所以可得出程序中的if()。按運(yùn)算優(yōu)先級(jí)可知(i%5==0||i%13==0),注意,兩邊必須要有小括號(hào)。第八套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把從主函數(shù)中輸入的字符串str2接在字符串str1的后面。例如:str1=“Howdo”,str2=“youdo?”,結(jié)果輸出:Howdoyoudo?注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】*(p1+i) 【2】*p2 【3】*p2++【解析】填空1:變量i用來(lái)記錄字符串str1的長(zhǎng)度,當(dāng)指針指到字符串str1結(jié)束標(biāo)志符‘\0'時(shí),while循環(huán)結(jié)束,變量i停止累加。填空2:指針p2指向字符串str2,通過(guò)for循環(huán)將字符串str2接在str1后面,循環(huán)結(jié)束的條件是指針p2所指的字符是字符串結(jié)束標(biāo)志符‘\0'。填空3:指針p2最初指向字符串str2的首字符,通過(guò)自加1,使指針p2依次向后移動(dòng),指向str2的各個(gè)字符,實(shí)現(xiàn)將字符串str2接在str1后面的功能。2.改錯(cuò)題下列給定程序中,函數(shù)fun()的作用是:將字符串tt中的小寫(xiě)字母都改為對(duì)應(yīng)的大寫(xiě)字母,其他字符不變。例如,若輸入"edS,dAd",則輸出"EDS,DAD"。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#include<string.h>#include<conio.h>/**********************found***********************/charfun(chartt[]){inti;for(i=0;tt[i];i++){/**********************found***********************/if((tt[i]>='A')&&(tt[i]<='Z'))tt[i]-=32;}return(tt);}main(){inti;chartt[81];clrscr();printf("\nPleaseenterastring:");gets(tt);printf("\nTheresultstringis:\n%s",fun(tt));}答案及評(píng)析:(1)錯(cuò)誤:charfun(chartt[])正確:char*fun(chartt[])(2)錯(cuò)誤:if((tt[i]>='A')&&(tt[i]<='Z'))正確:if((tt[i]>='a')&&(tt[i]<='z'))【解析】錯(cuò)誤1:函數(shù)的返回值是字符串的首地址,是指針類型,所以在函數(shù)名前要加'*'號(hào)。錯(cuò)誤2:題目要求將小寫(xiě)字母改為大寫(xiě)字母,所以if語(yǔ)句的判斷條件是小寫(xiě)字母。3.編程題請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)從p到n-1(p≤n-1)的數(shù)組元素平移到數(shù)組的前面。例如,一維數(shù)組中的原始內(nèi)容為1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值為6。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為7,8,9,10,10,11,12,13,14,15,1,2,3,4,5,6。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#defineN80voidfun(int*w,intp,intn){}main(){inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};inti,p,n=15;printf("Theoriginaldata:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\nEnterp:");scanf("%d",&p);fun(a,p,n);printf("\nThedataaftermoving:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");}答案及評(píng)析:voidfun(int*w,intp,intn){inti,j,t;for(i=p;i<=n-1;i++)/*循環(huán)右移n-p次*/{t=w[n-1];for(j=n-2;j>=0;j--)/*實(shí)現(xiàn)循環(huán)右移*/w[j+1]=w[j];w[0]=t;}}【解析】本題采用"循環(huán)右移"的算法。和我們?cè)谇懊娣治龅纳杂胁煌氖?,一個(gè)是整型數(shù)組,一個(gè)是字符型數(shù)組。第九套1.填空題str是一個(gè)由數(shù)字和字母字符組成的字符串,由變量num傳入字符串長(zhǎng)度。請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把字符串str中的數(shù)字字符轉(zhuǎn)換成數(shù)字并存放到整型數(shù)組bb中,函數(shù)返回?cái)?shù)組bb的長(zhǎng)度。例如:str=“Bcd123e456hui890”,結(jié)果為:123456890。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】s[i]>=′0′&&s[i]<=′9′ 【2】s[i]-′0′ 【3】n【解析】填空1:如果當(dāng)前字符的ASCII碼大于字符′0′的ASCII碼,而小于字符′9′的ASCII碼,則說(shuō)明當(dāng)前字符是數(shù)字字符。填空2:將數(shù)字字符轉(zhuǎn)換為數(shù)字的方法是,用當(dāng)前數(shù)字字符的ASCII碼減去字符′0′的ASCII碼。填空3:題目要求函數(shù)返回?cái)?shù)組bb的長(zhǎng)度,而變量n記錄了數(shù)字字符的個(gè)數(shù),也就是數(shù)組bb的長(zhǎng)度,所以函數(shù)應(yīng)該返回n。2.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是:從n個(gè)學(xué)生的成績(jī)中統(tǒng)計(jì)出高于平均分的學(xué)生人數(shù),人數(shù)由函數(shù)值返回,平均分存放在形參aver所指的存儲(chǔ)單元中。例如輸入8名學(xué)生的成績(jī):8565.56995.5875562.575則高于平均分的學(xué)生人數(shù)為4(平均分為74.312500)。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#include<conio.h>#defineN20intfun(float*s,intn,float*aver){/**********************found***********************/intave,t=0;intcount=0,k,i;for(k=0;k<n;k++)t+=s[k];ave=t/n;for(i=0;i<n;i++)/**********************found***********************/if(s[i]<ave)count++;/**********************found***********************/aver=ave;returncount;}main(){floats[30],aver;intm,i;clrscr();printf("\nPleaseenterm:");scanf("%d",&m);printf("\nPleaseenter%dmark:\n",m);for(i=0;i<m;i++)scanf("%f",s+i);printf("\nThenumberofstudents:%d\n",fun(s,m,&aver));printf("Ave=%f\n",aver);}答案及評(píng)析:(1)錯(cuò)誤:intave,t=0;正確:floatave,t=0.0;(2)錯(cuò)誤:if(s[i]<ave)正確:if(s[i]>ave)(3)錯(cuò)誤:aver=ave;正確:*aver=ave;【解析】錯(cuò)誤1:ave和t分別用來(lái)存放成績(jī)的平均值和總分,應(yīng)為實(shí)型數(shù)。錯(cuò)誤2:根據(jù)題意,找出高于平均分的數(shù),所以此處的關(guān)系運(yùn)算符應(yīng)為">"錯(cuò)誤3:aver是指針,而ave是一個(gè)數(shù),不能將一個(gè)數(shù)賦值給一個(gè)指針,而要用符號(hào)'*'。3.編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun(),它的功能是:比較兩個(gè)字符串的長(zhǎng)度,(不得調(diào)用C語(yǔ)言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較短的字符串。若兩個(gè)字符串長(zhǎng)度相等,則返回第1個(gè)字符串。例如,輸入nanjing<CR>nanchang<CR>(<CR>為回車鍵),函數(shù)將返回nanjing。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>char*fun(char*s,char*t){}main(){chara[20],b[10],*p,*q;inti;printf("Input1thstring:");gets(a);printf("Input2thstring:");gets(b);printf("%s",fun(a,b));}答案及評(píng)析:char*fun(char*s,char*t){inti,j;for(i=0;s[i]!='\0';i++);/*求字符串的長(zhǎng)度*/for(j=0;t[j]!='\0';j++);if(i<=j)/*比較兩個(gè)字符串的長(zhǎng)度*/returns;/*函數(shù)返回較短的字符串,若兩個(gè)字符串長(zhǎng)度相等,則返回第1個(gè)字符串*/elsereturnt;}【解析】本題中,第1個(gè)for循環(huán)的作用是求出s的字符個(gè)數(shù)i,第2個(gè)for循環(huán)的作用是求出t的字符個(gè)數(shù)j,因?yàn)槿魏窝h(huán)都要控制一條語(yǔ)句,所以在每一個(gè)for循環(huán)條件后面必須要有一個(gè)分號(hào)。本題也可用如下技巧:#include<string.h>/*一定要注意在最前面加#include<string.h>*/char*fun(char*s,char*t){if(strlen(s)>=strlen(t)returns;elsereturnt;}第十套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是判斷一個(gè)數(shù)的個(gè)位數(shù)字和百位數(shù)字之和是否等于其十位上的數(shù)字,是則返回“yes!”,否則返回“no!”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:}答案及評(píng)析:【1】n/100%10 【2】″yes!″ 【3】″no!″【解析】填空1:由程序可以知道,變量g保存了整數(shù)的個(gè)位數(shù),變量s保存了整數(shù)的十位數(shù),所以變量b應(yīng)該保存整數(shù)的百位數(shù)。將整數(shù)除以100再對(duì)10取余,則得到這個(gè)整數(shù)的百位數(shù)。填空2:當(dāng)個(gè)位數(shù)字和百位數(shù)字之和等于十位數(shù)字時(shí),則返回″yes!″。填空3:當(dāng)個(gè)位數(shù)字和百位數(shù)字之和不等于十位數(shù)字時(shí),則返回″no!″。2.改錯(cuò)題下列給定的程序中,函數(shù)fun()的功能是:用選擇法對(duì)數(shù)組中的n個(gè)元素按從大到小的順序進(jìn)行排序。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#defineN20voidfun(inta[],intn){inti,j,t,p;/**********************found***********************/for(j=0;j<n-1;j++);{p=j;for(i=j;i<n;i++)if(a[i]>a[p])p=i;t=a[p];a[p]=a[j];/**********************found***********************/a[p]=t;}}main(){inta[N]={11,32,-5,2,14},i,m=5;printf("排序前的數(shù)據(jù):");for(i=0;i<m;i++)printf("%d",a[i]);printf("\n");fun(a,m);printf("排序后的順序:");for(i=0;i<m;i++)printf("%d",a[i]);printf("\n");}答案及評(píng)析:(1)錯(cuò)誤:for(j=0;j<n-1;j++);正確:for(j=0;j<n-1;j++)(2)錯(cuò)誤:a[p]=t;正確:a[j]=t;【解析】錯(cuò)誤1:根據(jù)C語(yǔ)言語(yǔ)法,for循環(huán)中循環(huán)條件后不加分號(hào),除非做空操作。錯(cuò)誤2:將兩數(shù)進(jìn)行交換的常用語(yǔ)句,借助第三個(gè)變量。3.編程題下列程序定義了N×N的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫(xiě)函數(shù)fun(),函數(shù)的功能是:求出數(shù)組周邊元素的平方和并作為函數(shù)值返回給主函數(shù)中的s。例如:若a數(shù)組中的值為a=012791112155221611197910254141則返回主程序后s的值應(yīng)為310。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN5intfun(intw[][N]){}main(){inta[N][N]={0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1};inti,j;ints;clrscr();printf("*****Thearray*****\n");for(i=0;i<N;i++){for(j=0;j<N;j++){printf("%4d",a[i][j]);}printf("\n");}s=fun(a);printf("*****THERESULT*****\n");printf("Thesumis:%d\n",s);}答案及評(píng)析:intfun(intw[][N]){inti,j,k=0;ints=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,則它一定是周邊元素*/{s=s+w[i][j]*w[i][j];/*將周邊元素求平方和*/}returns;/*返回周邊元素的平方和*/}【解析】該題采用逐一判斷的方式,周邊元素的下標(biāo)一定有一個(gè)是0或N-1,且只要下標(biāo)中有一個(gè)為0或N-1,則它一定是周邊元素。2009年9月真題選擇題:(1)數(shù)字信號(hào)處理器由于在其內(nèi)部設(shè)計(jì)了能夠高速處理多路數(shù)字信號(hào)的電路,可以用在需要快速處理大量復(fù)雜信息的領(lǐng)域。下列哪一個(gè)設(shè)備不需要數(shù)字信號(hào)處理器?
A)雷達(dá)B)彩色電視機(jī)C)數(shù)字音視頻設(shè)備D)數(shù)字圖像處理設(shè)備
(2)八進(jìn)制數(shù)1507轉(zhuǎn)換成十進(jìn)制數(shù)是多少?
A)838B)839C)840D)841
(3)數(shù)據(jù)包要求從源主機(jī)出發(fā),最終到目的主機(jī)。下列哪一個(gè)設(shè)備可為數(shù)據(jù)包選擇輸出路徑,將它從一個(gè)網(wǎng)絡(luò)傳送到另一個(gè)網(wǎng)絡(luò)?
A)通信線路B)路由器C)WWW服務(wù)器D)調(diào)制解調(diào)器
(4)當(dāng)電子郵件軟件從郵件服務(wù)器讀取郵件時(shí),可以使用下列哪一個(gè)(些)協(xié)議?
Ⅰ.簡(jiǎn)單郵件傳輸協(xié)議SMTP
Ⅱ.郵局協(xié)議POP3
Ⅲ.交互式郵件存取協(xié)議IMAP
A)僅ⅠB)僅ⅡC)僅Ⅱ和ⅢC)僅Ⅰ和Ⅲ
(5)在下載的普通程序中隱含了一些非法功能的代碼,用于竊取用戶私密信息或執(zhí)行其他惡意程序,這種惡意軟件的攻擊方式稱為
A)特洛伊木馬B)后門陷阱C)邏輯炸彈D)僵尸網(wǎng)絡(luò)(6)下列關(guān)于ADSL技術(shù)的敘述中,哪些是正確的?
Ⅰ.它是在普通電話線上的一種心得高速寬帶技術(shù)
Ⅱ.它為用戶提供上、下行對(duì)稱的傳輸速率
Ⅲ.ADSL寬帶接入方式可用于網(wǎng)絡(luò)互聯(lián)業(yè)務(wù)
A)僅Ⅰ和ⅡB)僅Ⅱ和ⅢC)僅Ⅰ和ⅢD)全部填空題:
(1)為了改變指令系統(tǒng)計(jì)算機(jī)指令過(guò)多的狀態(tài)而設(shè)計(jì)的一種計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)稱為精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī),其英文縮寫(xiě)為
【1】
。
(2)標(biāo)準(zhǔn)的URL由三部分組成:協(xié)議類型、
【2】
和路徑/文件名。
答案:(1)B (2) B (3) B (4) C (5) A(6)C填空題:(1)RISC(2)主機(jī)名2009年3月真題選擇題:(1)下列哪一個(gè)不是指令系統(tǒng)中包含的指令類型?A)存儲(chǔ)控制類指令B)數(shù)據(jù)傳送類指令C)算術(shù)邏輯類指令D)判定控制類指令(2)計(jì)算機(jī)存儲(chǔ)容量大小為1TB,相當(dāng)于多少GB?A)256GBB)512GBC)1024GBD)2048GB(3)下列哪一個(gè)不屬于廣域網(wǎng)?A)X.5B)FDDIC)ISDND)ATM(4)下列哪一個(gè)不屬于應(yīng)用層協(xié)議?A)用戶數(shù)據(jù)報(bào)協(xié)議UDPB)文件傳瑜協(xié)議FTPC)域名服務(wù)DNSD)電子郵件協(xié)議SMTP(5)下列哪一個(gè)不屬于實(shí)施信息認(rèn)證的方法?A)身份識(shí)別B)消息驗(yàn)證C)密鑰管理D)數(shù)字簽名(6)密鑰管理包括密鑰的產(chǎn)生、存儲(chǔ)、裝入、分配、保護(hù)、丟失、銷毀以及保密等內(nèi)容,其中最關(guān)鍵和最困難的問(wèn)題是A)解決密鑰的丟失和銷毀B)解決密鑰的分配和存儲(chǔ)C)解決密鑰的產(chǎn)生和裝入D)解決密鑰的保護(hù)和保密填空題:(1)在WWW環(huán)境中,信息頁(yè)由【1】語(yǔ)言來(lái)實(shí)現(xiàn)。
(2)Internet通過(guò)【2】將分布在世界各地的數(shù)以萬(wàn)計(jì)的廣域網(wǎng)、城域網(wǎng)與局域網(wǎng)互聯(lián)起來(lái)。
答案:(1) A (2) C (3) B (4) A (5) C(6)B填空:(1)HTML(2)網(wǎng)絡(luò)互聯(lián)設(shè)備2008年9月真題選擇題:(1)下列關(guān)于系統(tǒng)軟件的敘述中,哪條是不正確的?A)系統(tǒng)軟件是在應(yīng)用軟件基礎(chǔ)上開(kāi)發(fā)的B)系統(tǒng)軟件應(yīng)提供友好的編程接口C)系統(tǒng)軟件與硬件密切相關(guān)D)數(shù)據(jù)庫(kù)管理系統(tǒng)屬于系統(tǒng)軟件(2)計(jì)算機(jī)硬件功能部件中,完成對(duì)數(shù)據(jù)加工的部件是A)運(yùn)算器B)控制器C)存儲(chǔ)器D)輸入/輸出設(shè)備(3)多媒體網(wǎng)絡(luò)應(yīng)用及實(shí)時(shí)通信要求網(wǎng)絡(luò)高速率、低延遲傳輸。下列哪一種技術(shù)滿足這類應(yīng)用要求?A)ATMB)FDDIC)FRD)X.25(4)下列哪一個(gè)不是Internet提供的主要服務(wù)A)WWW服務(wù)B)數(shù)字視頻影像服務(wù)C)電子郵件服務(wù)D)文件傳輸(5)下列哪個(gè)不是對(duì)網(wǎng)絡(luò)進(jìn)行服務(wù)攻擊的結(jié)果?A)網(wǎng)路喪失服務(wù)能力B)網(wǎng)絡(luò)通信線路癱瘓C)網(wǎng)站主頁(yè)被涂改D)網(wǎng)站W(wǎng)WW服務(wù)器癱瘓(6)針對(duì)操作系統(tǒng)安全,為了防止由于誤操作而對(duì)文件造成破環(huán),要采用的方法是A)保密B)保護(hù)C)審計(jì)D)認(rèn)證填空題:(1)為了保證Internet正常工作,要求聯(lián)入Internet的計(jì)算機(jī)都遵從相同的通信協(xié)議,即【1】協(xié)議。(2)一般的加密體制可分為兩種:?jiǎn)舞€加密體制和【2】加密體制。答案:1)A2)A3)A4)B5)B6)B填空:1.TCP/IP2.雙鑰2008年4月真題選擇題:(1)計(jì)算機(jī)應(yīng)用已經(jīng)滲透到社會(huì)生活的各個(gè)領(lǐng)域,特別是多媒體技術(shù)的發(fā)展,使得指紋識(shí)別、圖像聲音處理的應(yīng)用不斷發(fā)展。這一類應(yīng)用屬于下列哪一個(gè)應(yīng)用領(lǐng)域?A)人工智能B)科學(xué)和工程計(jì)算機(jī)C)數(shù)據(jù)和信息處理D)過(guò)程控制(2)下列哪一項(xiàng)不是高級(jí)程序設(shè)計(jì)語(yǔ)言?A)FORTRANB)JAVAC)C++D)VisualASM(3)下列關(guān)于廣域網(wǎng)技術(shù)的敘述,哪個(gè)不正確?A)X.25執(zhí)行過(guò)程復(fù)雜,增加了網(wǎng)絡(luò)傳輸延遲B)幀中繼的產(chǎn)生為了保證數(shù)據(jù)傳輸?shù)馁|(zhì)量C)ATM技術(shù)采用異步傳輸與分組交換技術(shù)D)建立綜合業(yè)務(wù)數(shù)字網(wǎng)的目的之一為用戶提供標(biāo)準(zhǔn)接口(4)下列關(guān)于域名和IP地址的敘述中,哪一條是不正確的?A)在Internet中訪問(wèn)一臺(tái)主機(jī)必須使用它的主機(jī)名B)03是一個(gè)C類IP地址C)IP地址采用的分層結(jié)構(gòu)D)主機(jī)名一IP地址是一一對(duì)應(yīng)的(5)一個(gè)加密體制或稱密碼體制是由下列哪些部分組成的?I.明文空間II.密文空間III.密鑰空間IV.加密算法V.解密算法A)僅I,II和IIIB)僅I,II,IV和VC)僅I,III,IV和VD)全部(6)下列哪一項(xiàng)不是計(jì)算機(jī)病毒的特征?
A)傳染性
B)結(jié)構(gòu)性C)隱蔽性
D)可激發(fā)性填空題:(1)計(jì)算機(jī)網(wǎng)路是由多臺(tái)計(jì)算機(jī)互聯(lián)而成,為保證網(wǎng)絡(luò)中計(jì)算機(jī)間的數(shù)據(jù)交換,要求計(jì)算機(jī)在交換數(shù)據(jù)的過(guò)程中遵守相應(yīng)的網(wǎng)絡(luò)協(xié)議,一個(gè)網(wǎng)絡(luò)協(xié)議由語(yǔ)法、【1】和時(shí)序三個(gè)要素組成。(2)電子郵件程序向郵件服務(wù)器發(fā)送郵件時(shí),使用的協(xié)議是【2】答案:(1)C(2)D(3)B(4)A(5)D(6)B填空題:(1)語(yǔ)義(2)STMP2007年9月真題選擇題:(1)下列哪一種設(shè)備不是輸入設(shè)備A)鍵盤B)光筆C)數(shù)/模轉(zhuǎn)換器D)聲音識(shí)別器(2)下列關(guān)于系統(tǒng)軟件的敘述中,哪一個(gè)是不正確的?A)操作系統(tǒng)管理計(jì)算機(jī)的軟、硬件資源B)解釋程序先將源程序轉(zhuǎn)換成目標(biāo)代碼后,邊解釋邊執(zhí)行C)Informix是一種數(shù)據(jù)庫(kù)管理系統(tǒng)D)故障診斷程序是一類服務(wù)性程序(3)IP地址由網(wǎng)絡(luò)地址和主機(jī)地址兩部分組成,C類網(wǎng)絡(luò)的主機(jī)地址長(zhǎng)度是A)4B)6C)8D)12(4)下列關(guān)于超文本的敘述中,哪一個(gè)是不正確的?A)超文本是一種信息組織形式B)超文本采用非線性的網(wǎng)狀結(jié)構(gòu)組織信息C)超媒體進(jìn)一步擴(kuò)展了超文本所鏈接的信息類型D)超文本是由結(jié)點(diǎn)和鏈路組成的一個(gè)網(wǎng)絡(luò)(5)一個(gè)數(shù)字簽名算法至少應(yīng)該滿足三個(gè)條件,下列哪個(gè)不屬于數(shù)字簽名算法應(yīng)滿足的條件:A)簽名者事后不能否認(rèn)自己的簽名B)接收者能夠驗(yàn)證簽名,其他人不能偽造簽名C)數(shù)字簽名必須是所簽文件的物理部分D)當(dāng)發(fā)生簽名真?zhèn)螤?zhēng)執(zhí)時(shí),有第三方能夠解決爭(zhēng)執(zhí)(6)一個(gè)功能完備的網(wǎng)絡(luò)系統(tǒng)應(yīng)該提供基本的安全服務(wù)功能,其中解決網(wǎng)絡(luò)中信息傳輸源節(jié)點(diǎn)用戶與目的節(jié)點(diǎn)用戶身份真實(shí)性問(wèn)題的功能是A)保密B)認(rèn)證C)完整性服務(wù)D)訪問(wèn)控制填空題:(1)【1】是用戶接入Internet的入口點(diǎn),一方面它為用戶提供Internet接入服務(wù),另一方面也為用戶提供各類信息服務(wù)。(2)在密碼學(xué)中,將信息源稱作【2】。答案:(1)C(2)B(3)C(4)D(5)C(6)B填空題:(1)ISP(2)明文2007年4月真題選擇題:(1)完成輔助診斷疾病的軟件屬于下列哪一類計(jì)算機(jī)軟件?A)系統(tǒng)軟件B、科學(xué)計(jì)算軟件C)人工智能軟件D、數(shù)據(jù)和信息處理軟件(2)下列有關(guān)高級(jí)語(yǔ)言的敘述中,哪一個(gè)是不正確的?A)高級(jí)語(yǔ)言又稱為算法語(yǔ)言B)高級(jí)語(yǔ)言獨(dú)立于計(jì)算機(jī)硬件C)高級(jí)語(yǔ)言程序可以直接在計(jì)算機(jī)上執(zhí)行D)用高級(jí)語(yǔ)言編寫(xiě)的程序其通用性和移植性好(3)IP地址是Internet賴以工作的基礎(chǔ),它由網(wǎng)絡(luò)地址和主機(jī)地址兩部分組成,其中C類網(wǎng)絡(luò)的主機(jī)地址數(shù)最多為A)64個(gè)B)128個(gè)C)256個(gè)D)512個(gè)(4)電子郵件服務(wù)程序從郵件服務(wù)器中讀取郵件時(shí)可以使用郵局協(xié)議,下列哪個(gè)是郵局協(xié)A)POP3B)IMAPC)HTTPD)SMTP(5)下列哪一項(xiàng)不屬于郵件服務(wù)器的主要功能?A)接收用戶發(fā)送來(lái)的郵件B)為收件人定期清理郵箱C)根據(jù)收件人地址將郵件發(fā)送到對(duì)方服務(wù)器中D)根據(jù)收件人地址將其他郵件服器發(fā)送來(lái)的郵件分發(fā)到相應(yīng)的電子郵箱(6)密鑰管理包括密鑰的產(chǎn)生、存儲(chǔ)、裝入、分配、保護(hù)、銷毀以及保密等內(nèi)容,其中最關(guān)鍵和最困難的問(wèn)題是A)密鑰的分配和存儲(chǔ)B)密鑰的產(chǎn)生和裝入C)密鑰的保護(hù)和保密D)密鑰的銷毀填空題:(1)將文本、音頻、視頻、動(dòng)畫(huà)、圖形和圖像等各種媒體綜合起來(lái)的技術(shù)稱為【1】技術(shù)。(2)Internet服務(wù)提供商(ISP)是用戶接入Intemet的入口點(diǎn),一般用戶計(jì)算機(jī)接入Internet有兩種方式:一種是通過(guò)電話網(wǎng),另一種是通過(guò)【2】。(3)三元組法和十字鏈表法都可以用于【3】矩陣的存儲(chǔ)表示。(4)有關(guān)鍵碼值為10,20,30,的三個(gè)結(jié)點(diǎn),接所有可能的插入順序去構(gòu)造二叉排序樹(shù),能構(gòu)造出【4】棵不同的二叉排序樹(shù)。(5)對(duì)于給出的一組權(quán){10,12,16,21,30},通過(guò)霍夫曼
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際貿(mào)易出口貨物代理合同
- 旅游景區(qū)開(kāi)發(fā)與經(jīng)營(yíng)管理合同
- 美容美發(fā)行業(yè)服務(wù)合同協(xié)議
- 委托買賣合同
- 工業(yè)廢棄物資源化利用工廠建設(shè)合同
- 二零二五年度數(shù)據(jù)中心運(yùn)維管理與勞務(wù)派遣合同3篇
- 二零二四年度企業(yè)間資產(chǎn)支持融資借款合同3篇
- 二零二四年度供應(yīng)鏈管理服務(wù)合同(原材料采購(gòu))
- 二零二四年云計(jì)算數(shù)據(jù)中心建設(shè)合同
- 二零二四年度企業(yè)信息化系統(tǒng)建設(shè)合同3篇
- 江西省部分學(xué)校2024-2025學(xué)年高三上學(xué)期1月期末英語(yǔ)試題(含解析無(wú)聽(tīng)力音頻有聽(tīng)力原文)
- GA/T 2145-2024法庭科學(xué)涉火案件物證檢驗(yàn)實(shí)驗(yàn)室建設(shè)技術(shù)規(guī)范
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 尿毒癥替代治療
- 【課件】2025屆高考英語(yǔ)一輪復(fù)習(xí)小作文講解課件
- 基底節(jié)腦出血護(hù)理查房
- 工程公司總經(jīng)理年終總結(jié)
- 2024年海南省高考地理試卷(含答案)
- 【企業(yè)盈利能力探析的國(guó)內(nèi)外文獻(xiàn)綜述2400字】
- 三年級(jí)上冊(cè)數(shù)學(xué)口算題1000道帶答案
- 蘇教版(2024新版)一年級(jí)上冊(cè)科學(xué)全冊(cè)教案教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論