全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)語(yǔ)言培訓(xùn)_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)語(yǔ)言培訓(xùn)_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)語(yǔ)言培訓(xùn)_第3頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)語(yǔ)言培訓(xùn)_第4頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)語(yǔ)言培訓(xùn)_第5頁(yè)
已閱讀5頁(yè),還剩263頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c程序設(shè)計(jì)(2012版) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。二級(jí)C語(yǔ)言考試介紹考核內(nèi)容:二級(jí)定位為程序員,考核內(nèi)容包括公共基礎(chǔ)知識(shí)和程序設(shè)計(jì)。所有科目對(duì)基礎(chǔ)知識(shí)作統(tǒng)一要求,使用統(tǒng)一的公共基礎(chǔ)知識(shí)考試大綱和教程。二級(jí)公共基礎(chǔ)知識(shí)在各科筆試中的分值比重為30%(30分)。程序設(shè)計(jì)部分的比重為70%(70分),主要考查考生對(duì)程序設(shè)計(jì)語(yǔ)言使用和編程調(diào)試等基本能力。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。二級(jí)C語(yǔ)言考試介紹考試形式:二級(jí)所有科目的考試包括筆試和上機(jī)考試兩部分。二級(jí)C筆試時(shí)間為90分鐘,上機(jī)時(shí)間改為90分鐘。 二級(jí)C上機(jī)應(yīng)用軟件為 Visual

2、 C+6.0 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。二級(jí)C語(yǔ)言考試介紹 考試成績(jī)劃分為優(yōu)秀、良好、及格和不及格四個(gè)等第成績(jī),筆試或上機(jī)考試成績(jī)只有一門(mén)及格的,下次考試及格的一門(mén)可以免考,兩部分考試均及格者,由教育部考試中心頒發(fā)統(tǒng)一印制的合格證書(shū)。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。二級(jí)C語(yǔ)言培訓(xùn)介紹 實(shí)實(shí)在在學(xué)知識(shí) 順順利利過(guò)考試 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。如何學(xué)二級(jí)C語(yǔ)言 多看書(shū) 多實(shí)踐驗(yàn)證 多讀(背)程序 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第一章 程序設(shè)計(jì)基本概念 什么是C程序?高級(jí)語(yǔ)言 機(jī)器語(yǔ)言源程序 目標(biāo)程序 編譯程序 學(xué)C語(yǔ)

3、言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第一章 程序設(shè)計(jì)基本概念 C語(yǔ)言編譯“三部曲”C源程序 目標(biāo)文件 可執(zhí)行文件 .C .obj .exe編譯連接 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第一章 程序設(shè)計(jì)基本概念 程序設(shè)計(jì)過(guò)程確定數(shù)據(jù)結(jié)構(gòu)(輸入輸出)確定算法(解決問(wèn)題的方法和步驟)編碼。(算法代碼化)調(diào)試程序。(改錯(cuò)和修正)整理和寫(xiě)文檔。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第一章 程序設(shè)計(jì)基本概念 結(jié)構(gòu)化程序的三種結(jié)構(gòu)順序結(jié)構(gòu)(先后順序執(zhí)行)選擇結(jié)構(gòu)(執(zhí)行不同分支的語(yǔ)句)循環(huán)結(jié)構(gòu)(重復(fù)執(zhí)行多次或一次不執(zhí)行) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第一章 程

4、序設(shè)計(jì)基本概念模塊化結(jié)構(gòu)由一個(gè)個(gè)功能模塊構(gòu)成的程序結(jié)構(gòu)為模塊化結(jié)構(gòu)。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) C語(yǔ)言示例一輸出一行信息: e to Sinree!程序名為sinree_c1.c。#include /*命令行,表示文件包含*/main()/*主函數(shù)*/ printf(“ e to Sinree!n); /*輸出信息*/程序輸出結(jié)果 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) C語(yǔ)言示例二輸入兩個(gè)整數(shù),輸出它們的和。程序名為sinree_c2.c。#include /*文件包含*/main()/*主函數(shù)*/ i

5、nt a,b,c;/*聲明定義變量a,b和c*/ scanf(%d%d,&a,&b); /*輸入變量a和b的值*/ c=a+b;/*計(jì)算c等于a與b的和值*/ printf(c=%dn,c);/*輸出變量c的值*/運(yùn)行程序輸入:907 程序結(jié)果:C=97 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C語(yǔ)言示例三輸入兩個(gè)整數(shù),通過(guò)調(diào)用函數(shù)計(jì)算它們的和,然后輸出和值。程序名為sinree_c3.c。#include stdio.h/*文件包含*/int sum(int x,int y)/*定義sum函數(shù)*/ int z;/*聲明定義變量z*/ z=x+y;/*計(jì)算z

6、等于x與y的和值*/ return (z);/*將z的值返回,通過(guò)sum帶回調(diào)用處*/main()/*主函數(shù)*/ int a,b,c;/*聲明定義變量a,b和c*/ scanf(%d%d,&a,&b);/*輸入變量a和b的值*/ c=sum(a,b);/*調(diào)用sum函數(shù),將得到的值賦給c*/ printf(c=%dn,c);/*輸出變量c的值*/運(yùn)行程序輸入:90 7 程序結(jié)果 C=97 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)VC+ 6.0 編輯環(huán)境編輯區(qū) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)VC+ 6.0 編輯環(huán)境

7、啟動(dòng)Visual C+ 6.0環(huán)境編輯源程序文件編譯連接執(zhí)行 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)VC+ 6.0 編輯環(huán)境編譯CtrlF7連接F7運(yùn)行Ctrl+F5 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序的構(gòu)成和格式 任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說(shuō)明和函數(shù)體兩部分組成。 其一般結(jié)構(gòu)如下: 函數(shù)類(lèi)型 函數(shù)名(函數(shù)參數(shù)表) /*函數(shù)說(shuō)明部分*/ 說(shuō)明語(yǔ)句部分; /*函數(shù)體部分*/ 執(zhí)行語(yǔ)句部分; 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序的構(gòu)成和格式 C語(yǔ)言是

8、由函數(shù)組成的 一個(gè)C源程序可由一個(gè)main函數(shù)和若干個(gè)其他函數(shù)組成,其中必須有一個(gè)且只能有一個(gè)main函數(shù)。 C程序總是從main函數(shù)開(kāi)始執(zhí)行。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序的構(gòu)成和格式 C程序語(yǔ)句和數(shù)據(jù)定義必須以分號(hào)“;”結(jié)束。 C語(yǔ)言中,分號(hào)是程序語(yǔ)句的結(jié)束標(biāo)志,也是C語(yǔ)句的必要組成部分。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序的構(gòu)成和格式C語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)。如變量a和變量A系統(tǒng)認(rèn)定為兩個(gè)不同的變量。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序的構(gòu)成和

9、格式C語(yǔ)言數(shù)據(jù)輸入和輸出是由庫(kù)函數(shù)實(shí)現(xiàn)的。 C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句。輸入和輸入操作是由庫(kù)函數(shù)scanf和printf等函數(shù)來(lái)實(shí)現(xiàn)的。 所以一般C程序都要使用命令行語(yǔ)句 #include 注意:命令行以#開(kāi)頭,行尾不能加 ; 號(hào) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序的構(gòu)成和格式C語(yǔ)言用/*注釋內(nèi)容*/形式進(jìn)行程序注釋在“/*”和“*/”之間的所有字符都為注釋符,C系統(tǒng)不對(duì)注釋符進(jìn)行編譯。(另外可以用/用于單行注釋?zhuān)┳⒁猓鹤⑨尣荒芮短资褂?。?* /*/*/ 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序書(shū)寫(xiě)格式

10、建議1. C程序書(shū)寫(xiě)格式自由。 對(duì)于短語(yǔ)句可以多條語(yǔ)句書(shū)寫(xiě)在同一行,也可以將長(zhǎng)語(yǔ)句分寫(xiě)在多行。但需要注意,分行時(shí)不能將一個(gè)單詞分開(kāi),也不能將雙引號(hào)引起來(lái)的字符串分開(kāi)。我們提倡一行一條語(yǔ)句的風(fēng)格。2.C程序書(shū)寫(xiě)采用縮進(jìn)格式。根據(jù)語(yǔ)句的從屬關(guān)系,程序書(shū)寫(xiě)時(shí)采用縮進(jìn)格式,使程序語(yǔ)句的層次結(jié)構(gòu)清晰,提高程序的可讀性。同一層次語(yǔ)句要左對(duì)齊,不同層次的語(yǔ)句要縮進(jìn)若干個(gè)字符,這樣程序?qū)哟吻宄?,便于閱讀和理解。 3.程序中適當(dāng)使用注釋信息。在書(shū)寫(xiě)程序時(shí),適當(dāng)?shù)丶尤胱⑨屚瑯涌稍黾映绦虻目勺x性。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序標(biāo)識(shí)符 C語(yǔ)言中 ,符號(hào)的命名必須遵

11、守一定的規(guī)則,按此規(guī)則命名的符號(hào)稱(chēng)為標(biāo)識(shí)符。合法的標(biāo)識(shí)符命名規(guī)則為: 標(biāo)識(shí)符可以由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線。提醒:c語(yǔ)言標(biāo)識(shí)符中大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序標(biāo)識(shí)符分類(lèi) 關(guān)鍵字(由C語(yǔ)言預(yù)先規(guī)定的,見(jiàn)附錄4)預(yù)定義標(biāo)識(shí)符(預(yù)先定義且具有特殊含義) 用戶(hù)標(biāo)識(shí)符(見(jiàn)名知義) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)C程序常量和變量 關(guān)于常量、變量及數(shù)據(jù)類(lèi)型說(shuō)明的程序?qū)嵗?程序名為sinree_c3.c。 #include main() i

12、nt a=3;/*定義整型變量a并賦予常量值3 */ short r=6; /*定義短整型變量r并賦予常量值6*/ char c=a; /*定義字符變量c并賦予字符常量值a */ float pi=3.14; /*定義單精度實(shí)型變量pi并賦予實(shí)型常量值3.14 */ double s; /*定義雙精度實(shí)型變量s */ s=pi*r*r; /*將pi*r*r值賦給s */ printf(int:%d,short:%d,char:%d,float:%d,double:%dn,sizeof(a), sizeof(r),sizeof(c),sizeof(pi),sizeof(s); /*輸出各變量占內(nèi)

13、存的字節(jié)數(shù) */ printf(a=%d,r=%d,c=%c,pi=%f,s=%lfn,a,r,c,pi,s);/*輸出各變量的值 */ 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)常量 :在程序運(yùn)行過(guò)程中,其值不能改變的量。根據(jù)數(shù)據(jù)類(lèi)型可以分為數(shù)值型(有正、負(fù)之分)【 整型常量(不帶小數(shù)點(diǎn))、實(shí)型常量(必須用小數(shù)點(diǎn))】、字符常量(如a、d)和字符串(“ncre”、”beijing”)常量。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)符號(hào)常量 #include main()double r,s,l;r=5.0;s=3.14*r*

14、r;l=2*3.14*r;printf(s=%f,l=%fn,s,l);符號(hào)常量 #include #define PI 3.14main()double r,s,l;r=5.0;s=PI*r*r;l=2*PI*r;printf(s=%f,l=%fn,s,l); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)符號(hào)常量 用#define命令行(不是語(yǔ)句,所以后面不能加分號(hào))定義一個(gè)字符(通常用大寫(xiě)字母)代表一個(gè)常量 。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)變量: 在程序運(yùn)行過(guò)程中值可以改變的量。 變量實(shí)質(zhì)上代表了內(nèi)存中的某個(gè)存

15、儲(chǔ)單元。 變量必須先定義后使用。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)整型變量 十進(jìn)制: 0 1 2 3 4 5 6 7 8 9 八進(jìn)制: 0 1 2 3 4 5 6 7 c程序中八進(jìn)制開(kāi)頭加0 十六進(jìn)制:0 1 2 3 4 5 6 7 8 9 a b c d e f c程序中十六進(jìn)制開(kāi)頭加 0 x 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)整型常量#include main ()int a=12;printf(a=%d,a=%o,a=%#o,a=%x,a=%#xn,a,a,a,a,a); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程

16、和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)整型變量 基本型: 用int關(guān)鍵字進(jìn)行定義 int k; 一個(gè)定義語(yǔ)句用一個(gè);結(jié)束 多個(gè)變量用,隔開(kāi) int k,m,n;(僅開(kāi)辟存儲(chǔ)單元,不存放初值,此時(shí)變量值無(wú)意義) 變量初始化:int m=1,n=2,k=3; 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 整型數(shù)據(jù)分類(lèi) 短整型:short int 長(zhǎng)整型:int 或 long int 無(wú)符號(hào)型:unsigned 在 vc 6.0中整型常量后面加一個(gè)字母l或L 在無(wú)符號(hào)整數(shù)常量后加u或U 若長(zhǎng)整型無(wú)符號(hào)可以加lu或LU 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的

17、能力。數(shù)據(jù)類(lèi)型名說(shuō)明Visual C+ 6.0環(huán)境Turbo C2.0環(huán)境字節(jié)取值范圍字節(jié)取值范圍short int短整型2-32768327672-3276832767signed short int帶符號(hào)短整型2-32768327672-3276832767unsigned short int無(wú)符號(hào)短整型20655352065535int整型4-214748364821474836472-3276832767signed int帶符號(hào)整型4-214748364821474836472-3276832767unsigned int無(wú)符號(hào)整型40 2065535long int長(zhǎng)整型4-214

18、748364821474836474-21474836482147483647signed long int帶符號(hào)長(zhǎng)整型4-214748364821474836474-21474836482147483647unsigned long int無(wú)符號(hào)長(zhǎng)整型40 40 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 整數(shù)在內(nèi)存中的存儲(chǔ)形式 一個(gè)字節(jié)中的最右邊一位稱(chēng)為最低位; 一個(gè)字節(jié)中的最左邊一位稱(chēng)為最高位; 對(duì)于一個(gè)有符號(hào)整數(shù),最高位用來(lái)存放整數(shù)的符號(hào),稱(chēng)為符號(hào)位。若是正整數(shù),最高位放置0,若是負(fù)整數(shù),最高位放置1。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。

19、第二章 C程序設(shè)計(jì)的初步知識(shí) 整數(shù)在內(nèi)存中的存儲(chǔ)形式 正整數(shù): 原碼表示。 負(fù)整數(shù): 補(bǔ)碼表示。(取反加1) 二進(jìn)制轉(zhuǎn)十進(jìn)制 為 取反減1 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 實(shí)型數(shù)據(jù) 小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成的一種實(shí)數(shù)表示形式。(必須有小數(shù)點(diǎn)) 指數(shù)形式:以“e”或“E”跟一個(gè)整數(shù)來(lái)表示以10為底的冪, “e”或“E”之前必須有數(shù)字,且“e”或“E”后面的指數(shù)必須為整數(shù)。( “e”或“E” 的前后以及數(shù)字之間無(wú)空格) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 實(shí)型數(shù)據(jù) 單精度 float 4個(gè)字節(jié) 雙精度 do

20、uble 8個(gè)字節(jié) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 算術(shù)表達(dá)式 基本算術(shù)表達(dá)式: +、-、*、/、%(%運(yùn)算對(duì)象為整型) 注意:+、-可以看做單目,也可看做雙目運(yùn)算符號(hào)。 雙目運(yùn)算符兩邊運(yùn)算數(shù)的類(lèi)型一致,則所得結(jié)果的類(lèi)型與運(yùn)算數(shù)的類(lèi)型一致。如:1.0/2.0=0.5 =0; 若不一致,自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,轉(zhuǎn)換的原則為“就大” 所有實(shí)型數(shù)運(yùn)算都以雙精度方式進(jìn)行。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 運(yùn)算符的優(yōu)先級(jí) 單目運(yùn)算符“+”和“-”的結(jié)合性是從右到左。在算術(shù)表達(dá)式中,可以使用多層圓括號(hào),但左右括號(hào)必須配對(duì)

21、。 若包含不同優(yōu)先級(jí)的運(yùn)算符,則按運(yùn)算符的優(yōu)先級(jí)由高到低進(jìn)行,若相同,則按結(jié)合方向進(jìn)行。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 強(qiáng)制類(lèi)型轉(zhuǎn)換表達(dá)式 (類(lèi)型名)(表達(dá)式) 如 (int)3.234 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 賦值表達(dá)式 “=”賦值運(yùn)算符,賦值運(yùn)算的功能是先求出右邊表達(dá)式的值,然后把此值賦給 賦值號(hào)左邊的變量。注意: 賦值運(yùn)算符優(yōu)先級(jí)別僅高于逗號(hào)運(yùn)算符;且結(jié)合性為自右向左;賦值表達(dá)式的值為最左邊變量所得的新值。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 復(fù)

22、合賦值表達(dá)式 += n+=2 n=n+2 -= n-=2 n=n-2 *= n*=2 n=n*2 /= n/=2 n=n/2 %= n%=2 n=n%2 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 復(fù)合運(yùn)算中的類(lèi)型轉(zhuǎn)換 兩側(cè)不一致 ,把右側(cè)數(shù)值按左側(cè)變量類(lèi)型進(jìn)行轉(zhuǎn)換。也可用強(qiáng)類(lèi)型轉(zhuǎn)換的方式人為的轉(zhuǎn)換。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí) 自加、自減、逗號(hào)運(yùn)算符 自加 + 使運(yùn)算對(duì)象值加1 自減 - 使運(yùn)算對(duì)象值減1 +i i+ + i ; i+ ; i的 值都加1 前綴加1,后綴不加1 - i i - - i ; i

23、-; i的 值都減1 前綴減1,后綴不減1 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第二章 C程序設(shè)計(jì)的初步知識(shí)#include main()int i=1,j=1,m=1,n=1,k=1;printf(i=%dn,i);m=i+;printf(i=%d,m=%dn,i,m);printf(j=%dn,j);m=+j;printf(j=%d,m=%dn,j,m);printf(n=%dn,n);m=n-;printf(n=%d,m=%dn,n,m);printf(k=%dn,k);m=-k;printf(k=%d,m=%dn,k,m); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。

24、第二章 C程序設(shè)計(jì)的初步知識(shí) 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 表達(dá)式1,表達(dá)式2, 表達(dá)式n 結(jié)合性:從左到右,最后一個(gè)表達(dá)式的值就是此逗號(hào)表達(dá)式的值。逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu)順序結(jié)構(gòu):在程序中按語(yǔ)句出現(xiàn)的順序逐條執(zhí)行。 賦值語(yǔ)句:在賦值表達(dá)式的尾部加上一個(gè)“;”號(hào)。應(yīng)出現(xiàn)在函數(shù)的可執(zhí)行部分。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 數(shù)據(jù)輸出:把數(shù)據(jù)從計(jì)算機(jī)內(nèi)部送到計(jì)算機(jī)外部設(shè)備上的操作。 在VC 6.0環(huán)境下,在調(diào)用輸入和輸出的庫(kù)函數(shù)之前要求在源程序中出現(xiàn)包含頭文件stdio.h的命令行。 學(xué)C語(yǔ)言,就是學(xué)思

25、考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) printf函數(shù) printf(格式控制,輸出項(xiàng)1,輸出項(xiàng)2,) 格式控制是字符串形式,作用是將要輸出的數(shù)據(jù)按照指定的格式輸出和提供需要原樣輸出的文字或字符。 如:d%、f%、e% 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 格式字符 %c %d %o (%#o) %x (%#x) %u %f %e %s %p % 長(zhǎng)度修飾符 在 %和格式字符之間,可以加入長(zhǎng)度修飾符,以保證數(shù)據(jù)輸出格式的正確和對(duì)齊。長(zhǎng)整%ld 短整 %hd 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 寬度說(shuō)明: %和格式字符之間插入一

26、個(gè)整數(shù)常數(shù)來(lái)指定輸出的寬度n 對(duì)于float和double的實(shí)數(shù),可以用n1.n2的形式來(lái)輸出,或者用.n2輸出。 在 %d 和寬度之間加“-”實(shí)現(xiàn)數(shù)據(jù)左對(duì)齊 加“+”在每一個(gè)數(shù)字前面帶正負(fù)號(hào)。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 注意事項(xiàng) 一般在多個(gè)輸出數(shù)之間留逗號(hào)、空格或者回車(chē)。 要輸出%符號(hào),在格式控制符中用% printf函數(shù)有返回值,返回值是本次調(diào)用輸出字符的個(gè)數(shù),包括回車(chē)等控制符。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) scanf函數(shù) scanf(格式控制,輸入項(xiàng)1,輸入項(xiàng)2,) 主要作用是指定輸入時(shí)的數(shù)據(jù)轉(zhuǎn)換格式 ,輸入項(xiàng)

27、之間用逗號(hào)隔開(kāi),對(duì)于int,float,double類(lèi)型變量,在變量之前必須加&符號(hào)作為輸入項(xiàng)。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 格式字符 %c %d %i %o %x %u %f %e %s 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu)輸入整數(shù)或者實(shí)數(shù)這類(lèi)數(shù)值型數(shù)據(jù)時(shí),輸入的數(shù)據(jù)之間必須用空格、回車(chē)符號(hào)等間隔符號(hào)隔開(kāi)。 可以指定輸入數(shù)據(jù)所指定的寬度 一般在使用輸入函數(shù)前使用輸出函數(shù)對(duì)輸入數(shù)據(jù)進(jìn)行說(shuō)明,且盡量不要使用通配符。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu)復(fù)合語(yǔ)句和空語(yǔ)句 語(yǔ)句1; 語(yǔ)句2; 語(yǔ)句n; 學(xué)C

28、語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 空語(yǔ)句 只有一個(gè)分號(hào)的語(yǔ)句。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 例題3.1 A B 提問(wèn): 若A和B桶都裝了水(不一定是裝滿(mǎn)),請(qǐng)問(wèn)如何將A和B桶中的水調(diào)換?(A,B的容積不受限制) 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第三章 順序結(jié)構(gòu) 例題3.2注意: 十進(jìn)制小數(shù)點(diǎn)移位是通過(guò)10的n次方的乘除來(lái)實(shí)現(xiàn).四舍五入在c語(yǔ)言中的操作:可以通過(guò)將小數(shù)點(diǎn)移動(dòng)到舍入數(shù)位前,加0.5,然后取整來(lái)實(shí)現(xiàn),最后再將小數(shù)點(diǎn)移回. 強(qiáng)類(lèi)型轉(zhuǎn)換前要加括號(hào). double類(lèi)型在使用scanf輸入變量時(shí),使用%lf格式

29、控制符. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)選擇結(jié)構(gòu):根據(jù)判斷的結(jié)果(邏輯值)決定程序的不同流程.邏輯值:關(guān)系運(yùn)算和邏輯運(yùn)算都會(huì)得到一個(gè)邏輯值, C語(yǔ)言中,0代表邏輯值“假”,非0(正數(shù)或者負(fù)數(shù))代表“真”. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)關(guān)系運(yùn)算:比較運(yùn)算,進(jìn)行兩個(gè)數(shù)的比較,判斷比較的結(jié)果是否符合指定的條件.關(guān)系運(yùn)算符: = =!=小于 小與等于 大于 大于等于 等于不等于 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)注意:兩個(gè)字符之間不允許有空格關(guān)系運(yùn)算符是雙目運(yùn)算符,具有從左至右的結(jié)合性、=優(yōu)先級(jí)相同,但

30、高于優(yōu)先級(jí)相同的=、!=如a=b關(guān)系運(yùn)算符優(yōu)先級(jí)賦值運(yùn)算符優(yōu)先級(jí) 如 a=b&| 如 b|c&!d 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)優(yōu)先級(jí)比較 !算術(shù)關(guān)系&|賦值如: f=a|b=!c+d&e 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)邏輯運(yùn)算規(guī)則 非運(yùn)算!0為1 !1為0是否 與運(yùn)算1&1為1同時(shí)滿(mǎn)足條件 0&1 1&0 0&0 為0 或運(yùn)算 0|0為0不滿(mǎn)足任何一個(gè)條件 0|1 1|0 1|1為 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)邏輯運(yùn)算規(guī)則 非運(yùn)算!0為1 !1為0是否 與運(yùn)算1&1為1同時(shí)滿(mǎn)足條件 0&

31、1 1&0 0&0 為0 或運(yùn)算 0|0為0不滿(mǎn)足任何一個(gè)條件 0|1 1|0 1|1為 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)邏輯運(yùn)算規(guī)則 關(guān)系式 0 x10在c語(yǔ)言中的表達(dá) 0 x&x10 &或|邏輯表達(dá)式“短路”現(xiàn)象 當(dāng)A為0時(shí),不需計(jì)算B,可知A&B 為0 當(dāng)A為1時(shí),不需計(jì)算B,可知A|B為1 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu) if 語(yǔ)句 if(表達(dá)式) 語(yǔ)句 if(表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu) if 語(yǔ)句 if(表達(dá)式) 語(yǔ)句 如 if (a10?100

32、:200 x0?(-1)*x:x 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)switch表達(dá)式構(gòu)成的選擇結(jié)構(gòu) switch (表達(dá)式) case 常量表達(dá)式1:語(yǔ)句1 case 常量表達(dá)式2:語(yǔ)句2 case 常量表達(dá)式n:語(yǔ)句n default :語(yǔ)句n 通常和break語(yǔ)句聯(lián)合使用,當(dāng)執(zhí)行到break時(shí),立即跳出switch語(yǔ)句. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第四章 選擇結(jié)構(gòu)語(yǔ)句標(biāo)號(hào)和goto語(yǔ)句 goto stop; stop:printf(“endn”); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第五章 循環(huán)結(jié)構(gòu) while語(yǔ)句和用wh

33、ile語(yǔ)句構(gòu)成的循環(huán) while(表達(dá)式) 循環(huán)體 例如: k=0; while (k10) printf(“*”); k+; 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第五章 循環(huán)結(jié)構(gòu) do-while語(yǔ)句及其循環(huán) do 循環(huán)體 while(表達(dá)式); 例如: do i+;s+=i; While(i10); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第五章 循環(huán)結(jié)構(gòu) for語(yǔ)句及其循環(huán) for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體 例如: for(k=0;k10;k+) printf(“*”); 表達(dá)式1;While(表達(dá)式2)循環(huán)體;表達(dá)式3;等價(jià)形式 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)

34、題的過(guò)程和解決問(wèn)題的能力。第五章 循環(huán)結(jié)構(gòu) break語(yǔ)句和continue語(yǔ)句Break在循環(huán)結(jié)構(gòu)中終止本層循環(huán)體;Continue跳過(guò)本次循環(huán)體中余下尚為執(zhí)行的語(yǔ)句,立刻進(jìn)行下一次的循環(huán)條件判定,可以理解為僅結(jié)束本次循環(huán). 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) 字符型常量 C語(yǔ)言中,一個(gè)字符常量代表ASCII字符集(見(jiàn)附錄七)中的一個(gè)字符,用單引號(hào)把一個(gè)字符括起來(lái)作為字符常量. 例如:a為標(biāo)識(shí)符,a為字符型常量. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) 字符型常量 注意: 大寫(xiě)字母和小寫(xiě)字母的ASCII值不同,因而代表不同的字符常量

35、. 單引號(hào)中的空格也是一個(gè)字符常量. 字符常量只能包含一個(gè)字符. 字符常量只能用單引號(hào)括起來(lái),不能用雙括號(hào). 字符常量在內(nèi)存中占一個(gè)字節(jié),存放的是字符的ASCII代碼值. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) 字符型常量 轉(zhuǎn)義字符常量 特定字符n 回車(chē) 反斜杠 單引號(hào) “ 雙引號(hào)ddd 三位八進(jìn)制代表的一個(gè)ASCII字符xhh 二位十六進(jìn)制代表的一個(gè)ASCII字符注意:轉(zhuǎn)義字符常量只代表一個(gè)字符. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) 字符串常量 字符串常量是由雙引號(hào)括起來(lái)的一串字符.在c語(yǔ)言中,系統(tǒng)在每個(gè)字符串的最后自動(dòng)加入一個(gè)字符

36、0作為字符串的結(jié)束標(biāo)志. 注意:“”稱(chēng)為空串,也是一個(gè)字符串常量,占用一個(gè)字節(jié)的存儲(chǔ)空間. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) 字符量的運(yùn)算 在C程序中,字符量可參與任何整數(shù)運(yùn)算. 大小寫(xiě)字母的轉(zhuǎn)換:大寫(xiě)字母ASCII值=小寫(xiě)字母ASCII值-32 可以將數(shù)字字符轉(zhuǎn)換成整數(shù)值,也可以將整數(shù)值轉(zhuǎn)換成數(shù)字字符. 字符量可以進(jìn)行關(guān)系運(yùn)算. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) 字符變量 用關(guān)鍵字char進(jìn)行定義 char ch1=a; 字符變量可以參與整型變量允許的運(yùn)算,有可以使用與字符處理相關(guān)的庫(kù)函數(shù). 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和

37、解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) 字符的輸入和輸出 printf輸出字符時(shí)使用格式說(shuō)明符%c,也可以在c前加入整數(shù)來(lái)指定輸出字符時(shí)所占的寬度. 用scanf輸入字符時(shí)也用格式說(shuō)明符%c,當(dāng)%c一個(gè)接一個(gè)時(shí),字符之間不應(yīng)有間隔符號(hào)(如回車(chē),空格). 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第六章 字符型數(shù)據(jù) putchar和getchar輸入和輸出函數(shù) putchar輸出字符 putchar(ch); getchar輸入字符 ch=getchar(); 注意:只有在用戶(hù)敲入enter鍵時(shí),讀入才開(kāi)始執(zhí)行. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 一個(gè)實(shí)用的c語(yǔ)言源

38、程序總是由許多函數(shù)組成. 這些函數(shù)中可以調(diào)用c提供的庫(kù)函數(shù),也可以調(diào)用由用戶(hù)或他人編寫(xiě)的函數(shù). c源程序在正常情況下總是從main函數(shù)開(kāi)始執(zhí)行,main()結(jié)束. 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù)熟悉c語(yǔ)言提供的豐富庫(kù)函數(shù),應(yīng)正確調(diào)用.調(diào)用c語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)要求使用include命令行. include命令行必須以#開(kāi)頭,系統(tǒng)提供的頭文件以.h為文件的后綴,文件名用一對(duì)雙引號(hào)“”或一對(duì)尖括號(hào)括起來(lái). 標(biāo)準(zhǔn)庫(kù)函數(shù)的調(diào)用形式:出現(xiàn)在表達(dá)式中或者作為獨(dú)立的語(yǔ)句完成某種操作。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)的定義與返回值 函數(shù)定義的語(yǔ)法 函

39、數(shù)返回值的類(lèi)型名 函數(shù)名(類(lèi)型名 形式參數(shù)1,類(lèi)型名 形式參數(shù)2,) 說(shuō)明部分 語(yǔ)句部分 注意:不能在函數(shù)的內(nèi)部定義函數(shù) 。 函數(shù)名和形式參數(shù)都是用戶(hù)命名的標(biāo)識(shí)符,同一程序中,函數(shù)名必須唯一,形式參數(shù)名只要在同一函數(shù)中唯一即可。若在函數(shù)的首部省略了函數(shù)返回值的類(lèi)型名,則默認(rèn)函數(shù)返回值的類(lèi)型為int類(lèi)型。除了返回值類(lèi)型為 int類(lèi)型的函數(shù)外,函數(shù)必須先定義(或說(shuō)明)后調(diào)用。若函數(shù)只是用于完成某些操作,沒(méi)有函數(shù)值返回,則必須把函數(shù)定義成void類(lèi)型。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)的定義與返回值 如: double add (double a,double b)

40、 double s; s=a+b; return s; 函數(shù)體中,除形參外,用到的其他變量必須在說(shuō)明部分進(jìn)行定義,這些變量(包括形參 ),只在函數(shù)被調(diào)用時(shí)才臨時(shí)開(kāi)辟存儲(chǔ)單元,當(dāng)退出函數(shù)時(shí),這些臨時(shí)開(kāi)辟的存儲(chǔ)單元全部被釋放掉,因此這種變量只在函數(shù)體內(nèi)部起作用,與其他函數(shù)體中的變量互不相干,它們可以和其他函數(shù)中的變量同名。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)的定義與返回值 如: double add (double a,double b) double s; s=a+b; return s; 函數(shù)的值通過(guò)return 語(yǔ)句返回,return語(yǔ)句的形式如下:retur

41、n 表達(dá)式; 或 return(表達(dá)式);return語(yǔ)句中表達(dá)式的值就是所求的函數(shù)值,此表達(dá)式值的類(lèi)型必須與函數(shù)首部所說(shuō)明的類(lèi)型一致。若類(lèi)型不一致,則以函數(shù)值的類(lèi)型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換。 當(dāng)程序執(zhí)行到return語(yǔ)句時(shí),程序的流程就返回到調(diào)用該函數(shù)的地方,并帶回函數(shù)值。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)的定義與返回值 如: double add (double a,double b) double s; s=a+b; return s; 在同一個(gè)函數(shù)中,可以根據(jù)需要在多處出現(xiàn)return語(yǔ)句,在函數(shù)體的不同部位退出函數(shù),但return只可能執(zhí)行一次ret

42、urn語(yǔ)句中也可以不含表達(dá)式,這時(shí)必須定義函數(shù)為void類(lèi)型函數(shù)體內(nèi)可以沒(méi)有return語(yǔ)句,這時(shí)必須定義函數(shù)為void類(lèi)型,程序的流程就一直執(zhí)行到函數(shù)末尾的“”,然后返回調(diào)用函數(shù),也沒(méi)有確定的函數(shù)值帶回。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)的兩種調(diào)用方式函數(shù)的一般調(diào)用形式為: 函數(shù)名(實(shí)參表) 若函數(shù)無(wú)形參,調(diào)用形式為 函數(shù)名()一般情況下,可用兩種方式調(diào)用函數(shù): 當(dāng)所調(diào)用的函數(shù)用于求出某個(gè)值時(shí),函數(shù)的調(diào)用可作為表達(dá)式出現(xiàn)在允許表達(dá)式出現(xiàn)的任何地方。 當(dāng)函數(shù)僅進(jìn)行某些操作而不返回函數(shù)值,這時(shí)函數(shù)的調(diào)用可作為一條獨(dú)立的語(yǔ)句。 當(dāng)實(shí)參個(gè)數(shù)多于一個(gè)時(shí),各實(shí)參之間用逗

43、號(hào)隔開(kāi)。實(shí)參的個(gè)數(shù)必須與所調(diào)函數(shù)中的形參相同,類(lèi)型一一對(duì)應(yīng)匹配。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)調(diào)用的語(yǔ)法要求 調(diào)用函數(shù)時(shí),函數(shù)名必須與所調(diào)用的函數(shù)名字完全一致。 實(shí)參的個(gè)數(shù)必須與形參的個(gè)數(shù)一致。實(shí)參可以是表達(dá)式,在類(lèi)型上應(yīng)按位置與形參一一對(duì)應(yīng)。 函數(shù)必須先定義后調(diào)用(函數(shù)的返回值類(lèi)型為int或char時(shí)除外). 函數(shù)可以直接或間接的自己調(diào)用自己,稱(chēng)為遞歸調(diào)用。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)說(shuō)明的形式 函數(shù)說(shuō)明的一般形式 類(lèi)型名 函數(shù)名(參數(shù)類(lèi)型1,參數(shù)類(lèi)型2,) 也可以采用下面的形式 類(lèi)型名 函數(shù)名(參數(shù)類(lèi)型1 參數(shù)1

44、,參數(shù)類(lèi)型2 參數(shù)2,) 函數(shù)說(shuō)明可以是一條獨(dú)立的說(shuō)明語(yǔ)句,也可以與普通變量一起出現(xiàn)。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù) 函數(shù)說(shuō)明的形式 對(duì)函數(shù)進(jìn)行說(shuō)明能使c語(yǔ)言的編譯程序在編譯時(shí)進(jìn)行有效的類(lèi)型檢查。 當(dāng)在所有函數(shù)的外部、被調(diào)用之前說(shuō)明函數(shù)時(shí),在對(duì)函數(shù)進(jìn)行說(shuō)明的語(yǔ)句后面所有位置都可以對(duì)函數(shù)進(jìn)行調(diào)用。 函數(shù)說(shuō)明也可以放在調(diào)用函數(shù)內(nèi)的說(shuō)明部分。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第七章 函數(shù)調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞 三種方式: 1、實(shí)參和形參之間進(jìn)行數(shù)據(jù)傳遞 2、通過(guò) return語(yǔ)句把函數(shù)值返回。 3、通過(guò)全局變量。 在C語(yǔ)言中,數(shù)據(jù)只能從實(shí)參

45、單向傳遞給形參,稱(chēng)為“按值”傳遞,也即是說(shuō),當(dāng)簡(jiǎn)單變量作為實(shí)參時(shí),用戶(hù)不可能在函數(shù)中改變對(duì)應(yīng)實(shí)參的值。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針變量的地址和指針 a b 1012 1013 1201 1202 1203 1204一個(gè)變量實(shí)質(zhì)上是代表了“內(nèi)存中的某個(gè)存儲(chǔ)單元”,若在程序中定義了一個(gè)變量,c編譯系統(tǒng)就會(huì)根據(jù)定義中變量的類(lèi)型,為其分配一定字節(jié)數(shù)的內(nèi)存空間。 每個(gè)變量的地址是指該變量所占存儲(chǔ)單元的第一個(gè)字節(jié)的地址。 直接存?。褐苯影醋兞康牡刂反嫒∽兞恐档姆绞健?學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針變量的地址和指針 p p a 20

46、02 2002 1012 1013存放地址的變量稱(chēng)為“指針變量”。間接存?。和ㄟ^(guò)指針變量間接存取變量值的的方式?!爸羔樧兞縫指向了變量a”就是指針變量p中存放了變量a的地址。 在c語(yǔ)言中,指針被廣泛運(yùn)用,它和數(shù)組、字符串、函數(shù)間數(shù)據(jù)的傳遞等有著密不可分的聯(lián)系。 10121012 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針指針變量的定義和指針變量的基類(lèi)型 定義指針變量的一般形式如下: 類(lèi)型名 *指針變量名1,*指針變量名2,.; 如 int *pi,*pj; double *pd; 我們稱(chēng)int、 double是指針變量的基類(lèi)型。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題

47、的能力。第八章 地址和指針指針變量的定義和指針變量的基類(lèi)型 如: int *p,*s,k=20; s=&k; p=&s;對(duì)于基類(lèi)型不同的指針變量,其內(nèi)容(地址值)增1、減1所跨越的字節(jié)數(shù)是不同的,因?yàn)橹羔樢苿?dòng)的最小單位。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針給指針變量賦地址值通過(guò)求地址運(yùn)算符&獲得地址值 int k=1,*p,*q; q=&k;通過(guò)指針變量獲得地址值 p=q;通過(guò)標(biāo)準(zhǔn)函數(shù)獲得地址值 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針給指針變量賦“空”值 p=NULL;NULL是在stdio.h頭文件中定義的預(yù)定義符,因此在使用NUL

48、L時(shí),應(yīng)該在程序的前面出現(xiàn)預(yù)定義行 #include ,NULL的代碼值為0,因此以上代碼等價(jià)于 p=0;或p=0; 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針 對(duì)指針變量的操作 通過(guò)指針來(lái)引用一個(gè)存儲(chǔ)單元 當(dāng)變量中存放了一個(gè)確切的地址值時(shí),可以用“間接訪問(wèn)運(yùn)算符”*通過(guò)指針來(lái)引用該地址的存儲(chǔ)單元。 如 int *p,j=10,m; p=&j; m=*p; 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針 對(duì)指針變量的操作 間接訪問(wèn)運(yùn)算符*是一個(gè)單目運(yùn)算符,必須出現(xiàn)在運(yùn)算對(duì)象的左邊,其運(yùn)算對(duì)象是存儲(chǔ)地址的指針變量或者是地址。注意: +和*具有相同優(yōu)先級(jí)

49、,結(jié)合性為從右到左 +*p *p+=1 (*p)+ *p+=1 *p+ p+=1 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針 對(duì)指針變量的操作 移動(dòng)指針:對(duì)指針變量加上或減去一個(gè)整數(shù),或通過(guò)賦值運(yùn)算,使指針變量指向相鄰的存儲(chǔ)單元。 在對(duì)指針進(jìn)行加、減運(yùn)算時(shí),數(shù)字“1”不再代表十進(jìn)制整數(shù)“1”,而是指1個(gè)存儲(chǔ)單元長(zhǎng)度。1個(gè)單元長(zhǎng)度的字節(jié)數(shù),根據(jù)指針的基類(lèi)型而定。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針 對(duì)指針變量的操作 指針比較 在關(guān)系表達(dá)式中可以對(duì)兩個(gè)指針進(jìn)行比較, 如: int *p,*q; if(pq) printf(“p points

50、to lower memory”); if(p=0) printf(“p points to NUll”); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第八章 地址和指針 函數(shù)之間地址值的傳遞 形參為指針變量時(shí)實(shí)參和形參之間的數(shù)據(jù)傳遞 通過(guò)傳送地址值在被調(diào)用函數(shù)中直接改變調(diào)用函數(shù)中的變量的值。 函數(shù)返回地址值。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 數(shù)組 一組具有同一類(lèi)型的變量 在內(nèi)存中占有連續(xù)的存儲(chǔ)單元 在c語(yǔ)言中,可以用a0、a1、a2、這種形式來(lái)表示數(shù)組中連續(xù)的存儲(chǔ)單元,我們把它們稱(chēng)為“帶下標(biāo)的變量”或數(shù)組元素。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能

51、力。第九章 數(shù)組 一維數(shù)組的定義 一維數(shù)組:數(shù)組中每個(gè)元素只帶有一個(gè)下標(biāo) 形式: 類(lèi)型名 數(shù)組名整型常量(表達(dá)式) 如: int a8; a0 a1 a2 a3 a4 a5 a6 a7 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組的定義如: int a8; a0 a1 a2 a3 a4 a5 a6 a7定義了一個(gè)名為a的一維數(shù)組。方括號(hào)的8規(guī)定了a數(shù)組含有8個(gè)元素,它們是a0、a1、a7 類(lèi)型名int規(guī)定a數(shù)組中每個(gè)元素都是整型,只能存放整型數(shù)。 每個(gè)元素一個(gè)下標(biāo),c語(yǔ)言規(guī)定每個(gè)數(shù)組第一個(gè)元素的下標(biāo)總是0(下標(biāo)的下界),最后一個(gè)元素的下標(biāo)應(yīng)該是7(下標(biāo)的上界)。 可以

52、用存儲(chǔ)單元的名字a0、a1、a7直接引用各存儲(chǔ)單元。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組的定義 多個(gè)數(shù)組說(shuō)明符 double w22,v100,u5; 和普通變量名一起說(shuō)明 char c1,c2,carr81; 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組元素的引用 引用形式 數(shù)組名下標(biāo)表達(dá)式 如:double x8; 則x0、aj、am+n都是對(duì)數(shù)組元素的合法引用。 注意:一個(gè)數(shù)組元素實(shí)質(zhì)上就是一個(gè)變量名,代表內(nèi)存中的一個(gè)存儲(chǔ)單元,一個(gè)數(shù)組占有一串連續(xù)的存儲(chǔ)單元。另外,在c語(yǔ)言中,一個(gè)數(shù)組不能被整體引用,例如x數(shù)組,不能用x代表x

53、0到x7這8個(gè)元素。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組的初始化 在定義語(yǔ)句中為所定義數(shù)組的各元素賦初值 int a8=0,1,2,3,4,5,6,7; 當(dāng)所賦值初值少于所定義數(shù)組的元素個(gè)數(shù)時(shí),將自動(dòng)給后面的元素補(bǔ)以初值0 如 int a3=1; 相當(dāng)于 int a3=1,0,0 當(dāng)所賦初值多于所定義數(shù)組的元素個(gè)數(shù)時(shí),在編譯時(shí)將給出出錯(cuò)信息。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 通過(guò)賦初值定義數(shù)組的大小 int a=0,1,2,3 相當(dāng)于 int a4=0,1,2,3 數(shù)組說(shuō)明符的一對(duì)方括號(hào)中可以不指定數(shù)組的大小,可以根據(jù)賦初值來(lái)隱

54、性定義數(shù)組元素的個(gè)數(shù)。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組的定義和數(shù)組元素的引用舉例 定義 for (j=0;jM;j+) aj=j; /*依次賦值*/ for(j=0;j=0;j-) printf(“%d”,aj) /*倒序輸出*/ for(j=0;jM;j+) printf(“%d”,aM-1-j) /*倒序輸出*/ 控制換行符 正序 (j+1)%n=0 每輸出n個(gè)元素可以換行 逆序 j%n=0 每輸出n個(gè)元素可以換行 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組和指針 一維數(shù)組和數(shù)組元素的地址 c語(yǔ)言中,在函數(shù)體中或在函數(shù)外部

55、定義的數(shù)組名可以認(rèn)為是一個(gè)存放地址值的指針變量名,其中的地址值是數(shù)組第一個(gè)元素的地址,也就是數(shù)組所占一串連續(xù)存儲(chǔ)單元的起始地址,定義數(shù)組時(shí)的類(lèi)型就是此指針變量的基類(lèi)型。注意:這個(gè)指針變量的地址值不可改變,即不可給數(shù)組名重新賦值,可以認(rèn)為數(shù)組名是一個(gè)地址常量。 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組和指針 一維數(shù)組和數(shù)組元素的地址 float a10,*p,x; int k; for(k=0;k10;k+) p=a+k; for(k=0;k10;k+) scanf(“%d”,a+k); 語(yǔ)句p=&a0;和p=a;都是合法的,功能相同,都使p指向了數(shù)組的首部地址。

56、學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組和指針 一維數(shù)組和數(shù)組元素的地址 for(p=a,k=0;k10;k+) scanf(“%d”,p); p+; for(p=a,k=0;k10;k+) scanf(“%d”,p+); for(p=a;p-a10;p+) scanf(“%d”,p); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 一維數(shù)組和指針 通過(guò)數(shù)組的首地址引用數(shù)組元素 int a10; a是數(shù)組元素的首地址,a的值等于&a0,a+1的值為&a1 a0 等于 *&a0, 即*(a+0),*a a1 等于 *&a1,即*(a+1) 學(xué)C語(yǔ)言,

57、就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 通過(guò)指針引用一維數(shù)組元素 float a10,*p,k; p=a; 可以通過(guò)指針變量p來(lái)表示數(shù)組元素 a0 *p a1 *(p+1) 如 for(p=a;p-a10;p+) printf(“%4d”,*p); 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 通過(guò)指針引用一維數(shù)組元素 float s10,*p,k; p=s; 可以用&sk,s+k,p+k來(lái)表示sk的地址 可以用sk,*(s+k),*(p+k),pk來(lái)表示sk的值 但注意:s是不變的,而p中的地址值是可以改變的 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章

58、 數(shù)組 函數(shù)之間對(duì)一維數(shù)組和數(shù)組元素的引用 數(shù)組元素作實(shí)參 數(shù)組名作實(shí)參 形參形式 int arrin(int *a) int arrin(int a) int arrin(int aM) 注意:當(dāng)數(shù)組名為實(shí)參時(shí),在被調(diào)用函數(shù)中,并沒(méi)有為與數(shù)組名對(duì)應(yīng)的形參另外開(kāi)辟一串連續(xù)的存儲(chǔ)單元,而只是開(kāi)辟了一個(gè)指針變量的存儲(chǔ)單元。 數(shù)組元素地址作為實(shí)參 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 二維數(shù)組 二維數(shù)組:數(shù)組元素帶有兩個(gè)下標(biāo)。邏輯上把二維數(shù)組看成一個(gè)具有行和列的表格。定義形式: 類(lèi)型名 數(shù)組名常量表達(dá)式1常量表達(dá)式2,;如: int a34 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解

59、決問(wèn)題的能力。第九章 數(shù)組 二維數(shù)組 int a34的邏輯結(jié)構(gòu)int a34的實(shí)際存儲(chǔ)結(jié)構(gòu)第0列第1列第2列第3列第0行a00a01a02a03第1行a10a11a12a13第2行a20a21a22a23a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 按行存放 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 二維數(shù)組 在c語(yǔ)言中,可以把一個(gè)二維數(shù)組看成一個(gè)一維數(shù)組,每個(gè)數(shù)組元素又是包含有若干個(gè)元素的一維數(shù)組。例如:int a34這個(gè)a數(shù)組可以看成是由a0、a1、a2三個(gè)元素組成的一維數(shù)組。其中每個(gè)元素又是由四個(gè)元素組成的一維數(shù)組。

60、學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 二維數(shù)組元素的引用 數(shù)組名下標(biāo)表達(dá)式1下標(biāo)表達(dá)式2二維數(shù)組的初始化 int a43=1,2,3,4,5,6,7,8,9,10,11,12; int a43=1,2,4,5,7,10; int a43=1,2,4,5; int a43=1,2,3,4,5; 學(xué)C語(yǔ)言,就是學(xué)思考問(wèn)題的過(guò)程和解決問(wèn)題的能力。第九章 數(shù)組 通過(guò)賦初值定義二維數(shù)組的大小 int a3=1,2,3,4,5,6,8; 第一維大小由行數(shù)來(lái)決定。 int a3=1,2,3,4,5; 第一維大小由以下規(guī)則決定: a、當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值整除時(shí),所得商

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論