C語言程序設(shè)計(jì)題庫及答案_第1頁
C語言程序設(shè)計(jì)題庫及答案_第2頁
C語言程序設(shè)計(jì)題庫及答案_第3頁
C語言程序設(shè)計(jì)題庫及答案_第4頁
C語言程序設(shè)計(jì)題庫及答案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C 語言程序練習(xí)題 一、選擇題 1 高級語言編寫的程序稱( )。 A高級程序 B源程序 C目標(biāo)程序 D BASIC 程序 2. 一個(gè) C 程序的執(zhí)行是從 ( )。 A 本程序的 main 函數(shù)開始,到 main 函數(shù)結(jié)束。 B 本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束 C 本程序的 main 函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束 D 本程序文件的第一個(gè)函數(shù)開始,到本程序的 main 函數(shù)結(jié)束 3. 以下敘述正確的是 ( )。 A 在 C 程序中, main 函數(shù)必須位于程序的最前面 B C 程序的每行中只能寫一條語句 C C 語言本身沒有輸入輸出語句 D 在對一個(gè) C 程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤 4. 以下敘述不正確的是 ( )。 A 一個(gè) C 源程序可由一個(gè)或多個(gè)函數(shù)組成 B 一個(gè) C 源程序必須包含一個(gè) main 函數(shù) C C 程序的基本組成單位是函數(shù) D 在 C 程序中,注釋說明只能位于一條語句的后面 5 下列字符中屬于鍵盤符號的是( )。 A B.n C.t D.b 6 下列不正確的轉(zhuǎn)義字符是( )。 A B. C.074 D.0 7 下面四組選項(xiàng)中,均是合法的轉(zhuǎn)義字符的選項(xiàng)是 ( )。 A n B 017 ” C 018 f xab D 0 101 x1f 8 下面四組選項(xiàng)中,均是不正確的八進(jìn)制數(shù)或十六進(jìn)制數(shù)的選項(xiàng)是 ( )。 A 016 0x8f 018 B oabc 017 0xa C 010 -0x11 0x16 D 0a12 7ff -123 9 不是 C 語言提供的合法關(guān)鍵字是( )。 A.switch B.cher C.case D.default 10 C 語言提供的合法關(guān)鍵字是( )。 A.next B.string C.do case D.struct 11 下面四組選項(xiàng)中,均是 C 語言關(guān)鍵字的選項(xiàng)是 ( )。 A auto enum include B switch typedef continue C signed union scanf D if struct type 12 下列不正確的標(biāo)識(shí)符是( )。 A.-a1 B.ai C.a2_i D.int t 13 下面四組選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是 ( )。 A) A P_0 do B) float 1a0 _A C) b-a goto int D) _123 temp INT 14 C 語言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符 ( )。 A)必須為字母 B)必須為下劃線 C)必須為字母或下劃線 D)可以是字母、數(shù)字和下劃線中任一種字符 15 下面四組選項(xiàng)中,均是合法的整型常量的選項(xiàng)是 ( )。 A) 160 -0xffff 011 B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 / 0x 16 下面四組選項(xiàng)中,均是不合法的浮點(diǎn)數(shù)的選項(xiàng)是 ( )。 A) 160. 0.12 e3 B) 123 2e4.2 .e5 C) -.18 123e4 0.0 D) -e3 .234 1e3 17 下列說法中正確的是( )。 A.由于 C 源程序是高級語言程序,因此一定要在 TC 軟件中輸入。 B.由于 C 源程序是由字符流組成的,因此可以作為文本文件在任何文本編輯的軟件中輸入。 C.由于 C 程序是高級語言程序,因此輸入后即可執(zhí)行。 D.由于 C 程序是高級語言程序,因此它是由命令組成的。 18 下列方法中錯(cuò)誤的是( )。 A.主函數(shù)可以分為兩個(gè)部分:主函數(shù)說明部分和主函數(shù)體。 B.主函數(shù)可以調(diào)用任何非主函數(shù)的其它函數(shù)。 C.任何非主函數(shù)可以調(diào)用其它任何非主函數(shù)。 D.程序可以從任何非主函數(shù)開始執(zhí)行。 19 下列數(shù)據(jù)中屬于“字符串常量”的是( )。 A.“ a” B.ABC C. abc0 D. a 20.下面不正確的字符串常量是 ( )。 A) abc B ) “ 1212 ” C) “ 0” D) “ ” 21.在 PC 機(jī)中,“ axff”在內(nèi)存占用的字節(jié)數(shù)是( )。 A 5 B 6 C 3 D 4 22.若 x, i, j 和 k 都是 int 型變量,則計(jì)算下面表達(dá)式后, x 的值為 ( )。 x( i 4, j 16, k 32) A) 4 B) 16 C) 32 D) 52 23.在 C 語言中(以 16 位 PC 機(jī)為例), 5 中基本數(shù)據(jù)類型的存儲(chǔ)空間長度的排列順序?yàn)?( )。 A) char 0&b&c0” 的值是 ( ) 。 A.1 B.0 C.-1 D.出錯(cuò) 41.若已定義 x 和 y 為 double 類型,則表達(dá)式“ x=1,y=x+3/2”的值是( )。 A.1 B.2 C.2.0 D.2.5 42.表達(dá)式“ 1? (0?3:2)(10?1:0)”的值是( )。 A.3 B.2 C.1 D.0 43.設(shè) a 為整型變量,則不能正確表達(dá)數(shù)學(xué)關(guān)系 10 a 15 的 C 語言表達(dá)式是( )。 A.1010&a=15) 44 下列表達(dá)式中符合 C 語言語法的賦值表達(dá)式是( )。 A.a=7+b+c=a+7 B.a=7+b+=a+7 C.a=(7+b,b+,a+j) D.a=7+b,c=a+7 45 若“ int n; float f=13.8;” ,則執(zhí)行“ n=(int)f)%3”后, n 的值是( )。 A.1 B.4 C.4,333333 D.4.6 46 設(shè)有整型變量 x=35,則表達(dá)式“ (x&15)&(x|15)”的值是( )。 A.0 B.1 C.15 D.35 47 設(shè) a 是 char 型變量,其值字符為 1,則把其 值變成整數(shù) 1 的表達(dá)式是( )。 A.(int)a B.int(a) C.a=a-48 D.a/(int)a 48 a=1234,b=12,c=34,則執(zhí)行“ printf(“ |%3d%3d%-3d|n” ,a,b,c);” 后的輸出是( )。 A.|1234 1234 | B.|123 1234 | C.|1234 12-34| D.|234 1234 | 49 設(shè)有“ int a=255,b=8;”,則“ printf(“ %x,%on” ,a,b);”輸出的是( )。 A.255,8 B.ff,10 C.0xff,010 D.10,9 50 已有如下定義和輸入語句,若要求 a1, a2, c1, c2 的值分別為 10, 20, A 和 B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是 ( )。 (注: 表示空格, 表示回車 ) int a1,a2; char c1,c2; scanf(“ %d%c%d%c” ,&a1,&c1,&a2,&c2); A) 10A 20B B) 10 A 20 B C) 10A20B D) 10A20 B 51 根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為 ( ) 。 已有定義: float f1,f2; 數(shù)據(jù)的輸入方式: 4.52 3.5 A) scanf(“ %f,%f” ,&f1,&f2); B) scanf(“ %f%f” ,&f1,&f2); C) scanf(“ %3.2f,%2.1f” ,&f1,&f2); D) scanf(“ %3.2f%2.1f” ,&f1,&f2); 52 指出下面正確的輸入語句是( ) A scanf (“ a=b=%d” ,&a,&b); B scanf(“ a=%d,b=%f” ,&m,&f); C scanf(“ %3c” ,c); D scanf(“ %5.2f,&f); 53 設(shè) x,t 均為 int 型變量,則執(zhí)行語句“ x=10;t=x&x10;”后, t 的值為( )。 A.不定值 B.10 C.1 D.0 54 假定所有變量均已正確定義,則下列程序段運(yùn)行后 y 的值是( )。 int a=0,y=10; if(a=0) y-; else if(a0) y+; else y+=y; A.20 B.11 C.9 D.0 55 假定所有變量均已正確定義,則下列程序段運(yùn)行后 x 的值是( )。 a=b=c=0; x=35; if(!a) x-; else if(b); if(c) x=3; else x=4; A.34 B.4 C.35 D.3 56 若有“ int a=1,x=1;” ,則循環(huán)語句“ while(a0;i+);”的循環(huán)執(zhí)行( )。 A.無限次 B.不確定次 C.10 次 D.9 次 58 假定 i 和 j 為 int 型變量,則執(zhí)行以下語句后 j的值是( )。 int i=1; switch(i+) case 1:for(j=0;j=0) break; if(x%2=1) x+=5;continue; x-=3; A.2 B.4 C.6 D.8 60 在 C 語言中,下列說法中正確的是( )。 A 不能使用“ do 語句 while(條件 )”的循環(huán) B “ do 語句 while(條件 )”的循環(huán)必須使用“ break”語句退出循環(huán) C “ do 語句 while(條件 )”的循環(huán)中,當(dāng)條件為非 0 時(shí)將結(jié)束循環(huán) D “ do 語句 while(條件 )”的循環(huán)中,當(dāng)條件為 0 時(shí)將結(jié)束循環(huán) 61 在 C 語言語句中,用來決定分支流程的表達(dá)式是( )。 A可用任意表達(dá)式 B.只能用邏輯表達(dá)式或關(guān)系表達(dá)式 C只能用邏輯表達(dá)式 D.只能用關(guān)系表達(dá)式 62 若有以下數(shù)組說明,則數(shù)值最大的和最小的元素下標(biāo)分別是( )。 int a12=1,2,3,4,5,6,7,8,9,10,11,12; A.1,12 B.0,11 C.1,11 D.0,12 63 若有以下數(shù)組說明,則 i=10;aai元素?cái)?shù)值是( )。 int a12=1,4,7,10,2,5,8,11,3,6,9,12; A.10 B.9 C.6 D.5 64 若有 int a35=2, 2, 2, 6, 2, 6, 2,則數(shù)組 a 共有個(gè)元素:( ) A.8 B.5 C.3 D.15 65 若有 int a7=1,2,3,4,5,6,7, *p=a 則不能表示數(shù)組元素的表達(dá)式是 : ( ) A.*p B.*a C.a7 D.ap-a 66 若有以下說明,則數(shù)值為 4 的表達(dá)式是( )。 int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; A.ag-c B.a4 C.ad -c D.ad -c 67 下列語句中,正確的是( )。 A. char a3=abc , l ; B. char a3=abc , l ; C. char a3=a ,“ l” ; D. char a3=“ a” ,“ l” ; 68 下列定義的字符數(shù)組中,“ printf(“ %sn” ,str2);”的是輸出是( )。 static str320=“ basic” ,“ foxpro” ,“ windows” ; A.basic B.foxpro C.windows D.輸出語句出錯(cuò) 69 合法的數(shù)組定義是( )。 A. int a=“ string” ; B. int a5=0,1,2,3,4,5; C. char a=“ string” ; D. char a=0,1,2,3,4,5; 70設(shè)有如下字符數(shù)組定義,則合法的函數(shù)調(diào)用是( )。 char a=“ I am a student” ,b=“ techer” ; A.strcmp(a,b); B.strcpy(a,b0); C.strcpy(a7,b); D.strcat(a7,b); 71設(shè)有如下定義,則正確的敘述為 ( )。 char x=“ abcdefg” ; char y= a , b , c , d , e , f , g ; A 數(shù)組 x 和數(shù)組 y 等價(jià) B 數(shù)組 x 和數(shù)組 y 長度相同 C 數(shù)組 x 的長度大于數(shù)組 y 的長度 D 數(shù)組 x 的長度小于數(shù)組 y 的長度 72 下列描述中不正確的是( )。 A. 字符型數(shù)組中可能存放字符串。 B. 可以對字符型數(shù)組進(jìn)行整體輸入、輸出。 C. 可以對整型數(shù)組進(jìn)行整體輸入、輸出。 D. 不能在賦值語句中通過賦值運(yùn)算符 “ =” 對字符型數(shù)組進(jìn)行整體賦值。 73設(shè)有如下二維數(shù)組定義,則不正確的元素引用是 ( )。 int a34=1,2,3,4,5,6,7,8,9,10,11,12; A.a23 B.aa001 C.a7 D.a2c - a 74對于同類型的指針變量,不可能進(jìn)行的運(yùn)算是( )。 A.- B.= C.+ D.= 74下列不正確的定義是( )。 A. int *p=&i,i; B.int *p,i; C int i,*p=&i; D.int i,*p; 75.設(shè)指針 x 指向的整型變量值為 25,則“ printf(“ %dn” ,+*x);”的輸出是 ( )。 A.23 B.24 C.25 D.26 76 若有說明:“ char ch,*p;” ,則不能正確獲得值的語句是 ( )。 A.*p=getchar(); B.p=&ch;scanf(“ %c” ,p); C.p=(char *)malloc(1);*p=getchar(); D.p=&ch;*p=getchar(); 77 以下選項(xiàng)中不能使指針正確指向字符串的是 ( ) A) char *ch;*ch=“ hello” B) char *ch=“ hello” C) char *ch=“ hello” ;ch=“ bye” D) char *ch” ;ch=“ hello” 78 若有說明語句“ int a5,*p=a;” ,則對數(shù)組元素的正確引用是 ( )。 A.ap B.pa C.*(p+2) D.p+2 79 若有以下定義,則不能表示 a 數(shù)組元素的表達(dá)式是 ( )。 int a10=1,2,3,4,5,6,7,8,9,10,*p=a; A.*p B.a10 C.*a D.ap-a 80 若有以下定義,則值為 3 的表達(dá)式是 ( )。 int a10=1,2,3,4,5,6,7,8,9,10,*p=a; A.p+=2,*(p+) B.p+=2,*+p C.P+=3,*p+ D.p+=2,+*p; 81 若有定義“ int a34;”則對數(shù)組元素 aij(0data.a D.p.data.a 99設(shè)有如下定義成的鏈表,則值為 6 的表達(dá)式是 ( )。 struct st int n; struct st *next; a3=5,&a1,7,&a2,9,NULL, *p=&a; A.p+ -n B.p-n+ C.(*p).n+ D.+p-n 100在 C 語言中,文件由 ( )。 A字符 (字節(jié) )序列組成 B.記錄組成 C數(shù)據(jù)行組成 D.數(shù)據(jù)塊組成 101在下列語句中,將 c 定義為文件型指針的是 ( )。 A.FILE c; B.FILE *c C.file c; D.file *c; 102以讀寫方式打開一個(gè)已有的文本文件 file1,并且 FILE *fp,下面 fopen 函數(shù)正確的調(diào)用方式是 ( )。 A.fp=fopen(“ file1” ,“ r” ) B.fp=fopen(“ file1” ,“ r+” ) C.fp=fopen(“ file1” ,“ rb” ) D.fp=fopen(“ file1” ,“ w” ) 103 標(biāo)準(zhǔn)庫函數(shù) fputs(p1,p2)的功能是 ( )。 A 從 p1 指向的文件中讀一個(gè)字符串存入 p2 指向的內(nèi)存 B 從 p2 指向的文件中讀一個(gè)字符串存入 p1 指向的內(nèi)存 C 從 p1 指向的內(nèi)存中讀一個(gè)字符串寫到 p2 指向的文件中 D 從 p2 指向的內(nèi)存中讀一個(gè)字符串寫到 p1 指向的文件中 104 下列正確的預(yù)編譯命令是 ( )。 A. define PI 3.14159 B. #define P(a,b) strcpy(a,b) C. #define stdio.h D.#define PI 3.14159; 105 下列命令或語句中,正確的是 ( )。 A. #define MYNAME=” ABC” B. #include stdio.h C. for(i=0;i; B.if(2); D.for(;) if(1) break; 107 設(shè)有宏定義“ #define AREA(a,b) a*b” ,則正確的“宏調(diào)用”是 ( )。 A.s=AREA(r*r) B.s=AREA(x*y) C.s=AREA D.s=c*AREA(x=3.5),(y+4.1) 108 設(shè)有以下宏定義,則執(zhí)行語句“ z=2*(N+Y(5+1);”后, z 的值為 ( )。 #define N 3 #define Y(n) (N+1)*n) A.出錯(cuò) B.42 C.48 D.54 109 設(shè)有以下宏定義,當(dāng) int x,m=5,n=1 時(shí),執(zhí)行語句“ IFABC(m+n,m,x);”后, x 的值為 ( )。 #define IFABC(a,b,c) c=ab?a:b A.5 B.6 C.11 D.出錯(cuò) 110 110下列關(guān)于指針定義的描述, _是錯(cuò)誤的。 A指針是一種變量,該變量用來存放某個(gè)變量的地址值的。 B指針變量的類型與它所指向的變量類型一致。 C指針變量的命名規(guī)則與標(biāo)識(shí)符相同。 D在定義指針時(shí),標(biāo)識(shí)符前的“ *”號表示后面的指針變量所指向的內(nèi)容。 111 在函數(shù)中默認(rèn)存儲(chǔ)類型說明符的變量應(yīng)該是 ( ) 存儲(chǔ)類型。 A內(nèi)部靜態(tài) B. 外部 C自動(dòng) D. 寄存器 112對以下說明語句,敘述不正確的是 ( ) 。 struct stu int a; float b; stutype; A struct 是結(jié)構(gòu)體類型的關(guān)鍵字 B struct stu 是用戶定義的結(jié)構(gòu)體類型 C stutype 是用戶定義的結(jié)構(gòu)體類型名 D a 和 b 都是結(jié)構(gòu)體成員名 113 在 C 程序中有如下語句: char *func(int x,int y); 它是 ( ) 。 A對函數(shù) func 的定義。 B對函數(shù) func 的調(diào)用。 C對函數(shù) func 的原型說明。 D不合法的。 114 為了避免嵌套的條件分支語句 if-else 的二義性, C 語言規(guī)定: C 程序中的 else 總是與( )組成配對關(guān)系。 A. 縮排位置相同的 if B. 在其之前未配對的 if C. 在其之前未配對的最近的 if D.同一行上的 if 115 設(shè)有說明 double(*p1)N;其中標(biāo)識(shí)符 p1 是( )。 A. N 個(gè)指向 double 型變量的指針。 B. 指向 N 個(gè) double 型變量的函數(shù)指針。 C. 一個(gè)指向由 N 個(gè) double 型元素組成的一維數(shù)組的指針。 D. 具有 N 個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向 double 型量。 116 下列描述中不正確的是( )。 A. 字符型數(shù)組中可能存放字符串。 B. 可以對字符型數(shù)組進(jìn)行整體輸入、輸出。 C. 可以對整型數(shù)組進(jìn)行整體輸入、輸出。 D. 不能在賦值語句中通過賦值運(yùn)算符“ =”對字符型數(shù)組進(jìn)行整體賦值。 117 設(shè)有如下定義 : char *aa2=abcd,ABCD; 則以下說法中正確的是( )。 A)aa 數(shù)組成元素的值分別是 abcd和 ABCD B)aa 是指針變量 ,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組 C)aa 數(shù)組的兩個(gè)元素分別存放的是含有 4 個(gè)字符的一維字符數(shù)組的首地址 D)aa 數(shù)組的兩個(gè)元素中各自存放了字符 a和 A的地址 二、填空題 1匯編語言屬于面向 的語言,高級語言屬于面向 的語言。 2 C 語言從源程序的書寫到上機(jī)運(yùn)行輸出結(jié)果要經(jīng)過 _、 _、 _、 _ 四個(gè)步驟。 3 C 源程序的基本單位是 。 4 C 語言中實(shí)型變量分為兩種類型,是 和 。 5 C 程序設(shè)計(jì)的三種基本結(jié)構(gòu)是 _、 _和 _。 6在 C 語言程序中允許出現(xiàn)的字符集是 、 、 和 。 7 C 語言程序是由函數(shù)構(gòu)成的,其中有并且只能有 個(gè)主函數(shù)。 C 語言程序的執(zhí)行總是由 函數(shù)開始,并且在 函數(shù)中結(jié)束。 8 C 語言中的邏輯值“真”是用 表示的,邏輯值“假”是用 表示的。邏輯表達(dá)式值為“真”是用 表示的,邏輯表達(dá)式值為“假”是用 表示的。 9有下列運(yùn)算符: b) printf(“ *y=%dn” ,y); else printf(“ *x=%dn” ,x); 16設(shè) i,j,k 均為 int 型變量,則執(zhí)行完下面的 for 循環(huán)后, k 的值為 。 for(i=0,j=10;i”稱為 運(yùn)算符。 36若有以下說明和定義語句,則變量 w 在內(nèi)存中所占的字節(jié)數(shù)是 。 union aa float x; float y; char c6; struct st union aa v; float w5; double ave; w; 37若有以下定義和語句,則表達(dá)式“ +p-a”的值是 。 struct wcint a; int *b; int x=11,12; y=31,32; static struct wc z=100,x,300,y,*p=z; 38 C 語言中調(diào)用 函數(shù)打開文件,調(diào)用 函數(shù)關(guān)閉文件。 39 在 C 語言程序中,對文件進(jìn)行操作首先要 _;然后對文件進(jìn)行操作,最后要對文件實(shí)行_操作,防止文件中信息的丟失。 40“ FILE *p”的作用是定義了一個(gè) ,其中的“ FILE”是在 頭文件中定義的。 41 若在程序中用到“ putchar()”函數(shù),則應(yīng)在程序開頭寫上包含命令 ,若在程序中用到“ strlen()”函數(shù),則應(yīng)在程序開頭寫上包含命令 。 42下列程序的功能是從輸入的整數(shù)中,統(tǒng)計(jì)大于零的整數(shù)個(gè)數(shù)和小于零的整數(shù)個(gè)數(shù)。用輸入 0來結(jié)束輸入,用 i,j 來放統(tǒng)計(jì)數(shù), 請?zhí)羁胀瓿沙绦颉?void main() n,i,j; printf(“ 輸入整數(shù),以 0 結(jié)束輸入 n” ); scanf(“ %d” ,&n); while if(n0) i= ; if(n void main() int n,count,max,t; count=max=0; scanf(“ %d” ,&n); do t= ; if(t=0) +count; else if(maxsk) ; printf(“ %dn” ,k); 47下面程序的功能是在 a 數(shù)組中查找與 x 值相同的元素所在位置。數(shù)據(jù)從 a1元素開始存放,請?zhí)羁铡?#include void main() int a11,i,x; printf(“ 輸入 10 個(gè)整數(shù): ” ); for(i=1;i void main() int c26,i; char ca; for(i=0;i=A)&(ca main() int ; a=(int *)malloc(sizeof(int); b=(int *)malloc(sizeof(int); c=(int *)malloc(sizeof(int); min=(int *)malloc(sizeof(int); printf(“ 輸入三個(gè)整數(shù): n” ); scanf(“ %d%d%d” , ); printf(“ 輸出這三個(gè)整數(shù): %d%d%dn” , ); *min=*a; if(*a*b) ; if( *c) ; printf(“ 輸出最小整數(shù): %dn” , ); 53以下程序的功能是從鍵盤上輸入若干個(gè)字符 (以回車鍵作為結(jié)束 )組成一個(gè)字符串,存入一具字符數(shù)組,然后輸出該字符數(shù)組中的字符串,請?zhí)羁铡?#include “ stdio.h” #include “ ctype.h” main() char str81, *sptr; int i; for(i=0;i #include main() char str1080, *sp; int i; for(i=0;iwp) p+; for(i=*n;ip;i-) wi= ; wp=x; +*n; 56函數(shù) my_cmp()的功能是比較字符串 s 和 t 的大小,當(dāng) s 等于 t 時(shí)返回 0,否則返回 s 和 t的第一個(gè)不同字符的 ASCII 碼差值。即當(dāng) st 時(shí)返回正值,當(dāng) s #include struct phchar name10; char tel8; main() s20; void readin(struct ph *p); void search(struct ph *p, char *x); char c10; readin(s); printf(“ 請輸入被查人的姓 名: n” ); gets( ); search(s,c); void readin(struct ph *p) int i; for(i=0;itel);break; if(i=3) printf(“ 找不到 %s 的電話號碼 !n” ,x); 59下面的程序用來統(tǒng)計(jì)文件中字符的個(gè)數(shù)。請?zhí)羁?#include main() FILE *fp; long num=0; if(fp=fopen(“ fname.dat” ,“ r” )=NULL) printf(“ Cant open file! n” ); exit(0); while fgetc(fp); num+; printf(“ num=%dn” ,num); fclose(fp); 60下面程序的作用 是從磁盤文件 stu.dat 中讀取 N 個(gè)學(xué)生的姓名、學(xué)號、成績,然后在屏幕上顯示輸出。請將程序補(bǔ)充完整。 #include #define N 100 struct student char name20; int no; int score; studN; main() FILE *fp; int i; if printf(“ Can not open file!n” ); exit(0); ; for(i=0;i0;y-) if(y%3=0) printf(%d” ,-y); continue; 2 寫出下列程序段的輸出結(jié)果 。 main() int x=5; int y=10; printf(%dn,x+); printf(%dn,+y); 3. 閱讀下列程序,寫出程序運(yùn)行后的輸出結(jié)果。 main() int i=5; do switch (i%2) case 4:i-; break; case 6:i-; continue; i-; i-; printf(“ i=%d” ,i); while(i0); 4 下面程序的輸出結(jié)果是 ? #include stdio.h main() int x=3; switch(x) case 1: case 2:printf(x3n); default:printf(x unknown); 5. 閱讀下列程序,當(dāng)輸入為 ab*AB%cd#CD$時(shí),寫出程序運(yùn)行后的輸出結(jié)果。 main() char c; while(c=getchar()!=$) if(A #include main() char str1080,c80; int i; for(i=0;i #include main() char a1080,c80; int i,j,k; for(i=0;i main() int i,j; float a33,b33,c33,x; for(i=0i main() char str=” SSSWILTECHllllWlWALLMPl” ; int k; char c; for(k=2;(c=strk)!= n;k+) switch(c) case A:putchar(a); continue; case l:break; case l:while(c=str+k!= l&c!= 0); case 9:putchar(#); case E: case L:continue; default:putchar(c); continue; putchar(*); printf(“ n” ); 10. 說明下列程序的功能。 #include main() int i,j; float a33,b33,x; for(i=0;i char s=” ABCD” ; main() char *p; for(p=s;p main() int i,b,c,a=1,10,-3,-21,7,13,*p_b,*p-c; b=c=1; p_b=p_c=a; for(i=0;i*(a+i) c=*(a+i); p_c=&ai; i=*a; *a=*p_b; *p_b=i; i=*(a+5); *(a+5)=*p_c; *p_c=i; printf(“ %d,%d,%d,%d,%d,%d,n” ,a0,a1,a2,a3,a4,a5); 14. 閱讀下列程序,寫出程序的運(yùn)行后的結(jié)果。 #include void main() char *alpha4=” ABCD” ,” EFGH” ,” IJKL” ,” MNOP” ; char *p; int i; p=alpha0; for(i=0;i main() int id; char *name; float sf; a,*p=&a; int i=a.id=1998; char *s==” Window 98” ; float f=a.sf=1800; printf(“ %d is %s sal %fn” ,i,s,f); printf(“ %d is %s sal %fn” ,p-id,p-name,p-sf); 18. 閱讀下列程序,寫出程序的運(yùn)行結(jié)果。 #include void main() int n; struct st *next; a3=5,&a1,7,&a2,7,&a0,*p=a; int i; for(i=0;inext; printf(“ p-n=%dn” ,p-n); 19. 讀程序,寫功能。 #include main() FILE *fp; int b=0; char ch; if(fp=fopen(” fname.txt” ,” r” )=NULL) printf(“ Can not open file!n” ); exit(0); while(!feof(fp) ch= fgetc(fp); if(ch=) b+=1; printf(” b=%dn” ,b); fclose(fp); 20假定在當(dāng)前盤當(dāng)前目錄下有兩個(gè)文本文件,其名稱和內(nèi)容如下: 文件名 a1.txt a2.txt 內(nèi)容 121314# 252627# 寫出下列程序運(yùn)行后的輸出結(jié)果。 #include main() FILE *fp; void fc(FILE *fp1); if(fp=fopen(” a1.txt” ,” r” )=NULL) printf(” Can not open file!n” ); exit(1); else fc(fp); fclose(fp); if(fp=fopen(” a2.txt” ,” r” )=NULL) printf(” Can not open file!n” ); exit(1); else fc(fp); fclose(fp); void fc(FILE *fp1) char c; while(c=fgetc(fp1)!=#) putchar(c); 21閱讀下列程序,寫出運(yùn)行結(jié)果。 #define M 5 #define N M*3+4 #define MN N*M #include main() printf(” %d,%dn” ,2*MN,MN/2); 22閱讀下列程序,寫出運(yùn)行結(jié)果。 #define EXCH(a,b) int t; t=a;a=b;b=t; #include main() int x=5, y=9; EXCH(x,y); printf(” x=%d,y=%dn” ,x,y); 23 下列程序的輸出結(jié)果是( )。 char *p1=abcd, *p2=ABCD, str50=xyz; strcpy(str+2,strcat(p1+2,p2+1); printf(%s,str); 24 下列程序的輸出結(jié)果 a 的值為 ( )。 int a5=2,4,6,8,10,*P,* *k; p=a; k=&p; printf(%d,*(p+); printf(%dn,* *k); 25 下列程序的輸出 a 結(jié)果是( )。 for (a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; 五簡答題 1 字符常量與字符串常量有什么區(qū)別? 2 C 語言的詞類主要分為哪幾種? 3 C 語言為什么要規(guī)定對所有用到的變量要“先定義,后使用”。這樣做有什么好處? 4 C 語言提供了的基本數(shù)據(jù)類型和構(gòu)造數(shù)據(jù)類型有哪些? 5 C 語言中的語句有哪幾類?分別有什么功能? 6 什么是表達(dá)式,怎么區(qū)別表達(dá)式和表達(dá)式語句? 7 什么是算術(shù)表達(dá)式,什么是關(guān)系表達(dá)式,什么是邏輯表達(dá)式? 8 C 語言規(guī)定了哪幾種基本的程序結(jié)構(gòu)? 9 若循環(huán)體中的 switch 語句內(nèi)有 break 語句,它的作用是什么?若 switch 語句中有循環(huán)語句,內(nèi)有 break

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論