四章順序程序設(shè)計講課教案_第1頁
四章順序程序設(shè)計講課教案_第2頁
四章順序程序設(shè)計講課教案_第3頁
四章順序程序設(shè)計講課教案_第4頁
四章順序程序設(shè)計講課教案_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第四章順序程序設(shè)計

本章主要介紹賦值語句、字符輸入輸出函數(shù)以及格式輸入輸出函數(shù)。通過本章的學(xué)習(xí),讀者可以學(xué)會順序結(jié)構(gòu)程序設(shè)計的用法,掌握一些常用算法,能編寫較為簡單的C程序。學(xué)習(xí)目標(biāo)1.掌握賦值語句、輸入輸出語句2.學(xué)會簡單的順序程序設(shè)計學(xué)習(xí)重點輸入、輸出語句學(xué)習(xí)難點格式輸入輸出語句本章知識網(wǎng)絡(luò)圖順序結(jié)構(gòu)程序設(shè)計舉例格式輸入與輸出字符數(shù)據(jù)的輸入輸出數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn)賦值語句C語言概述順序程序設(shè)計4.1C語句概述一、C語句概述1、控制語句

二個分支語句(if-else、switch)

三個循環(huán)語句(for、while、do-while)

四個轉(zhuǎn)移語句(continue、break、goto、

return)4.2賦值語句

賦值語句是由賦值表達(dá)式加上一個分號構(gòu)成

如:b=3;if((a=b)>0)t=a;

4.3數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn)

1、

輸入、輸出2、C中輸入輸出操作是由函數(shù)來實現(xiàn)的

C語言函數(shù)庫中有“標(biāo)準(zhǔn)輸入輸出函數(shù)”

字符的輸入與輸出:getchar()、putchar()

字符串的輸入與輸出:gets()、puts()(p135用法)

格式輸入與輸出:scanf()、printf()3、在使用C語言庫函數(shù)時,要用預(yù)編譯命令

“#include”將有關(guān)的“頭文件”包括到用戶源文

件中。例如:使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時,要用到

“stdio.h”文件,在源文件開頭應(yīng)有:#include<stdio.h>或#include“stdio.h”

4.4數(shù)據(jù)的輸入輸出

1、字符輸出函數(shù)——putchar語法:putchar(c)語義:(向stdout終端)輸出一個字符;C可以是字符型變量或整型變量。如:#include<stdio.h>

main()

{putchar(‘\141’);putchar(‘a(chǎn)’);putchar(‘A’+32);putchar(‘\n’);

}

輸出:aaa2、字符輸入函數(shù)——getchar 語法:getchar(),是一個無參函數(shù);語義:(從stdio終端上)輸入一個字符;getchar包含在stdio.h中,是stdio.h中定義

的宏;如:#include<stdio.h>

main()

{

putchar(getchar());

}4.5格式輸入與輸出

1、格式輸出函數(shù)——printf

語法:printf(“格式控制”,輸出表列);

(1)格式控制:是用雙引號括起來的字符串,包含

兩種信息:普通字符和轉(zhuǎn)義字符(這類字符總是原樣輸出)

(2)格式說明:由%和格式控制符組成。如:%d,

%f等;(P77)如:printf(“a=%d,b=%d\n”,a,b);(3)輸出表列輸出項表是可選的。如果要輸出的數(shù)據(jù)不止1個,相鄰2個之間用逗號分開。下面的printf()函數(shù)都是合法的:①printf("Iamastudent.\n");②printf("%d",3+2); ③printf("a=%fb=%5d\n",a,a+3); 必須強(qiáng)調(diào):“格式字符串”中的格式指示符,必須與“輸出項表”中、輸出項的數(shù)據(jù)類型一致,否則會引起輸出錯誤。

(3)格式字符

對不同類型的數(shù)據(jù)用不同的格式字符。常用的

有以下幾種格式字符:1、d格式字符。用來輸出十進(jìn)制整數(shù)。有以下

幾種用法:①%d按整數(shù)的實際長度輸出②%md,m為指定的輸出字段的長度.如果數(shù)據(jù)

的數(shù)位小于m,則左端補(bǔ)以空格,若大于m,則按

實際倍數(shù)輸出.如:printf(“%4d,%4d”,a,b);a=123,b=12345123,12345③%ld輸出長整型數(shù)據(jù).longa=135790;printf(“%ld”,a);

2、o格式符,以八進(jìn)制數(shù)形式輸出整數(shù).由于是將內(nèi)存

單元中的各值(0或1)按八進(jìn)制形式輸出,因此輸出

的數(shù)據(jù)不帶符號.例如:inta=-1;printf(“%d,%o”,a,a);輸出為:-1,1777773、x格式符,以十六進(jìn)制形式輸出整數(shù).同樣不會

出現(xiàn)負(fù)的十六進(jìn)制數(shù).例如:inta=-1;printf(“%x,%o,%d”,a,a,a);輸出結(jié)果為:ffff,177777,-1

4、u格式符,用來輸出unsined型數(shù)據(jù),即無符號數(shù),以十進(jìn)

制形式輸出.例如:main(){unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x%u\n”,b,b,b,b);}運(yùn)行結(jié)果為:a=-1,177777,ffff,65535b=-2,177776,fffe,655345、c用來輸出一個字符例如:charc=’a’printf(“%c”,c);也可以指定字?jǐn)?shù)寬度.6、S格式符用來輸出一個字符串.有幾種用法:①%s②%ms,輸出的字符串占m列,如果字符串本身的長

度大于m,則突破m的限制,將字符串全部輸出.若

串長度小于m,則左補(bǔ)空格.③%-ms,字符串向左靠,右補(bǔ)空格.④%m.ns,輸出占m列,但只取字符串中n個字符,輸

出在m列右側(cè),左補(bǔ)空格⑤%-m,ns同上,輸出在m列左鍘,右補(bǔ)空格.7、f格式,用來輸出實數(shù)(包括單、雙精度),以

小數(shù)形式輸出。有以下幾種用法。①%f不指定字段寬度,由系統(tǒng)自動指定,使整數(shù)部

分全部如數(shù)輸出,并輸出六位小數(shù)。應(yīng)當(dāng)注意,并

非全部數(shù)字都是有效數(shù)字.②%m.nf指定輸出的數(shù)據(jù)共占m列,其中有n位

小數(shù)。如果數(shù)值長度小于m,則左端補(bǔ)空格。③%-m.nf與%m.nf基本相同,只是使輸出的數(shù)值

向左端靠,右端補(bǔ)空格.8、e格式符,以指數(shù)形式輸出實數(shù).可用以下形式:①%e不指定輸出所占的寬度和數(shù)字部分的小

數(shù)位數(shù),有的C編譯系統(tǒng)自動指定給出6位小數(shù),

指數(shù)部分占5位如:e+002,數(shù)字按規(guī)范化指數(shù)形

式輸出.②%m.ne和%-m.ne.m、n和-字符含義與前相

同。此處n指擬輸出的數(shù)據(jù)的小數(shù)部分的小數(shù)

位數(shù)。9、g格式,用來輸出實數(shù),它根據(jù)數(shù)值的大小,

自動選f格式或e格式(選擇輸出時占寬度較小

的一種),且不輸出無意義的零。(4)

用printf函數(shù)注意事項

1)除了X,G,E外,其它格式符必須用小寫字母

2)可用轉(zhuǎn)義字符

3)%用格式符的起始位

在程序中給計算機(jī)提供數(shù)據(jù),可以用賦值語句,也可以用輸入函數(shù)。在C語言中,可使用scanf()函數(shù),通過鍵盤輸入,給計算機(jī)同時提供多個、任意的數(shù)據(jù)。一、scanf()函數(shù)的一般格式

scanf("格式字符串",輸入項首地址表);(1)格式字符串。格式字符串可以包含3種類型的字符:格式指示符、空白字符(空格、Tab鍵和回車鍵)和非空白字符(又稱普通字符)。格式指示符與printf()函數(shù)的相似,空白字符作為相鄰2個輸入數(shù)據(jù)的缺省分隔符,非空白字符在輸入有效數(shù)據(jù)時,必須原樣一起輸入。

2、scanf()函數(shù)的一般格式

(2)輸入項首地址表──由若干個輸入項首地址組成,相鄰2個輸入項首地址之間,用逗號分開。輸入項首地址表中的地址,可以是變量的首地址,也可以是字符數(shù)組名或指針變量。變量首地址的表示方法:&變量名其中“&”是地址運(yùn)算符。例如,“&radius”是指變量radius在內(nèi)存中的首地址。2.scanf()函數(shù)的功能:從鍵盤上接收格式化輸入。二、

格式指示符

格式指示符的一般形式為:%[*][寬度][l]類型字符

1.類型字符類型字符scanf()函數(shù)中,格式字符串“%f%f”。

2.寬度n指定該項輸入數(shù)據(jù)所占列數(shù)為n。換句話說,讀取輸入數(shù)據(jù)中相應(yīng)的n位,但按需要的位數(shù)賦給相應(yīng)的變量,多余部分被舍棄。例如,scanf("%3c%3c",&ch1,&ch2);

printf("ch1=%c,ch2=%c\n",ch1,ch2);假設(shè)輸入“abcdefg”,則系統(tǒng)將讀取的“abc”中的“a”賦給變量ch1;將讀取的“def”中的“d”賦給變量ch2,所以printf()函數(shù)的輸出結(jié)果為:

ch1=a,ch2=d。3.賦值抑制字符*表示本輸入項對應(yīng)的數(shù)據(jù)讀入后,不賦給相應(yīng)的變量(該變量由下一個格式指示符輸入)。例如,scanf("%2d%*2d%3d",&num1,&num2);

printf("num1=%d,num2=%d\n",num1,num2);假設(shè)輸入“123456789”,則系統(tǒng)將讀取“12”并賦值給num1;讀取“34”、但舍棄掉(“*”的作用);讀取“567”并賦值給num2。所以,printf()函數(shù)的輸出結(jié)果為:num1=12,num2=567。4.類型修飾符──l。其含義與printf()中的一樣,短整型和長整型。三、數(shù)據(jù)輸入操作1.如果相鄰2個格式指示符之間,不指定數(shù)據(jù)分隔符(如逗號、冒號等),則相應(yīng)的2個輸入數(shù)據(jù)之間,至少用一個空格分開,或者用Tab鍵分開,或者輸入1個數(shù)據(jù)后,按回車,然后再輸入下1個數(shù)據(jù)。例如,scanf("%d%d",&num1,&num2);假設(shè)給num1輸入12,給num2輸入36,則正確的輸入操作為:12□36↙或者:12↙36↙

注:使用“↙”符號表示按回車鍵操作,在輸入數(shù)據(jù)操作中的作用是,通知系統(tǒng)輸入操作結(jié)束。2.“格式字符串”中出現(xiàn)的普通字符(包括轉(zhuǎn)義字符形式的字符),務(wù)必原樣輸入。例如,scanf("%d,%d",&num1,&num2);假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為:12,36↙另外,scanf()函數(shù)中、格式字符串內(nèi)的轉(zhuǎn)義字符(如\n),系統(tǒng)并不把它當(dāng)轉(zhuǎn)義字符來解釋,從而產(chǎn)生一個控制操作,而是將其視為普通字符,所以也要原樣輸入。例如:scanf("num1=%d,num2=%d\n",&num1,&num2);假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為:num1=12,num2=36\n↙提高人機(jī)交互性建議:為改善人機(jī)交互性,同時簡化輸入操作,在設(shè)計輸入操作時,一般先用printf()函數(shù)輸出一個提示信息,再用scanf()函數(shù)進(jìn)行數(shù)據(jù)輸入。例如,將

scanf("num1=%d,num2=%d\n",&num1,&num2);改為:printf("num1=");scanf("%d",&num1);printf("num2=");scanf("%d",&num2);3.輸入數(shù)據(jù)時,遇到以下情況,系統(tǒng)認(rèn)為該數(shù)據(jù)結(jié)束:(1)遇到空格,或者回車鍵,或者Tab鍵。(2)遇到輸入域?qū)挾冉Y(jié)束。例如“%3d”,只取3列。(3)遇到非法輸入。例如,在輸入數(shù)值數(shù)據(jù)時,遇到字母等非數(shù)值符號(數(shù)值符號僅由數(shù)字字符0-9、小數(shù)點和正負(fù)號構(gòu)成)。

4、使用格式說明符“%c”輸入單個字符時,空格和轉(zhuǎn)義字符均作為有效字符被輸入。例如,scanf("%c%c%c",&ch1,&ch2,&ch3);printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);假設(shè)輸入:A□B□C↙,則系統(tǒng)將字母'A'賦值給ch1,空格'□'賦值給ch2,字母'B'賦值給ch3。

4.6順序結(jié)構(gòu)程序設(shè)計在順序結(jié)構(gòu)程序中,各語句(或命令)是按照位置的先后次序,順序執(zhí)行的,且每個語句都會被執(zhí)行到。

輸入任意三個整數(shù),求它們的和及平均值。

main()

{intnum1,num2,num3,sum;

floataver;

printf("Pleaseinputthreenumbers:");

scanf("%d,%d,%d",&num1,&num2,&num3);/

sum=num1+num2+num3;

aver=sum/3.0;

printf("num1=%d,num2=%d,num3=%d\n",num1,num2,num3);

printf("sum=%d,aver=%7.2f\n",sum,aver);

} 求方程ax2+bx+c=0的實數(shù)根。a,b,c由鍵盤輸入,a≠0且b2-4ac>0。

#include"

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論