C語(yǔ)言-順序程序設(shè)計(jì)_第1頁(yè)
C語(yǔ)言-順序程序設(shè)計(jì)_第2頁(yè)
C語(yǔ)言-順序程序設(shè)計(jì)_第3頁(yè)
C語(yǔ)言-順序程序設(shè)計(jì)_第4頁(yè)
C語(yǔ)言-順序程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩82頁(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)介

第3章順序結(jié)構(gòu)程序設(shè)計(jì)主要內(nèi)容:3.1順序程序設(shè)計(jì)舉例3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.3C語(yǔ)句3.4數(shù)據(jù)的輸入與輸出§3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)中,要掌握好以下幾個(gè)要點(diǎn):需要哪些變量,各個(gè)變量應(yīng)為什么類型?哪些變量需要賦初值?用哪種方式賦初值適宜?哪些變量是中間變量?各起什么作用?哪些變量是最終結(jié)果?怎樣計(jì)算?以什么樣的輸出格式輸出最后的計(jì)算結(jié)果?3.1順序程序設(shè)計(jì)舉例

例3.1有人用溫度計(jì)測(cè)量出用華氏法表示的溫度(如F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如C)。解題思路:找到二者間的轉(zhuǎn)換公式f代表華氏溫度,c代表攝氏溫度算法:

例3.1有人用溫度計(jì)測(cè)量出用華氏法表示的溫度(如F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如C)。N-S圖3.1順序程序設(shè)計(jì)舉例#include<stdio.h>intmain(){floatf,c;f=64.0;c=(5.0/9)*(f-32);printf("f=%f\nc=%f\n",f,c);return0;}//定義f和c為單精度浮點(diǎn)型變量//指定f的值//計(jì)算c的值//輸出f和c的值3.1順序程序設(shè)計(jì)舉例運(yùn)行結(jié)果:

例3.2計(jì)算存款利息。有1000元,想存一年。有三種方法可選:(1)活期,年利率為r1(2)一年期定期,年利率為r2(3)存兩次半年定期,年利率為r3

請(qǐng)分別計(jì)算出一年后按三種方法所得到的本息和。3.1順序程序設(shè)計(jì)舉例解題思路:確定計(jì)算本息和的公式。從數(shù)學(xué)知識(shí)可知:假設(shè)存款額為p0,那么:活期存款一年后本息和為:p1=p0(1+r1)一年期定期存款,一年后本息和為:p2=p0(1+r2)兩次半年定期存款,一年后本息和為:

3.1順序程序設(shè)計(jì)舉例算法:3.1順序程序設(shè)計(jì)舉例#include<stdio.h>intmain(){

floatp0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;p1=p0*(1+r1);p2=p0*(1+r2);p3=p0*(1+r3/2)*(1+r3/2);printf("%f\n%f\n%f\n",p1,p2,p3);return0;}定義變量同時(shí)賦予初值3.1順序程序設(shè)計(jì)舉例運(yùn)行結(jié)果:例3.3輸入半徑,求圓的周長(zhǎng)和面積。§3.1順序程序舉例程序設(shè)計(jì)需考慮以下問(wèn)題:需定義幾個(gè)變量?各為何種類型?需要為哪些變量賦初值,哪些變量不需要賦初值?用什么方式賦初值較好?計(jì)算面積和周長(zhǎng)的值;輸出計(jì)算結(jié)果。§3.1順序程序舉例#include"stdio.h"

//包含標(biāo)準(zhǔn)輸入輸出頭文件#definePI3.1415926

//定義符號(hào)常量PI以簡(jiǎn)化π的輸入int

main(){floatr,l,s;

//r,l,s分別表示半徑、周長(zhǎng)和面積

scanf("%f",&r);

//注意哪些變量需要輸入

s=PI*r*r;

l=2*PI*r;

printf("r=%-7.2f,l=%-7.2f,s=%-7.2f\n",r,l,s);return0;}運(yùn)行結(jié)果:例3.4從鍵盤上輸入3個(gè)整數(shù),求平均值,輸出保存2位小數(shù)。§3.1順序程序舉例程序設(shè)計(jì)時(shí)應(yīng)考慮以下問(wèn)題:需定義幾個(gè)變量,各為什么類型?怎樣從鍵盤上輸入三個(gè)整數(shù)?為哪些變量從鍵盤上輸入?怎樣求平均值?怎樣在一行中輸出多個(gè)類型不同的數(shù)據(jù)?§3.1順序程序舉例#include<stdio.h>intmain(){intx,y,z,sum;

doubleaver;

scanf("%d,%d,%d",&x,&y,&z);

sum=x+y+z;

aver=sum/3;

printf("x=%d,y=%d,z=%d,",x,y,z);

printf("average=%.2f\n",aver);

return0;}3.0結(jié)果有何不同?例3.5輸入一個(gè)實(shí)數(shù),將整數(shù)局部和小數(shù)局部拆分開(kāi)。§3.1順序程序舉例#include<stdio.h>intmain(){floatx,y;

intz;scanf("%f",&x);z=(int)x;y=x-z;printf("%f=%d+%f\n",x,z,y);

return0;

}例3.6輸入一個(gè)4位以下的整數(shù),將各位數(shù)字拆開(kāi)?!?.1順序程序舉例

#include<stdio.h>

intmain(){inta,b,c,d,y;printf("請(qǐng)輸入一個(gè)4位以下的整數(shù):\n");scanf("%d",&y);

d=y/1000;//拆分千位c=(y-d*1000)/100;//拆分百位b=(y-d*1000-c*100)/10;//拆分十位a=y%10;//拆分個(gè)位printf("%d%d%d

%d\n",d,c,b,a);

return0;}§3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算1.常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量整型常量:如1000,12345,0,-345實(shí)型常量十進(jìn)制小數(shù)形式:如0.34-56.793.149.8指數(shù)形式:如12.34e3(代表12.34

103)字符常量(單撇號(hào)括起來(lái)的一個(gè)字符):如’?’

’a’

’d’轉(zhuǎn)義字符:如’\n’字符串常量(雙撇號(hào)括起來(lái)的多個(gè)字符):如”boy”

符號(hào)常量(用標(biāo)識(shí)符表示的常量):#definePI

3.14163.2.1常量和變量…內(nèi)存單元示意圖5變量名變量值存儲(chǔ)單元a2.變量:代表內(nèi)存中有特定屬性的存儲(chǔ)單元,用來(lái)存儲(chǔ)某一特定類型的數(shù)據(jù)。程序運(yùn)行期間,其值可以改變。使用變量的本卷須知:先定義,后使用定義:指定變量的名字和類型變量名和變量值的區(qū)別變量名必須是合法的標(biāo)識(shí)符3.2.1常量和變量

例:sum,_total,month,Student_name,lotus_1_2_3,BASIC,basic,li_ling

例:,¥123,3D64,fun-1,a>b,int標(biāo)識(shí)符字母、數(shù)字、下劃線第一個(gè)字符不能是數(shù)字變量名必須是合法的標(biāo)識(shí)符3.2.1常量和變量關(guān)鍵字不能作標(biāo)識(shí)符3.常變量:constinta=3;4.標(biāo)識(shí)符:一個(gè)對(duì)象的名字3.2.2數(shù)據(jù)類型所謂類型,就是對(duì)數(shù)據(jù)分配存儲(chǔ)單元的安排,包括存儲(chǔ)單元的長(zhǎng)度(占多少字節(jié))以及數(shù)據(jù)的存儲(chǔ)形式不同的類型分配不同的長(zhǎng)度和存儲(chǔ)形式數(shù)據(jù)類型

整型類型

浮點(diǎn)類型

基本類型

枚舉類型

派生類型

空類型

3.2.2數(shù)據(jù)類型單精度浮點(diǎn)型(float)雙精度浮點(diǎn)型(double)復(fù)數(shù)浮點(diǎn)型數(shù)組類型([])結(jié)構(gòu)體類型(struct)共用體類型(union)指針類型(*)函數(shù)類型布爾型(bool)基本整型(int)短整型(short)長(zhǎng)整型(long)雙長(zhǎng)整型(longlongint)字符型(char)數(shù)據(jù)類型決定:數(shù)據(jù)占內(nèi)存字節(jié)數(shù)數(shù)據(jù)取值范圍其上可進(jìn)行的操作3.2.3整型數(shù)據(jù)1.整型數(shù)據(jù)的分類最根本的整型類型短整型(shortint):VC++6.0中占2個(gè)字節(jié)根本整型(int型):VC++6.0中占4個(gè)字節(jié)長(zhǎng)整型(longint):VC++6.0中占4個(gè)字節(jié)雙長(zhǎng)整型(longlongint):分配8字節(jié),C99新增的2.整型變量的符號(hào)屬性整型變量值的范圍包括負(fù)數(shù)到正數(shù)可將變量定義為“無(wú)符號(hào)”類型擴(kuò)充的整型類型:3.2.3整型數(shù)據(jù)擴(kuò)充的整型類型:

注意:方括號(hào)表示其中的內(nèi)容是可選的。[signed]int[signed]short[int][signed]long[int][signed]longlong[int]unsignedintunsignedshort[int]unsignedlong[int]unsignedlonglong[int]共八種有符號(hào)基本整型有符號(hào)短整型有符號(hào)長(zhǎng)整型有符號(hào)雙長(zhǎng)整型無(wú)符號(hào)基本整型無(wú)符號(hào)短整型無(wú)符號(hào)長(zhǎng)整型無(wú)符號(hào)雙長(zhǎng)整型3.2.4字符型數(shù)據(jù)字符是按其代碼(整數(shù))形式存儲(chǔ)的C99把字符型數(shù)據(jù)作為整數(shù)類型的一種字符型數(shù)據(jù)在使用上有自己的特點(diǎn)1.字符與字符代碼大多數(shù)系統(tǒng)采用ASCII字符集字母:A~Z,a~z數(shù)字:0~9專門符號(hào):29個(gè):!”#&‘()*等空格符:空格、水平制表符、換行等不能顯示的字符:空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回車(以‘\r’表示)等3.2.4字符型數(shù)據(jù)字符’1’和整數(shù)1是不同的概念:字符’1’只是代表一個(gè)形狀為’1’的符號(hào),在需要時(shí)按原樣輸出,在內(nèi)存中以ASCII碼形式存儲(chǔ),占1個(gè)字節(jié)整數(shù)1是以整數(shù)存儲(chǔ)方式(二進(jìn)制補(bǔ)碼方式)存儲(chǔ)的,占2個(gè)或4個(gè)字節(jié)3.2.4字符型數(shù)據(jù)2.字符變量用類型符char定義字符變量main(){charc1,c2;c1='A';c2='B';

printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);}3.2.4字符型數(shù)據(jù)按字符使用按數(shù)值使用運(yùn)行結(jié)果如下:A,B65,66

浮點(diǎn)型數(shù)據(jù)1.浮點(diǎn)型數(shù)據(jù)的表示方法兩種表示形式十進(jìn)制小數(shù)指數(shù)0.1233e-3注意:字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù)1e3、1.8e-3、-123e-6、-0.1e-3e3、、.e3、e

標(biāo)準(zhǔn)化的指數(shù)形式:在字母e〔或E〕之前的小數(shù)局部中,小數(shù)點(diǎn)左邊的數(shù)字為0,右邊第一位數(shù)字不為0。例如:123.456可以表示為:123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e其中的0.123456e3稱為“標(biāo)準(zhǔn)化的指數(shù)形式”。

浮點(diǎn)型數(shù)據(jù)2.浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存放形式一個(gè)浮點(diǎn)型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)。與整型數(shù)據(jù)的存儲(chǔ)方式不同,浮點(diǎn)型數(shù)據(jù)按照指數(shù)形式存儲(chǔ)。系統(tǒng)把一個(gè)浮點(diǎn)型數(shù)據(jù)分成小數(shù)局部和指數(shù)局部,分別存放。小數(shù)局部要通過(guò)移動(dòng)小數(shù)點(diǎn)規(guī)格化為純小數(shù)+.3141591數(shù)符小數(shù)部分指數(shù)+.314159×1013.14159

浮點(diǎn)型數(shù)據(jù)3.浮點(diǎn)型變量的分類單精度〔float型〕雙精度〔double型〕長(zhǎng)雙精度型〔longdouble〕

浮點(diǎn)型數(shù)據(jù)3.2.6怎樣確定常量的類型字符常量:由單撇號(hào)括起來(lái)的單個(gè)字符或轉(zhuǎn)義字符整型常量:不帶小數(shù)點(diǎn)的數(shù)值系統(tǒng)根據(jù)數(shù)值的大小確定int型還是long型等浮點(diǎn)型常量:凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實(shí)數(shù)C編譯系統(tǒng)把浮點(diǎn)型常量都按雙精度處理分配8個(gè)字節(jié)1.根本的算術(shù)運(yùn)算符%〔求余運(yùn)算符,或稱求模運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3〕。注意:兩個(gè)整數(shù)整除的商仍為整數(shù)3.2.7運(yùn)算符和表達(dá)式2.

自增、自減運(yùn)算符++,--

優(yōu)先級(jí)++、--(2)結(jié)合性自右至左功能使變量的值增1或減1四種表達(dá)式i++i--++i--ii自加之前的值值i自減之前的值i自加之后的值i自減之后的值3.2.7運(yùn)算符和表達(dá)式33424242注意!i是變量i++,i--,++i,--i是表達(dá)式3.2.7運(yùn)算符和表達(dá)式注意:(1)自增運(yùn)算符〔++〕,自減運(yùn)算符〔--〕,只能用于變量,而不能用于常量或表達(dá)式(2)++和--的結(jié)合方向是“自右至左”。自增〔減〕運(yùn)算符常用于循環(huán)語(yǔ)句中使循環(huán)變量自動(dòng)加〔減〕1。也用于指針變量,使指針指向下一個(gè)地址。例:i=3;a=-i++;3.2.7運(yùn)算符和表達(dá)式a=-33.算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性例如:a*b/c-1.5+′a′是一個(gè)合法的表達(dá)式算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù)〕連接起來(lái)的、符合C語(yǔ)法規(guī)那么的式子。運(yùn)算對(duì)象包括常量、變量、函數(shù)等。優(yōu)先級(jí)結(jié)合性功能運(yùn)算符3.2.7運(yùn)算符和表達(dá)式優(yōu)先級(jí)/、*、%(3)+、-(4)結(jié)合性自左至右功能完成算術(shù)運(yùn)算3.2.7運(yùn)算符和表達(dá)式整型〔包括int,short,long〕浮點(diǎn)型〔包括float,double〕可以混合運(yùn)算。運(yùn)算時(shí),不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。該類型轉(zhuǎn)換是系統(tǒng)自動(dòng)進(jìn)行的例:*’b’4.不同類型數(shù)據(jù)間的混合運(yùn)算3.2.7運(yùn)算符和表達(dá)式char、short

float

int

unsigned

long

double說(shuō)明:必定的轉(zhuǎn)換運(yùn)算對(duì)象類型不同時(shí)的轉(zhuǎn)換

例3.7

給定一個(gè)大寫字母,要求用小寫字母輸出。解題思路:關(guān)鍵是找到大、小寫字母間的內(nèi)在聯(lián)系同一個(gè)字母,用小寫表示的字符的ASCII代碼比用大寫表示的字符的ASCII代碼大323.2.7運(yùn)算符和表達(dá)式#include<stdio.h>intmain(){charc1,c2;c1='A';c2=c1+32;printf("%c\n",c2);printf("%d\n",c2);return0;}//將字符‘A’的ASCII代碼65放到c1中//將65+32的結(jié)果放到c2中//用字符形式輸出//用十進(jìn)制形式輸出3.2.7運(yùn)算符和表達(dá)式運(yùn)行結(jié)果:5.強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的一般形式為〔類型名〕〔表達(dá)式〕(double)a〔將a轉(zhuǎn)換成double類型〕(int)(x+y)〔將x+y的值轉(zhuǎn)換成int型〕(float)(5%3)〔將5%3的值轉(zhuǎn)換成float型〕有兩種類型轉(zhuǎn)換系統(tǒng)自動(dòng)進(jìn)行的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換3.2.7運(yùn)算符和表達(dá)式3.2.7運(yùn)算符和表達(dá)式6.C運(yùn)算符C運(yùn)算符算術(shù)運(yùn)算符:(+-*/%++--)關(guān)系運(yùn)算符:(<<===>>=!=)邏輯運(yùn)算符:(!&&||)位運(yùn)算符:(<<>>~|∧&)賦值運(yùn)算符:(=及其擴(kuò)展)條件運(yùn)算符:(?:)逗號(hào)運(yùn)算符:(,)指針運(yùn)算符:(*&)求字節(jié)數(shù):(sizeof)強(qiáng)制類型轉(zhuǎn)換:((類型))成員運(yùn)算符:(.->)下標(biāo)運(yùn)算符:([])其他:(如函數(shù)調(diào)用運(yùn)算符())

學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能與操作數(shù)的關(guān)系要求操作數(shù)的個(gè)數(shù)要求操作數(shù)的類型運(yùn)算符優(yōu)先級(jí)別結(jié)合方向結(jié)果的類型3.2.7運(yùn)算符和表達(dá)式3.3

C語(yǔ)句C語(yǔ)句

控制語(yǔ)句

空語(yǔ)句〔;〕函數(shù)調(diào)用語(yǔ)句〔如:printf();〕表達(dá)式語(yǔ)句〔如:c=a+b;〕復(fù)合語(yǔ)句〔{……}〕

結(jié)構(gòu)化語(yǔ)句

非結(jié)構(gòu)化語(yǔ)句continue語(yǔ)句

break語(yǔ)句return語(yǔ)句

goto語(yǔ)句

條件語(yǔ)句

循環(huán)語(yǔ)句

while語(yǔ)句

do-while語(yǔ)句

for語(yǔ)句

if語(yǔ)句

switch語(yǔ)句3.3.1C語(yǔ)句的作用和分類#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,s,area;a=3.67;b=5.43;c=6.21;s=1/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\tb=%f\tc=%f\ts=%f\n",a,b,c,s);printf("area=%f\n",area);}例3.8輸入三角形邊長(zhǎng),求面積。文件包含預(yù)處理命令變量定義對(duì)邊長(zhǎng)a、b、c賦值使輸出位置跳到下一個(gè)tab位置用數(shù)學(xué)函數(shù)計(jì)算平方根計(jì)算s3.3.2最根本的語(yǔ)句----賦值語(yǔ)句歸納總結(jié):1.賦值運(yùn)算符變量=表達(dá)式“=”是賦值運(yùn)算符作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量也可將一個(gè)表達(dá)式的值賦給一個(gè)變量例:a=3把常量3賦給變量a。3.3.2最根本的語(yǔ)句----賦值語(yǔ)句歸納總結(jié):1.賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符在賦值符“=”之前加上其他運(yùn)算符,可構(gòu)成復(fù)合的運(yùn)算符b+=24-9等價(jià)于b=b+(24-9)計(jì)算b+(24-9)的值,將計(jì)算結(jié)果賦給左邊的變量b,其中"+="為復(fù)合賦值運(yùn)算符。3.3.2最根本的語(yǔ)句----賦值語(yǔ)句歸納總結(jié):1.賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式一般形式為:變量

賦值運(yùn)算符

表達(dá)式對(duì)賦值表達(dá)式求解的過(guò)程:求賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給賦值運(yùn)算符左側(cè)的變量3.3.2最根本的語(yǔ)句----賦值語(yǔ)句歸納總結(jié):1.賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式“a=3*5”的值為15,對(duì)表達(dá)式求解后,變量a的值和表達(dá)式的值都是15?!癮=(b=5)”和“a=b=5”等價(jià)“a=b”和“b=a”含義不同a=(b=3*4)結(jié)果:a=12,b=12a=〔b=4〕+〔c=6〕結(jié)果:a=10,b=4,c=6,表達(dá)式值為103.3.2最根本的語(yǔ)句----賦值語(yǔ)句歸納總結(jié):1.賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式4.賦值過(guò)程中的類型轉(zhuǎn)換兩側(cè)類型一致時(shí),直接賦值兩側(cè)類型不一致,但都是算術(shù)類型時(shí),自動(dòng)將右側(cè)的類型轉(zhuǎn)換為左側(cè)類型后賦值定義變量時(shí)要防止數(shù)據(jù)溢出3.3.2最根本的語(yǔ)句----賦值語(yǔ)句歸納總結(jié):1.賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式4.賦值過(guò)程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語(yǔ)句賦值表達(dá)式的末尾沒(méi)有分號(hào),而賦值語(yǔ)句有分號(hào)一個(gè)表達(dá)式可以包含賦值表達(dá)式,但決不能包含賦值語(yǔ)句3.3.2最根本的語(yǔ)句----賦值語(yǔ)句歸納總結(jié):1.賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式4.賦值過(guò)程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語(yǔ)句6.變量賦初值inta=3,b=3,c;inta=3;相當(dāng)于inta;a=3;inta=3,b=3,c=3;不可寫成inta=b=c=3;3.3.2最根本的語(yǔ)句----賦值語(yǔ)句3.4數(shù)據(jù)的輸入輸出例3.9

方程的根。a、b、c由鍵盤輸入。設(shè)

>03.4.1輸入輸出舉例考慮:定義a,b,c存放系數(shù),x1,x2存放方程的根,disc,p,q作為中間變量分別求判別式、及根的兩個(gè)局部;輸入原始數(shù)據(jù),注意為哪些變量輸入?計(jì)算,注意計(jì)算順序;輸出,注意輸出格式。#include"stdio.h"#include"math.h"

/*包含數(shù)學(xué)函數(shù)頭文件*/intmain(){doublea,b,c,disc,x1,x2,p,q;

scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);//注意輸入格式disc=b*b-4*a*c;p=-b/(2*a);

q=sqrt(disc)/(2*a);x1=p+q;

x2=p-q;

printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);return0;

}§3.4.1輸入輸出舉例#include<stdio.h>#include<math.h>intmain(){doublea,b,c,disc,x1,x2,p,q;

scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;

printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);return0;}輸入的是雙精度型實(shí)數(shù)§3.4.1輸入輸出舉例#include<stdio.h>#include<math.h>intmain(){doublea,b,c,disc,x1,x2,p,q;

scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;

printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);return0;}要求輸入3個(gè)實(shí)數(shù)自動(dòng)轉(zhuǎn)成實(shí)數(shù)后賦給a,b,c§3.4.1輸入輸出舉例#include<stdio.h>#include<math.h>intmain(){doublea,b,c,disc,x1,x2,p,q;

scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;

printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);return0;}輸出數(shù)據(jù)占7列,其中小數(shù)占2列§3.4.1輸入輸出舉例§3.4.3用printf函數(shù)輸出數(shù)據(jù)格式:printf(格式控制字符串,表達(dá)式列表)功能:按規(guī)定的格式依次輸出各個(gè)表達(dá)式的值。格式輸出函數(shù)printf()例如printf("******\n");將字符串******輸出到屏幕上,并輸出一個(gè)回車符printf("i=%d,c=%c\n",i,c);格式聲明§3.4.3用printf函數(shù)輸出數(shù)據(jù)格式:printf(格式控制字符串,表達(dá)式列表)功能:按規(guī)定的格式依次輸出各個(gè)表達(dá)式的值。格式輸出函數(shù)printf()例如printf("******\n");將字符串******輸出到屏幕上,并輸出一個(gè)回車符printf("i=%d,c=%c\n",i,c);普通字符§3.4.3用printf函數(shù)輸出數(shù)據(jù)格式:printf(格式控制字符串,表達(dá)式列表)功能:按規(guī)定的格式依次輸出各個(gè)表達(dá)式的值。格式輸出函數(shù)printf()例如printf("******\n");將字符串******輸出到屏幕上,并輸出一個(gè)回車符printf("i=%d,c=%c\n",i,c);可以是常量、變量或表達(dá)式§3.4.3用printf函數(shù)輸出數(shù)據(jù)格式控制字符串中包括:格式字符:對(duì)應(yīng)輸出一個(gè)輸出項(xiàng)的值轉(zhuǎn)義字符:輸出轉(zhuǎn)義字符,一般進(jìn)行輸出控制和輸出特殊字符普通字符:原樣輸出,對(duì)輸出項(xiàng)進(jìn)行說(shuō)明和解釋格式輸出函數(shù)printf()格式字符%d,%ld,%i:按十進(jìn)制輸出一個(gè)整數(shù)%f:按十進(jìn)制輸出一個(gè)實(shí)數(shù),小數(shù)局部默認(rèn)輸出6位%e:按科學(xué)計(jì)數(shù)法輸出一個(gè)實(shí)數(shù)%c:輸出一個(gè)ASCII碼字符§3.4.3用printf函數(shù)輸出數(shù)據(jù)格式控制字符串中包括:格式字符:對(duì)應(yīng)輸出一個(gè)輸出項(xiàng)的值轉(zhuǎn)義字符:輸出轉(zhuǎn)義字符,一般進(jìn)行輸出控制和輸出特殊字符普通字符:照原樣輸出,對(duì)輸出項(xiàng)進(jìn)行說(shuō)明和解釋格式輸出函數(shù)printf()格式字符%6d,%6ld,%6i:按十進(jìn)制輸出一個(gè)整數(shù),最少占6位寬度,右對(duì)齊%8.2f:按十進(jìn)制輸出一個(gè)實(shí)數(shù),最少占8位,保存2位小數(shù),右對(duì)齊%8.2e:按科學(xué)計(jì)數(shù)法輸出一個(gè)實(shí)數(shù),最少占8位,尾數(shù)局部保存2位小數(shù)右對(duì)齊%3c:輸出一個(gè)字符,占3位寬度,右對(duì)齊§3.4.3用printf函數(shù)輸出數(shù)據(jù)格式控制字符串中包括:格式字符:對(duì)應(yīng)輸出一個(gè)輸出項(xiàng)的值轉(zhuǎn)義字符:輸出轉(zhuǎn)義字符,一般進(jìn)行輸出控制和輸出特殊字符普通字符:照原樣輸出,對(duì)輸出項(xiàng)進(jìn)行說(shuō)明和解釋格式輸出函數(shù)printf()格式字符%-6d,%-6ld,%-6i:按十進(jìn)制輸出一個(gè)整數(shù),最少占6位寬度,左對(duì)齊%-8.2f:按十進(jìn)制輸出一個(gè)實(shí)數(shù),最少占8位,保存2位小數(shù),左對(duì)齊%-8.2e:按科學(xué)計(jì)數(shù)法輸出一個(gè)實(shí)數(shù),最少占8位,尾數(shù)局部保存2位小數(shù),左對(duì)齊%-3c:輸出一個(gè)字符,占3位寬度,左對(duì)齊%s:輸出一個(gè)字符串%m.nf:m為數(shù)據(jù)最小寬度,n為小數(shù)位數(shù),-為左對(duì)齊3.4.4用scanf函數(shù)輸入數(shù)據(jù)1.scanf函數(shù)的一般形式scanf〔格式控制,地址表列〕含義同printf函數(shù)可以是變量的地址,或字符串的首地址2.scanf函數(shù)中的格式聲明與printf函數(shù)中的格式聲明相似以%開(kāi)始,以一個(gè)格式字符結(jié)束,中間可插入附加的字符scanf("a=%f,b=%f,c=%f",&a,&b,&c);3.4.4用scanf函數(shù)輸入數(shù)據(jù)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題scanf("%f%f%f",a,b,c);scanf("%f%f%f",&a,&b,&c);對(duì)于scanf("a=%f,b=%f,c=%f",&a,&b,&c);

132↙

a=1,b=3,c=2↙

a=1b=3c=2↙

3.4.4用scanf函數(shù)輸入數(shù)據(jù)錯(cuò)對(duì)錯(cuò)對(duì)錯(cuò)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題對(duì)于scanf("%c%c%c",&c1,&c2,&c3);abc↙對(duì)abc↙錯(cuò)對(duì)于scanf("%d%c%f",&a,&b,&c);假設(shè)輸入1234a123o.26↙3.4.4用scanf函數(shù)輸入數(shù)據(jù)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題對(duì)于scanf("%c%c%c",&c1,&c2,&c3);abc↙對(duì)abc↙錯(cuò)對(duì)于scanf("%d%c%f",&a,&b,&c);假設(shè)輸入1234a123o.26↙3.4.4用scanf函數(shù)輸入數(shù)據(jù)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題對(duì)于scanf("%c%c%c",&c1,&c2,&c3);abc↙對(duì)abc↙錯(cuò)對(duì)于scanf("%d%c%f",&a,&b,&c);假設(shè)輸入1234a123o.26↙3.4.4用scanf函數(shù)輸入數(shù)據(jù)

main(){inta;scanf("%d\n",&a);printf("%d\n",a);}×√使用scanf函數(shù)時(shí),如果雙引號(hào)中加一個(gè)\n,那么在程序運(yùn)行時(shí)需要多輸入一個(gè)數(shù)據(jù)。使用printf函數(shù)時(shí),如果雙引號(hào)中加一個(gè)\n,那么在程序運(yùn)行時(shí)在屏幕上輸出一個(gè)換行符。輸入函數(shù)scanf與輸出函數(shù)printf的使用區(qū)別一

main(){inta;scanf("%d",a);printf("%d\n",a);}使用scanf函數(shù)從鍵盤上為變量賦值時(shí),應(yīng)在變量名前使用取地址符號(hào)&。使用printf函數(shù)輸出數(shù)值時(shí),輸出項(xiàng)可以是一個(gè)常量、變量、或一個(gè)表達(dá)式。×√輸入函數(shù)scanf與輸出函數(shù)printf的使用區(qū)別二

main(){floata;scanf("%.2f",&a);printf("%.2f\n",a);}×√使用scanf函數(shù)從鍵盤上為變量賦值時(shí),不能規(guī)定精度。使用printf函數(shù)輸出實(shí)數(shù)時(shí),可以在%和f之間加.2,使輸出保存留2位小數(shù)。輸入函數(shù)scanf與輸出函數(shù)printf的使用區(qū)別三

main(){doublea;scanf("%f",&a);printf("%f\n",a);}×√使用scanf函數(shù)從鍵盤上為雙精度型變量賦值時(shí),必須使用%lf格式。使用printf函數(shù)輸出雙精度實(shí)數(shù)時(shí),使用%f格式。輸入函數(shù)scanf與輸出函數(shù)printf的使用區(qū)別四

main(){floata;printf("inputa:\n");scanf("%f",&a);printf("%f\n",a);}√printf函數(shù)出現(xiàn)在輸入之前且沒(méi)有變量表列,它的作用為輸入提示。由于scanf函數(shù)本身不能顯示提示串,故先用printf語(yǔ)句在屏幕上輸出提示,請(qǐng)用戶輸入a的值。執(zhí)行scanf語(yǔ)句,那么進(jìn)入用戶屏幕等待用戶輸入,用戶根據(jù)提示輸入數(shù)據(jù)?!梯斎牒瘮?shù)scanf與輸出函數(shù)printf的使用區(qū)別五§3.4.5字符數(shù)據(jù)的輸入輸出C語(yǔ)言提供下面的函數(shù)進(jìn)行字符數(shù)據(jù)的輸入輸出字符輸出函數(shù):putchar()字符輸入函數(shù):getchar()§3.4.5字符數(shù)據(jù)的輸入輸出格式:putchar(ch)功能:將字符ch〔單個(gè)字符〕輸出到屏幕上。返回值:整型,其值就是所輸出字符的ASCII值。一、字符輸出函數(shù)putchar()putchar()函數(shù)的說(shuō)明ch可以是字符常量、字符變量及數(shù)值表達(dá)式。假設(shè)ch的值為實(shí)數(shù),那么截去小數(shù),輸出相應(yīng)字符。假設(shè)ch大于255,那么輸出ch%256所對(duì)應(yīng)的字符。§3.4.5字符數(shù)據(jù)的輸入輸出格式:putchar(ch)功能:將字符ch〔單個(gè)字符〕輸出到屏幕上。返回值:整型,其值就是所輸出字符的ASCII值。一、字符輸出函數(shù)putchar()例如:putchar('A');/*在屏幕上輸出大寫字母A*/c='*';

putchar(c);/*在屏幕上輸出c的值,即輸出*號(hào)*/putchar(97);/*輸出97所對(duì)應(yīng)的字符〔字母a〕*/putchar('\'');/*輸出單撇號(hào)字符*/§3.4.5字符數(shù)據(jù)的輸入輸出格式:getchar()功能:從鍵盤上讀入下一個(gè)字符。返回值:整型,其值就是所讀入的字符的ASCII值。二、字符輸入函數(shù)getchar()getchar()函數(shù)的說(shuō)明程序運(yùn)行過(guò)程中在調(diào)用getchar()函數(shù)時(shí),將返回用戶屏幕,等待用戶輸入一個(gè)字符。一般用法:charc;//定義一個(gè)字符變量cc=getchar();//從鍵盤上讀入一個(gè)字符并賦給變量c例3.10

先后輸出BOY三個(gè)字符。解題思路:定義3個(gè)字符變量,分別賦以初值B、O、Y用putchar函數(shù)輸出這3個(gè)字符變量的值§3.4.5字符數(shù)據(jù)的輸入輸出#include<stdio.h>intmain(){chara='B',b='O',c='Y';putchar(a);putchar(b);putchar(c);putchar('\n');return0;}向顯示器輸出字符B向顯示器輸出換行符§3.4.

溫馨提示

  • 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)論