C語言試題總結(jié)_第1頁
C語言試題總結(jié)_第2頁
C語言試題總結(jié)_第3頁
C語言試題總結(jié)_第4頁
C語言試題總結(jié)_第5頁
已閱讀5頁,還剩472頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一套下列正確的標識符是(C ).A、a+bB、6aC、_doD、%y執(zhí)行以下程序段后,輸出結(jié)果和a的值是(B)。 int a=10; printf(%d,a+);A、11 和 10B、10 和 11C、11 和 11D、10 和 10以下不正確的if語句形式是(B)。A、if(xy&x!=y);D、if(x=y) x+=y;int a=3,b=2,c=1; if(ab & bc)a=b; else a=c;則a的值為(C)。A、1B、0C、2D、3對for(表達式1; ;表達式3)可以理解為( C).A、for(表達式1;表達式3;表達式3)B、for(表達式1;表達式1;表達式3)C、fo

2、r(表達式1;1;表達式3)D、for(表達式1;0;表達式3)運行結(jié)果是 11 12的程序段是:請在A處填寫正確內(nèi)容(B )。for(i=1;i=2;i+) _A_A、for(j=1;j=2;j+)printf(%3d,10*i+j);break;B、for(j=1;j=2;j+)printf(%3d,10*i+j);break;C、for(j=1;j=2;j+)printf(%3d,10*i+j);continue;D、for(j=1;jb) a=b; if(bc) b=c; else c=b; c=a;設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為_. for(i=0

3、,j=10;i=j;i+,j-) k=i+j;【空 1】【參考答案】10static int a33=1,2,3,4,5,6,7,8,9;其中a12的值為_.【空 1】【參考答案】6結(jié)構(gòu)體是不同數(shù)據(jù)類型的數(shù)據(jù)集合,作為數(shù)據(jù)類型, 必須先說明結(jié)構(gòu)體_,再說明結(jié)構(gòu)體變量.【空 1】【參考答案】-【程序設(shè)計】功能:將主函數(shù)中輸入的字符串反序存放。例如:輸入字符串a(chǎn)bcdefg,則應(yīng)輸出gfedcba。注意: 請在Begin 和 End 注釋行之間填寫代碼, 所有注釋語句都不能刪除。-*/#include stdio.h#include string.h#include conio.h#define

4、N 81void fun(char str,int n) /*Begin*/ /* End */ void main() void TestFunc(); char s N; int l; printf(input a string:);gets(s); l=strlen(s); fun(s,l); printf(The new string is :);puts(s); TestFunc();void TestFunc() FILE *IN,*OUT; char sIN20,*sOUT; int iLENGTH; IN=fopen(in.dat,r); if(IN=NULL) printf(

5、Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); fscanf(IN,%s,sIN); iLENGTH=strlen(sIN); sOUT=sIN; fun(sIN,iLENGTH); fprintf(OUT,%sn,sOUT); fclose(IN); fclose(OUT);【參考代碼】 int i,j; char c;for(i=0,j=n-1;ij;i

6、+,j-) /*或者for(i=0,j=n-1;in/2;i+,j-)*/ c=stri;stri=strj;strj=c;【程序改錯】功能:先從鍵盤上輸入一個3行3列矩陣的各個元素的值,然后輸 出主對角線上的元素之和sum。-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include stdio.hint fun() int a33,sum; int i,j; /*ERROR*/ a=0; for(i=0;i3;i+) for(j=0;j3;j+) /*ERROR*/ scanf(%d,aij); for(i=0;i3;i+) /*ERROR*/ sum=sum+aij;

7、/*ERROR*/ printf(sum=%fn,sum);void main() fun();【改錯1】【參考答案】sum=0;【改錯2】【參考答案】scanf(%d,&aij);=【改錯3】【參考答案】sum=sum+aii;sum+=aii;sum=aii+sum;sum+=aij=i;sum=sum+aij=i; sum=aij=i+sum;【參考答案】printf(sum=%dn,sum);【程序填空】-功能:先將在字符串s中的字符按正序存放到t串中,然后把s中的 字符按逆序連接到t串的后面。-請在程序的下劃線處填入正確的內(nèi)容,并把下劃線刪除,使程序得出正確的結(jié)果。注意:不得增行或刪

8、行,也不得更改程序的結(jié)構(gòu)!-*/#include stdio.h#include string.hvoid fun (char s, char t) int i, sl; /*FILL*/ sl = _; for(i=0; isl; i+) ti = si; for (i=0; ic)b=a;a=c;c=b;則c的值為(C)。A、1B、3C、2D、不一定為了避免在嵌套的條件語句 if-else 中產(chǎn)生二義性,C語言規(guī)定:else子句總是與(A)配對。A、其之前最近的未配對的ifB、其之后最近的ifC、同一行上的ifD、縮排位置相同的if存在多層嵌套循環(huán)時,下列說法正確的是(D ).A、cont

9、inue語句可以中止所有循環(huán)B、break語句可以中止所有循環(huán)C、continue語句能夠中止包含該語句的最內(nèi)層循環(huán)D、break語句能夠中止包含該語句的最內(nèi)層循環(huán)下面程序正確的運行結(jié)果是(B ).(答案中用大寫字母U代表空格)main() int num=0; while(num(y)?(x):(y),則F=4*MAX(2,3)的值為( B).A、3B、2C、12D、8設(shè)有以下定義:int w34=0,1,2,4,5,8;int (*p)4=w;則數(shù)值為4的表達式是( B).A、*w1+1B、p11C、p+,*(p+1)D、w22判斷printf 函數(shù)的一般格式為:printf (格式控制,

10、輸出表列).【參考答案】正確在C程序中,%是只能用于整數(shù)運算的運算符【參考答案】正確邏輯表達式42&1|5b) a=b; if(bc) b=c; else c=b; c=a;【參考答案】1=若輸入字符串:abcde,則以下while循環(huán)體將執(zhí)行 _ 次. while(ch=getchar()=e) printf(*);【參考答案】0=求字符串長度的庫函數(shù)是_,只寫函數(shù)名即可.【參考答案】strlen=feof(fp)函數(shù)用來判斷文件是否結(jié)束,如果遇到文件結(jié)束,函數(shù)值為_, 否則為_.【空 1】【參考答案】非0值=【空 2】【參考答案】0【程序設(shè)計】功能:對任意輸入的 x,用下式計算并輸出 y

11、的值。(還可以嘗試用case語句) -1 x0注意: 請在Begin 和 End 注釋行之間填寫代碼, 所有注釋語句都不能刪除。-*/#include stdio.hint fun(int n) /*Begin*/ /* End */ void main () void TestFunc(); int x,y; printf(enter x:); scanf(%d,&x); y=fun(x); printf(x=%d,y=%dn,x,y); TestFunc();void TestFunc() FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=f

12、open(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%ldn,iOUT); fclose(IN); fclose(OUT);【參考代碼】 int m; if(n=0) i

13、f(n0) m=1; else m=0; else m=-1;return m;或 int m; if(n=0) if(n0) m=-1; else m=0; else m=1;return m;【程序改錯】功能:將6個數(shù)按輸入時順序的逆序進行排列.-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include stdio.hvoid sort(char *p,int m) int i; char change,*p1,*p2; for(i=0;im/2;i+) /*ERROR*/ *p1=p+i; *p2=p+(m-1-i); change=*p1; *p1=*p2; *p2

14、=change; main( ) int i; /*ERROR*/ char p,num6; for(i=0;i=5;i+) /*ERROR*/ scanf(%d,numi); p=&num0; /*ERROR*/ sort(*p,6); for(i=0;in2n2*pointer2*pointer2n3n3*pointer3*pointer3n3n3*pointer3*pointer35) printf(%dn,m); else printf(%dn,m-); A、6B、5C、7D、4執(zhí)行下面程序段后,i的值是( A).int i=10;switch(i)case 9: i+=1; case

15、 10: i-; case 11: i*=3; case 12: +i;A、28B、10C、9D、27下面有關(guān) for 循環(huán)的正確描述是( C)。A、for 循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式B、在 for 循環(huán)中,不能用 break 語句跳出循環(huán)體C、for 循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來D、for 循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況針對下列程序段回答問題( B).for(t=1;t=100;t+) scanf(%d,&x); if(x=0時什么也不輸出B、最多允許輸出100個非負整數(shù)C、printf函數(shù)永遠也不執(zhí)行D、當(dāng)x0時整個循環(huán)結(jié)束若char a10;已

16、正確定義,以下語句中不能從鍵盤上給a數(shù)組的所有元素輸入值的語句是(D)。A、for(i=0;i10;i+)ai=getchar();B、scanf(%s,a);C、gets(a);D、a=getchar();下面敘述中錯誤的是( B)。A、在其它函數(shù)中定義的變量在主函數(shù)中也不能使用B、主函數(shù)中定義的變量在整個程序中都是有效的C、復(fù)合語句中定義的變量只在該復(fù)合語句中有效D、形式參數(shù)也是局部變量file1.c中有命令,#include ,若file2.c中有全局靜態(tài)變量a,則(B ).A、a在file1.c中應(yīng)用extern說明.B、a在file1.c中有效,不必用extern說明.C、a在fil

17、e1.c中不生效D、a在file1.c和file2.c中均不生效.若有定義:int aa 8;則以下表達式中不能代表數(shù)組元素aa1的地址的是(C)。A、&aa1B、&aa0+1C、&aa0+D、aa+1判斷在C程序中,main函數(shù)必須位于程序的最前面【參考答案】錯誤若a和b類型相同,在計算了賦值表達式a=b后,b中的值將放入a中,而b中的值不變【參考答案】正確邏輯表達式42&1|5c) b=a; a=c; c=b;【空 1】【參考答案】2設(shè)x和y均為int型變量,則以下for循環(huán)中的scanf語句最多可執(zhí)行的次數(shù)是_. for (x=0,y=0;y!=123&x3;x+) scanf (%d,

18、&y);【空 1】【參考答案】3字符串比較的庫函數(shù)是_,只寫函數(shù)名即可.【空 1】【參考答案】strcmp調(diào)用 fopen 函數(shù)打開一文本文件,在使用方式這一項中, 為追加而打開需填入_.【空 1】【參考答案】aa+【程序設(shè)計】-功能:在鍵盤上輸入一個3行3列矩陣的各個元素的值(值 為整數(shù)),然后輸出主對角線元素的平方和,并在 fun()函數(shù)中輸出。注意: 請在Begin 和 End 注釋行之間填寫代碼, 所有注釋語句都不能刪除。-*/#include stdio.h void main() int i,j,s,a33; int fun(int a33); void TestFunc(); f

19、or(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s); TestFunc();int fun(int a33) /*Begin*/ /* End */ void TestFunc() FILE *IN,*OUT; int m; int n; int i33; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error);

20、 for(m=0;m3;m+) for(n=0;n3;n+) fscanf(IN,%d,&imn); o=fun(i); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);【參考代碼】int sum=0,i;for(i=0;i3;i+) sum=sum+aii*aii; return sum; 【程序改錯】-功能:輸入10個數(shù),要求輸出這10個數(shù)的平均值-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include stdio.hfloat average(float array10) int i; float aver,sum=array

21、0; /*ERROR*/ for(i=0;i10;i+) sum=sum+arrayi; aver=sum/10.0; return(aver);void main( ) /*ERROR*/ int score10,aver ; int i; printf(input 10 scores:n); for(i=0;i10;i+) /*ERROR*/ scanf(%f, score); printf(n); /*ERROR*/ aver=average(score10); printf(average score is %5.2f,aver);【改錯1】【參考答案】for(i=1;i10;i+)f

22、or(i=1;i=9;i+)【改錯2】【參考答案】float score10,aver;float aver,score10;【改錯3】【參考答案】scanf(%f, &scorei);scanf(%f, score+i);【改錯4】【參考答案】aver=average(score);【程序填空】功能:有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1 到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來 第幾號的那位。-請在程序的下劃線處填入正確的內(nèi)容,并把下劃線刪除,使程序得出正確的結(jié)果。注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-*/#include stdio.h#define n

23、max 50void main() int i,k,m,n,numnmax,*p; printf(please input the total of numbers:); scanf(%d,&n); p=num; /*FILL*/ for(i=0;_;i+) /*FILL*/ *(p+i)=_; i=0; k=0; m=0; while(mn-1) /*FILL*/ if(_!=0) k+; if(k=3) *(p+i)=0; k=0; m+; i+; if(i=n) i=0; /*FILL*/ while(_) p+; printf(%d is leftn,*p);【空1】【參考答案】ii【

24、空2】【參考答案】i+1i+1【空3】【參考答案】*(p+i)*(p+i)【空4】【參考答案】*p=0*p=0第四套若有說明:int a34;則數(shù)組a中各元素(C)。A、不能得到確定的初值B、可在程序的編譯階段得到初值0C、可在程序的運行階段得到初值0D、可在程序的編譯或運行階段得到初值0已定義float a; int i;選擇正確的輸入語句( C).A、scanf(%6.2f%3d, &a,&i);B、scanf(%f%s, &a,&i);C、scanf(%6f%3d,&a,&i);D、scanf(%f%d, a,i);執(zhí)行下面程序段后,k的值是:(B )int k=2;switch(k+1

25、)case 3:k+=1; case 4:k-;break; case 5:k*=3; case 6:+k;A、10B、2C、28D、27執(zhí)行下列語句后的輸出為(B)。 int j=-1; if(j=1) printf(*n); else printf(%n);A、%B、*C、有錯,執(zhí)行不正確D、%c以下程序段中,能夠正確地執(zhí)行循環(huán)的是(B )。A、int s=6; m:if(s10;i+)D、static int a; while(a)運行結(jié)果是 11 12的程序段是:請在A處填寫正確內(nèi)容(B )。for(i=1;i=2;i+) _A_A、for(j=1;j=2;j+)printf(%3d,

26、10*i+j);break;B、for(j=1;j=2;j+)printf(%3d,10*i+j);break;C、for(j=1;j=2;j+)printf(%3d,10*i+j);continue;D、for(j=1;jb) a=b; if(bc) b=c; else c=b; c=a;【空 1】【參考答案】1以下程序的輸出結(jié)果為_, #include stdio.h void main()int a;for(a=0;a10;a+);printf(%d,a);【空 1】【參考答案】10static int a33=1,2,3,4,5,6,7,8,9;其中a12的值為_.【空 1】【參考答案】6若有fp=fopen(a1.dat,rb+)打開文件語句,這個文件的數(shù)據(jù)是以_的形式存放在內(nèi)存中,該文件的使用方式為讀/_?!究?1】【參考答案】二進制【空 2】【參考答案】寫【程序設(shè)計】題目:用函數(shù)求一個N階方陣右下三角元素的和(包括

溫馨提示

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

評論

0/150

提交評論