版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
順序結(jié)構(gòu)與輸入輸出Wang
HoufengEECS,PKU2013-10-10Wang
Houfeng,EECS,PKU2內(nèi)容順序結(jié)構(gòu)輸入與輸出格式化輸入輸出例子說明C
語言程序結(jié)構(gòu)程序構(gòu)成:若干平行的模塊(函數(shù)),有且僅有一個main
函數(shù),為程序執(zhí)行的起點(diǎn)和終點(diǎn)。函數(shù)的構(gòu)成:函數(shù)首部+函數(shù)體。函數(shù)體的構(gòu)成:非可執(zhí)行語句+可執(zhí)行語句。非可執(zhí)行語句:主要包含變量說明語句(如,整型,實(shí)型變量說明,也稱變量
)??蓤?zhí)行語句,分號結(jié)束;2013-10-10Wang
Houfeng,EECS,PKU32013
g
g,
,4/*
example calculatethe
sum
of
a
and
b*/#include
<stdio.h>//
This
is
the
mainprogram
*/main(){ int
a,b,sum;a=10;
b=24;sum=add(a,b);printf(”sum=
%d\n",sum);}/*
This
function
calculates
thesum
of
x
and
y
*/int
add(int
x,int
y){
int
z;z=x+y;return(z);}函數(shù)輸入/輸出必須的包含文件可執(zhí)行語句非可執(zhí)行語句2013-10-10Wang
Houfeng,EECS,PKU5C語言的可執(zhí)行語句分類控制語句:函數(shù)調(diào)用;賦值語句;空語句;2013-10-10Wang
Houfeng,EECS,PKU6控制語句完成特定的控制功能if()
~elsefor()~while()~do
~while()continuebreakswitch()gotoreturn條件語句,用于條件判斷循環(huán)語句,用于循環(huán)循環(huán)語句,用于循環(huán)循環(huán)語句,用于循環(huán)繼續(xù)語句,用于繼續(xù)(或空)間斷語句,跳出當(dāng)前的復(fù)合語句范圍開關(guān)語句,多分支轉(zhuǎn)向語句,改變方向返回語句,函數(shù)結(jié)束并返回值2013-10-10Wang
Houfeng,EECS,PKU7函數(shù)調(diào)用語句函數(shù)調(diào)用加一個分號構(gòu)成一個語句例子,前面程序中的:sum=add(a,b);2013-10-10Wang
Houfeng,EECS,PKU8賦值語句賦值表達(dá)式M
=
I
-
K賦值語句:賦值表達(dá)式后面帶上分號M
=
I
-
K;可執(zhí)行語句的表示單語句:以“;”作分隔符,可以1行寫多條語句,例:total=total+limit;
printf(“
o,world!\n”);通常情況下,1行只寫1條語句,
total=total+limit;printf(“
o,world!\n”);2013-10-10Wang
Houfeng,EECS,PKU9可執(zhí)行語句的表示(續(xù))復(fù)合語句:多個單語句由花括號括起來,如:{total=total+limit;printf(“
o,world!\n”);}注意:反括號后面沒有分號。使用復(fù)合語句的時機(jī):控制語句(如條件、循環(huán)語句)需要同時控制多條語句時2013-10-10Wang
Houfeng,EECS,PKU102013-10-10Wang
Houfeng,EECS,PKU11程序的三種基本結(jié)構(gòu)三種基本控制結(jié)構(gòu)順序結(jié)構(gòu)分支(選擇)重復(fù)(循環(huán))順序結(jié)構(gòu)何謂順序結(jié)構(gòu)?語句的執(zhí)行順序與語句書寫的順一致何謂順序程序設(shè)計(jì)?具有順序結(jié)構(gòu)的程序設(shè)計(jì)Statement-1Statement-22013-10-10Wang
Houfeng,EECS,PKU122013-10-10Wang
Houfeng,EECS,PKU13賦值語句賦值語句是一種典型的不改變順序的語句:k++
是語句嗎?(x+y)*5
是語句嗎?y=6
是語句嗎?k++;是語句y=3;
是語句x=y+8;也是語句語句與表達(dá)式的區(qū)別?2013-10-10Wang
Houfeng,EECS,PKU14小思考:變量值交換想將兩個整形變量x和y的值互相交換,如何實(shí)現(xiàn)?想將兩個整形變量x
和y
的值互相交換,不能引入或借助于任何其他變量,如何實(shí)現(xiàn)?2013-10-10Wang
Houfeng,EECS,PKU15賦值符號C語言中的賦值號“=”是一個運(yùn)算符,在其他大多數(shù)語言中賦值號不是運(yùn)算;賦值號“=”不表示大小比較,只表示將賦值號右邊的運(yùn)算結(jié)果賦給左邊的變量;賦值號左邊必須是變量,也稱為左值;賦值號將左右兩邊的式子連接成賦值表達(dá)式,當(dāng)后面增加分號“;”
時,為賦值語句;單增(減)運(yùn)算后加分號“;”,也成為語句,可以看作特殊賦值語句,如,K++;
++m; --n;2013-10-10Wang
Houfeng,EECS,PKU16內(nèi)容順序結(jié)構(gòu)輸入與輸出格式化輸入輸出例子說明輸入與輸出所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的;)輸出數(shù)輸出:從計(jì)算機(jī)向外部輸出設(shè)備(顯示器,據(jù)。輸入:從輸入設(shè)備(鍵盤,鼠標(biāo),掃描儀)向計(jì)算機(jī)輸入數(shù)據(jù)。2013-10-10Wang
Houfeng,EECS,PKU172013-10-10Wang
Houfeng,EECS,PKU18C語言的輸入輸出實(shí)現(xiàn)C
語言本身并不提供輸入輸出語句,其功能由標(biāo)準(zhǔn)函數(shù)提供,C語言的標(biāo)準(zhǔn)函數(shù)庫中有豐富的輸入輸出函數(shù);使用C語言的庫函數(shù),必須用預(yù)編譯命令#include將含有相應(yīng)函數(shù)的頭文件(擴(kuò)展名為.h,表示為頭head)包含到用戶的源程序中,如:#include<stdio.h>
(只在標(biāo)準(zhǔn)庫中找函數(shù))(先在當(dāng)前位置找,找不到時,再#include
“stdio.h”在標(biāo)準(zhǔn)庫中找)stdio.h
包含了標(biāo)準(zhǔn)的輸入輸出庫函數(shù)2013-10-10Wang
Houfeng,EECS,PKU19典型的輸入輸出函數(shù)字符輸入函數(shù):格式輸入函數(shù):getcharscanf字符輸出函數(shù):putchar格式輸出函數(shù):printf字符串輸出函數(shù):puts字符串輸入函數(shù):gets2013-10-10Wang
Houfeng,EECS,PKU20單個字符的輸出函數(shù)功能:向顯示器輸出一個字符;格式:putchar(c);換行符輸出:putchar('\n');putchar(10);
//與上面有什么不同??例子#include
<stdio.h>main(){ intc;char
a;c=65;
a='B';putchar(c);putchar(10);
putchar(a);//三條語句}運(yùn)行結(jié)果:AB為
A,
不是
65
??為什么不是AB??2013-10-10Wang
Houfeng,EECS,PKU212013-10-10Wang
Houfeng,EECS,PKU22另一個例子#include
"stdio.h"main(){char
ch1='N',ch2='E',
ch3='W';putchar(ch1);putchar(ch3);putchar(ch1);putchar('E');putchar(ch3);putchar(ch2);putchar('\n');putchar('\n');putchar(10);putchar('\n');}程序運(yùn)行結(jié)果:NEWNEW單個字符的輸入函數(shù)功能:從鍵盤上輸入一個字符;格式:getchar();注意:putchar()是一個沒有類型的函數(shù),作為語句,而表達(dá)式使用;getchar()應(yīng)作為表達(dá)式的一部分(位于賦值語句的右部或者其它以表達(dá)式形式出現(xiàn)的地方,表達(dá)式?),如:putchar(getchar()); //是什么功能??兩個函數(shù)均包含在stdio.h
中2013-10-10Wang
Houfeng,EECS,PKU232013-10-10Wang
Houfeng,EECS,PKU24#include
<stdio.h>main(){ int
c;printf("Enter
a
character:");c=getchar();printf("%c--->hex%x\n",c,c);}運(yùn)行結(jié)果:Enter
a
character:A輸出結(jié)果:A--->hex412013-10-10Wang
Houfeng,EECS,PKU25內(nèi)容順序結(jié)構(gòu)輸入與輸出格式化輸入輸出例子說明格式化輸出向顯示器(或系統(tǒng)隱含指定的輸出設(shè)備)輸出數(shù)據(jù)一般格式:printf(格式控制,輸出列表)%d:以帶符號的十進(jìn)制形式輸出整數(shù)%o:以八進(jìn)制無符號形式輸出整數(shù)(小寫字母)%x:以十六進(jìn)制無符號形式輸出整數(shù)To
be
continued……2013-10-10Wang
Houfeng,EECS,PKU26格式化輸出格式控制包括格式說明和普通字符:格式說明由“%”和格式字符組成,用于將輸出數(shù)據(jù)轉(zhuǎn)換成指定類型的數(shù)據(jù)和格式,如"%d";普通字符,想要原樣輸出的字符。輸出列表:要輸出的數(shù)據(jù)序列,可以是表達(dá)式。例:假定a=3,b=4
則:printf("%d
*
%d
=
%d",a,b,a*b);的結(jié)果為:3
*4=
12格式說明普通字符2013-10-10Wang
Houfeng,EECS,PKU272013-10-10Wang
Houfeng,EECS,PKU28格式符意義格式符意義%c
字母%d
十進(jìn)制整形數(shù)值%i
同%d%f
浮點(diǎn)數(shù)%e
科學(xué)技術(shù)法表示的數(shù)(e表示)%E科學(xué)技術(shù)法表示的數(shù)(E表示)%g
%e和%f之間選擇較短的%G%E和%f之間選擇較短的%o
無符號8進(jìn)制整數(shù)(小寫)%s
字符串%u
無符號整數(shù)%x
無符號16進(jìn)制(小寫x)整數(shù)%X無符號16進(jìn)制(大寫X)整數(shù)%p
輸出(讀)指針內(nèi)容%n
顯示(得到)已輸出(輸入)的字符數(shù)%%顯示百分號2013-10-10Wang
Houfeng,EECS,PKU29d,i十進(jìn)制整數(shù)int
a=567;printf
("%d",a);567x,X十六進(jìn)制無符號整數(shù)int
a=255;printf("%x",a);ffo八進(jìn)制無符號整數(shù)int
a=65;printf("%o",a);101u不帶符號十進(jìn)制整數(shù)int
a=567;printf("%u",a);567c單一字符char
a=65;printf("%c",a);As字符串printf("%s",
"ABC");ABCe,E指數(shù)形式浮點(diǎn)小數(shù)float
a=567.789;printf("%e",a);5.677890e+02f小數(shù)形式浮點(diǎn)小數(shù)float
a=567.789;printf("%f",a);567.789000ge和f中較短一種float
a=567.789;printf("%g",a);567.789%%百分號本身printf("%%");%示例:2013-10-10Wang
Houfeng,EECS,PKU30修飾符功
能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補(bǔ)空格;否則按實(shí)際輸出.n對實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對字符串,指定實(shí)際輸出位數(shù)-輸出數(shù)據(jù)在長度內(nèi)左對齊(缺省右對齊)+指定在有符號數(shù)的正數(shù)前顯示正號(+)0輸出數(shù)值時指定左面不使用的空位置自動填0#在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0xl在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型2013-10-10Wang
Houfeng,EECS,PKU31printf
的幾點(diǎn)說明:格式符的大小寫是敏感的。格式說明符之間可以含普通字符——直接輸出。格式符間的普通字符可以是轉(zhuǎn)義符。格式符可以帶附加的修飾符,用于限定輸出值的長度,具體情況如下:l
用于格式符d,o,x,u
之前,指示輸出值為長整數(shù);具體的整數(shù)(m)位于格式符前,表示輸出的寬度;若格式控制“%m.nf”,則表示輸出為浮點(diǎn)數(shù),共m位,其中,小數(shù)位為n位,當(dāng)數(shù)值長度小于m時,左邊補(bǔ)空,右靠齊。若形式為:“%-m.nf”,則右邊補(bǔ)空,左靠齊。字符串輸出的幾種形式:%ms:輸出占m
列,如s
實(shí)際大于m列,則實(shí)際輸出,否則,左邊補(bǔ)空;%-ms
是右邊補(bǔ)空;%m.ns:取s的左邊n
個符號輸出,不夠m列,左邊補(bǔ)空;%-m.ns,含義同上,右邊補(bǔ)空。若n>m,m自動取n值。例int
a=1234;float
f=123.456;char
ch=‘a(chǎn)’;printf(“%8d,%2d\n”,a,a);printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);printf(“%3c\n”,ch);請大家寫出運(yùn)行結(jié)果運(yùn)行
1234,1234結(jié)果:123.456000,123.456000,123.5,123.46,1.23e+02a2013-10-10Wang
Houfeng,EECS,PKU322013-10-10Wang
Houfeng,EECS,PKU33格式化輸入功能:按格式從鍵盤上輸入數(shù)據(jù);格式:scanf(格式控制、地址列表)格式控制與printf
相似,但地址列表只能表示變量地址,即:以&引導(dǎo)的變量,如&a。如果地址列表有多個,則對應(yīng)的多個輸入數(shù)據(jù)之間的間隔符必須與格式部分的相應(yīng)符號一致);如果輸入時沒有間隔符,則不滿足要求的符號為終結(jié)符,此外,空格符,回車符和Tab
鍵,都可作為當(dāng)前數(shù)據(jù)結(jié)束符。字符輸入時,不考慮間隔符。前面表格帶“”表示適用于scanf,沒有帶“”的大寫控制符與對應(yīng)的小寫符含義一樣。2013-10-10Wang
Houfeng,EECS,PKU34格式控制的例子輸入寬度例子:scanf(“%3d%d”,&a,&b);當(dāng)連續(xù)鍵入123456時,a=123,b=456;例子:scanf(“%3c%c”,&c1,&c2);當(dāng)連續(xù)鍵入abcdef
時,c1=‘a(chǎn)’,c2=‘d’;*
表示跳過對應(yīng)的列數(shù)例子:scanf(“%3d%*3d%d”,&a,&b);當(dāng)連續(xù)鍵入12345678時,a=123,b=78;應(yīng)用舉例間隔符:鍵盤輸入時,間隔符與格式中的完全對應(yīng);例:scanf(“%d,%d::%d”,&a,&b,&c);輸入格式必須為:35,45::190如果格式中沒有間隔符,空格,逗號皆可例:scanf(“%d%d”,&a,&d);注意字符輸入。見2013-10-10Wang
Houfeng,EECS,PKU35例從鍵盤輸入大寫字母,用小寫字母輸出#include
"stdio.h"main(){ char
c1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+32;printf("%c,%d\n",c2,c2);}輸入:A
輸出:2013-10-10Wang
Houfeng,EECS,PKU36A,65a,972013-10-10Wang
Houfeng,EECS,PKU37C++的輸入輸出包含:#include<iostream>輸入:cin輸出:cout行結(jié)束:endl#include
<iostream>void
main
(void){short
int
amount;cout
<<“Enter
an
amount…”;cin
>>
amount;cout
<<
“The
amount
you
entered
was
”
<<
amount
<<endl;}Enter
an
amount…123The
amount
you
entered
was
1232013-10-10Wang
Houfeng,EECS,PKU38內(nèi)容順序結(jié)構(gòu)輸入與輸出格式化輸入輸出例子說明printf("length=%7.2f,
area=%7.2f\n",length,area);2013-10-10
Wang
Houfeng,EECS,PKU39#define
PI
3.1415926main(){float
radius,length,area;printf("input
the
radius
of
a
circle:");scanf("%d",&radius);length
=
2
*
PI*
radius;area
=
PI
*
radius
*
radius;printf("radius=%f\n",radius);}計(jì)算面積輸出半徑、周長、面積值輸入半徑值計(jì)算周長例子:根據(jù)輸入的半徑求周長和面開#includ始e<stdio.h>
/*輸入圓半徑radius,求圓周長和圓面積。*//*求圓周長*/結(jié)束/*求圓面積*//*輸出圓半徑*/例子:字母大寫轉(zhuǎn)小寫#include
"stdio.h"main(){ char
c1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+32;printf("%c,%d\n",c2,c2);}輸入:A
輸出:2013-10-10Wang
Houfeng,EECS,PKU40A,65a,972013-10-10Wang
Houfeng,EECS,PKU41課堂練習(xí)假設(shè)輸入的字母為小寫,請轉(zhuǎn)換為大寫后輸出,給出C
語言程序(假定你并不知道大小寫的ASCII對應(yīng)距離,但你知道小寫順次排列、大寫也順次排列)順序程序設(shè)計(jì)的特點(diǎn)將使用的標(biāo)準(zhǔn)庫函數(shù)包含到程序中,格式為#include
<stdio.h>
/*包含標(biāo)準(zhǔn)輸入輸出函數(shù)庫*/#include
<math.h>
/*包含常用的數(shù)學(xué)函數(shù)庫*/編寫順序結(jié)構(gòu)程序的步驟:1)變量名及類型;值;為變量賦值,或?yàn)樽兞窟\(yùn)算;輸出運(yùn)算結(jié)果。將以上內(nèi)容寫在main函數(shù)中,一個簡單的C程序就編寫好了用語句描述這些操作2013-10-10Wang
Houfeng,EECS,P
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度軌道交通欄桿及防護(hù)欄安裝服務(wù)合同3篇
- 二零二五年度礦長安全生產(chǎn)責(zé)任制合同3篇
- 夫妻協(xié)議書范本(2篇)
- 二零二五版KTV突發(fā)事件應(yīng)急預(yù)案與處理合同3篇
- 二零二五年度廢舊輪胎資源化處理與銷售合同3篇
- 二年級上學(xué)期語文期末測試卷
- 二零二五年跨境電商支付服務(wù)合同6篇
- TCCTAS 81-2023 瀝青路面就地再生熱粘罩面設(shè)計(jì)施工技術(shù)規(guī)程
- 二零二五年度離婚協(xié)議書起草與情感調(diào)解合同3篇
- 二零二五年度標(biāo)識標(biāo)牌行業(yè)產(chǎn)學(xué)研一體化合作合同3篇
- 人教版體育二年級上冊學(xué)習(xí)跳跳繩(教案)
- GB/T 2423.17-2024環(huán)境試驗(yàn)第2部分:試驗(yàn)方法試驗(yàn)Ka:鹽霧
- 家用電子產(chǎn)品維修工(中級)職業(yè)技能鑒定考試題庫(含答案)
- 無脊椎動物課件-2024-2025學(xué)年人教版生物七年級上冊
- 2024AI Agent行業(yè)研究報(bào)告
- 2024年銀發(fā)健康經(jīng)濟(jì)趨勢與展望報(bào)告:新老人、新需求、新生態(tài)-AgeClub
- 華為質(zhì)量回溯(根因分析與糾正預(yù)防措施)模板
- GB/T 23587-2024淀粉制品質(zhì)量通則
- 2024年江西省“振興杯”家務(wù)服務(wù)員競賽考試題庫(含答案)
- 吉林省2024年中考物理試題(含答案)
- 法人貸款免責(zé)說明范文
評論
0/150
提交評論