




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第一章 C語(yǔ)言概述第二章 算法第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第四章 最簡(jiǎn)單的C程序設(shè)計(jì)第五章 選擇結(jié)構(gòu)程序設(shè)計(jì)第六章 循環(huán)控制第七章 數(shù)組第八章 函數(shù)第九章 預(yù)處理命令第十章 指針第十一章 結(jié)構(gòu)體第十三章 文件第1頁(yè)/共291頁(yè)2前 言第2頁(yè)/共291頁(yè)3前 言第3頁(yè)/共291頁(yè)4前 言第4頁(yè)/共291頁(yè)5&本章內(nèi)容1.1 C語(yǔ)言發(fā)展史1.2 C語(yǔ)言特點(diǎn)1.3 簡(jiǎn)單C程序分析第一章 C語(yǔ)言概述返回第5頁(yè)/共291頁(yè)6第一章 C語(yǔ)言概述第一章 C語(yǔ)言概述1.1 C語(yǔ)言發(fā)展史1960 ALGOL60 (Algorithmic Language)1987 87 ANSI C 1990 I
2、SO C1972 C (取BCPL第二個(gè)字母)1970 B (取BCPL第一個(gè)字母)1978 標(biāo)準(zhǔn)C 1983 ANSI C1967 BCPL (Basic CombinedProgramming Language)跳轉(zhuǎn)第6頁(yè)/共291頁(yè)7第一章 C語(yǔ)言概述1.2 C語(yǔ)言特點(diǎn)1、簡(jiǎn)練、自由、結(jié)構(gòu)化 (32個(gè)關(guān)鍵字、9種控制語(yǔ)句)2、運(yùn)算符豐富(附錄)34種3、數(shù)據(jù)結(jié)構(gòu)豐富4、可直接對(duì)硬件進(jìn)行操作5、目標(biāo)程序質(zhì)量高6、可移植性好第7頁(yè)/共291頁(yè)8第一章 C語(yǔ)言概述1.3 簡(jiǎn)單C程序分析例1.1 打?。@示)一串字符。運(yùn)行結(jié)果: This is an example./* example1.1
3、*/ main( ) printf(“This is an example. n”); 第8頁(yè)/共291頁(yè)9第一章 C語(yǔ)言概述例1.2 已知角度值45, 求正弦值的2倍。 /*example 1.2*/ #include “math.h” main( ) float x, y; x=45; y=2*sin(x*3.14/180); printf(“Y=%f n”, y); 運(yùn)行結(jié)果: Y=1.413650第9頁(yè)/共291頁(yè)10第一章 C語(yǔ)言概述例1.3 已知三角形三邊 a, b, c, 求面積。 /*example 1.3*/ #include “math.h” main( ) float a
4、, b, c, p, s; scanf(“%f, %f, %f ”, &a, &b, &c); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); printf(“P=%f n S=%f ”, p, s); 輸入:4,5,6 輸出:P=7.500000S=9.921567第10頁(yè)/共291頁(yè)11第一章 C語(yǔ)言概述max( int x , int y ) main( ) /*max number*/ int z ; int a , b , c ; if(xy) z=x ; scanf(“%d,%d”,&a,&b); else
5、z=y ; c=max( a , b ) ; return(z) ; printf(“max=%dn ”, c) ; 例1.4 已知整數(shù) a, b, 求其中的最大數(shù)。第11頁(yè)/共291頁(yè)12第一章 C語(yǔ)言概述C程序結(jié)構(gòu)1、C程序由函數(shù)構(gòu)成C程序=一個(gè)主函數(shù)(main函數(shù))一個(gè)主函數(shù)+若干其他函數(shù)(子或庫(kù))說(shuō)明部分2、函數(shù) 函數(shù)體 數(shù)據(jù)定義執(zhí)行部分(語(yǔ)句)Turbo C有300多個(gè)跳轉(zhuǎn)3、語(yǔ)句書(shū)寫(xiě)自由,后帶分號(hào)“;”4、可用 /*/ 對(duì)C程序作注釋前一頁(yè)第12頁(yè)/共291頁(yè)13&本章內(nèi)容2.1 算法的概念2.4 算法的表示2.5 結(jié)構(gòu)化程序設(shè)計(jì)第二章 算法返回第13頁(yè)/共291頁(yè)14第二
6、章 算法第二章 算法程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語(yǔ)言工具和環(huán)境數(shù)據(jù)結(jié)構(gòu):對(duì)數(shù)據(jù)的描述算法:對(duì)操作的描述#include “math.h” main( ) float x, y; x=45; y=2*sin(x*3.14/180); printf(“Y=%f n”, y); 第14頁(yè)/共291頁(yè)15例如:1+2+3+100=5050 或100+1+99+2+98+49+51+50=100+49*100+50=5050第二章 算法2.1 算法的概念算法:為解決一個(gè)問(wèn)題而采取的方法和步驟。第15頁(yè)/共291頁(yè)16第二章 算法2.4 算法的表示(用流程圖表示算法)起
7、止框處理框判斷框輸入/出框流程線連接點(diǎn)注釋框第16頁(yè)/共291頁(yè)17第二章 算法例2.1 計(jì)算265的平方根順序結(jié)構(gòu)開(kāi)始開(kāi)始X=265Y=X輸出輸出Y結(jié)束結(jié)束NS圖X=265Y=XY開(kāi)始結(jié)束第17頁(yè)/共291頁(yè)18第二章 算法例2.2 打印X的絕對(duì)值分支結(jié)構(gòu)NS圖X=0y n 打印x 打印 -xX=0? x -x結(jié)束開(kāi)始第18頁(yè)/共291頁(yè)19第二章 算法例2.3 計(jì)算1到100的和循環(huán)結(jié)構(gòu)i=100nNS圖 i=1,s=0s=s+ii=i+1打印sy i=1,s=0s=s+ii=i+1打印s當(dāng)i = = !=邏輯運(yùn)算符 ! & |賦值運(yùn)算符 =條件運(yùn)算符 ? :逗號(hào)運(yùn)算符 , 指針運(yùn)
8、算符 * & 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型關(guān)鍵字)第45頁(yè)/共291頁(yè)46第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式二、算術(shù)表達(dá)式1、定義:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來(lái)且符合C語(yǔ)法規(guī)則的式子2、運(yùn)算順序 a*b/c-1.5+a 優(yōu)優(yōu) 先先 級(jí)級(jí) 運(yùn)運(yùn) 算算 符符 結(jié)結(jié) 合合 方方 向向 1 ( ) 里里 層層 優(yōu)優(yōu) 先先 2 + + - - 自自 右右 至至 左左 3 * / % 自自 左左 至至 右右 4 + - 自自 左左 至至 右右 第46頁(yè)/共291頁(yè)473、運(yùn)算類型( 3.7混合運(yùn)算 )(1) 同類型運(yùn)算結(jié)果類型不變(2) 不同類型運(yùn)算先按類型級(jí) 別低向高轉(zhuǎn)換成同一類型, 再計(jì)算
9、double floatlongunsignedint char, short 高低 10+a+ i * f - d/ldoubledouble doubleint4、優(yōu)先級(jí)和結(jié)合性 double第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第47頁(yè)/共291頁(yè)48第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(類型關(guān)鍵字)(表達(dá)式)例: (int) a (float)(5%3) (double)(x+y)三、強(qiáng)制類型轉(zhuǎn)換運(yùn)算注意: (int) x+y 只轉(zhuǎn)換 x的類型后與y相加 (int) x 不等同于int (x)第48頁(yè)/共291頁(yè)49第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式舉例3.10main()int i ; floa
10、t x ; x=3.6 ; i=(int)x ; printf(“x=%f , i=%dn” , x , i ) ; 運(yùn)行結(jié)果:x=3.600000 , i=3第49頁(yè)/共291頁(yè)50第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式四、自增、自減運(yùn)算1、運(yùn)算規(guī)則+i -i 使用前使i值加(減) 1i+ i- 使用后使i值加(減) 12、注意(1) 只能用于變量(2) 右結(jié)合方向(3) 使用時(shí)謹(jǐn)防出錯(cuò)j=+i;j=i+;相當(dāng)于i=i+1;j=i;j=i;i=i+1;第50頁(yè)/共291頁(yè)51第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式3、例運(yùn)運(yùn)算算前前 表表達(dá)達(dá)式式 運(yùn)運(yùn)算算后后 i=3 j=(i+)+(i+)+(i+) i
11、=6, j=9 i=3 j=(+i)+(+i)+(+i) i=6, j=18 i=3, j=4 k=i+j i=4, k=7 i=3 j= -i+ i=4, j=-3 i=3 printf(“%d,%d”,i,i+) 結(jié)結(jié)果果:4,3 第51頁(yè)/共291頁(yè)52第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式3.9 賦值運(yùn)算符和賦值表達(dá)式一、賦值運(yùn)算符及其操作= 將一個(gè)表達(dá)式的值賦給一個(gè)變量二、賦值表達(dá)式 說(shuō)明:(1) 發(fā)生類型轉(zhuǎn)換(自學(xué)60-61頁(yè)) (2) 右結(jié)合例:x= -b/(2*a) a=b=c=5 a= (b=4)+(c=6) 那么a=5=b=c?第52頁(yè)/共291頁(yè)53第三章 數(shù)據(jù)類型、運(yùn)算符與表
12、達(dá)式三、復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算符=運(yùn)算符+賦值號(hào)例:a+= 3 a+= 3 a=a+3a*= x+y a*= x+y a=a*(x+y)a%= b a%= b a=a%b 例: 設(shè) a=3 求下列表達(dá)式的值a+=a-=a*aa+=(a-=a*a)a+=(a=a-a*a)a=a+(a=a-a*a) -12第53頁(yè)/共291頁(yè)54第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式3.10 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式1、逗號(hào)表達(dá)式表達(dá)式1,表達(dá)式2,表達(dá)式n2、運(yùn)算規(guī)則從左到右依次計(jì)算各表達(dá)式的值,以表達(dá)式n的值作為最終值(其優(yōu)先級(jí)最低)例:比較 (設(shè)a=3)a= 3*5, a*4a= (3*5, a*4)計(jì)算后: 值
13、60,a=15 a=12 第54頁(yè)/共291頁(yè)55第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式舉例3.11main()int i ; float f=7.2 ; printf(“i=%d n” ,(f+=4 , i=f) ; printf(“f=%f n” , f ) ; 運(yùn)行結(jié)果:i=11f=11.200000 第55頁(yè)/共291頁(yè)56&本章內(nèi)容4.1 C語(yǔ)句概述4.2 賦值語(yǔ)句4.3 I/O的概念及在C語(yǔ)言中的實(shí)現(xiàn)4.4 字符數(shù)據(jù)的輸入/輸出4.5 格式輸入與輸出第四章 最簡(jiǎn)單的C程序設(shè)計(jì)返回第56頁(yè)/共291頁(yè)57第四章 最簡(jiǎn)單的C程序設(shè)計(jì)4.1 C語(yǔ)句概述第四章 最簡(jiǎn)單的C程序設(shè)計(jì)C語(yǔ)句控
14、制語(yǔ)句(條件、分支、循環(huán))函數(shù)調(diào)用語(yǔ)句(函數(shù)加分號(hào))表達(dá)式語(yǔ)句(表達(dá)式加分號(hào))空語(yǔ)句(一個(gè)單獨(dú)的分號(hào))復(fù)合語(yǔ)句(用 將若干語(yǔ)句括起)第57頁(yè)/共291頁(yè)58第四章 最簡(jiǎn)單的C程序設(shè)計(jì)4.2 賦值語(yǔ)句語(yǔ)句格式:賦值表達(dá)式;例如:if ( ( a=b ) 0 ) t=a ; if ( ( a=b ) ) x=a; if (a=b ) y=a;在 if 后面的小括號(hào)內(nèi)必須是表達(dá)式第58頁(yè)/共291頁(yè)59 C C 程序最基本的成分是語(yǔ)句程序最基本的成分是語(yǔ)句 目前我們已掌握的語(yǔ)句:目前我們已掌握的語(yǔ)句: 變量說(shuō)明語(yǔ)句變量說(shuō)明語(yǔ)句: int a,b,c;: int a,b,c; 表達(dá)式語(yǔ)句:表達(dá)式語(yǔ)句:
15、 x+y;x+y; 特別地:特別地: a=5; a=5; 賦值語(yǔ)句賦值語(yǔ)句第59頁(yè)/共291頁(yè)60 可以編寫(xiě)簡(jiǎn)單程序如:可以編寫(xiě)簡(jiǎn)單程序如: main()main() int x,y; int x,y; x=5; x=5; y=2 y=2* *x x* *x+3x+3* *x-1;x-1; 該程序語(yǔ)法上完整,但還缺少輸出。該程序語(yǔ)法上完整,但還缺少輸出。 第60頁(yè)/共291頁(yè)61 數(shù)據(jù)的輸出數(shù)據(jù)的輸出 用輸出函數(shù)實(shí)現(xiàn)用輸出函數(shù)實(shí)現(xiàn), ,其中的兩種輸出函數(shù):其中的兩種輸出函數(shù): 1.putchar 1.putchar 函數(shù)函數(shù) (字符輸出函數(shù))(字符輸出函數(shù)) 用于輸出一個(gè)字符。用于輸出一個(gè)字符
16、。 如如: : putchar (a); putchar (100); char c=b; putchar (c);第61頁(yè)/共291頁(yè)62 例例:輸出單詞:輸出單詞BoyBoy的完整程序:的完整程序: #include “stdio.h” 注意該語(yǔ)句的作用注意該語(yǔ)句的作用 main() char a, b, c; a=B; b=o; c=y; putchar (a); putchar (b); putchar (c); 第62頁(yè)/共291頁(yè)63 2. printf2. printf函數(shù)(格式輸出函數(shù))函數(shù)(格式輸出函數(shù)) 任意類型、任意格式、任意個(gè)數(shù)。任意類型、任意格式、任意個(gè)數(shù)。 例如:例
17、如: int a=100,b=56;int a=100,b=56; printf(printf(“a=%d,b=%da=%d,b=%d”,a,b);,a,b); 普通字符普通字符 格式說(shuō)明格式說(shuō)明 格式控制格式控制 輸出表列輸出表列 輸出結(jié)果:輸出結(jié)果:a=100,b=56a=100,b=56“% %” 后的字符稱格式字符,不同格式字符對(duì)應(yīng)不同的數(shù)據(jù)類型。后的字符稱格式字符,不同格式字符對(duì)應(yīng)不同的數(shù)據(jù)類型。第63頁(yè)/共291頁(yè)64 d d格式符:按整數(shù)格式輸出格式符:按整數(shù)格式輸出 幾種用法:幾種用法: %d %d 不指定寬度,按實(shí)際寬度輸出不指定寬度,按實(shí)際寬度輸出 %md %md 按指定寬
18、度輸出,按指定寬度輸出,m m為寬度為寬度 %ld %ld 用于輸出長(zhǎng)整型數(shù)用于輸出長(zhǎng)整型數(shù)第64頁(yè)/共291頁(yè)65 例:例: int a=125,b=453;int a=125,b=453; long c=65535; long c=65535; printf( printf(“a=%d,b=%5d,c=%lda=%d,b=%5d,c=%ld”,a,b,c);,a,b,c); 輸出結(jié)果:輸出結(jié)果: a=125,b= 453,c=65535a=125,b= 453,c=65535第65頁(yè)/共291頁(yè)66 c c格式符:用于輸出字符格式符:用于輸出字符 char c=char c=A A; ;
19、printf( printf(“c=%c,%cc=%c,%c”,c,c,B B);); 輸出結(jié)果輸出結(jié)果:c=A,Bc=A,B 輸出對(duì)象既可以是字符變量、字符常量,還可以是整型表達(dá)式。輸出對(duì)象既可以是字符變量、字符常量,還可以是整型表達(dá)式。 第66頁(yè)/共291頁(yè)67 如:如: int a=100;int a=100; char b= char b=A A; ; printf( printf(“n%d,%cn%d,%c”,a,a);,a,a); printf( printf(“n%c,%dn%c,%d”,b,b);,b,b); 輸出結(jié)果:輸出結(jié)果: 100,d100,d A,65 A,65第67
20、頁(yè)/共291頁(yè)68main()main() int x,y; int x,y; x=5; x=5; y=2 y=2* *x x* *x+3x+3* *x-1;x-1; printf( printf(“n y=%dn y=%d”,y);,y); 第68頁(yè)/共291頁(yè)69例4.1 已知三角形三邊 a, b, c, 求面積 #include “math.h”main( ) float a, b, c, p, s; scanf(“%f, %f, %f ”, &a, &b, &c); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); printf(
21、“p=%fns=%f n”, p, s); 第四章 最簡(jiǎn)單的C程序設(shè)計(jì)第69頁(yè)/共291頁(yè)70第四章 最簡(jiǎn)單的C程序設(shè)計(jì)例4.2 已知整型變量x,y的值分別是3和5, 試將它們的值互換。int x=3, y=5, z;z=x; x=y; y=z;zy35x353第70頁(yè)/共291頁(yè)71第四章 最簡(jiǎn)單的C程序設(shè)計(jì)4.3字符數(shù)據(jù)的輸入/輸出2、語(yǔ)句功能:從指定設(shè)備讀一個(gè)字符輸出c的值(字符)1、語(yǔ)句格式輸入:getchar( );輸出:putchar(c);3、說(shuō)明使用標(biāo)準(zhǔn)I/O函數(shù)時(shí),應(yīng)在程序前加預(yù)編譯命令: #include “stdio.h”字符變量第71頁(yè)/共291頁(yè)72第四章 最簡(jiǎn)單的C
22、程序設(shè)計(jì)例4.3 輸入一個(gè)字符并把它輸出出來(lái) #include “stdio.h” main( ) char c; c=getchar( ); putchar(c); 第72頁(yè)/共291頁(yè)73第四章 最簡(jiǎn)單的C程序設(shè)計(jì)1、語(yǔ)句格式輸入 scanf(格式控制,地址表列);輸出 printf(格式控制,輸出表列);2、語(yǔ)句功能按格式控制描述的格式給地址表列中的量 輸入值或輸出輸出表列中各量的值3、格式控制“”括起來(lái)的一串格式字符和其它字符4.4 格式輸入與輸出第73頁(yè)/共291頁(yè)74第四章 最簡(jiǎn)單的C程序設(shè)計(jì)4、格式字符格式字符格式字符 描述對(duì)象描述對(duì)象 說(shuō)明說(shuō)明 %d 整型數(shù)據(jù)整型數(shù)據(jù) 有有 %
23、md ,%ld %f 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù) 小數(shù)部分輸出小數(shù)部分輸出6位位 %e 帶帶e實(shí)數(shù)實(shí)數(shù) 指數(shù)指數(shù)4位,位,2位整數(shù)位整數(shù) %c 字符數(shù)據(jù)字符數(shù)據(jù) %s 字符串?dāng)?shù)據(jù)字符串?dāng)?shù)據(jù) 指定輸出寬度在格式符中插入:m.n例: %10d %10.4f %12.5e 第74頁(yè)/共291頁(yè)75&本章內(nèi)容5.1 關(guān)系運(yùn)算符和關(guān)系表達(dá)式5.2 邏輯運(yùn)算符和邏輯表達(dá)式5.3 if 語(yǔ)句5.4 switch 語(yǔ)句4.5 格式輸入與輸出第五章 選擇結(jié)構(gòu)程序設(shè)計(jì)返回第75頁(yè)/共291頁(yè)76第五章 邏輯運(yùn)算和判斷選取控制第五章 選擇結(jié)構(gòu)程序設(shè)計(jì)5.1 關(guān)系運(yùn)算符和關(guān)系表達(dá)式一、運(yùn)算符與優(yōu)先級(jí) (左結(jié)合性) =
24、= !=同級(jí)同級(jí)高低算術(shù)運(yùn)算 關(guān)系運(yùn)算 賦值運(yùn)算高低第76頁(yè)/共291頁(yè)77第五章 邏輯運(yùn)算和判斷選取控制二、關(guān)系表達(dá)式1、關(guān)系表達(dá)式的形式 2、關(guān)系表達(dá)式的值1 真0 假下列是合法的關(guān)系表達(dá)式:a+b c+d (a=3) b)=(cd)注意:f=abc 表達(dá)式的值。如: 0 x 3 & 2 | 2 b)&(n=cd) 當(dāng)a=1,b=2,c=3,d=4,m=1,n=1時(shí),執(zhí)行結(jié) 果m=0, (n=cd)不被執(zhí)行, n 仍然為13、運(yùn)算中一旦能確定其值,終止計(jì)算如計(jì)算: a&b&c a|b|c2、邏輯運(yùn)算的對(duì)象并非僅限于邏輯量C判斷處理的原則非0 真 0 假例 i
25、f (-5) x=10; else x=0;思考題: 上式去掉括號(hào)后m=ab & n=cd 結(jié)果如何?第80頁(yè)/共291頁(yè)81第五章 邏輯運(yùn)算和判斷選取控制5.3 if 語(yǔ)句(條件語(yǔ)句)一、語(yǔ)句格式任意表達(dá)式可以是復(fù)合語(yǔ)句格式1:if (e) 語(yǔ)句格式2:if (e) 語(yǔ)句1 else 語(yǔ)句2格式3:if (e1 ) 語(yǔ)句1 else if (e2 ) 語(yǔ)句2 else if (e3 ) 語(yǔ)句3 . else if (em ) 語(yǔ)句m else 語(yǔ)句n 第81頁(yè)/共291頁(yè)82第五章 邏輯運(yùn)算和判斷選取控制二、語(yǔ)句功能格式1:if (e) 語(yǔ)句計(jì)算 e 的值并判斷。 e 值非0,則執(zhí)行
26、語(yǔ)句;否則,執(zhí)行下條語(yǔ)句。格式2:if (e) 語(yǔ)句1 else 語(yǔ)句2計(jì)算 e 的值并判斷。 e 值非0,則執(zhí)行語(yǔ)句1;否則,執(zhí)行語(yǔ)句2。下條語(yǔ)句語(yǔ)句1語(yǔ)句2e非00下條語(yǔ)句e語(yǔ)句非00goto第82頁(yè)/共291頁(yè)83第五章 邏輯運(yùn)算和判斷選取控制格式3:if (e ) 語(yǔ)句1 else if (e ) 語(yǔ)句2 else if (e ) 語(yǔ)句3 . else if (e ) 語(yǔ)句m else 語(yǔ)句n 123m計(jì)算 e1 的值并判斷,其值非0執(zhí)行語(yǔ)句1;否則,判斷 e2 的值,其值非0執(zhí)行語(yǔ)句2; 否則,判斷 e3 的值, 其值非0執(zhí)行語(yǔ)句3;否則,. 判斷em 的值,其值非0執(zhí)行語(yǔ)句m ;否
27、則,執(zhí)行語(yǔ)句n00e1e3eme2語(yǔ)句1語(yǔ)句3語(yǔ)句2語(yǔ)句m語(yǔ)句n 下條語(yǔ)句非0非0非0非000.第83頁(yè)/共291頁(yè)84第五章 邏輯運(yùn)算和判斷選取控制例5.1 從鍵盤輸入兩個(gè)整型數(shù),輸出最大數(shù)。main() int a ,b ; scanf(“%d,%d”,&a,&b); if(a=b)printf(“max=%dn”,a); if(ba)printf(“max=%dn”,b);開(kāi)始enda , babaa) a=b; printf(“max=%dn”,a);開(kāi) 始enda , bbaaa=b非00第85頁(yè)/共291頁(yè)86第五章 邏輯運(yùn)算和判斷選取控制例5.2 輸入兩個(gè)整型數(shù),
28、按大小輸出。main() int a ,b ,temp ; scanf(“%d,%d”,&a,&b); if (ba) temp=a;a=b;b=temp; printf(“%d,%dn”,a,b);開(kāi)始enda , bbaa,ba b非00第86頁(yè)/共291頁(yè)87第五章 邏輯運(yùn)算和判斷選取控制例5.3 輸入互不相等的三個(gè)數(shù),按從小到大 順序輸出它們。分析:設(shè)已知的三個(gè)數(shù)為a, b, c。(1)可直接通過(guò)邏輯表達(dá)式和條件語(yǔ)句 設(shè)計(jì)程序。(2)可通過(guò)條件語(yǔ)句和互換變量值設(shè)計(jì) 程序,即經(jīng)過(guò)處理后使:abc第87頁(yè)/共291頁(yè)88第五章 邏輯運(yùn)算和判斷選取控制方法(1):main(
29、)float a, b, c; scanf(“%f %f %f ”,&a,&b,&c); if(ab&bc) printf(“%f,%f,%f”, a, b, c); if(ac&cb) printf(“%f,%f,%f”, a, c, b); if(ba&ac) printf(“%f,%f,%f”, b, a, c); if(bc&ca) printf(“%f,%f,%f”, b, c, a); if(cb&ba) printf(“%f,%f,%f”, c, b, a); if(ca&ab)t=a;a=b;b=t; if
30、(ac)t=a;a=c;c=t; if(bc)t=b;b=c;c=t; printf(“%5.2f, %5.2f, %5.2f ”, a, b, c);第89頁(yè)/共291頁(yè)90例5.4 求一元二次方程 ax2+bx+c=0 的解第五章 邏輯運(yùn)算和判斷選取控制求x1、x2x1、x2endd=0無(wú)實(shí)根yn開(kāi) 始d=b2-4aca, b, c開(kāi) 始求根:x1、x2x1、x2enda, b, cd=b2-4ac第90頁(yè)/共291頁(yè)91第五章 邏輯運(yùn)算和判斷選取控制#include main( ) float a, b, c, d, x1, x2; scanf(“%f %f %f ”,&a,&a
31、mp;b,&c); d=b*b-4*a*c; if (d=0) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(“x1=%f,x2=%fn ”, x1,x2); else printf(“It is no real roots.”); 第91頁(yè)/共291頁(yè)92第五章 邏輯運(yùn)算和判斷選取控制例5.5某運(yùn)輸公司噸公里基本運(yùn)費(fèi)為p,根 據(jù)距離s的遠(yuǎn)近計(jì)費(fèi)標(biāo)準(zhǔn)如下: s250km沒(méi)有折扣 250 s500 2% 折扣500 s1000 5% 折扣 1000 s2000 8% 折扣 2000 s=3000) d=0.15; else if(s
32、=2000) d=0.10; else if(s=1000) d=0.08; else if(s=500) d=0.05; else if(s=250) d=0.02; else d=0.0; f=p*w*s*(1-d); printf(“f=%15.2f ”, f); 第93頁(yè)/共291頁(yè)94第五章 邏輯運(yùn)算和判斷選取控制三、if 語(yǔ)句的嵌套嵌套 if 的一般形式if ( ) if ( ) 語(yǔ)句1 else 語(yǔ)句2else if ( ) 語(yǔ)句3 else 語(yǔ)句4內(nèi)嵌 if內(nèi)嵌 if注意:else 總是與它上面最近的 if 配對(duì)第94頁(yè)/共291頁(yè)95第五章 邏輯運(yùn)算和判斷選取控制if ( )
33、 if ( ) 語(yǔ)句1else if ( ) 語(yǔ)句2 else 語(yǔ)句3內(nèi)嵌 ifif ( ) if ( ) 語(yǔ)句1 else if ( ) 語(yǔ)句2 else 語(yǔ)句3內(nèi)嵌 ifif ( ) if ( ) 語(yǔ)句1else 語(yǔ)句2if ( ) if ( ) 語(yǔ)句1 else 語(yǔ)句2第95頁(yè)/共291頁(yè)96第五章 邏輯運(yùn)算和判斷選取控制分析:a=0 不是二次方程。 b2-4ac=0 有兩個(gè)相等實(shí)根。 b2-4ac0 有兩不等實(shí)根。 b2-4ac0求xyynnd=b -4ac2yna=0開(kāi) 始a , b , cend第97頁(yè)/共291頁(yè)98第五章 邏輯運(yùn)算和判斷選取控制if ( fabs(a)1e-6)
34、 printf(“No!”);else d=b*b-4*a*c; if ( fabs(d)0 ) x1=(-b+sqrt(d)/(2*a); x2=(-b -sqrt(d)/(2*a); printf(“Two real roots:%f,%f ”,x1,x2); else xr= -b/(2*a); xi=sqrt(-d)/(2*a); printf(“Complex roots:%f,%f ”, xr,xi); 第98頁(yè)/共291頁(yè)99第五章 邏輯運(yùn)算和判斷選取控制四、條件運(yùn)算符與條件表達(dá)式1、條件表達(dá)式的一般形式 ? :2、運(yùn)算規(guī)則先計(jì)算表達(dá)式1,若為非0,則以表達(dá)式2的值作為條件表達(dá)式
35、的值;否則,以表達(dá)式3的值為條件表達(dá)式的值。3、優(yōu)先級(jí)算術(shù) 關(guān)系 邏輯運(yùn)算(!除外) 條件運(yùn)算 賦值運(yùn)算高低右結(jié)合第99頁(yè)/共291頁(yè)100第五章 邏輯運(yùn)算和判斷選取控制(1)輸出x和y當(dāng)中的最大值 z=xy ? x : y ; printf(“max=%d”,z);或 printf(“max=%d”,xy?x:y); 或 xy?printf (“%d”,x) : printf (“%d”,y); 舉例:(2)ab?a:b+1等價(jià)于ab?a:(b+1)而不是(ab?a:b)+1(3)ab?a:cd?c:d等價(jià)于ab?a:(cd?c:d)(4)xy?1:5.6 表達(dá)式的值的類型取高的(5)ch=
36、(ch=A&ch=Z)?(ch+32):ch;第100頁(yè)/共291頁(yè)101第五章 邏輯運(yùn)算和判斷選取控制5.4 switch 語(yǔ)句一、語(yǔ)句格式 switch(表達(dá)式) case 常量表達(dá)式1:語(yǔ)句1 case 常量表達(dá)式2:語(yǔ)句2 case 常量表達(dá)式n:語(yǔ)句n default :語(yǔ)句n+1 第101頁(yè)/共291頁(yè)102第五章 邏輯運(yùn)算和判斷選取控制二、執(zhí)行過(guò)程當(dāng)switch后的表達(dá)式的值與某一個(gè)case后的常量表達(dá)式的值相等時(shí),執(zhí)行其后的語(yǔ)句;若無(wú)匹配,則執(zhí)行default后的語(yǔ)句。三、break 語(yǔ)句使流程跳出switch結(jié)構(gòu),終止switch語(yǔ)句的執(zhí)行。第102頁(yè)/共291頁(yè)10
37、3第五章 邏輯運(yùn)算和判斷選取控制例5.7 用switch語(yǔ)句設(shè)計(jì)“例5.5運(yùn)費(fèi)程序”跳轉(zhuǎn) s 1 d=0 1 s 2 d=0.2 2 s 4 d=0.05 4 s 8 d=0.08 8 s 12 d=0.112 =3000) c=12; else c=s/250; switch(c) case 0 : d=0; break; case 1 : d=0.02; break; case 2 : case 3 : d=0.05; break; case 4 : case 5 : case 6 : case 7 : d=0.08; break; case 8 : case 9 : case 10: c
38、ase 11: d=0.1; break; case 12: d=.15; break; f=p*w*s*(1-d); printf(“f=%15.2f ”, f); 第104頁(yè)/共291頁(yè)105第五章作業(yè)第111頁(yè) 5.3 、 5.5、 5.7上機(jī)調(diào)試作業(yè)第111-112頁(yè) 5.6、 5.7第五章 邏輯運(yùn)算和判斷選取控制第105頁(yè)/共291頁(yè)106第五章 邏輯運(yùn)算和判斷選取控制習(xí)題5.5 已知x,求分段函數(shù)值ymain() float x, y; scanf(“%f”, &x); if(x=1&x=10) y=3*x-11; printf(“x=%f, y=%fn”, x,
39、y); 程序1:第106頁(yè)/共291頁(yè)107第五章 邏輯運(yùn)算和判斷選取控制main() float x, y; scanf(“%f”, &x); if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; printf(“x=%f, y=%fn”, x, y); 程序2:第107頁(yè)/共291頁(yè)108第五章 邏輯運(yùn)算和判斷選取控制習(xí)題5.6分析:設(shè)百分制成績(jī)?yōu)閤, 成績(jī)等級(jí)為yA x90B80 x90C70 x80D60 x70Ex60y=第108頁(yè)/共291頁(yè)109第五章 邏輯運(yùn)算和判斷選取控制習(xí)題5.1010a|b|c|d0其他h=分析:設(shè)坐標(biāo)為
40、(x, y), 高度為h設(shè): a=(x-2) + (y-2) 1b=(x+2) + (y-2) 1c=(x+2) + (y+2) 1d=(x-2) + (y+2) 122222222第109頁(yè)/共291頁(yè)110&本章內(nèi)容6.1 概述6.2 goto語(yǔ)句6.3 while語(yǔ)句6.4 do-while語(yǔ)句6.5 for語(yǔ)句6.6 循環(huán)的嵌套6.7 幾種循環(huán)的比較6.8 break語(yǔ)句和continue語(yǔ)句第六章 循環(huán)控制返回第110頁(yè)/共291頁(yè)111第六章 循環(huán)控制第六章 循環(huán)控制C 循環(huán)控制if - goto循環(huán)(6.2) while循環(huán)(6.3)do - while循環(huán) (6.4)f
41、or循環(huán)(6.5)6.1 概述第111頁(yè)/共291頁(yè)112第六章 循環(huán)控制6.2 goto語(yǔ)句及其構(gòu)成的循環(huán)一、goto語(yǔ)句2、語(yǔ)句功能使控制轉(zhuǎn)到語(yǔ)句標(biāo)號(hào)所標(biāo)識(shí)的語(yǔ)句 goto L1;L2: 語(yǔ)句 . L1: 語(yǔ)句 goto L2;例:1、語(yǔ)句格式 goto 語(yǔ)句標(biāo)號(hào)寫(xiě)在語(yǔ)句前的標(biāo)識(shí)符 (后加:)第112頁(yè)/共291頁(yè)113第六章 循環(huán)控制二、用法1、與if語(yǔ)句聯(lián)合使用構(gòu)成循環(huán)2、用來(lái)實(shí)現(xiàn)從多重循環(huán)體內(nèi)轉(zhuǎn)出L1: if(e) 循環(huán)體 goto L1; (當(dāng)型循環(huán))L2: 循環(huán)體 if(e) goto L2; (直到型循環(huán))第113頁(yè)/共291頁(yè)114第六章 循環(huán)控制例6.1 求 s=1+2+3
42、+.+n 的值。 main( ) int i=1, sum=0, n; scanf(“%d”,&n);L1:sum=sum+i; i+; if(i=n) goto L1; printf(“s=%d”,sum); main( ) int i=1, sum=0, n; scanf(“%d”,&n); L1:if(i=n) sum=sum+i; i+; goto L1; printf(“s=%d”,sum); 第114頁(yè)/共291頁(yè)115第六章 循環(huán)控制6.3 while語(yǔ)句“當(dāng)型”循環(huán)一、語(yǔ)句格式while(e)循環(huán)體二、執(zhí)行過(guò)程(先判斷后執(zhí)行)當(dāng)表達(dá)式 e 值為非0時(shí),執(zhí)行循環(huán)體
43、,然后重復(fù)執(zhí)行while語(yǔ)句;當(dāng)e 的值為0 時(shí),結(jié)束循環(huán),執(zhí)行后繼語(yǔ)句。非00循環(huán)體e單語(yǔ)句或復(fù)合語(yǔ)句第115頁(yè)/共291頁(yè)116第六章 循環(huán)控制例6.2 求 s=1+2+3+.+n 的值(用while循環(huán)n=100)。main( ) int i=1, s=0, n; scanf(“%d”,&n); while(i=n) s=s+i; i+; printf(“s=%d”, s);main( ) int i=1, s=0, n; scanf(“%d”,&n); while(i=n) s+=i+; printf(“s=%d”, s);第116頁(yè)/共291頁(yè)117第六章 循環(huán)控制6
44、.4 do-while語(yǔ)句“直到型”循環(huán)一、語(yǔ)句格式do 循環(huán)體while(e);二、執(zhí)行過(guò)程(先執(zhí)行后判斷)先執(zhí)行do后的循環(huán)體,然后判斷表達(dá)式e 的值,若為非0,重復(fù)執(zhí)行循環(huán)體,直到while中的表達(dá)式e 為0,結(jié)束循環(huán)。循環(huán)體e0非0單語(yǔ)句或復(fù)合語(yǔ)句第117頁(yè)/共291頁(yè)118第六章 循環(huán)控制例6.3 求 s=1+2+.+n 的值(用do-while循環(huán)n=100)。main( ) int i=1, s=0, n; scanf(“%d”,&n); do s=s+i; i+; while(i=n); printf(“s=%d”, s);main( ) int i=1, s=0, n
45、; scanf(“%d”,&n); do s+=i+; while(i=n); printf(“s=%d”, s);第118頁(yè)/共291頁(yè)119第六章 循環(huán)控制6.5 for語(yǔ)句及其構(gòu)成的循環(huán)一、語(yǔ)句格式for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體計(jì)算表達(dá)式1計(jì)算表達(dá)式3表達(dá)式2循環(huán)體下一條語(yǔ)句0非0二、執(zhí)行過(guò)程1、計(jì)算表達(dá)式1。2、判斷表達(dá)式2。 若非0,執(zhí)行循環(huán)體,轉(zhuǎn)3; 否則,結(jié)束循環(huán),轉(zhuǎn)4。3、計(jì)算表達(dá)式3。轉(zhuǎn)2。4、執(zhí)行for語(yǔ)句的下一條語(yǔ)句。第119頁(yè)/共291頁(yè)120第六章 循環(huán)控制三、說(shuō)明1、for語(yǔ)句最簡(jiǎn)單、最常用的應(yīng)用形式for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量
46、增值) 循環(huán)體例6.4 求 s=1+2+.+n 的值(用for循環(huán)n=100)。 main( ) int i, s=0, n; scanf(“%d”,&n); for(i=1; i=n; i+) s=s+i; printf(“s=%d”, s); 第120頁(yè)/共291頁(yè)121第六章 循環(huán)控制2、for語(yǔ)句中的三個(gè)表達(dá)式均可省略 注意:(1) 分號(hào)不能省略。 (2) 應(yīng)保證循環(huán)正確執(zhí)行。例 main( ) int i, s, n; scanf(“%d”,&n); for(i=1,s=0; i=n;) s+=i+; printf(“s=%d”, s);main( ) int i=1
47、, s=0, n; scanf(“%d”,&n); for(; in)break; printf(“s=%d”, s);第121頁(yè)/共291頁(yè)122第六章 循環(huán)控制例6.5 給一年級(jí)的小學(xué)生出10道100以內(nèi)的加法練習(xí)題。分析:1、出題 2、回答 3、判斷對(duì)錯(cuò)#include “stdlib.h” main( ) int i , x , y , z ; randomize(); for(i=1; i=10; i+) x=random(99); y=random(99); printf(“%d+%d=”, x , y ); scanf(“%d”, &z); if(z=x+y)pr
48、intf(“nright!n”); else printf(“nwrong!n”);思考:1、做對(duì)幾題 2、總成績(jī)#include “stdlib.h” main( ) int i ,x ,y ,z ; int count=0 ,score=0 ; randomize(); for(i=1; i=3) (注:一行打印3個(gè)數(shù)字) main( ) long i=1, j=1, k ; int n ; printf(“%8ld%8ld”, i , j) ; for(n=3; n=30; n+) k=i+j ; printf(“%8ld”, k) ; if(n%3= =0) printf(“n”) ;
49、 i=j ; j=k ; 第123頁(yè)/共291頁(yè)124第六章 循環(huán)控制例6.7 求分?jǐn)?shù)序列:1/2,2/3,3/5,5/8,8/13, 13/21, .的前20項(xiàng)之和。main() int k ; float i=1 , j=2 , s=0; for(k=1 ; k=20 ; k+) s=s+i/j ; j=i+j ; i=j-i ; printf(“sum=%10.6fn ”, s); 第124頁(yè)/共291頁(yè)125第六章 循環(huán)控制1、循環(huán)的嵌套概念對(duì)各種循環(huán)結(jié)構(gòu)是一樣的, 即某一循環(huán)的循環(huán)體內(nèi)包含另一循環(huán)結(jié)構(gòu)。2、各種循環(huán)結(jié)構(gòu)可以互相嵌套。例for嵌套for( ; ; ) . for( ;
50、; ) . .for-while嵌套for( ; ; ) . while( ) . .6.6 循環(huán)的嵌套多重循環(huán)第125頁(yè)/共291頁(yè)126第六章 循環(huán)控制1、各種循環(huán)結(jié)構(gòu)可以互相替代,但不提倡使用 用goto構(gòu)成的循環(huán)。2、在while和do-while語(yǔ)句構(gòu)成的循環(huán)體中必須 有使循環(huán)趨于結(jié)束的語(yǔ)句,如i+。6.7 幾種循環(huán)的比較3、在while和do-while語(yǔ)句構(gòu)成的循環(huán)中,循環(huán) 變量的初始化必須在循環(huán)之前完成。 4、在while、do-while和for語(yǔ)句構(gòu)成的循環(huán)中, 可以用break和continue跳出或結(jié)束本次循環(huán) 第126頁(yè)/共291頁(yè)127第六章 循環(huán)控制6.8 bre
51、ak語(yǔ)句和continue語(yǔ)句一、break語(yǔ)句1、用來(lái)跳出switch結(jié)構(gòu)。2、用來(lái)跳出當(dāng)前循環(huán)。循 環(huán)break;二、continue語(yǔ)句用來(lái)結(jié)束本次循環(huán),即跳過(guò)當(dāng)前循環(huán)中后繼尚未執(zhí)行的語(yǔ)句,進(jìn)行下 一次循環(huán)循 環(huán)continue;第127頁(yè)/共291頁(yè)128第六章 循環(huán)控制例6.8 利用公式 2/6=1-2 +2-2 +3-2 +4-2 +. 求的 近似值,直到最后一項(xiàng)的值小于10-8為止。 #include “math.h” main() long i=1; double pi=0; while(i*i=1e8) pi=pi+1.0/(i*i); i+; pi=sqrt(6.0*pi)
52、; printf(“ pi=%10.6fn ”, pi);6.9程序舉例第128頁(yè)/共291頁(yè)129第六章 循環(huán)控制例6.8 利用公式 2/6=1-2 +2-2 +3-2 +4-2 +. 求的 近似值,直到最后一項(xiàng)的值小于10-8為止。 #include “math.h” main() long i ; double pi=0; for( i=1 ; i=1e8) break; pi=pi+1.0/(i*i); pi=sqrt(6.0*pi); printf(“ pi=%10.6fn ”, pi) ; 第129頁(yè)/共291頁(yè)130第六章 循環(huán)控制例6. 9 打印100以內(nèi)個(gè)位數(shù)為6,且能被3整
53、除的數(shù)。 main() int i , j ; for(i=0;i=9;i+) j=i*10+6; if(j%3!=0) continue; printf(%d , j ); 可以省略第130頁(yè)/共291頁(yè)131第六章 循環(huán)控制例6.10 寫(xiě)出下列程序的運(yùn)行結(jié)果。 main() int i , j , a=0 ; for ( i=0 ; i2 ; i+ ) for ( j=0 ;j4 ;j+ ) if ( j%2 ) break ; a+ ; a+; printf (%dn,a) ; 第131頁(yè)/共291頁(yè)132第六章 循環(huán)控制例6.11 打印99表。1*1=11*2=2 2*2=41*3=3
54、 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81第132頁(yè)/共291頁(yè)133第六章 循環(huán)控制例6.11
55、打印99表。main() int i , j ; for ( i=1 ; i=9 ; i+ ) for ( j=1 ; j=i ;j+ ) printf ( “%d*%d=%-3d”,j , i, i*j ) ; printf (n) ; 第133頁(yè)/共291頁(yè)134第六章 循環(huán)控制例6.12 百雞百錢問(wèn)題。公雞一只5元,母雞一只3元,小雞三只1元,用100元買一百只雞,問(wèn)公雞、母雞、小雞各多少只?設(shè):公雞x只、母雞y只、小雞z只列等式:x+y+z=10015*x+9*y+z=300第134頁(yè)/共291頁(yè)135第六章 循環(huán)控制例6.12 百雞百錢問(wèn)題。main() int x , y , z
56、; for ( x=1 ; x=20 ; x+ ) for ( y=1 ; y=33 ; y+ ) for ( z=1 ; z=100 ; z+ ) if(x+y+z=100&15*x+9*y+z=300) printf ( “%d,%d,%dn”,x , y, z) ;第135頁(yè)/共291頁(yè)136第六章 循環(huán)控制例6.13 求e x的臺(tái)勞級(jí)數(shù)展開(kāi)式的前n項(xiàng)之和。e x=1+x+ + + (-x)x22!x33! xn-1 (n-1)!main() float x, s=1,t=1 , f=1 ; int i, n; scanf(“%f,%d”,&x,&n); for
57、( i=1 ; i1 ; i- ) if (m%i=0) break ; if(i=1)printf( “%d is a prime number.n”,m); else printf( “%d is not a prime number.n”,m);第137頁(yè)/共291頁(yè)138第六章 循環(huán)控制例6.15 用牛頓迭代法求代數(shù)方程e x-x=0在x=-2附近的一個(gè)實(shí)根。直到滿足|xn+1-xn|=10-6為止。牛頓迭代公式:令: f (x)= e -x -x xn+1=xn- f (xn)是f (x)曲線在xn點(diǎn)處的切線斜率 f (xn) f (xn)f(x)x1f(x1)x2f(x2)x2=x
58、1- f (x1) f (x1)f (x1)= f (x1) x1-x2第138頁(yè)/共291頁(yè)139第六章 循環(huán)控制例6.15 用牛頓迭代法求代數(shù)方程e x-x=0的實(shí)根。#include“math.h”main() float f1 , f0 , x1=-2 , x0 ; do x0=x1; f0=exp(-x0)-x0; f1=-exp(-x0)-1; x1=x0-f0/f1; while(fabs(x1-x0)1e-6); printf ( “%fn”,x1) ;第139頁(yè)/共291頁(yè)140第六章作業(yè)上機(jī)調(diào)試作業(yè)第129頁(yè) 6.2,6.8, 6.14第129頁(yè) 6.2, 6.4 , 6.
59、6, 6.8第六章 循環(huán)控制第140頁(yè)/共291頁(yè)141&本章內(nèi)容7.1 一維數(shù)組7.2 二維數(shù)組7.3 字符數(shù)組第七章 數(shù)組返回第141頁(yè)/共291頁(yè)142第七章 數(shù)組第七章 數(shù)組7.1 一維數(shù)組一、定義類型關(guān)鍵字 數(shù)組名常數(shù)表達(dá)式;標(biāo)識(shí)符數(shù)組體積二、數(shù)組元素?cái)?shù)組名下標(biāo)下界為 0,上界為常數(shù)表達(dá)式-1第142頁(yè)/共291頁(yè)143第七章 數(shù)組例: int a10; float b5;定義一維整型數(shù)組 a和實(shí)型數(shù)組ba數(shù)組中的元素是:a0, a1, a2, a3, a4, a5, a6, a7, a8, a9;b數(shù)組中的元素是: b0, b1, b2, b3, b4 第143頁(yè)/共291
60、頁(yè)144第七章 數(shù)組三、數(shù)組的引用以數(shù)組元素作為引用對(duì)象例7.1 求 s=a1+a2+a10 main( ) int i; float s=0, a10; for(i=0; i10; i+) scanf(“%f ”, &ai); s=s+ai; printf(“s=%fn”, s); 第144頁(yè)/共291頁(yè)145第七章 數(shù)組四、一維數(shù)組的初始化1、在定義數(shù)組時(shí),給數(shù)組元素賦初值例: int a6=1,2,3,4,5,6;2、可只給一部分?jǐn)?shù)組元素賦初值。 例: int a6=1,2,3;3、未賦初值的數(shù)組,各元素值不確定。4、數(shù)組的大小由初始化的數(shù)據(jù)個(gè)數(shù)決定 。 例: int a =1,2,3;5、數(shù)組中全部元素初始化為0 。 例: int a6=0;第145頁(yè)/共291頁(yè)146第七章 數(shù)組例7.2 求Fibonacci數(shù)列的前30項(xiàng)。(一行三個(gè)) main( ) long f30=1,1; int i; for(i=2; i30; i+) fi=fi-1+fi-2; for(i=0; i30; i+) if(i%3=0) printf(“n”) ; printf(“%8ld”, fi) ; 第146頁(yè)/共291頁(yè)147第七
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 修建性設(shè)計(jì)合同范本
- 10萬(wàn)噸煤礦合同范本
- 單位只交社保合同范本
- 公司銷售代理合同范本
- 出售機(jī)械板車合同范本
- 醫(yī)藥培訓(xùn)銷售合同范本
- 個(gè)人精裝房租賃合同范例
- 保潔大掃除合同范本
- 買汽車有沒(méi)有三包合同范本
- 加工基地 合同范本
- 《水稻育秧技術(shù)新》課件
- 2024-2025年第一學(xué)期初中德育工作總結(jié)
- 圍手術(shù)期手術(shù)患者護(hù)理要點(diǎn)
- 2025年大連長(zhǎng)興開(kāi)發(fā)建設(shè)限公司工作人員公開(kāi)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 貨物學(xué) 課件1.3貨物的計(jì)量
- 《鈉離子電池用電解液編制說(shuō)明》
- 全球醫(yī)療旅游經(jīng)濟(jì)的現(xiàn)狀與未來(lái)趨勢(shì)
- 2024年度儲(chǔ)能電站在建項(xiàng)目收購(gòu)合作協(xié)議范本3篇
- 新建冷卻塔布水器項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 廣東省梅州市梅縣區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 2025屆江蘇省南通市海門市海門中學(xué)高三最后一模數(shù)學(xué)試題含解析
評(píng)論
0/150
提交評(píng)論