第四章 線性代數(shù).ppt_第1頁
第四章 線性代數(shù).ppt_第2頁
第四章 線性代數(shù).ppt_第3頁
第四章 線性代數(shù).ppt_第4頁
第四章 線性代數(shù).ppt_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,第四章 最簡單的C程序設(shè)計(jì)順序程序設(shè)計(jì),2,目標(biāo),掌握字符數(shù)據(jù)輸入輸出函數(shù)用法 熟練使用printf和scanf函數(shù) 理解順序結(jié)構(gòu)程序的設(shè)計(jì)思路,3,4.1 C語句概述,程序的結(jié)構(gòu),一個(gè)c程序可以有若干個(gè)源程序文件組成,一個(gè)源文件由若干個(gè)函數(shù)和預(yù)處理命令以及全局變量聲明部分組成,一個(gè)函數(shù)有函數(shù)首部和函數(shù)體組成,函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語句組成,4,#include /* This is the main program */ main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum); /* This functio

2、n calculates the sum of x and y */ int add(int x,int y) int z; z=x+y; return(z); ,5,控制語句 函數(shù)調(diào)用語句 表達(dá)式語句 空語句 復(fù)合語句,C語句可分為以下五類,6,if( ) else 條件語句 for( ) 循環(huán)語句 while( ) 循環(huán)語句 do while( ) 循環(huán)語句 continue 結(jié)束本次循環(huán)語句 break 終止執(zhí)行switch或循環(huán)語句 switch 多分支選擇語句 goto 轉(zhuǎn)向語句 return 從函數(shù)返回語句 其中,()表示是判別條件, 表示內(nèi)嵌語句,7,由一個(gè)函數(shù)調(diào)用加上分號“;”

3、組成。 其一般形式為: 函數(shù)名(實(shí)際參數(shù)表); 例如: printf(C Program); 調(diào)用庫函數(shù),輸出字符串。,8,表達(dá)式語句由表達(dá)式加上分號“;”組成。 其一般形式為: 表達(dá)式; 例如: a=3 是一個(gè)賦值表達(dá)式 a=3; 是一個(gè)賦值語句,任何表達(dá)式都可以加上分號而成為語句,9,10,復(fù)合語句:把多個(gè)語句用括起來組成的一個(gè)語句。 例如: x=y+z; a=b+c; printf(“%d%d”,x,a); 是一條復(fù)合語句。,11,4.2 賦值語句,賦值語句是由賦值表達(dá)式再加上分號構(gòu)成的 表達(dá)式語句。,12,在變量說明中,不允許連續(xù)給多個(gè)變量賦初值。 如下述說明是錯(cuò)誤的: int a=b

4、=c=5; 必須寫為 int a=5,b=5,c=5; 而賦值語句允許連續(xù)賦值。 a=b=c=5; 是允許的。,在賦值語句的使用中需要注意以下幾點(diǎn):,13,注意賦值表達(dá)式和賦值語句的區(qū)別。 下述語句是合法的: if(x=y+5)0) z=x; 語句的功能是,若表達(dá)式x=y+5大于0則z=x。 下述語句是非法的: if(x=y+5;)0) z=x; 因?yàn)閤=y+5;是語句,不能出現(xiàn)在表達(dá)式中。,賦值表達(dá)式是一種表達(dá)式,它可以出現(xiàn)在任何允許表達(dá)式出現(xiàn)的地方,而賦值語句則不能。,14,4.3 數(shù)據(jù)輸入輸出的概念及在C語言中的實(shí)現(xiàn),一.所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的,15,二.C語言本身不提供

5、輸入輸出語句,輸入和輸出操作是由C函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的,16,三.在使用系統(tǒng)庫函數(shù)時(shí),要用預(yù)編譯命令“#include”將有關(guān)的“頭文件”包括到用戶源文件中.,頭文件,17,4.4 字符數(shù)據(jù)的輸入輸出,4.4.1putchar函數(shù)(字符輸出函數(shù)) 形式:putchar(c),putchar 函數(shù)功能是在顯示器上輸出單個(gè)字符。,c可以是變量或者常量,18,例如: putchar(A); (輸出大寫字母A) putchar(x); (輸出字符變量x的值) putchar(101); (也是輸出字符A) putchar(n); (換行),19,20,4.4.2 getchar函數(shù)(字符輸入函數(shù)),

6、通常把輸入的字符賦予一個(gè)字符變量,如: char c; c=getchar();,形式: getchar();,沒有參數(shù),getchar函數(shù)的功能是從鍵盤上輸入一個(gè)字符。,21,22,4.5 格式輸入與輸出,4.5.1 printf函數(shù)(格式輸出函數(shù)),printf函數(shù)的作用是按用戶指定的格式,輸出若干任意類型的數(shù)據(jù)。,23,1、printf函數(shù)調(diào)用的一般形式 printf(“格式控制字符串”,輸出表列) 其中“格式控制字符串”用于指定輸出格式。 輸出表列是需要輸出的一些數(shù)據(jù). 格式控制字符串可由格式說明和普通字符兩部分組成。 格式說明是以%開頭,在%后面跟有各種格式字符。 普通字符在輸出時(shí)原

7、樣輸出,在顯示中起提示作用。,24,例:格式輸出:printf()函數(shù),printf( a+b = %5.2 f , c );,25,26,27,在使用printf函數(shù)時(shí),還有幾點(diǎn)要說明: (1)除了X,E,G外,其他格式符必須用小寫字母。 (2)可以在printf函數(shù)中的“格式控制”字符串內(nèi)包括“轉(zhuǎn)義字符”,如n,t,r等。 (3)上面介紹的“d,o,x,u,c,s,f,e,g”等字符,用在“%”后面是格式符,不在“%”后面就是普通字符。例如: printf(“c=%cf=%fs=%s”,c,f,s);,普通字符,28,()如果想輸出字符“”,則在“格式控制”字符串中用“”表示。 如: pr

8、intf(“%f %”,1.0/3); 輸出:0.333333%,29,#include void main() int a=123,b=12345; int c=-1; int x1=-2; unsigned int x2=4294967295; char ch=a; float w=123456.1111; double v=1234567891234.2222; double f=123.456; double f2=123.468; printf(%4d,%4dn,a,b); printf(%d,%o,%xn,c,c,c); printf(%d,%o,%x,%un,x1,x1,x1,x

9、1); printf(%d,%o,%x,%un,x2,x2,x2,x2); printf(%cn,ch); printf(%dn,ch); printf(%sn,china); printf(%7sn,china); printf(%-7sn,china); printf(%fn,w); printf(%fn,v); printf(123456789123456789123456789n); printf(%fn,f); printf(%10fn,f); printf(%10.2fn,f); printf(%.2fn,f); printf(%-10.2fn,f); printf(1234567

10、89123456789123456789n); printf(%en,f); printf(%10en,f); printf(%10.2en,f); printf(%.2en,f); printf(%-10.2eqqqn,f); printf(123456789123456789123456789n); printf(%fn,f2); printf(%en,f2); printf(%gn,f2); ,30,31,32,33,#include void main() int a=5,b=7; float x=67.8564,y=-789.124; char c=A; long n=1234567

11、; unsigned u=65535; printf(%d%dn,a,b); printf(%3d%3dn,a,b); printf(%f,%fn,x,y); printf(%-10f,%-10fn,x,y); printf(%8.2f,%3.f,%.4f,%.4f,%3f,%3fn,x,y,x,y,x,y); printf(%e,%10.2en,x,y); printf(%c,%d,%o,%xn,c,c,c,c); printf(%ld,%lo,%xn,n,n,n); printf(%u,%o,%x,%dn,u,u,u,u); printf(%s,%5.3sn,computer,comput

12、er); ,34,35,4.5.2 scanf函數(shù)(格式輸入函數(shù)) scanf(“格式控制字符串”,地址表列);,同printf函數(shù),是由若干個(gè)變量的地址組成的表列,36,37,2、格式說明,38,39,說明: (1)用十進(jìn)制整數(shù)指定輸入的寬度,系統(tǒng)自動(dòng)按它截取所需數(shù)據(jù)。,scanf(%5d, 輸入:12345678 只把12345賦予變量a,其余部分被截去。,scanf(%4d%4d, 輸入:12345678 將把1234賦予a,而把5678賦予b。,40,(2)在%后面加一個(gè)“*”符,表示該輸入項(xiàng),讀入后不賦予相應(yīng)的變量,即跳過該輸入值。,scanf(%d %*d %d, 當(dāng)輸入為:1 2

13、 3時(shí),把1賦予a,2被跳過,3賦予b。,41,(3)scanf函數(shù)中沒有精度控制,如:scanf(%5.2f, 是非法的。 不能企圖用此語句輸入小數(shù)為2位的實(shí)數(shù)。,42,(1)scanf中要求給出變量地址,如給出變量名則會(huì)出錯(cuò)。 如: scanf(“%d”,a);是非法的,應(yīng)改為 scnaf(“%d”, 輸入時(shí): 3,4 ,使用scanf函數(shù)時(shí)應(yīng)注意的問題,43,34 3:4 都不對。 scanf(“%d%d”, 輸入時(shí),兩個(gè)數(shù)據(jù)之間應(yīng)空2個(gè)或更多的空格: 1034 1034 ,44,(3)在輸入字符數(shù)據(jù)時(shí),若格式控制串中無非格式字符,則認(rèn)為所有輸入的字符均為有效字符。 例如: scanf(

14、%c%c%c, 輸入為: def 則把d賦予a, 賦予b, e賦予c。 只有當(dāng)輸入為: def 時(shí),才能把d賦于a, e賦予b, f賦予c。,45,(4)在輸入數(shù)據(jù)時(shí),遇到以下情況時(shí)該數(shù)據(jù)認(rèn)為結(jié)束: 遇空格,TAB或回車作間隔。 按指定寬度結(jié)束,如“%3d”,只取3列。 遇非法輸入。 scanf(“%d%c%f”, 若輸入: 1234a123o.26 a b c,46,格式輸入輸出的規(guī)定比較煩瑣,但又是最基本的。學(xué)習(xí)時(shí)不必花很多的時(shí)間去死記硬背、死扣細(xì)節(jié),重點(diǎn)掌握常用的一些規(guī)定,如“%d”,”%f”,”%c”的使用方法,通過多上機(jī)、多調(diào)試程序來逐步深入、自然地掌握格式輸入輸出的應(yīng)用。,47,4

15、.6 順序結(jié)構(gòu)程序設(shè)計(jì)舉例,學(xué)習(xí)了賦值、輸入和輸出語句,我們就可以編寫簡單的順序結(jié)構(gòu)程序了。,48,#include #include main() float a,b,c,s,area; scanf(%f,%f,%f, ,例4.10輸入三角形的三邊長,求三角形面積。 已知三角形的三邊長a,b,c,則該三角形的面積公式為:,輸入:3,4,6 輸出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33,49,總結(jié),printf() 和 scanf() 函數(shù)屬于格式輸入輸出函數(shù) getchar() 和 putchar() 函數(shù)用來輸入輸出單個(gè)字符的函數(shù) 理解順序

16、結(jié)構(gòu)程序的編程思路,50,51,52,53,scanf(%5d, 輸入:12345678 只把12345賦予變量a,其余部分被截去。,scanf(%4d%4d, 輸入:12345678 將把1234賦予a,而把5678賦予b。,scanf(%d %*d %d, 當(dāng)輸入為:1 2 3時(shí), 把1賦予a,2被跳過,3賦予b。,54,scanf(“%d”,a); scnaf(“%d”,55,scanf(“%d,%d”, 1034 1034 ,56,scanf(%c%c%c, def 則把d賦予a, 賦予b, e賦予c。 def 把d賦于a, e賦予b, f賦予c。,57,scanf(“%d%c%f”, 輸入: 1234a123o.26 a:1234 b:a c:123,58,main() int m=0256, n=256; print(“%o %on”, m, n); 256 400,59,Main() int a=666, b=888; printf(“%dn”,a,b); 輸出結(jié)果是666,60,Main() int a ; a=1234; printf(“-%-06dn”,a); 結(jié)果是 -1234 -,61,Scanf(“%3d%3d”, float f; char c; scanf(“%d%c%f”, 100a1.

溫馨提示

  • 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

提交評論