第3章(31-36)-程序初步設(shè)計_第1頁
第3章(31-36)-程序初步設(shè)計_第2頁
第3章(31-36)-程序初步設(shè)計_第3頁
第3章(31-36)-程序初步設(shè)計_第4頁
第3章(31-36)-程序初步設(shè)計_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章程序初步設(shè)計3.1 面向過程的程序設(shè)計和算法3.2 C++程序和語句3.3 賦值語句3.4 C++的輸入與輸出3.5 編寫順序結(jié)構(gòu)的程序3.6 關(guān)系運算和邏輯運算……

C++的輸入、輸出操作由I/O流庫提供流指來自設(shè)備或傳給設(shè)備的一個數(shù)據(jù)流。數(shù)據(jù)流是有一系列字節(jié)組成的并按照順序進行排列。

cin

和cout是流庫預(yù)定義的兩個標準對象,分別連接鍵盤和屏幕

它們在頭文件iostream

中聲明3.4C++的輸入與輸出語句格式cout<<表達式1<<表達式2…<<表達式n;cout作用是將需要輸出的內(nèi)容顯示到屏幕上。

過程:執(zhí)行cout語句時,先把插入的數(shù)據(jù)順序的存放在緩沖區(qū),直到輸出緩沖區(qū)滿或遇到cout語句中的endl(或’\n’,ends,flush)為止,此時將緩沖區(qū)中已有的數(shù)據(jù)一起輸出,并清空緩沖區(qū)。3.4.1輸入流與輸出流的基本操作插入運算符cout<<

表達式1

<<

表達式2…<<

表達式n;語句格式cout作用是將需要輸出的內(nèi)容顯示到屏幕上。

3.4.1輸入流與輸出流的基本操作輸出項cout<<表達式1<<表達式2…<<表達式n;語句格式cout作用是將需要輸出的內(nèi)容顯示到屏幕上。

3.4.1輸入流與輸出流的基本操作輸出語句的形式:例:以下各語句輸出結(jié)果相同

cout<<“Hello\nIamZhangHua\n”;cout<<“Hello”<<‘\n’<<“IamZhangHua”<<‘\n’;cout<<“Hello”<<endl<<“IamZhangHua”<<endl;cout<<“Hello” <<endl <<“IamZhangHua” <<endl;cout作用是將需要輸出的內(nèi)容顯示到屏幕上。

3.4.1輸入流與輸出流的基本操作注意:不能用一個插入運算符(<<)插入多個輸出項例:inta=1,b=2,c=3;

cout<<a,b,c;正確寫法:

cout<<a<<b<<c;錯誤!cout作用是將需要輸出的內(nèi)容顯示到屏幕上。

3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}輸出整型變量a的值3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}換行3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}輸出整型變量b的值3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}換行3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}輸出字符變量s的值3.4.1輸入流與輸出流的基本操作//例#include<iostream>usingnamespacestd;intmain(){ inta=2,b=3; chars='c'; cout<<"a="<<a<<endl <<"b="<<b<<endl; cout<<"s="<<s<<endl; return0;}換行3.4.1輸入流與輸出流的基本操作cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

語句格式cin>>變量1>>變量2…>>變量n;3.4.1輸入流與輸出流的基本操作cin>>變量1>>變量2…>>變量n;標準輸入流對象語句格式cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作cin>>

變量1

>>

變量2…>>

變量n;提取運算符語句格式cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作cin>>變量1>>變量2…>>變量n;已經(jīng)定義過的

對象語句格式cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作例如inta;chars;cin>>a>>s;cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作例如inta;chars;cin>>a>>s;cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作例如inta;chars;cin>>a>>s;cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作例如inta;chars;cin>>a>>s;35鍵入:相當(dāng)于:a=35;cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作例如inta;chars;cin>>a>>s;35鍵入:相當(dāng)于:a=35;cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作例如inta;chars;cin>>a>>s;35B鍵入:相當(dāng)于:s='B';相當(dāng)于:a=35;cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作例如inta,b;cin>>a+b;可以嗎? 為什么?錯誤!cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作注意:不能用一個提取運算符(>>)提取多個輸入項例:inta,b,c;

cin>>a,b,c;正確寫法:

cin>>a>>b>>c;

或cin>>a;

cin>>b;

cin>>c;錯誤!cin的作用是讀取用戶從鍵盤鍵入的內(nèi)容,存入指定的變量中。

3.4.1輸入流與輸出流的基本操作賦值符的優(yōu)先級低于提取符:cout<<a=b;

//錯誤可以添加括號改變優(yōu)先級:cout<<(a=b);

//正確注意:3.4.1輸入流與輸出流的基本操作常用的輸出格式控制符 需要包含頭文件iomanip

控制符功能endl輸出一個新行符,并清空流ends輸出一個空格符,并清空流

dec用十進制表示法輸入或輸出數(shù)值hex用十六進制表示法輸入或輸出數(shù)值oct用八進制表示法輸入或輸出數(shù)值setfill(charc)設(shè)置填充符csetprecision(intn)設(shè)置浮點數(shù)輸出精度setw(intn)設(shè)置輸出寬度3.4.2在輸入流與輸出流中使用控制符常用的輸出格式控制符

例:inta=36;cout<<dec<<a<<endl;cout<<hex<<a<<endl;cout<<oct<<a<<endl;3.4.2在輸入流與輸出流中使用控制符常用的輸出格式控制符

例:#include<iomanip>#include<iostream>usingnamespacestd;intmain(){

doubleb=123.4567;cout<<b<<endl;cout<<setprecision(4)<<b<<endl;cout<<setprecision(7)<<b<<endl;cout<<setw(12)<<b<<endl;cout<<setfill('*')<<setw(12)<<b<<endl;return0;}3.4.2在輸入流與輸出流中使用控制符常用的輸出格式控制符 需要包含頭文件iomanip

控制符功能3.4.2在輸入流與輸出流中使用控制符//例:輸出雙精度數(shù)doublea=123.456789012345;對a賦初值(1)cout<<a;輸出:123.457(2)cout<<setprecision(9)<<a;輸出:123.456789(3)cout<<setprecision(6);恢復(fù)默認格式(精度為6)(4)cout<<setiosflags(ios∷fixed)<<a;輸出:123.456789(5)cout<<setiosflags(ios∷fixed)<<setprecision(8)<<a;|

輸出:123.45678901(6)cout<<setiosflags(ios∷scientific)<<a;輸出:1.234568e+02(7)cout<<setiosflags(ios∷scientific)<<setprecision(4)<<a;

輸出:1.2346e023.4.2在輸入流與輸出流中使用控制符//例:整數(shù)輸出

intb=123456;對b賦初值(1)cout<<b;輸出:123456(2)cout<<hex<<b;輸出:1e240

(3)cout<<hex<<setiosflags(ios∷uppercase)<<b;輸出:1E240

(4)cout<<setw(10)<<b<<’,’<<b;輸出:123456,123456(5)cout<<setfill(’*’)<<setw(10)<<b;輸出:****123456(6)cout<<setiosflags(ios::left)<<setfill(’*’)<<setw(10)<<b;

輸出:123456****(7)cout<<setiosflags(ios∷showpos)<<b;輸出:+1234563.4.2在輸入流與輸出流中使用控制符//略3.4.3用getchar和putchar函數(shù)進行字符的輸入和輸出//略3.4.4用scanf和printf函數(shù)進行輸入和輸出//例3.5

求一元二次方程式ax2+bx+c=0的根。a,b,c的值在運行時由鍵盤輸入,它們的值滿足b2-4ac≥0。3.5編寫順序結(jié)構(gòu)的程序#include<iostream>#include<cmath>usingnamespacestd;intmain(){floata,b,c,x1,x2;cin>>a>>b>>c;x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;return0;}關(guān)系表達式和邏輯表達式的值是一個邏輯值。邏輯值只有兩個:

真成立為true(1)

假不成立為false(0)表達式求值過程中,所有非0值都作為邏輯真true。3.6關(guān)系運算和邏輯運算關(guān)系運算是指對兩個運算量的大小進行比較。關(guān)系運算符:>大于 >=大于等于 <小于<=小于等于 ==等于 !=不等于優(yōu)先級:低于算術(shù)運算類,高于賦值類結(jié)合性:從左向右結(jié)合3.6.1關(guān)系運算和關(guān)系表達式例:

若有 intx=2,y=3,z;則x==yx!=y值為0值為

1z的值為1z=2>=3<=5z=0<=5z=1z=3-1>=x+1<=y+23.6.1關(guān)系運算和關(guān)系表達式(1)設(shè)a=0,b=0.5,x=0.3表達式a<=x<=b的結(jié)果為:0

1注意:

說明數(shù)學(xué)含義x在區(qū)間[a,b]的數(shù)學(xué)表達式

a≤x≤b不能使用a<=x<=b 表示應(yīng)該使用

a<=x&&x<=b

表示注意關(guān)系運算的正確使用:3.6.1關(guān)系運算和關(guān)系表達式注意關(guān)系運算的正確使用:(2)表達式5>2>7>6的結(jié)果為:0

1討論:

5>2>7>8是一個無意義的數(shù)學(xué)式子,但在C++中是合法表達式應(yīng)盡量避免使用這種意義不清的表達式03.6.1關(guān)系運算和關(guān)系表達式注意關(guān)系運算的正確使用:(3)字符數(shù)據(jù)按ASCⅡ碼值進行比較

例:

'a'>0 值為1(true) 'A'>100 值為0(false)3.6.1關(guān)系運算和關(guān)系表達式注意關(guān)系運算的正確使用:(4)不要把等于運算符(==)誤寫成賦值運算符(=)例1: intx=3;if(x==9)cout<<“xis9”<<endl;例2: intx=3;if(x=9)cout<<“xis9”<<endl;例3: intx=3;if(x=0)cout<<“xis0”<<endl;

根據(jù)x的值決定是否執(zhí)行這個語句總是執(zhí)行這個語句總是不執(zhí)行這個語句//相當(dāng)于if(9)//相當(dāng)于if(0)3.6.1關(guān)系運算和關(guān)系表達式3.6.2邏輯常量和邏輯變量邏輯變量(又稱布爾變量)的類型標識符:

bool

邏輯變量的值是邏輯常量(又稱布爾常量):

true、false

(編譯器將true處理為1,將false處理為0)例:定義兩個布爾型變量,分別賦值,然后輸出。

boolb1=true;

boolb2=false;

cout<<"b1="<<b1<<endl;

cout<<"b2="<<b2<<endl;3.6.2邏輯常量和邏輯變量

注意:若將非零的整數(shù)賦值給邏輯變量,則按“真”處理:若將整數(shù)0

賦值給邏輯變量,則按“假”處理。

例:

boolb3=123;

boolb4=0;

cout<<"b3="<<b3<<endl;

cout<<"b4="<<b4<<endl;數(shù)學(xué)上的式子:0<x≤100C++中表示為:x>0&&

x<=100

3.6.3邏輯運算和邏輯表達式數(shù)學(xué)上的式子:x<20或x>50C++中表示為:x<20||x>50

邏輯與邏輯或&& 邏輯與:左操作數(shù)為真且右操作數(shù)為真,則結(jié)果為真。 || 邏輯或:左操作數(shù)為真或右操作數(shù)為真,則結(jié)果為真。 ! 邏輯非:取操作數(shù)邏輯相反值。

邏輯運算符:3.6.3邏輯運算和邏輯表達式邏輯與0&&0==0&& 邏輯與:左操作數(shù)為真且右操作數(shù)為真,則結(jié)果為真。3.6.3邏輯運算和邏輯表達式邏輯與0&&0==01&&0==00&&1==0&& 邏輯與:左操作數(shù)為真且右操作數(shù)為真,則結(jié)果為真。3.6.3邏輯運算和邏輯表達式邏輯與0&&0==01&&0==00&&1==01&&1==1&& 邏輯與:左操作數(shù)為真且右操作數(shù)為真,則結(jié)果為真。3.6.3邏輯運算和邏輯表達式邏輯或||邏輯或:左操作數(shù)為真或右操作數(shù)為真,則結(jié)果為真。 0||0==03.6.3邏輯運算和邏輯表達式邏輯或||邏輯或:左操作數(shù)為真或右操作數(shù)為真,則結(jié)果為真。 0||0==01||0==13.6.3邏輯運算和邏輯表達式邏輯或||邏輯或:左操作數(shù)為真或右操作數(shù)為真,則結(jié)果為真。 0||0==01||0==10||1==13.6.3邏輯運算和邏輯表達式邏輯或||邏輯或:左操作數(shù)為真或右操作數(shù)為真,則結(jié)果為真。 0||0==01||0==10||1==11||1==13.6.3邏輯運算和邏輯表達式邏輯非!邏輯非:取操作數(shù)邏輯相反值。 !0==13.6.3邏輯運算和邏輯表達式邏輯非!邏輯非:取操作數(shù)邏輯相反值。 !0==1!1==03.6.3邏輯運算和邏輯表達式邏輯真值表:3.6.3邏輯運算和邏輯表達式邏輯運算規(guī)律:0&&a==01&&a==a a&&a==a

其中:a為邏輯值1(true)或0(false)1||a==10||a==aa||a==a3.6.3邏輯運算和邏輯表達式例:根據(jù)溫度和濕度打印一則消息。inttemp=25,humi=80;if(temp>=20&&humi>=50)cout<<"It'shot\n";if(temp<0||temp

溫馨提示

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

評論

0/150

提交評論