C語言試題詳細(xì)分析與解答_第1頁
C語言試題詳細(xì)分析與解答_第2頁
C語言試題詳細(xì)分析與解答_第3頁
C語言試題詳細(xì)分析與解答_第4頁
C語言試題詳細(xì)分析與解答_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、試題一(11)以下敘述中正確的是 A)C語言比其他語言高級 B)C語言可以不用編譯就能被計(jì)算機(jī)識別執(zhí)行 C)C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式 D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)(12)C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是 A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) B)if,switch,break C)for,while,do-while D)if,for,continue(13)C語言中最簡單的數(shù)據(jù)類型包括A)整型、實(shí)型、邏輯型 B)整型、實(shí)型、字符型C)整型、字符型、邏輯型 D)字符型、實(shí)型、邏輯型(14)若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式

2、是 A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b (15)下列可用于C語言用戶標(biāo)識符的一組是 A)void, define, WORD B)a3_b3, _123,Car C)For, -abc, IF Case D)2a, DO, sizeof(16)C語言中運(yùn)算對象必須是整型的運(yùn)算符是 A)%= B)/ C)= D)=(17)若變量a,i已正確定義,且i已正確賦值,合法的語句是 A)a= =1 B)+i; C)a=a+=5; D)a=int(i);(18)已知 int t=0; while (t=1) . 則以下敘述正確的是 A)循環(huán)控制表達(dá)式的值

3、為0 B)循環(huán)控制表達(dá)式的值為1 C)循環(huán)控制表達(dá)式不合法 D)以上說法都不對(19)若變量已正確說明為float型,要通過語句scanf(%f%f%f,&a,&b,&c);給a賦予10.0,b賦予22.0,c賦予33.0,下列不正確的輸入形式是 A)102233 B)10.0,22.0,33.0 C)10.022.033.0 D)10 2233(20)有如下程序: main() int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; printf(a=%d,b=%dn,a,b); 該程序的輸出結(jié)果是 A)a=2,b=

4、1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2(21)有以下程序 main() int i=1,j=1,k=2; if(j+|k+)&i+) printf(%d,%d,%dn,i,j,k); 執(zhí)行后輸出結(jié)果是 A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3(22)有如下程序 main() float x=2.0,y; if(x0.0)y=0.0; else if(x6)n-; printf(%d,n); 該程序的輸出結(jié)果是 A)987 B)876 C)8765 D)9876(24)在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的是 A)int i=100; while(1) i=

5、i%100+1; if(i100)break; B)for(;); C)int k=10000; dok+;while(k10000); D)int s=36; while(s)-s;(25)設(shè)int x=1,y=1;表達(dá)式(!x|y-)的值是 A)0 B)1 C)2 D)-1(26)若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是 A)函數(shù)調(diào)用可以作為獨(dú)立的語句存在 B)函數(shù)調(diào)用可以作為一個函數(shù)的實(shí)參 C)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中 D)函數(shù)調(diào)用可以作為一個函數(shù)的形參(27)有以下程序 float fun(int x,int y) return(x+y); main() int

6、a=2,b=5,c=8; printf(%3.0fn,fun(int)fun(a+c,b),a-c); 程序運(yùn)行后的輸出結(jié)果是 A)編譯出錯 B)9 C)21 D)9.0(28)若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是 main() int a50,n; fun(n, &a9); A)void fun(int m, int x) B)void fun(int s, int h41) C)void fun(int p, int *s) D)void fun(int n, int a)(29)fseek函數(shù)的正確調(diào)用形式是A)fseek(文件指針,起始點(diǎn),位移量) B)fseek(文件指針,

7、位移量,起始點(diǎn)) C)fseek(位移量,起始點(diǎn),文件指針) D)fseek(起始點(diǎn),位移量,文件指針)(30)若fp是指向某文件的指針,且已讀到文件末尾,則函數(shù)feof(fp)的返回值是 A)EOF B)-1 C)1 D)NULL(31)若有說明語句:char c=72;則變量c A)包含1個字符 B)包含2個字符 C)包含3個字符 D)說明不合法,c的值不確定(32)若有說明 int a34;則a數(shù)組元素的非法引用是 A)a02*1 B)a13 C)a4-20 D)a04(33)設(shè)有以下說明語句 struct stu int a; float b; stutype; 則下面的敘述不正確的是

8、 A)struct是結(jié)構(gòu)體類型的關(guān)鍵字 B)struct stu是用戶定義的結(jié)構(gòu)體類型 C)stutype是用戶定義的結(jié)構(gòu)體類型名 D)a和b都是結(jié)構(gòu)體成員名(34)在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是 A)整型常量 B)整型表達(dá)式 C)整型常量或整型表達(dá)式 D)任何類型的表達(dá)式(35)若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是 main() int x,y; scanf(%d,&x); y=x12?x+10:x-12; printf(%dn,y); A)0 B)22 C)12 D)10(36)以下說法正確的是 A)C語言程序總是從第一個的函數(shù)開始執(zhí)行 B)在C語言程序

9、中,要調(diào)用函數(shù)必須在main()函數(shù)中定義 C)C語言程序總是從main()函數(shù)開始執(zhí)行 D)C語言程序中的main()函數(shù)必須放在程序的開始部分(37)表達(dá)式0x130x17的值是 A)0x04 B)0x13 C)0xE8 D)0x17(38)有以下程序 #define F(X,Y)(X)*(Y) main() int a=3, b=4; printf(%dn, F(a+, b+); 程序運(yùn)行后的輸出結(jié)果是 A)12 B)15 C)16 D)20(39)下列程序執(zhí)行后的輸出結(jié)果是 void func(int *a,int b) b0=*a+6; main() int a,b5; a=0; b

10、0=3; func(&a,b); printf(%dn,b0); A)6 B)7 C)8 D)9(40)若有下面的程序段: char s=china;char *p; p=s; 則下列敘述正確的是 A)s和p完全相同 B)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等 C)s數(shù)組長度和p所指向的字符串長度相等 D)*p與s0相等(41) 以下程序中函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序 void sort(int a,int n) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(aiaj)t=ai;ai=aj;aj=t; main() i

11、nt aa10=1,2,3,4,5,6,7,8,9,10,i; sort(&aa3,5); for(i=0;i10;i+)printf(%d,aai); printf(n); 程序運(yùn)行后的輸出結(jié)果是 A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1, C)1,2,3,8,7,6,5,4,9,10, D)1,2,10,9,8,7,6,5,4,3, (42) 以下程序的運(yùn)行結(jié)果是 #include stdio.h main() struct date int year,month,day;today; printf(%dn,sizeof(struct d

12、ate); A)6 B)8 C)10 D)12(43)若有語句int *point,a=4;和 point=&a;下面均代表地址的一組選項(xiàng)是 A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point,point(44)在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單的變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是 A)地址傳遞 B)單向值傳遞 C)由實(shí)參傳形參,再由形參傳實(shí)參 D)傳遞方式由用戶指定(45)已定義以下函數(shù) fun(char *p2, char *p1) while(*p2=*p1)!=0)p1+;p2+; 函數(shù)的功能是 A)將p1所指字符

13、串復(fù)制到p2所指內(nèi)存空間 B)將p1所指字符串的地址賦給指針p2 C)對p1和p2兩個指針?biāo)缸址M(jìn)行比較 D)檢查p1和p2兩個指針?biāo)缸址惺欠裼?(46)若執(zhí)行下述程序時(shí),若從鍵盤輸入6和8時(shí),結(jié)果為 main() int a,b,s; scanf(%d%d,&a,&b); s=a if(anext=&c; q-next=p-next; D)(*p).next=q; (*q).next=&b;二、填空題(6)設(shè)y是int型,請寫出y為奇數(shù)的關(guān)系表達(dá)式 【6】 。答案(y%2)=1(7)設(shè)int a=5,b=6,表達(dá)式(a=b-)?+a:-b的值是【7】 。解析: 此表達(dá)式為三目運(yùn)算符

14、,a的值為6,b的值為6,則整個表達(dá)式的值為+a的值,a的值為7。請注意前綴,-和后綴,-的區(qū)別。(8)下列程序的輸出結(jié)果是【8】。maim ()char b =Hello you;b5=0;printf (%sn,b);解析: 語句b5=0;相當(dāng)于語句b5=0,且0為字符串結(jié)束標(biāo)志,輸出時(shí)遇到0就停止輸出。(9)當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個數(shù)組名,則向函數(shù)傳遞的是【9】。解析: 在函數(shù)中,可以通過指針變量來引用調(diào)用函數(shù)中對應(yīng)的數(shù)組元素,此操作是通過傳遞數(shù)組的首地址來實(shí)現(xiàn)。(10)以下程序的輸出結(jié)果是【10】。int a=1234;printf (%2dn,a);解析: 在%與格式符之間插入一個整

15、形數(shù)來指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實(shí)際的寬度時(shí),則實(shí)際的寬度輸出。(11) 用高級語言編寫的程序稱為【11】程序,它可以通過解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以通過編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。解析: 用高級語言編寫的程序稱為源程序,源程序不能在計(jì)算機(jī)上直接運(yùn)行,運(yùn)行源程序有兩種方式:一種是通過解釋程序,對源程序逐句解釋執(zhí)行;另一種是先讓編譯程序?qū)⒃闯绦蛞淮畏g產(chǎn)生目標(biāo)程序(目標(biāo)程序是計(jì)算機(jī)可直接執(zhí)行的機(jī)器語言程序,它是一種二進(jìn)制代碼程序),然后執(zhí)行目標(biāo)程序。(12) 以下程序的輸出結(jié)果是【12】。main()int a=0;a+=(a=8);print

16、f(%dn,a);解析: 賦值表達(dá)式的值就是所賦值變量的值,本題中a+=8相當(dāng)于a=a+8,對表達(dá)式逐步進(jìn)行求解:a+=(a=8)此時(shí),a的值由于賦值為8,而不是0a+=8a=a+8a=16(13)函數(shù)void fun(float *sn, int n)的功能是:根據(jù)以下公式計(jì)算S,計(jì)算結(jié)果通過形參指針sn傳回;n通過形參傳入,n的值大于等于0。請?zhí)羁铡oid fun( float *sn, int n) float s=0.0, w, f=-1.0;int i=0;for(i=0; in。 例如:m=12,n=8時(shí),運(yùn)行結(jié)果應(yīng)該是495.。請?jiān)陬}目的空白處填寫適當(dāng)?shù)某绦蛘Z句,將該程序補(bǔ)充完

17、整。#include #include float fun (int m, int n) int i;double p=1.0;for(i=1;i=m;i+)【15】;for(i=1;i=n;i+)【16】;for(i=1;i=m-n;i+)p=p/i;return p;main () clrscr();printf (p=%fn,fun (12,8);解析:本題中,欲求p的值,需要先求m,n,m-n的階乘值,可用循環(huán)語句實(shí)現(xiàn)。(15)該程序運(yùn)行的結(jié)果是【17】。#include#include#define M 100void fun(int m, int *a, int *n) int i

18、,j=0;for(i=1;i=m;i+)if(i%7=0|i%11=0)aj+=i;*n=j;main() int aaM,n,k;clrscr();fun(10,aa,&n);for(k=0;kn;k+)if(k+1)%20=0)printf(n);else printf(%4d,aak);printf(n);解析: 解答本題的關(guān)鍵是要讀懂程序,試題要找出能被7或11整除的所有整數(shù),注意數(shù)學(xué)中的“或”和C語言中的“或”的區(qū)別,但在此處,if條件語句中用了“|”運(yùn)算符,若要找能同時(shí)被7和11整除的所有整數(shù)則在if()中應(yīng)用“&”運(yùn)算符。當(dāng)然,如果m的值輸入50,即表達(dá)式fun(10,aa,&n

19、);為fun(50,aa,&n);時(shí)輸入結(jié)果為:7 11 14 21 22 28 33 35 42 44 49。(16)下列程序的功能是:求出ss所指字符串中指定字符的個數(shù),并返回此值。例如,若輸入字符串,輸入字符1,則輸出3,請?zhí)羁铡?include #include #define M 81int fun(char *ss, char c) int i=0;for(; 【18】;ss+)if(*ss=c)i+;return i;main() char aM, ch;clrscr();printf(nPlease enter a string: ); gets(a);printf(nPlea

20、se enter a char: ); ch=getchar();printf(nThe number of the char is: %dn, fun(a,ch);解析: 從字符串ss中找出子字符串的方法是:從第1個字符開始,對字符串進(jìn)行遍歷;若ss串的當(dāng)前字符等于t串的第1個字符,兩字符串的指針自動加1,繼續(xù)比較下一個字符;若比較至字符串的結(jié)尾,則跳出循環(huán);若ss串的字符和c串的字符對應(yīng)不同,繼續(xù)對ss串的下一個字符進(jìn)行處理。本程序是采用逐一比較的方式找出出現(xiàn)的次數(shù)。循環(huán)的作用是在串中從左到右逐一走動,if()的作用是進(jìn)行判斷是否相同,若與c相同則表示又出現(xiàn)一次。(17)下面程序把從終端讀

21、入的文本(用作為文本結(jié)束標(biāo)志)輸出到一個名為bi.dat的新文件中,請?zhí)羁铡?include stdio.hFILE *fp; char ch;if(fp=fopen(【19】)=NULL)exit(0);while(ch=getchar( )!=)fputc (ch,fp);fclose(fp);解析: fopen函數(shù)的調(diào)用方式通常為:FILE *fpfp=fopen(文件名,使用文件方式);(18)設(shè)有如下宏定義#define MYSWAP(z,x,y)z=x;x=y;y=z;以下程序段通過宏調(diào)用實(shí)現(xiàn)變量a,b內(nèi)容交換,請?zhí)羁铡loat a=5,b=16,c;MYSWAP(【20】,a,

22、b);解析: 該題考查兩個知識點(diǎn):(1)用一個指定的標(biāo)識符(即名字)來代表一個字符串,它的一般形式為#define 標(biāo)識符 字符串(2)在MYSWAP宏定義中,利用中間變量z來交換x和y的值,所以要實(shí)現(xiàn)a和b的交換,只需通過中間變量即可,所以,此處應(yīng)填c。一、選擇題11-15CABBB 16-20ABBBA 21-25CCSDB 26-30DBD B C 31-35ADCCA 36-40CAAAD 41-45CABBA 46-50BDDBD試題二一、選擇題(11)下列敘述中正確的是A)C語言編譯時(shí)不檢查語法B)C語言的子程序有過程和函數(shù)兩種C)C語言的函數(shù)可以嵌套定義 D)C語言的函數(shù)可以嵌套

23、調(diào)用(12)在C語言中,退格符是A)n B)t C)f D)b(13)以下敘述中正確的是A)構(gòu)成C程序的基本單位是函數(shù)B)可以在一個函數(shù)中定義另一個函數(shù)C)main()函數(shù)必須放在其他函數(shù)之前D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義(14)在C程序中,判邏輯值時(shí),用“非0”表示邏輯值“真”, 又用“0”表示邏輯值“假”。 在求邏輯值時(shí),用()表示邏輯表達(dá)式值為“真”, 又用()表示邏輯表達(dá)式值為“假”。A)1 0 B)0 1 C)非0 非0 D)1 1(15)在C語言中,運(yùn)算對象必須是整型數(shù)的運(yùn)算符是A)% B) C)%和 D)*(16)字符型數(shù)據(jù)在機(jī)器中是用ASCII碼表示的,字符“5”

24、和“7”在機(jī)器中表示為A)和 B)和C)和 D)和(17)若已定義:int a=25,b=14,c=19;以下三目運(yùn)算符(?:)所構(gòu)成語句的執(zhí)行后a=25&b-=2&c?printf(*a=%d,b=%d,c=%dn,a,b,c):printf(#a=%d,b=%d,c=%dn,a,b,c);程序輸出的結(jié)果是A)*a=25,b=13,c=19 B)*a=26,b=14,c=19C)# a=25,b=13,c=19 D)# a=26,b=14,c=19(18)若有定義:int a=7;float x=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是A)2. B)2. C

25、)3. D)0.(19)下列程序段的輸出結(jié)果是:int a=1234;float b=123.456;double c=12345.54321;printf(%2d,%2.1f,%2.1f,a,b,c);A)無輸出 B)12,123.5,12345.5C)1234,123.5,12345.5 D)1234,123.4,1234.5(20)若運(yùn)行以下程序時(shí),從鍵盤輸入 ADescriptor(表示回車),則下面程序的運(yùn)行結(jié)果是#include main()char c;int v0=1,v1=0,v2=0;doswitch(c=getchar()case a:case A:case e:case

26、 E:case i:case I:case o:case O:case u:case U:v1+=1;default:v0+=1;v2+=1; while(c!=n); printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);A)v0=7,v1=4,v2=7 B)v0=8,v1=4,v2=8C)v0=11,v1=4,v2=11 D)v0=13,v1=4,v2=12(21)設(shè)有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(%d,s);則A)運(yùn)行程序段后輸出0 B)運(yùn)行程序段后輸出1C)程序段中的控制表達(dá)式是非法的 D)程序段執(zhí)行無限次(22)

27、有如下程序 main() float x=2.0,y;if(x10.0)y=1.0/x;else y=1.0;printf(%fn,y);該程序的輸出結(jié)果是A)0. B)0. C)0. D)1.(23)執(zhí)行下面的程序段后,變量k中的值為int k=3, s2;s0=k; k=s1*10;A)不定值 B)33 C)30 D)10(24)以下程序段的描述,正確的是x=-1;dox=x*x;while(!x);A)是死循環(huán) B)循環(huán)執(zhí)行兩次C)循環(huán)執(zhí)行一次D)有語法錯誤(25)以下選項(xiàng)錯誤的是A)main() int x,y,z;x=0;y=x-1;z=x+y;B)main() int x,y,z;

28、x=0,y=x+1;z=x+y;C)main() int x;intint y;x=0,y=x+1;z=x+y;D)main() int x,y,z;x=0;y=x+1;z=x+y,(26)有如下程序段int a=14,b=15,x;char c=A;x=(a&b)&(cB);執(zhí)行該程序段后,x的值為A)ture B)false C)0 D)1(27)下列程序執(zhí)行后的輸出結(jié)果是void func1(int i);void func2(int i);char st=hello,friend!;void func1(int i) printf(%c,sti);if(i3)i+=2;func2(i)

29、;void func2(int i) printf(%c,sti);if(i3)i+=2;func1(i);main() int i=0; func1(i); printf(n);A)hello B)hel C)hlo D)hlm(28)以下函數(shù)返回a所指數(shù)組中最大值所在的下標(biāo)值fun(int *a,int n) int i,j=0,p;p=j;for(i=j;iap)_;return(p);在下劃線處應(yīng)填入的內(nèi)容是A)i=p B)ap=ai C)p=j D)p=I(29)下面說明不正確的是A)char a10=china; B)char a10,*p=a;p=chinaC)char *a;a

30、=china; D)char a10,*p;p=a=china(30)以下程序的輸出結(jié)果是#include void prt (int *x, int *y, int *z)printf(%d,%d,%dn,+*x,+*y,*(z+);main()int a=10,b=40,c=20;prt (&a,&b,&c);prt (&a,&b,&c);A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,22(31)若有函數(shù)內(nèi)部說明:int a34;則數(shù)組a中各元素A)可在程序的運(yùn)行階段得到初值0B)可在程序的編譯

31、階段得到初值0C)不能得到確定的初值D)可在程序的編譯或運(yùn)行階段得到初值0(34)定義如下變量和數(shù)組:int k;int a33=9,8,7,6,5,4,3,2,1;則下面語句的輸出結(jié)果是for(k=0;k3;k+)printf(%d,akk);A)7 5 3 B)9 5 1 C)9 6 3 D)7 4 1(35)下列程序執(zhí)行后的輸出結(jié)果是main() char arr24;strcpy(arr,you); strcpy(arr1,me);arr03=&;printf(%sn,arr);A)you&me B)you C)me D)err(36)有以下函數(shù)char fun(char *p)ret

32、urn p;該函數(shù)的返回值是A)無確切的值 B)形參p中存放的地址值 C)一個臨時(shí)存儲單元的地址 D)形參p自身的地址值(37)以下正確的說法是A)定義函數(shù)時(shí),形參的類型說明可以放在函數(shù)體內(nèi)B)return后邊的值不能為表達(dá)式C)如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)D)如果形參與實(shí)參類型不一致,以實(shí)參類型為準(zhǔn)(38)有以下程序int f(int n) if(n=1)return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;ij共執(zhí)行的次數(shù)是main()int i=0, j=10, k=2, s=0;for (;)i+=k;if

33、(ij)printf(%d,s);break;s+=i;A)4 B)7 C)5 D)6(43)以下4個選項(xiàng)中,不能看做一條語句的是A); B)a=5,b=2.5,c=3.6; C)if(a5); D)if(b!=5)x=2;y=6;(44)在C語言中,變量的隱含存儲類別是A)auto B)static C)extern D)無存儲類別(45)若有以下程序#include void f(int n);main() void f(int n);f(5);void f(int n) printf(%dn,n); 則以下敘述中不正確的是A)若只在主函數(shù)中對函數(shù)f進(jìn)行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)f

34、B)若在主函數(shù)前對函數(shù)f進(jìn)行說明,則在主函數(shù)和其后的其他函數(shù)中都可以正確調(diào)用函數(shù)fC)對于以上程序,編譯時(shí)系統(tǒng)會提示出錯信息:提示對f函數(shù)重復(fù)說明D)函數(shù)f無返回值,所以可用void將其類型定義為無返回值型(46)若有下面的說明和定義struct test int ml; char m2; float m3;union uu char ul5; int u22; ua; myaa;則sizeof(struct test )的值是A)12 B)16 C)14 D)9(47)以下程序的輸出是struct st int x; int *y; *p;int dt4= 10,20,30,40 ;stru

35、ct st aa4= 50,&dt0,60,&dt0,60,&dt0,60,&dt0;main() p=aa;printf(%dn,+(p-x);A)10 B)11 C)51 D)60(48)若有運(yùn)算符,sizeof,&=,則它們按優(yōu)先級由高至低的正確排列次序是A)sizeof,&=, B)sizeof,&=C),sizeof,&= D),&=,sizeof(49)函數(shù)fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是A)文件開始 B)文件末尾C)文件當(dāng)前位置 D)以上都不對(50)有以下程序#include main() FILE *fp; int i=20,j=

36、30,k,n;fp=fopen(d1.dat,w);fprintf(fp,%dn,i);fprintf(fp,%dn,j);fclose(fp);fp=fopen(d1.dat,r);fscanf(fp,%d%d,&k,&n); printf(%d %dn,k,n);fclose(fp);程序運(yùn)行后的輸出結(jié)果是A)20 30 B)20 50 C)30 50 D)30 20二、填空題(6)以下程序的運(yùn)行結(jié)果是【6】。define MAX (a,b)(ab?a:b)+1main () int i=6,j=8,k;printf (%dn,MAX(i,j);解析: 本題考查宏定義與三目運(yùn)算符的綜合用法

37、,宏定義是原樣替換,本題中,如果ab成立,則a+1的值為整個表達(dá)式的值,否則為b+1的值為整個表達(dá)式的值,(應(yīng)注意后面的加1)。(7)以下程序的功能是從健盤輸入若干學(xué)生的成績,并輸出最高成績和最低成績,當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束。請?zhí)羁?。main ()float x,amax,amin;scanf (%f,&x);amax=x;amin=x;while (【7】)if (xamax)amax=x;elseif【8】amin=x;else scanf (%f,&x);printf (n amax=%fn amin=%fn,amax,amin);解析: 本題先從鍵盤接受數(shù)值,并分別賦給amax(用于保存最高

38、成績)和amin(用干保存最低成績),然后通過while循環(huán)控制是否結(jié)束輸入,并且通過if語句來給amax和amin賦值和進(jìn)行下一次的輸入。(8)在對文件操作的過程中,若要求文件的位置指針回到文件的開始處,應(yīng)當(dāng)調(diào)用的函數(shù)是【9】。答案;rewind()(9)在計(jì)算機(jī)中,字符的比較是對它們的【10】進(jìn)行比較。解析: C語言中,字符也可以進(jìn)行比較運(yùn)算,且是按照ASCII碼值進(jìn)行的。(10)在內(nèi)存中,存儲字符x要占用1個字節(jié),存儲字符串X要占用【11】個字節(jié)。解析: 計(jì)算機(jī)存儲一個字符用1個字節(jié),存儲字符串時(shí),每個字符用占用1個字節(jié),另在字符串的有效字符之后存儲1個字符串的結(jié)束標(biāo)記符。所以存儲字符串“X”要占用2個字節(jié),存儲字符x只要1個字節(jié)。(11)下列程序的輸出結(jié)果是16.00,請?zhí)羁?。main()int a=9, b=2;float x=【12】, y=1.1,z;z=a/2+b*x/y+1/2;printf(%5.2fn, z ); 解析: 本題最后一條語句,表示以浮點(diǎn)格式輸出z的值,寬度為5,其中所含2位小數(shù),應(yīng)該注意的是,兩個整型運(yùn)算結(jié)果仍為整型,如

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論