C語言課件第4章簡單程序.ppt_第1頁
C語言課件第4章簡單程序.ppt_第2頁
C語言課件第4章簡單程序.ppt_第3頁
C語言課件第4章簡單程序.ppt_第4頁
C語言課件第4章簡單程序.ppt_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

,第四章,最簡單的c程序設(shè)計,主要內(nèi)容,4.1 C語句概述 4.2 賦值語句 4.3 數(shù)據(jù)輸入輸出的概念及在c語言中的實現(xiàn) 4.4 字符數(shù)據(jù)的輸入輸出 4.5 格式輸入與輸出 4.6 順序結(jié)構(gòu)程序設(shè)計舉例, 4.1 C語句概述, 4.1 C語句概述(續(xù)),一個c程序可以由若干個源程序文件組成 一個源文件可以由若干個函數(shù)和預(yù)處理命令以及全局變量聲明部分組成 一個函數(shù)由函數(shù)首部和函數(shù)體組成 函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語句組成 C語句分為, 4.1 C語句概述(續(xù)),(一)控制語句完成一定的控制功能 1 if() else 條件語句 2 for() 循環(huán)語句 7 switch() 開關(guān)語句 3 while() 循環(huán)語句 8 goto 轉(zhuǎn)向語句 4 do while() 循環(huán)語句 9 return 返回語句 5 continue 結(jié)束本次循環(huán) 6 break 終止switch語句或循環(huán), 4.1 C語句概述(續(xù)), 4.1 C語句概述(續(xù)), 4.1 C語句概述(續(xù)), 4.1 C語句概述(續(xù)), 4.2 賦值語句,賦值語句是由賦值表達式加上一個分號構(gòu)成 例:a=100 賦值表達式 a=100; 賦值語句 條件不能是賦值表達式,但是賦值表達式 可以包含于條件表達式中 例:if(a=b) t=a; if(a=b)0) t=a; 正確, 4.3 數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn),(一).輸入輸出是以計算機主機為主體而言的 輸出:從計算機向外部輸出設(shè)備(顯示器,打印機) 輸出數(shù)據(jù) 輸入:從輸入設(shè)備(鍵盤,鼠標(biāo),掃描儀)向計算機 輸入數(shù)據(jù)., 4.3 數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn),(二).C語言本身不提供輸入輸出語句,輸入和輸出操作是由C函數(shù)庫中的函數(shù)來實現(xiàn)的 例如: 字符輸入函數(shù): getchar 字符輸出函數(shù):putchar 格式輸入函數(shù): scanf 格式輸出函數(shù): printf 字符串輸入函數(shù):gets 字符串輸出函數(shù):puts, 4.3 數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn),(三).在使用系統(tǒng)庫函數(shù)時,要用預(yù)編譯命令“#include”將有關(guān)的“頭文件”包括到用戶源文件中. 例如:在調(diào)用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時,文件開頭應(yīng)該有: #include “stdio.h” 或: #include ,頭文件, 4.4 字符數(shù)據(jù)的輸入輸出,(一).字符輸出函數(shù) 一般形式:putchar(c) 函數(shù)作用:向終端輸出一個字符,字符型變量或整型變量, 4.4 字符數(shù)據(jù)的輸入輸出(續(xù)),例4.1 輸出單個字符。 #include void main() char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c);putchar(n); ,運行結(jié)果:BOY,putchar(a);putchar(n);putchar(b);putchar(n);putchar(c);putchar(n);,運行結(jié)果:B O Y, 4.4 字符數(shù)據(jù)的輸入輸出(續(xù)),(二).字符輸入函數(shù) 一般形式:getchar() 函數(shù)作用:從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個字符。 函數(shù)值: 從輸入設(shè)備得到的字符。, 4.4 字符數(shù)據(jù)的輸入輸出(續(xù)),例4.2 輸入單個字符。 #include void main() char c; c=getchar(); putchar(c); putchar(n); , 4.5 格式輸入與輸出,(一).格式輸出函數(shù) 函數(shù)作用:向終端(或系統(tǒng)隱含指定的輸出設(shè)備)輸出若干個任意類型的數(shù)據(jù)。 一般格式:printf(格式控制,輸出表列),%d:以帶符號的十進制形式輸出整數(shù) %o:以八進制無符號形式輸出整數(shù) %x:以十六進制無符號形式輸出整數(shù) To be continued, 4.5 格式輸入與輸出(續(xù)),%u:以無符號十進制形式輸出整數(shù) %c:以字符形式輸出,只輸出一個字符 %s:輸出字符串 %f:以小數(shù)形式輸出單,雙精度數(shù),隱含輸出六位小數(shù) %e:以指數(shù)形式輸出實數(shù) %g:選用%f或%e格式中輸出寬度較短的一種格式,不輸 出無意義的0, 4.5 格式輸入與輸出(續(xù)),幾種常見的格式符的修飾符:,L:用于長整型整數(shù),可加在格式符d,o,x,u前面 M(代表一個正整數(shù)):數(shù)據(jù)最小寬度 N(代表一個正整數(shù)):對實數(shù),表示輸出n位小數(shù); 對字符串,表示截取的字符個數(shù) :輸出的數(shù)字或字符在域內(nèi)向左靠, 4.5 格式輸入與輸出(續(xù)),格式符。用來輸出十進制整數(shù)。 幾種用法: :按十進制整型數(shù)據(jù)的實際長度輸出。 :為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于, 則左端補以空格,若大于,則按實際位數(shù)輸出。 例: (,); 若,則輸出結(jié)果為 , :輸出長整型數(shù)據(jù)。 例: ;/* 定義a為長整型變量*/ (,);, 4.5 格式輸入與輸出(續(xù)),(2) 格式符。以八進制整數(shù)形式輸出。 輸出的數(shù)值不帶符號,符號位也一起作為八進制數(shù)的一部分輸出。 例:int a=-1; printf(“%d,%o“,a,a); 在內(nèi)存單元中的存放形式(以補碼形式存放)如下: 1111111111111111 輸出為: , 不會輸出帶負號的八進制整數(shù)。對長整數(shù)(型)可以 用“”格式輸出。還可以指定字段寬度, 例:(“,); 輸出為: 177777。 (數(shù)字前有2個空格), 4.5 格式輸入與輸出(續(xù)),(3)格式符。以十六進制數(shù)形式輸出整數(shù)。同樣不會出 現(xiàn)負的十六進制數(shù)。 例: ; (,); 輸出結(jié)果為: ffff, 可以用“”輸出長整型數(shù),也可以指定輸出字段的寬度 例: “”, 4.5 格式輸入與輸出(續(xù)),(4)格式符,用來輸出型數(shù)據(jù). 一個有符號整數(shù)(型)也可以用格式輸出; 一個型數(shù)據(jù)也可以用格式輸出。 型數(shù)據(jù)也可用或格式輸出。 (5)格式符,用來輸出一個字符。 如: d; (,d); 輸出字符. 一個整數(shù),只要它的值在范圍內(nèi),可以用 “”使之按字符形式輸出,在輸出前,系統(tǒng)會將該整數(shù) 作為ASCII碼轉(zhuǎn)換成相應(yīng)的字符;一個字符數(shù)據(jù)也可以用 整數(shù)形式輸出。, 4.5 格式輸入與輸出(續(xù)),例4.3 無符號數(shù)據(jù)的輸出。 #include void main() unsigned int a=65535;int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b); ,運行結(jié)果: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534, 4.5 格式輸入與輸出(續(xù)),例4.4 字符數(shù)據(jù)的輸出。 #include void main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); ,運行結(jié)果: a,97 a,97, 4.5 格式輸入與輸出(續(xù)),(6)s格式符 輸出字符串. 。例如: (,) 輸出字符串“”(不包括雙引號)。 %ms,輸出的字符串占m列,若串長大于m,則全部輸出,若串長 小于m,則左補空格。 %-ms,若串長小于m,字符串向左靠,右補空格。 %m.ns,輸出占m列,只取字符串中左端n個字符,輸出在m列的 右側(cè),左補空格。 %-m.ns,n個字符輸出在m列的左側(cè),右補空格,若nm,m自 動取n值。, 4.5 格式輸入與輸出(續(xù)),例4.5字符串的輸出。 #include void main() printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); , 4.5 格式輸入與輸出(續(xù)),(7)格式符。用來以小數(shù)形式輸出實數(shù)(包括單雙精度) 有以下幾種用法: 。不指定字段寬度,由系統(tǒng)自動指定字段寬度,使整數(shù) 部分全部輸出,并輸出位小數(shù)。應(yīng)當(dāng)注意,在輸出的數(shù)字中 并非全部數(shù)字都是有效數(shù)字。單精度實數(shù)的有效位數(shù)一般為位。 .。指定輸出的數(shù)據(jù)共占列,其中有位小數(shù)。如果 數(shù)值長度小于,則左端補空格。 .與.基本相同,只是使輸出的數(shù)值向左端 靠,右端補空格。, 4.5 格式輸入與輸出(續(xù)),例4.6 輸出實數(shù)時的有效位數(shù)。 #include void () ,; ; (,); ,運行結(jié)果: ., 4.5 格式輸入與輸出(續(xù)),例4.7輸出雙精度數(shù)時的有效位數(shù)。 #include void () ,; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%f”,x+y); ,運行結(jié)果: 3333333333333.333010, 4.5 格式輸入與輸出(續(xù)),例4.8 輸出實數(shù)時指定小數(shù)位數(shù)。 #include void () float f=123.456; printf(“%f%10f%10.2f%.2f%-10.2fn”,f,f,f,f,f); , 4.5 格式輸入與輸出(續(xù)),(8)格式符,以指數(shù)形式輸出實數(shù)。 可用以下形式: 。不指定輸出數(shù)據(jù)所占的寬度和數(shù)字部分的小數(shù)位數(shù). 例: (,); 輸出: 6列 5列 所輸出的實數(shù)共占列寬度。(注:不同系統(tǒng)的規(guī)定略有不同), 4.5 格式輸入與輸出(續(xù)),說明: 未指定,自動使. 超過給定的列,乃突破列的限制,按實際長度輸出。 第3個數(shù)據(jù)共占列,小數(shù)部分占列。 只指定,未指定,自動使等于數(shù)據(jù)應(yīng)占的長度。 第5個數(shù)據(jù)應(yīng)占列,數(shù)值只有列,由于是“”, 數(shù)值向左靠,右補一個空格。 (注:有的C系統(tǒng)的輸出格式與此略有不同), 4.5 格式輸入與輸出(續(xù)),說明: 用格式輸出占列,用格式輸出占列,用 格式時,自動從上面兩種格式中選擇短者(今以格式為短) 故占列,并按格式用小數(shù)形式輸出,最后3個小數(shù)位為 無意義的,不輸出,因此輸出123.468,然后右補3個空格。 格式用得較少。, 4.5 格式輸入與輸出(續(xù)),說明: 除了X,E,G外,其他格式字符必須用小寫。 可以在printf函數(shù)中的“格式控制”字符串中包含轉(zhuǎn)義字符。 一個格式說明必須以“%”開頭,以9個格式字符之一為結(jié)束,中間可以插入附加格式字符。 想輸出%,則應(yīng)該在格式控制字符串中用連續(xù)兩個%表示, 4.5 格式輸入與輸出(續(xù)),(一).格式輸入函數(shù) 函數(shù)作用:按照變量在內(nèi)存的地址將變量值存 進去。 一般格式:scanf(格式控制,地址表列),同printf函數(shù),是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址, 4.5 格式輸入與輸出(續(xù)),例4.9 用scanf函數(shù)輸入數(shù)據(jù)。 #include void main() int a,b,c; scanf(“%d%d%d”, ,a在內(nèi)存中的地址 &是地址運算符, 4.5 格式輸入與輸出(續(xù)),說明: 對unsigned型變量所需要的數(shù)據(jù),可以用%u,%d或%o,%x格式輸入。 可以指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)自動按它截取所需數(shù)據(jù)。 如果在%后有一個“*”附加說明符,表示跳過它指定的列數(shù)。 輸入數(shù)據(jù)時不能規(guī)定精度。, 4.5 格式輸入與輸出(續(xù)),使用函數(shù)時應(yīng)注意的問題 : (1)函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng) 是變量名。 (2) 如果在“格式控制”字符串中除了格式說明以外還有其他字符, 則在輸入數(shù)據(jù)時在對應(yīng)位置應(yīng)輸入與這些字符相同的字符。 (3) 在用“”格式輸入字符時,空格字符和“轉(zhuǎn)義字符”都作為 有效字符輸入 (4) 在輸入數(shù)據(jù)時,遇以下情況時認為該數(shù)據(jù)結(jié)束。 遇空格,或按“回車”或“跳格”(Tab)鍵; 按指定的寬度結(jié)束,如“”,只取列; 遇非法輸入。, 4.6 順序結(jié)構(gòu)程序設(shè)計舉例,例4.10 輸入三角形的三邊 長,求三角形面積。 假設(shè):三個邊長a,b,c能構(gòu) 成三角形。 已知面積公式: area= s=(a+b+c)*0.5, 4.6 順序結(jié)構(gòu)程序設(shè)計舉例(續(xù)),#include #include void main() float a,b,c,s,area; scanf(“%f,%f,%f”,數(shù)學(xué)函數(shù)庫 因為要用到其中的sqrt函數(shù), 4.6 順序結(jié)構(gòu)程序設(shè)計舉例(續(xù)),例4.11 從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。 void () ,; (); (,); ; (,); ,運行情況: , ,, 4.6 順序結(jié)構(gòu)程序設(shè)計舉例(續(xù)),例4.12 求x2方程的根。 a,b,c由鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論