編程順序結(jié)構(gòu)與輸入輸出_第1頁(yè)
編程順序結(jié)構(gòu)與輸入輸出_第2頁(yè)
編程順序結(jié)構(gòu)與輸入輸出_第3頁(yè)
編程順序結(jié)構(gòu)與輸入輸出_第4頁(yè)
編程順序結(jié)構(gòu)與輸入輸出_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

順序結(jié)構(gòu)與輸入輸出Wang

HoufengEECS,PKU2013-10-10Wang

Houfeng,EECS,PKU2內(nèi)容順序結(jié)構(gòu)輸入與輸出格式化輸入輸出例子說(shuō)明C

語(yǔ)言程序結(jié)構(gòu)程序構(gòu)成:若干平行的模塊(函數(shù)),有且僅有一個(gè)main

函數(shù),為程序執(zhí)行的起點(diǎn)和終點(diǎn)。函數(shù)的構(gòu)成:函數(shù)首部+函數(shù)體。函數(shù)體的構(gòu)成:非可執(zhí)行語(yǔ)句+可執(zhí)行語(yǔ)句。非可執(zhí)行語(yǔ)句:主要包含變量說(shuō)明語(yǔ)句(如,整型,實(shí)型變量說(shuō)明,也稱變量

)??蓤?zhí)行語(yǔ)句,分號(hào)結(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í)行語(yǔ)句非可執(zhí)行語(yǔ)句2013-10-10Wang

Houfeng,EECS,PKU5C語(yǔ)言的可執(zhí)行語(yǔ)句分類控制語(yǔ)句:函數(shù)調(diào)用;賦值語(yǔ)句;空語(yǔ)句;2013-10-10Wang

Houfeng,EECS,PKU6控制語(yǔ)句完成特定的控制功能if()

~elsefor()~while()~do

~while()continuebreakswitch()gotoreturn條件語(yǔ)句,用于條件判斷循環(huán)語(yǔ)句,用于循環(huán)循環(huán)語(yǔ)句,用于循環(huán)循環(huán)語(yǔ)句,用于循環(huán)繼續(xù)語(yǔ)句,用于繼續(xù)(或空)間斷語(yǔ)句,跳出當(dāng)前的復(fù)合語(yǔ)句范圍開關(guān)語(yǔ)句,多分支轉(zhuǎn)向語(yǔ)句,改變方向返回語(yǔ)句,函數(shù)結(jié)束并返回值2013-10-10Wang

Houfeng,EECS,PKU7函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成一個(gè)語(yǔ)句例子,前面程序中的:sum=add(a,b);2013-10-10Wang

Houfeng,EECS,PKU8賦值語(yǔ)句賦值表達(dá)式M

=

I

-

K賦值語(yǔ)句:賦值表達(dá)式后面帶上分號(hào)M

=

I

-

K;可執(zhí)行語(yǔ)句的表示單語(yǔ)句:以“;”作分隔符,可以1行寫多條語(yǔ)句,例:total=total+limit;

printf(“

o,world!\n”);通常情況下,1行只寫1條語(yǔ)句,

total=total+limit;printf(“

o,world!\n”);2013-10-10Wang

Houfeng,EECS,PKU9可執(zhí)行語(yǔ)句的表示(續(xù))復(fù)合語(yǔ)句:多個(gè)單語(yǔ)句由花括號(hào)括起來(lái),如:{total=total+limit;printf(“

o,world!\n”);}注意:反括號(hào)后面沒(méi)有分號(hào)。使用復(fù)合語(yǔ)句的時(shí)機(jī):控制語(yǔ)句(如條件、循環(huán)語(yǔ)句)需要同時(shí)控制多條語(yǔ)句時(shí)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)?語(yǔ)句的執(zhí)行順序與語(yǔ)句書寫的順一致何謂順序程序設(shè)計(jì)?具有順序結(jié)構(gòu)的程序設(shè)計(jì)Statement-1Statement-22013-10-10Wang

Houfeng,EECS,PKU122013-10-10Wang

Houfeng,EECS,PKU13賦值語(yǔ)句賦值語(yǔ)句是一種典型的不改變順序的語(yǔ)句:k++

是語(yǔ)句嗎?(x+y)*5

是語(yǔ)句嗎?y=6

是語(yǔ)句嗎?k++;是語(yǔ)句y=3;

是語(yǔ)句x=y+8;也是語(yǔ)句語(yǔ)句與表達(dá)式的區(qū)別?2013-10-10Wang

Houfeng,EECS,PKU14小思考:變量值交換想將兩個(gè)整形變量x和y的值互相交換,如何實(shí)現(xiàn)?想將兩個(gè)整形變量x

和y

的值互相交換,不能引入或借助于任何其他變量,如何實(shí)現(xiàn)?2013-10-10Wang

Houfeng,EECS,PKU15賦值符號(hào)C語(yǔ)言中的賦值號(hào)“=”是一個(gè)運(yùn)算符,在其他大多數(shù)語(yǔ)言中賦值號(hào)不是運(yùn)算;賦值號(hào)“=”不表示大小比較,只表示將賦值號(hào)右邊的運(yùn)算結(jié)果賦給左邊的變量;賦值號(hào)左邊必須是變量,也稱為左值;賦值號(hào)將左右兩邊的式子連接成賦值表達(dá)式,當(dāng)后面增加分號(hào)“;”

時(shí),為賦值語(yǔ)句;單增(減)運(yùn)算后加分號(hào)“;”,也成為語(yǔ)句,可以看作特殊賦值語(yǔ)句,如,K++;

++m; --n;2013-10-10Wang

Houfeng,EECS,PKU16內(nèi)容順序結(jié)構(gòu)輸入與輸出格式化輸入輸出例子說(shuō)明輸入與輸出所謂輸入輸出是以計(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語(yǔ)言的輸入輸出實(shí)現(xiàn)C

語(yǔ)言本身并不提供輸入輸出語(yǔ)句,其功能由標(biāo)準(zhǔn)函數(shù)提供,C語(yǔ)言的標(biāo)準(zhǔn)函數(shù)庫(kù)中有豐富的輸入輸出函數(shù);使用C語(yǔ)言的庫(kù)函數(shù),必須用預(yù)編譯命令#include將含有相應(yīng)函數(shù)的頭文件(擴(kuò)展名為.h,表示為頭head)包含到用戶的源程序中,如:#include<stdio.h>

(只在標(biāo)準(zhǔn)庫(kù)中找函數(shù))(先在當(dāng)前位置找,找不到時(shí),再#include

“stdio.h”在標(biāo)準(zhǔn)庫(kù)中找)stdio.h

包含了標(biāo)準(zhǔn)的輸入輸出庫(kù)函數(shù)2013-10-10Wang

Houfeng,EECS,PKU19典型的輸入輸出函數(shù)字符輸入函數(shù):格式輸入函數(shù):getcharscanf字符輸出函數(shù):putchar格式輸出函數(shù):printf字符串輸出函數(shù):puts字符串輸入函數(shù):gets2013-10-10Wang

Houfeng,EECS,PKU20單個(gè)字符的輸出函數(shù)功能:向顯示器輸出一個(gè)字符;格式:putchar(c);換行符輸出:putchar('\n');putchar(10);

//與上面有什么不同??例子#include

<stdio.h>main(){ intc;char

a;c=65;

a='B';putchar(c);putchar(10);

putchar(a);//三條語(yǔ)句}運(yùn)行結(jié)果:AB為

A,

不是

65

??為什么不是AB??2013-10-10Wang

Houfeng,EECS,PKU212013-10-10Wang

Houfeng,EECS,PKU22另一個(gè)例子#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單個(gè)字符的輸入函數(shù)功能:從鍵盤上輸入一個(gè)字符;格式:getchar();注意:putchar()是一個(gè)沒(méi)有類型的函數(shù),作為語(yǔ)句,而表達(dá)式使用;getchar()應(yīng)作為表達(dá)式的一部分(位于賦值語(yǔ)句的右部或者其它以表達(dá)式形式出現(xiàn)的地方,表達(dá)式?),如:putchar(getchar()); //是什么功能???jī)蓚€(gè)函數(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)輸入與輸出格式化輸入輸出例子說(shuō)明格式化輸出向顯示器(或系統(tǒng)隱含指定的輸出設(shè)備)輸出數(shù)據(jù)一般格式:printf(格式控制,輸出列表)%d:以帶符號(hào)的十進(jìn)制形式輸出整數(shù)%o:以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(小寫字母)%x:以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)To

be

continued……2013-10-10Wang

Houfeng,EECS,PKU26格式化輸出格式控制包括格式說(shuō)明和普通字符:格式說(shuō)明由“%”和格式字符組成,用于將輸出數(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格式說(shuō)明普通字符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

無(wú)符號(hào)8進(jìn)制整數(shù)(小寫)%s

字符串%u

無(wú)符號(hào)整數(shù)%x

無(wú)符號(hào)16進(jìn)制(小寫x)整數(shù)%X無(wú)符號(hào)16進(jìn)制(大寫X)整數(shù)%p

輸出(讀)指針內(nèi)容%n

顯示(得到)已輸出(輸入)的字符數(shù)%%顯示百分號(hào)2013-10-10Wang

Houfeng,EECS,PKU29d,i十進(jìn)制整數(shù)int

a=567;printf

("%d",a);567x,X十六進(jìn)制無(wú)符號(hào)整數(shù)int

a=255;printf("%x",a);ffo八進(jìn)制無(wú)符號(hào)整數(shù)int

a=65;printf("%o",a);101u不帶符號(hào)十進(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%%百分號(hào)本身printf("%%");%示例:2013-10-10Wang

Houfeng,EECS,PKU30修飾符功

能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度<m,左補(bǔ)空格;否則按實(shí)際輸出.n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對(duì)字符串,指定實(shí)際輸出位數(shù)-輸出數(shù)據(jù)在長(zhǎng)度內(nèi)左對(duì)齊(缺省右對(duì)齊)+指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)0輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填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)說(shuō)明:格式符的大小寫是敏感的。格式說(shuō)明符之間可以含普通字符——直接輸出。格式符間的普通字符可以是轉(zhuǎn)義符。格式符可以帶附加的修飾符,用于限定輸出值的長(zhǎng)度,具體情況如下:l

用于格式符d,o,x,u

之前,指示輸出值為長(zhǎng)整數(shù);具體的整數(shù)(m)位于格式符前,表示輸出的寬度;若格式控制“%m.nf”,則表示輸出為浮點(diǎn)數(shù),共m位,其中,小數(shù)位為n位,當(dāng)數(shù)值長(zhǎng)度小于m時(shí),左邊補(bǔ)空,右靠齊。若形式為:“%-m.nf”,則右邊補(bǔ)空,左靠齊。字符串輸出的幾種形式:%ms:輸出占m

列,如s

實(shí)際大于m列,則實(shí)際輸出,否則,左邊補(bǔ)空;%-ms

是右邊補(bǔ)空;%m.ns:取s的左邊n

個(gè)符號(hào)輸出,不夠m列,左邊補(bǔ)空;%-m.ns,含義同上,右邊補(bǔ)空。若n>m,m自動(dòng)取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);請(qǐng)大家寫出運(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。如果地址列表有多個(gè),則對(duì)應(yīng)的多個(gè)輸入數(shù)據(jù)之間的間隔符必須與格式部分的相應(yīng)符號(hào)一致);如果輸入時(shí)沒(méi)有間隔符,則不滿足要求的符號(hào)為終結(jié)符,此外,空格符,回車符和Tab

鍵,都可作為當(dāng)前數(shù)據(jù)結(jié)束符。字符輸入時(shí),不考慮間隔符。前面表格帶“”表示適用于scanf,沒(méi)有帶“”的大寫控制符與對(duì)應(yīng)的小寫符含義一樣。2013-10-10Wang

Houfeng,EECS,PKU34格式控制的例子輸入寬度例子:scanf(“%3d%d”,&a,&b);當(dāng)連續(xù)鍵入123456時(shí),a=123,b=456;例子:scanf(“%3c%c”,&c1,&c2);當(dāng)連續(xù)鍵入abcdef

時(shí),c1=‘a(chǎn)’,c2=‘d’;*

表示跳過(guò)對(duì)應(yīng)的列數(shù)例子:scanf(“%3d%*3d%d”,&a,&b);當(dāng)連續(xù)鍵入12345678時(shí),a=123,b=78;應(yīng)用舉例間隔符:鍵盤輸入時(shí),間隔符與格式中的完全對(duì)應(yīng);例:scanf(“%d,%d::%d”,&a,&b,&c);輸入格式必須為:35,45::190如果格式中沒(méi)有間隔符,空格,逗號(hào)皆可例:scanf(“%d%d”,&a,&d);注意字符輸入。見(jiàn)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)輸入與輸出格式化輸入輸出例子說(shuō)明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ì)算面積輸出半徑、周長(zhǎng)、面積值輸入半徑值計(jì)算周長(zhǎng)例子:根據(jù)輸入的半徑求周長(zhǎng)和面開#includ始e<stdio.h>

/*輸入圓半徑radius,求圓周長(zhǎng)和圓面積。*//*求圓周長(zhǎng)*/結(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è)輸入的字母為小寫,請(qǐng)轉(zhuǎn)換為大寫后輸出,給出C

語(yǔ)言程序(假定你并不知道大小寫的ASCII對(duì)應(yīng)距離,但你知道小寫順次排列、大寫也順次排列)順序程序設(shè)計(jì)的特點(diǎn)將使用的標(biāo)準(zhǔn)庫(kù)函數(shù)包含到程序中,格式為#include

<stdio.h>

/*包含標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)*/#include

<math.h>

/*包含常用的數(shù)學(xué)函數(shù)庫(kù)*/編寫順序結(jié)構(gòu)程序的步驟:1)變量名及類型;值;為變量賦值,或?yàn)樽兞窟\(yùn)算;輸出運(yùn)算結(jié)果。將以上內(nèi)容寫在main函數(shù)中,一個(gè)簡(jiǎn)單的C程序就編寫好了用語(yǔ)句描述這些操作2013-10-10Wang

Houfeng,EECS,P

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論