四章順序程序設計講課教案_第1頁
四章順序程序設計講課教案_第2頁
四章順序程序設計講課教案_第3頁
四章順序程序設計講課教案_第4頁
四章順序程序設計講課教案_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四章順序程序設計

本章主要介紹賦值語句、字符輸入輸出函數以及格式輸入輸出函數。通過本章的學習,讀者可以學會順序結構程序設計的用法,掌握一些常用算法,能編寫較為簡單的C程序。學習目標1.掌握賦值語句、輸入輸出語句2.學會簡單的順序程序設計學習重點輸入、輸出語句學習難點格式輸入輸出語句本章知識網絡圖順序結構程序設計舉例格式輸入與輸出字符數據的輸入輸出數據輸入輸出的概念及在C語言中的實現賦值語句C語言概述順序程序設計4.1C語句概述一、C語句概述1、控制語句

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

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

四個轉移語句(continue、break、goto、

return)4.2賦值語句

賦值語句是由賦值表達式加上一個分號構成

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

4.3數據輸入輸出的概念及在C語言中的實現

1、

輸入、輸出2、C中輸入輸出操作是由函數來實現的

C語言函數庫中有“標準輸入輸出函數”

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

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

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

“#include”將有關的“頭文件”包括到用戶源文

件中。例如:使用標準輸入輸出庫函數時,要用到

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

4.4數據的輸入輸出

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

main()

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

}

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

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

main()

{

putchar(getchar());

}4.5格式輸入與輸出

1、格式輸出函數——printf

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

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

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

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

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

(3)格式字符

對不同類型的數據用不同的格式字符。常用的

有以下幾種格式字符:1、d格式字符。用來輸出十進制整數。有以下

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

的數位小于m,則左端補以空格,若大于m,則按

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

2、o格式符,以八進制數形式輸出整數.由于是將內存

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

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

出現負的十六進制數.例如:inta=-1;printf(“%x,%o,%d”,a,a,a);輸出結果為:ffff,177777,-1

4、u格式符,用來輸出unsined型數據,即無符號數,以十進

制形式輸出.例如: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);}運行結果為:a=-1,177777,ffff,65535b=-2,177776,fffe,655345、c用來輸出一個字符例如:charc=’a’printf(“%c”,c);也可以指定字數寬度.6、S格式符用來輸出一個字符串.有幾種用法:①%s②%ms,輸出的字符串占m列,如果字符串本身的長

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

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

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

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

分全部如數輸出,并輸出六位小數。應當注意,并

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

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

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

數位數,有的C編譯系統自動指定給出6位小數,

指數部分占5位如:e+002,數字按規范化指數形

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

同。此處n指擬輸出的數據的小數部分的小數

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

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

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

用printf函數注意事項

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

2)可用轉義字符

3)%用格式符的起始位

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

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

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

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

格式指示符

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

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

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

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

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

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

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

scanf("num1=%d,num2=%d\n",&num1,&num2);改為:printf("num1=");scanf("%d",&num1);printf("num2=");scanf("%d",&num2);3.輸入數據時,遇到以下情況,系統認為該數據結束:(1)遇到空格,或者回車鍵,或者Tab鍵。(2)遇到輸入域寬度結束。例如“%3d”,只取3列。(3)遇到非法輸入。例如,在輸入數值數據時,遇到字母等非數值符號(數值符號僅由數字字符0-9、小數點和正負號構成)。

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

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

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

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的實數根。a,b,c由鍵盤輸入,a≠0且b2-4ac>0。

#include"

溫馨提示

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

評論

0/150

提交評論