C語言復(fù)習(xí)題及答案解析_第1頁
C語言復(fù)習(xí)題及答案解析_第2頁
C語言復(fù)習(xí)題及答案解析_第3頁
C語言復(fù)習(xí)題及答案解析_第4頁
C語言復(fù)習(xí)題及答案解析_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、復(fù)習(xí)A:一、單項(xiàng)選擇題1、如果要把常量327存入變量a中,a不能定義的類型是哪一個(gè)?()A int B char C long D float 2、假設(shè)x 為unsigned int 型變量,那么執(zhí)行以下語句后x值為 x = 65535;printf(“%dn,x);A65535 B1 C無定值 D-13、有以下程序mainint a=1,b=2,m=0,n=0,k;k=n=ba|m=ab;printf%d,%dn,k,m;程序運(yùn)行后的輸出結(jié)果是 A)0,0 B) 0,1 C)1,0 D)1,14、在C語言中,如果下面的變量都是int類型,那么輸出的結(jié)果是 。sum=pad=5; pAd=su

2、m + + ,pAd + +, + + pAd;printf(%dn,pad);A) 7 B) 6 C) 5 D) 45、以下程序的輸出結(jié)果是。main() int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,d); A1 B0 C非0的數(shù) D-16、當(dāng)執(zhí)行以下程序段時(shí)。x=-1;dox=x*x;while(!x);A循環(huán)體將執(zhí)行一次 B循環(huán)體將執(zhí)行兩次C循環(huán)體將執(zhí)行無限次 D系統(tǒng)將提示有語法錯(cuò)誤7、全局變量的存儲(chǔ)類型可以定義為。Aauto或static B extern或 register C auto或extern D extern或static8、定義全局變量

3、時(shí),假設(shè)變量的的存儲(chǔ)類別缺省,那么默認(rèn)的存儲(chǔ)類型是。Aauto B register C extern D static9、:int a, x; 那么正確的賦值語句是 。A a=(a1+a2)/2; B a*=*a+1;C a=(x=1, x+, x+2); D a=good;10、:int a, *p=&a; 那么以下函數(shù)調(diào)用中錯(cuò)誤的選項(xiàng)是 。A scanf(%d, &a); B scanf(%d, p);C printf(%d, a); D printf(%d, p);11、下述程序的輸出結(jié)果是。#include void main( ) struct complex int x ;int

4、 y; cnum2=1,3,2,7;printf(“%d, cnum0.y/cnum0.x*cnum1.x) ;A 0 B 1 C 3 D 6 12、下述程序的輸出結(jié)果是。#include void main( ) union unsigned char c ;unsigned int i4;z ;z.i0=0x39 ;z.i1=0x36;printf(“%c,z.c);A 6 B 9 C 0 D 313、下述關(guān)于C語言文件操作的結(jié)論中,是正確的。A對(duì)文件操作必須先關(guān)閉文件B對(duì)文件操作必須先翻開文件C對(duì)文件操作順序無要求D對(duì)文件操作前必須先測試文件是否存在,然后再翻開文件14、以下程序的輸出結(jié)

5、果是。main() char ch34=123,456,78,*p3; int i;for (i=0;i3;i+) pi=chi;for (i=0;i3;i+) printf(%s,pi); A123456780 B123 456 780 C 12345678 D 14715、對(duì)于所定義的二維數(shù)組a23,元素a12是數(shù)組的第( )個(gè)元素。A3 B4 C5 D6 二、判斷題1、賦值運(yùn)算符的優(yōu)先級(jí)低于關(guān)系運(yùn)算符。2、條件運(yùn)算符的結(jié)合方向是“自左向右 。3、C語句的循環(huán)語句中循環(huán)體如果包含一個(gè)以上的語句,必須以復(fù)合語句形式出現(xiàn)。4、C程序中的函數(shù)不能嵌套調(diào)用,但可嵌套定義。5、假設(shè)自定義函數(shù)要求函數(shù)

6、名返回一個(gè)值,那么該函數(shù)體中必須要有return語句。6、當(dāng)形式參數(shù)為指針變量名時(shí),實(shí)際參數(shù)可為指針變量名、數(shù)組名或其它類型變量的首地址。7、假設(shè)有說明:static int a34;,那么數(shù)組a中各數(shù)組元素可在程序的編譯階段得到初值0。8、假設(shè)用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參,那么實(shí)際上傳遞給形參數(shù)組的是數(shù)組的第一個(gè)元素的值。9、利用指針和結(jié)構(gòu)體類型可以構(gòu)成表、樹等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。10、共用體變量的地址和它的各成員的地址都是同一地址。11、printf函數(shù)中的“%0格式參數(shù)表示用來輸出unsigned型數(shù)據(jù) 。12、在一個(gè)C程序中,所有要使用的變量和要調(diào)用的函數(shù)都必須在main( )函數(shù)中定義

7、。13、賦值運(yùn)算符的結(jié)合性是“自右至左 。14、一個(gè)C程序可以由多個(gè)源程序文件組成 。15、do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式的值為零時(shí)結(jié)束循環(huán) 。三、寫出下面各程序的運(yùn)行結(jié)果1、 #includemain ( )int i=0, j=0, k=0, m;for (m=0; m4; m+)switch (m)case 0: i=m+;case 1: j=m+;case 2: k=m+;case 3: m+;printf(“n%d, %d, %d, %d, i, j, k, m);2、 #includemain ( )int i=1;while (i=15)if (+i%

8、 3!=2)continue;elseprintf(“%d, i);3、#includeadd1(int a , int n) int i;for(i =0;in;i+) ai+;main() static int array =0,1,2,3,4,5,6,7,8,9;int j;add1(array,10);for(j=0;j10;j+)printf(“%d,arrayj);4、union data long w;float x;int y;char z; beta;main( ) beta.w=123456;beta.y=888;beta.x=3.14;beta.z=x;printf(“%

9、c,beta.y); 5、# include typedef struct studentchar name10;long sno;float score;STU;main( ) STU a=zhangsan,2001,95,b=Shangxian,2002,90,c=Anhua,2003,95,d,*p=&d;d=a;if(strcmp(,)0) d=b;if(strcmp(,)0) d=c;printf(%ld%sn,d.sno,p-name);四、程序填空1、以下程序是從鍵盤上輸入假設(shè)干個(gè)學(xué)生的成績,統(tǒng)計(jì)并輸出最高成績和最低成績,當(dāng)輸入負(fù)數(shù)

10、時(shí)結(jié)束輸入,請(qǐng)將缺省語句填上。main ( )float x, amax, amin;scanf (“%f, &x);amax=x; amin=x;while ( )if ( ) amax =x;if ( ) amin =x;scanf (“%f, &x);printf(“amax=%f, amin=%fn, amax, amin);2、下面的程序是用指針來交換兩個(gè)數(shù)據(jù),請(qǐng)將缺省語句填上。void exchange( int *p ,int *q) int t;t=*p; *p=*q; *q=t;main() int a,b,*x,*y;a=10;b=20;x=&a; printf(“%d %

11、dn,*x, *y);五、程序設(shè)計(jì)題 有10個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、3門課的成績,從鍵盤輸入10個(gè)學(xué)生數(shù)據(jù),要求打印出3門課總平均成績,以及最高分的學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、3門課的成績、平均分?jǐn)?shù)。2、用自定義函數(shù)和數(shù)組求n個(gè)數(shù)的平均值,并用主函數(shù)調(diào)用參考答案:一、單項(xiàng)選擇題1、B 2、D 3、C 4、C 5、 A 6、A 7、D 8、C 9、C 10、D 11、D 12、B 13、B 14、C 15、 D二、判斷題 2、 3、 4、 5、6、 7、 8、 9、10、11、 12、 13、 14、 15、 三、寫出程序的運(yùn)行結(jié)果1、 答案是:0,1,2,52、 答案是:2 5 8

12、 11 144、答案是:x5、答案是:2002Shangxian四、程序填空1、答案是:x=0 xamax xamin2、答案:y=&b; exchange(x,y);五、程序設(shè)計(jì)題1、參考答案: #define N 10struct student char num6;char name8;int score4;float ave; stuN;main() int i,j,max,maxi,sum;float average;/*輸入*/for ( i=0; iN; i+) printf(“nInput scores of student %d,n,i+1);printf(“No.:);sc

13、anf(“%s,stui.num);printf(“name:);scanf(“%s,);for(j=0;j3;j+) printf(“score %d:,j+i);scanf(“%d,&stui.scorej);/*計(jì)算*/average=0;max=0;maxi=0;for(i=0; iN; i+) sum=0;for(j=0; jmax) max=sum;maxi=i;average/=N;/*打印*/printf(“NO. name score1 score2 score3 averagen);for(i=0; iN; i+) printf(“%s%10s, stui

14、.num , );for(j=0; j3; j+)printf(“%9d,stui.scorej);printf(“%8.2fn,stui.avr);printf(“average=%6.2fn,average);printf(“The highest score is : %s, score total: %d, ,max);2、參考答案: float average( float a , int n) float aver=0;int j;for(j=0;jn;j+)aver=aver+aj;aver=aver/n;return aver;main

15、() float x10,y;int j;for(j=0;j10;j+)scanf(“%f,&xj);y=average(x,10);printf(“aver=%.2fn,y);復(fù)習(xí)B:一、單項(xiàng)選擇題1、逗號(hào)表達(dá)式2,4,6,8的值為 。A 2 B4 C6 D82、以下選項(xiàng)中非法的表達(dá)式是( )A0=x&x100 Bi=j = =0C(char)(65+3) Dx+1=x+13、假設(shè)定義float a;現(xiàn)要從鍵盤輸入a的數(shù)據(jù),其整數(shù)位為3位,小數(shù)位為2位,那么選用 。Ascanf(“%f,&a); B) scanf(“%5.2f,a);C) scanf(“%6.2f,&a); D) scanf

16、(“%f,a);4、以下程序的運(yùn)行結(jié)果是 main()int a=3, b=2, c=1, k=4;printf(%dn, ka? k : cb? c: a);A) 4 B) 3 C) 2 D) 15、以下程序中,while循環(huán)的循環(huán)次數(shù)是。main( ) int i=0;while(i10) if(i1) continue;if(i=5) break;i+;A1 B10 C6 D死循環(huán),不能確定次數(shù)6、執(zhí)行語句:fori=1;i+4;后;變量i的值是。A3 B4 C5 D不定7、有關(guān)函數(shù)參數(shù),以下說法不正確的選項(xiàng)是。A 實(shí)參可以將數(shù)據(jù)傳給形參; B 實(shí)參和形參是不同的變量; C 形參可以將數(shù)

17、據(jù)傳給實(shí)參; D 實(shí)參和形參必須個(gè)數(shù)相等,類型一致。8、C語言中,變量和函數(shù)具有兩個(gè)屬性是。A作用域和生存期 B類型和存儲(chǔ)類別C作用域和類型 D作用域和存儲(chǔ)類別9、說明語句“int (*p)( ):的含義是 。Ap是一個(gè)指向一維數(shù)組的指針變量Bp是指針變量,指向一個(gè)整型數(shù)據(jù)Cp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型D以上都不對(duì)10、說明語句int *(*p);的含義是 。Ap是一個(gè)指向int 型數(shù)組的指針Bp是指針變量,它構(gòu)成了指針數(shù)組Cp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型Dp是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)指向整型的指針11、下述程序的執(zhí)行結(jié)果是。#includ

18、eunion un int i;char c2; ;void main( ) union un x;x.c0=10;x.c1=1;printf(“n%d,x.i);A 266 B11 C265 D13812、假設(shè)程序中有如下的說明和定義:struct ex int x, y ; struct ex x, y;那么會(huì)發(fā)生的情況是。A 編譯時(shí)錯(cuò) B 程序能順利編譯、連接、執(zhí)行C 能順利編譯和連接,但不能執(zhí)行D 能通過編譯,但連接出錯(cuò)13、C語言可以處理的文件類型是。A 文本文件和數(shù)據(jù)文件B 文本文件和二進(jìn)制文件 C 數(shù)據(jù)文件和二進(jìn)制文件D 數(shù)據(jù)代碼文件14、下面的for語句 。for (x=0,

19、y=0; (y!=123) & (x4); x+)A是無限循環(huán) B循環(huán)次數(shù)不定 C循環(huán)執(zhí)行4次 D循環(huán)執(zhí)行3次15、假設(shè)有如下說明:struct char ch;int i; double x;arr23=a,1,3.45,b,2,7.89,c,3,1.93;那么表達(dá)式 的值為2。A arr01.ch B arr01.i C arr00.i D arr02.i 二、判斷題1、條件運(yùn)算符的結(jié)合方向是“自左向右 。2、switch語句中每一個(gè)case的常量表達(dá)式的值必須互不相同。3、循環(huán)語句中循環(huán)體允許包含一個(gè)以上的語句,可以不以復(fù)合語句形式出現(xiàn)。4、構(gòu)成C程序的源文件之間以及函數(shù)與函數(shù)之間,相互

20、位置可以任意。5、C程序中的函數(shù)不能嵌套定義,但可嵌套調(diào)用。6、從變量的作用域角度來分,可以分為全局變量和局部變量。7、從終端輸入一個(gè)字符串給字符數(shù)組,該字符串兩端不必用雙引號(hào)括起來。8、假設(shè)有說明:int a 4=0,0;,那么只有a00和a01可得到初值0,其余元素均得不到初值0。9、利用指針和結(jié)構(gòu)類型不能構(gòu)成更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。10、共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型定義中。11、當(dāng)一個(gè)case語句末包含break語句時(shí),執(zhí)行完該case語句后跳出switch結(jié)構(gòu) 。12、宏定義中的標(biāo)識(shí)符可以用大寫字母,也可以用小寫字母 。13、do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式的值為

21、非零時(shí)結(jié)束循環(huán) 。14、用“%作求余運(yùn)算時(shí),該運(yùn)算符兩側(cè)均應(yīng)為整型數(shù)據(jù) 。15、一個(gè)逗號(hào)表達(dá)式可以與另一個(gè)表達(dá)式組成一個(gè)新的逗號(hào)表達(dá)式 。三、寫出程序的運(yùn)行結(jié)果1、 #includemain ( )int a=1, b=3, c=5, d=4;if (ab)if (cd) x=1;elseif (ac)if (bd) x=2;else x=3;else x=6;else x=7;printf(“x=%d, x);2、 #includemain ( )int k, j, m;for(k=5; k=1; k- -)m=0;for (j=k, j=5; j+)m+=k*j;printf (“m=%d

22、n, m);3、#include main( )union Exa struct int a;int b;out;int c;int d;e;e.c=1; e.d=2;e.out.a=e.c*e.d;e.out.b=e.c+e.d;printf(%d %d,e.out.a,e.out.b); 4、#include “stdio.hmain( ) int a =1,2,3,4,i,j,s=0;j=1;for(i=3;i=0;i-) s=s+ai*j;j=j*10; printf(“s=%dn,s); 5、#include stdio.h#include string.hmain( ) char

23、s1 =som things;char s2 =test;char s3 =good;printf(%sn,strcat(strcpy(s1,s2),s3);四、程序填空1、下面程序輸出100到200之間的素?cái)?shù),每行輸出10個(gè)素?cái)?shù),請(qǐng)將缺省語句填上,使算法完整。#include “math.hmain ( )int m, k, i, n=0;for (m=101; m=200; m=m+2)if ( ) printf (“n);k=sqrt(m);for (i=2, i=k+1)printf(“%d, m); n=n+1;2、一個(gè)函數(shù)days,實(shí)現(xiàn)求某月某日是該年的第多少天。由主函數(shù)將年、月、

24、日傳遞給days函數(shù),計(jì)算后將日數(shù)傳回主函數(shù)輸出,請(qǐng)將缺省語句填上,使算法完整。struct y_m_d int year;int month;int day; date;main() int days(int ,int ,int);int i,day_sum;printf(“input year,month,day:);scanf(“%d,%d,%d,&date.year,&date.month,&date.day);day_sum=days( );printf(“n%d / %d is the %d th day in %d., date.month, date.day, day_sum,

25、date.year);days(int year, int month, int day) int day_sum, i;int day_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31; for(i=1; i=3) return(day_sum);五、程序設(shè)計(jì)題1,學(xué)生的記錄由學(xué)號(hào)和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中,注意:分?jǐn)?shù)最低的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最低的學(xué)生的人數(shù)。#define N 16typedef struct char num10;int s

26、;STREC;int fun(STREC *a, STREC *b) main() STREC sN=“GA05,85,“GA03,76,“GA02,69,“GA04,85,“GA01,91,“GA07,72,“GA08,64,“GA06,87,“GA015,85,“GA013,96,“GA012,64,“GA014,91,“GA011,91,“GA017,64,“GA018,64,“GA016,72;STREC hN;int i, n;n=fun(s,h);printf(“The %d lowest score:n,n);for(i=0; in; i+)printf(“%d %4dn,hI.

27、num, hI.s);printf(“n);2、從鍵盤輸入一批字符回車鍵結(jié)束,存入一個(gè)磁盤文件abc.txt中參考答案:一、單項(xiàng)選擇題1、D 2、D 3、A 4、D 5、D 6、C 7、C 8、B 9、C 10、D 11、A 12、A 13、B 14、C 15、B 二、判斷題1、2、3、4、5、6、7、8、9、10、11、 12、 13、 14、 15、 三、寫出程序的運(yùn)行結(jié)果1、 答案是:x=22、答案是:m=153、答案是: 484、答案是:s=1234 5、答案是:testgood 四、程序填空1、答案是:n%10 = = 0 m%i= =02、答案是:date.year,date.mo

28、nth,date.dayday_sum=0;day_sum+=1; 五、程序設(shè)計(jì)題1、參考答案:STREC fun(STREC *a, char *b) static STREC h=“,-1;int k;for(k=0; kN;k+)if (!strcmp(ak.num, b) h=ak;break;return h;2、參考答案:main( ) FILE *fp;char ch;fp=fopen(“abc.txt,w);ch=getchar( );while(ch!=n) fputc(fp, ch);ch=getchar();fclose(fp);復(fù)習(xí)C:一、單項(xiàng)選擇題1、 有定義語句:i

29、nt x, y;,假設(shè)值11,變量y得到數(shù)值12,下面四組輸入要通過scanf(%d,%d,&x,&y);語句使變量x得到數(shù)形式中,錯(cuò)誤的選項(xiàng)是 A11 12 B11, 12C11,12 D11 ,122、假設(shè)有語句int a=1,b=2,c=3;那么以下值為0的表達(dá)式是 Aa&b Bab)|(bc) D)(!(a+b)=c&a)3、設(shè)int a=9;那么printf(%d,%dn,a , a+);的輸出結(jié)果是 ( ) 。A9,10 B10,9 C9,9 D10,104、以下表達(dá)正確的選項(xiàng)是。A可以把define和if定義為用戶標(biāo)識(shí)符B可以把define定義為用戶標(biāo)識(shí)符,但不能把if定義為用戶

30、標(biāo)識(shí)符C可以把if定義為用戶標(biāo)識(shí)符,但不能把define定義為用戶標(biāo)識(shí)符Ddefine和if都不能定義為用戶標(biāo)識(shí)符5、運(yùn)行以下程序后,如果從鍵盤上輸入65 14,那么輸出結(jié)果為。main() int m,n;printf(Enter m,n:);scanf(%d%d,&m,&n);while(m!=n) while(mn) m-=n;while(nm) n-=m;printf(m=%dn,m);Am=3 Bm=2 Cm=1 Dm=06、運(yùn)行下面的程序運(yùn)行后,如果從鍵盤上輸人5,那么輸出結(jié)果是。main() int x;scanf(%d,&x);if(x-5) printf(%dx);else

31、printf(%dx+);A3 B4 C5 D67、定義函數(shù)時(shí),假設(shè)函數(shù)的類型缺省,那么函數(shù)的默認(rèn)類型是。Achar B void Cfloat Dint8、設(shè)有說明int (* prt)M; 其中的標(biāo)識(shí)符prt是 。AM個(gè)指向整型變量的指針B指向M個(gè)整型變量的函數(shù)指針C一個(gè)指向具有M個(gè)整型元素的一維數(shù)組的指針D具有M個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向整型變量9、函數(shù)說明語句:void *fx( );那么它的含義是 。A函數(shù)fx的返回值是一個(gè)空類型的指針B函數(shù)fx的返回值可以是任意的數(shù)據(jù)類型C函數(shù)fx無返回值D指針fx指向一個(gè)函數(shù),該函數(shù)無返回值10、對(duì)于下述定義,不正確的表達(dá)是 。

32、union data int i;char c;float f;a, b;A變量a所占內(nèi)存的長度等于成員f的長度B變量a的地址和它的各成員地址都是相同的C可以在定義時(shí)對(duì)a初始化D不能對(duì)變量a賦值,故a=b非法11、C語言庫函數(shù)fgets(str, n, fp)的功能是。A從文件fp中讀取長度n的字符串存入B從文件fp中讀取長度不超過n-1的字符串存入str指向的內(nèi)存C從文件fp中讀取n個(gè)字符串存入str指向的內(nèi)存D從串str讀取至多n個(gè)字符到文件fp12、下述程序向文件輸出的結(jié)果是。#includevoid main( ) FILE *fp=fopen(“TEST, “wb);fprintf(

33、fp, “%d%5.0f%c%d, 58, 76273.0, -, 2278); fclose(fp);A 58 75273 - 2278 B 5876273.000000-2278C 5875273-2278 D 因文件為二進(jìn)制文件而不可讀13、下面程序輸出結(jié)果是 。 #define MAX 5int aMAX,k;main() printf(n); fun1(); fun3(); printf(t); fun2(); fun3(); fun1() for (k=0; kMAX;k+) ak=k+k;fun2() int aMAX,k; for (k=0;k5;k+) ak=k; fun3(

34、) int k; for (k=0;kMAX;k+) printf(%3d,*(a+k); A 0 2 4 6 8 0 2 4 6 8B 0 2 4 6 8 0 1 2 3 4C 0 1 2 3 4 0 2 4 6 8D 0 1 2 3 4 0 1 2 3 414、:int x;執(zhí)行下面的程序段后,輸出結(jié)果為 。for (x=3; x6; x+)printf (x%2)? “*%d: “#%dn, x);A*3 B#3 C#3 D*3#4#4 *4 *4#5 *5*5 #5 15、說明語句“int (*r)( ):的含義是 。Ar是一個(gè)指向一維數(shù)組的指針變量Br是指針變量,指向一個(gè)整型數(shù)據(jù)Cr

35、是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型D以上都不對(duì)二、判斷題1、switch語句執(zhí)行完一個(gè)case后面的語句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行。2、if語句的條件表達(dá)式必須是邏輯表達(dá)式。3、C語句的一個(gè)循環(huán)體內(nèi)允許又包含另一個(gè)完整的循環(huán)結(jié)構(gòu)。4、C程序以函數(shù)為單位進(jìn)行編譯。5、由多個(gè)源文件組成一個(gè)程序時(shí),主函數(shù)只能出現(xiàn)在一個(gè)源文件中。6、從變量的作用域角度來分,可以分為靜態(tài)變量和動(dòng)態(tài)變量。7、如果一個(gè)字符數(shù)組中包含一個(gè)以上結(jié)束符0,那么遇最后一個(gè)0時(shí)輸出才結(jié)束。8、gets( )函數(shù)的作用是從終端輸入一個(gè)字符串到字符數(shù)組,并且將0也裝入該數(shù)組。9、不能將一個(gè)結(jié)構(gòu)體變量作為一個(gè)整體

36、進(jìn)行輸入和輸出。10、在C編譯中,對(duì)枚舉元素按常量處理。11、C程序中的main( )函數(shù)必須放在程序的開始局部 。12、switch后面括號(hào)內(nèi)的表達(dá)式可以是整型表達(dá)式或字符型表達(dá)式 。13、宏定義是用標(biāo)識(shí)符代替一個(gè)字符串,只作簡單的置換,不作語法檢查 。14、C語言中,“&運(yùn)算符作為單目運(yùn)算符時(shí)表示的是取地址運(yùn)算,作為雙目運(yùn)算符時(shí)表示的是按位與運(yùn)算 。15、do-while語句構(gòu)成的循環(huán)必須用break語句才能退出 。三、寫出程序的運(yùn)行結(jié)果1、 main ( )int i, j;float s;for (i=7; i3; j- -) s=s+i*j;printf(“s=%fn, s);2、

37、#includemain ( )int k=1; char c=A;doswitch (c+)case A: k+; break;case B: k - -;case C; k+=2; break;case D: k=k%2; continue;case E: k=k*2; break;default: k=k/3;k+; while (cF);printf(“k=%dn, k);3、#include struct score int math;int eng;int comp;struct stu char name12;char sex;long StuClass;struct score

38、 sub;main( ) struct stu student1=Li Ming,M,990324,88,80,90;struct stu student2;student2=student1;0=H;1=u;student2.StuClass=990325;student2.sub.math=83;printf(%s,%c,%ld,%d,%d,%dn,,student2.sex,student2.StuClass,student2.sub.math,student1.sub.eng,student2.sub p);

39、4、#include “stdio.hmain( ) char str =7a8b9c;int i;for(i=0;stri!=0;i+)if(stri=0 & stri=9)printf(“%cstri);5、#include “stdio.hmain( ) int a =0,2,5,8,12,15,23,35,60,65;int x=15, i,n=10,m;i=n/2+1;m=n/2;while(m!=0) if(xai) i=i-m/2; m=m/2; else break;printf(“result=%dn,i+1);四、程序填空1、華氏和攝氏的轉(zhuǎn)換公式為:c=5/9*(F-32)

40、,其中c表示攝氏的溫度,F(xiàn)表示華氏的溫度。要求輸出從華氏0度到華氏300度,每隔20度輸出一個(gè)值。main ( )int upper, step;float fahr = 0; celsius;upper = 300; step =20;while ( upper) printf (“%4. 0f, %6.1fn, fahr, celsius); ;答案是:fahr celsius=5/9*(fahr-32) fahr+=step2、下面程序的功能是從鍵盤輸入10個(gè)整數(shù),去掉一個(gè)最大數(shù)和一個(gè)最小數(shù),然后求剩下的8個(gè)數(shù)的平均值,請(qǐng)?zhí)羁铡?include “stdio.hvoid main( )

41、int t,a10,max,min;float aver;for(t=0;t10;t+)scanf(“%d,&at);aver=min=max=a0;for(t=1;tat) ;aver=aver+at; aver=aver-max-min;aver=aver/8.0;printf(“Aver=%5.2fn,aver);五、程序設(shè)計(jì)題1,利用結(jié)構(gòu)類型分別寫出復(fù)數(shù)的加、減的運(yùn)算函數(shù),并在主函數(shù)中調(diào)用這兩函數(shù),求任意兩復(fù)數(shù)的和與差。2,木馬和板凳共33只,共有100只腳,編程求木馬和板凳各有多少只。參考答案:一、單項(xiàng)選擇題1、 A 2、D 3、B 4、 B 5、 C 6、 B 7、D 8、C 9、

42、 A 10、D 11、B 12C 13、A 14、 D 15、 C 二、判斷題1、 2、 3、 4、 5、6、 7、 8、 9、 10、11、 12、 13、 14、 15、 三、寫出程序的運(yùn)行結(jié)果1、 答案是:s=45.0000002、 答案是:k=13、答案是: Hu Ming,M,990325,83,80,904、答案是:789 5、答案是:result=4 四、程序填空1、答案是:fahr celsius=5/9*(fahr-32) fahr+=step2、答案是:maxat min=at 五、程序設(shè)計(jì)題1,參考答案: struct complex float re;float im;

43、fx,fy,fz;add() fz.re=fx.re+fy.re;fz.im=fx.im+fy.im;printf(“fx+fy=%5.2f+i*%5.2fn,fz.re,fz.im);sub() fz.re=fx.re-fy.re;fz.im=fx.im-fy.im;printf(“fx-fy=%5.2f+i*%5.2fn,fz.re,fz.im);main() printf(“Enter four reals:n);scanf (“%f,%f,%f,%f,&fx.re,&fy.re,&fy.im);add(); sub(); mul(); div();2,參考答案: #includemai

44、n() int x,y;for(x=0;x34;x+)for(y=0;y26;y+)if(3*x+4*y=100&x+y=33)printf(x=%dty=%dn,x,y);復(fù)習(xí)D:一、單項(xiàng)選擇題1、以下不正確的轉(zhuǎn)義字符是 A B C074 D02、執(zhí)行int x=3,y=2;后,那么表達(dá)式x=(y=3)的值是 。A0 B1 C2 D33、設(shè) char x=a; 那么 printf(x = %c, y= %c n, x, 97); 的輸出是 ( ) 。A x=a, y=97 B x=97, y=a C x=97, y=97 D x=a, y=a4、假設(shè)有定義: float w; int a,

45、b; 那么合法的switch語句是。Aswitch(w) case 1.0: printf(*n); case 2.0: printf(*n); Bswitch(a); case 1 printf(*n);case 2 printf(*n);Cswitch(b) case 1: printf(*n); default: printf(n); case 1+2: printf(*n); Dswitch(a+b); case 1: printf(*n);case 2: printf(*n);default: printf(n);5、以下程序的輸出結(jié)果是。main() int a, b;for(a=

46、1,b=1; a=10) break;if(b%3=1) b+=3; continue; printf(%dn,a);A101 B6 C5 D46、函數(shù)調(diào)用語句“f(el,e2),(e3,e4,e5);中參數(shù)的個(gè)數(shù)是。A1 B2 C4 D5 7、選擇出正確的說明語句 。A int aa; B int a3, 4 C int a ; D int (*a)10;8、:char s100; int i; 那么在以下引用數(shù)組元素的語句中,錯(cuò)誤的表示形式是 。A si+10 B *(s+i) C *(i+s) D *(s+)+i)9、對(duì)于如下的結(jié)構(gòu)體定義,假設(shè)對(duì)變量person的出生年份進(jìn)行賦值,是正確的賦值語句。struct date int year, month, day;struct worklist char name20;char sex;struct date birthday; person;A year=1976 B birthday.year=1976Cperson.birthday.year=1976 Dperson.year=1976 10、 假設(shè)fp是指向某文件的指針,且已讀到文件的末尾,那么

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論