中北大學(xué)C程總復(fù)習(xí)題_第1頁(yè)
中北大學(xué)C程總復(fù)習(xí)題_第2頁(yè)
中北大學(xué)C程總復(fù)習(xí)題_第3頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí),目錄,1. 基本要求 2. 基本內(nèi)容,2. 基本內(nèi)容,2.1 數(shù)據(jù)的定義 2.2 運(yùn)算及流程控制 2.3 程序結(jié)構(gòu)和函數(shù) 2.4 數(shù)據(jù)的輸入和輸出 2.5 命令行參數(shù)和編譯預(yù)處理 2.6 常用算法,2.1 數(shù)據(jù)的定義,數(shù)據(jù)的定義包括數(shù)據(jù)類型和存儲(chǔ)類別 1、基本類型 基本類型指整型、實(shí)型和字符型(主要是int, float, double, char;還包括long, unsigned, short),(1) 常量 熟練掌握各種表示形式的整數(shù)、實(shí)數(shù)、和字符(串)常量,符號(hào)常量的定義和使用。 包括整數(shù)的十進(jìn)制、八進(jìn)制和十六進(jìn)制的表示形式、長(zhǎng)整型常量的表示形式,實(shí)數(shù)的浮點(diǎn)表示法和科

2、學(xué)記數(shù)法,字符的轉(zhuǎn)義序列,常用符號(hào)常量的含義(如null、eof等),數(shù)組定義為 int a32=1, 2, 3, 4, 5, 6,數(shù)組元素 a21 的值為6。 不正確的賦值或賦初值的方式是_。 a、char str=string; b、char str7=s, t, r, i, n, g; c、char str10;str=string; d、char str7=s, t, r, i, n, g, 0; 表達(dá)式strcmp(“box”, “boss”) 的值是一個(gè)_. a、正數(shù) b、負(fù)數(shù) c、0 d、不確定的數(shù),#include int a34=1,2,3,4,5,6,7,8,9,10,11

3、,12; void main() int s,k; for(s=0,k=0; k3; k+) s+=akk; printf(%d-,s);,for(s=0,k=0; k3; k+) s+=ak3-k; printf(%d-,s); for(s=0,k=0; k4; k+) s+=*(a1+k); printf(%dn,s); ,將輸入的 n 個(gè)字符串連接成1個(gè)字符串后輸出. #include #include void main() char str1020, string200; int k, n; scanf(%d, ,(2) 結(jié)構(gòu) 熟練掌握結(jié)構(gòu)類型的定義,結(jié)構(gòu)變量的定義和初始化,結(jié)構(gòu)變量

4、成員的引用。,3、指針 (1) 熟練掌握指針和地址的概念 (2) 熟練掌握指針變量的定義和初始化 (3) 熟練掌握通過(guò)指針引用指向?qū)嶓w,9,a,int *pa, a; pa=,pa,若變量已正確定義并且指針p已經(jīng)指向某個(gè)變量x,則(*p)+相當(dāng)于_。 a、p+ b、x+ c、*(p+) d、,下列語(yǔ)句定義pf為指向float類型變量f的指針,_是正確的。 a、float f, *pf = f; b、float f, *pf = ,4、構(gòu)造類型和指針類型的混合定義及應(yīng)用 (1) 熟練掌握指針、數(shù)組和地址間的關(guān)系 int c =1, 3, 5; int *k=c+1; printf(%d, *+k

5、); char str =hellotworldn; printf(%d, %cn, sizeof(str), *(str+10);,(2) 熟練掌握指針數(shù)組 寫(xiě)出下列程序段的輸出結(jié)果。 char *st =one,two,three,four; printf(%sn,*(st+3)+1);,(3) 熟練掌握結(jié)構(gòu)數(shù)組 輸入某班50位學(xué)生的姓名及數(shù)學(xué)、英語(yǔ)成績(jī),計(jì)算每位學(xué)生的平均分;然后輸出平均分最高的學(xué)生的姓名及其數(shù)學(xué)和英語(yǔ)成績(jī)。 #include #define size 50 struct student char name10; int math,eng; float aver; ;,v

6、oid main() struct student ssize; int k,sub=0; for(k=0; kssub.aver ) sub = k; printf(%10s%3d%3dn,,ssub.math,ssub.eng); ,(4) 熟練掌握結(jié)構(gòu)指針 (5) 掌握結(jié)構(gòu)中含指針或數(shù)組 (6) 掌握嵌套結(jié)構(gòu) (7) 掌握指向指針的指針(二級(jí)) (8) 單向鏈表 掌握單向鏈表的建立和遍歷 了解插入和刪除單向鏈表中的一個(gè)節(jié)點(diǎn),+p-str中的+加在_。 struct int len; char *str; *p; a、指針str上 b、指針p上 c、str指的內(nèi)容上 d、

7、以上均不是,main( ) struct st int x, y; a4=10,20,30,40,50,60,70,80; struct st *p=a; printf(%d, p+-x); printf(%d, +p-y); printf(%dn, (a+3)-x); ,5、空類型 void 掌握空類型的定義和使用,6、變量的存儲(chǔ)類別、作用域和生存期 (1) 掌握變量的存儲(chǔ)類別 auto 自動(dòng)型、static 靜態(tài)型、extern 外部參照型 (2) 掌握全局變量和局部變量 注意區(qū)分:自動(dòng)局部變量和靜態(tài)局部變量、全局變量和靜態(tài)全局變量、外部變量,c語(yǔ)言中,形參的缺省的存儲(chǔ)類說(shuō)明是_。 a、a

8、uto b、static c、register d、extern,對(duì)于以下函數(shù)f,計(jì)算f(f(2)的值。 int f(int x) static int k=0; x+=k+; return x; ,2.2 運(yùn)算及流程控制,1、基本運(yùn)算 熟練掌握運(yùn)算符的功能 熟練掌握運(yùn)算符的優(yōu)先級(jí)、結(jié)合性和目數(shù) 熟練掌握隱式類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換 2、表達(dá)式 熟練掌握各類表達(dá)式的組成規(guī)則和計(jì)算過(guò)程,() - . ! + - - (類型名) * ,判斷i和j至少有一個(gè)值為非0的表達(dá)式是_。 a、 i!=0 x1=3/2; x2=x1/2; printf(%d, %.1f, (int)x1, x2) ;,表達(dá)式

9、sizeof(“key”) 的值是_。 a、1 b、2 c、3 d、4 static char s =student; printf(%d,%cn,sizeof(s),*(s+2); 若a是整型變量,表達(dá)式 (a a ) 等價(jià)于_。 a、a b、1 c、0 d、2 表達(dá)式 (722 ) 的值是_。,下列運(yùn)算符中,優(yōu)先級(jí)最低的是_。 a、* b、!= c、+ d、= 算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低的順序依次為_(kāi)。 a、算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算 b、關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算 c、算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算 d、關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算,3、語(yǔ)句 (1) 熟練

10、掌握表達(dá)式語(yǔ)句、空語(yǔ)句、復(fù)合語(yǔ)句; (2) 熟練掌握簡(jiǎn)單控制語(yǔ)句 break、continue、return (3) 熟練掌握選擇控制語(yǔ)句 if、switch (4) 熟練掌握重復(fù)控制語(yǔ)句 for、while、dowhile,c 語(yǔ)言程序的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和_結(jié)構(gòu)。 a、循環(huán) b、遞歸 c、轉(zhuǎn)移 d、嵌套,寫(xiě)出下列程序段的輸出結(jié)果。 char c,k; c=b; k=4; switch(c) case a: k=1; case b: k=2; case c: k=3; printf(%dn,k);,寫(xiě)出下列程序段的輸出結(jié)果。 int k, x; for (k=0, x=0; k

11、=9,輸入12345#后,寫(xiě)出下列程序的輸出結(jié)果。 void main() char c; for(c=getchar(); getchar()!=#; c=getchar() putchar(c); int k ; char *s = “abc”; for( k=10; k != 0; k- ) ; printf ( %d, k ); while( *s+ ) putchar( *s );,2.3 程序結(jié)構(gòu)和函數(shù),1、程序結(jié)構(gòu) 熟練掌握main函數(shù)與其他函數(shù)之間的關(guān)系 包括標(biāo)準(zhǔn)庫(kù)函數(shù)和自定義函數(shù),2、函數(shù)的定義 (1) 熟練掌握函數(shù)定義的ansi c格式 (2) 熟練掌握函數(shù)的參數(shù)(形式參數(shù)

12、和實(shí)在參數(shù))及參數(shù)傳遞,包括指針作為函數(shù)的參數(shù) (3) 熟練掌握函數(shù)的返回值,包括指針作為函數(shù)的返回值,要調(diào)用數(shù)學(xué)函數(shù)時(shí),在#include命令行中應(yīng)包含_。 a、 ”stdio.h” b、 ”string.h” c、 ”math.h” d、 ”ctype.h” 在c語(yǔ)言程序中,若對(duì)函數(shù)類型未加顯式說(shuō)明,則函數(shù)的隱含類型是int.,int z; void p(int *x, int y) +*x; y-; z=*x+y+z; printf(%d, %d, %d#, *x, y, z); ,void main() int x=1, y=5, z=9; p( ,3、函數(shù)的調(diào)用 (1) 函數(shù)調(diào)用的一

13、般格式 熟練掌握通過(guò)函數(shù)名調(diào)用函數(shù),了解通過(guò)函數(shù)指針調(diào)用函數(shù) (2) 掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用,int f(int k) return (k0)?1:f(k-2)+2); ,(3) 熟練掌握標(biāo)準(zhǔn)庫(kù)函數(shù)的調(diào)用 常用數(shù)學(xué)函數(shù): cos、sqrt、pow、exp、fabs、log、log10等 常用字符函數(shù): isalnum、isalpha、isdigit、islower、toupper等 常用字符串函數(shù): strcpy、strcmp、strcat、strlen等,輸入m和n(mn0)后,計(jì)算下列表達(dá)式的值并輸出。 m! n!(m-n)! 要求將計(jì)算階乘的運(yùn)算寫(xiě)成函數(shù)fact(n),函數(shù)返回值的

14、類型為float。,#include float fact(int k); void main() int m,n; scanf(%d%d, ,float fact(int k) float y=1; int i; for(i=2;i=k;i+) y*=i; return y; ,2.4 數(shù)據(jù)的輸入和輸出,1、文件 熟練掌握文件的基本概念 2、標(biāo)準(zhǔn)文件的輸入和輸出 熟練掌握常用輸入輸出函數(shù):scanf、printf、getchar、putchar、gets、puts等,3、緩沖文件系統(tǒng)(文本文件) (1) 熟練掌握文件的打開(kāi)和關(guān)閉 常用函數(shù):fopen和fclose (2) 熟練掌握文件的基本

15、讀寫(xiě)操作 常用函數(shù):fscanf、fprintf、fgetc、fputc、fgets、fputs等 (3) 熟練掌握文件的狀態(tài)檢測(cè) 常用函數(shù):feof等,統(tǒng)計(jì)當(dāng)前目錄下文本文件data.txt中字符 $ 出現(xiàn)的次數(shù),并將統(tǒng)計(jì)結(jié)果寫(xiě)入當(dāng)前目錄下的文本文件res.txt。 #include void main() file *fp1, *fp2; char ch; int count=0; if(fp1=fopen(data.txt,r)=null) printf(不能打開(kāi)文件data.txt!n); exit(0); ,if(fp1=fopen(res.txt,w)=null) printf(不能打開(kāi)文件res.txt!n); exit(0); while(ch=fgetc(fp1)!=eof) if(ch=$) count+; fprintf(fp2,%d,count); fclose(fp1); fclose(fp2); ,2.5 命令行參數(shù)和編譯預(yù)處理,1、命令行參數(shù)(argc、argv)的說(shuō)明、含義和使用。 執(zhí)行程序find nx ould text.txt時(shí), *+argv

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論