高中信息競賽順序程序設(shè)計(jì)_第1頁
高中信息競賽順序程序設(shè)計(jì)_第2頁
高中信息競賽順序程序設(shè)計(jì)_第3頁
高中信息競賽順序程序設(shè)計(jì)_第4頁
高中信息競賽順序程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

高中信息競賽順序程序設(shè)計(jì)第一頁,共四十一頁,編輯于2023年,星期六什么是程序?為了解決某一特定問題,用某一種計(jì)算機(jī)語言編寫的指令序列稱為程序。實(shí)際上你對計(jì)算機(jī)做的操作都有相應(yīng)的程序支持的結(jié)果。第二頁,共四十一頁,編輯于2023年,星期六什么是程序設(shè)計(jì)?程序是程序設(shè)計(jì)的結(jié)果,在執(zhí)行程序前必須先排定程序,排定以時間為進(jìn)程必須完成的各種操作叫程序設(shè)計(jì)。用高級語言進(jìn)行程序設(shè)計(jì)時要注意以下三個概念:語法,每種計(jì)算機(jī)語言都有自己的語法規(guī)則。語義,即某一語法成分的含義。語用,即正確使用語言。第三頁,共四十一頁,編輯于2023年,星期六【例1】輸出一行字符:“ThisisaC++program.”。#include<iostream>//包含頭文件名iostreamusingnamespacestd;//使用命名空間stdintmain()//主函數(shù){cout<<"ThisisaC++program.“<<endl;system(“pause”); //系統(tǒng)暫停

return0;//向操作系統(tǒng)返回一個零值}程序運(yùn)行顯示:ThisisaC++program.第四頁,共四十一頁,編輯于2023年,星期六【例2】求兩個整數(shù)的和。#include<iostream>//包含輸入輸出頭文件usingnamespacestd;//使用未命名空間stdintmain()//主函數(shù){inta,b,sum; //說明變量a,b,sum為整型數(shù)

cin>>a>>b; //從鍵盤上輸入變量a、b的值

sum=a+b; //求和

cout<<"Sum="<<sum<<endl; //輸出結(jié)果

system("pause");//暫停輸出結(jié)果

return0;}假如從鍵盤輸入為:26程序運(yùn)行顯示:Sum=8第五頁,共四十一頁,編輯于2023年,星期六

#include<iostream>引用頭文件是為了能在程序中使用輸入流cin和輸出流cout。

usingnamespacestd;“使用命名空間std”,句末有分號結(jié)束,是一條語句。C++標(biāo)準(zhǔn)庫中的類和函數(shù)是在命名空間std中聲明的。必須寫,否則會出錯。位置是要放到頭文件之后。返回第六頁,共四十一頁,編輯于2023年,星期六

intmain();其中main()表示主函數(shù),每個C++程序必須有且只能有一個主函數(shù),C++程序總是從主函數(shù)開始執(zhí)行的。main()函數(shù)之前的int表示main()函數(shù)返回值為整型,這符合C++的最新標(biāo)準(zhǔn)。在花括號內(nèi)的部分是函數(shù)體,函數(shù)體由語句組成,每個語句由分號結(jié)束。Cin與符號“>>”

結(jié)合;cout與符號“<<”結(jié)合使用可以輸出常量、變量的值及字符串。

返回第七頁,共四十一頁,編輯于2023年,星期六【例3】已知一個圓的半徑,求解該圓的面積和周長.令pi=3.1415926;輸出只有一行,先周長,后面積。(中間用空格分開,都保留兩位小數(shù))。

#include<iostream>//輸入輸出的頭文件#include<iomanip>//包含保留小數(shù)的頭文件usingnamespacestd;//使用未命名空間stdconstdoublepi=3.1415926;//常量說明intmain()//主函數(shù){intr;//整型變量說明doublec,s;//實(shí)型變量說明cin>>r;//輸入語句c=2*pi*r;//賦值語句s=pi*r*r;cout<<fixed<<setprecision(2)<<c<<""<<s<<endl;system(“pause”);//系統(tǒng)暫停return0;}第八頁,共四十一頁,編輯于2023年,星期六一.變量的定義int—long—longlongcharboolfloatdouble規(guī)定:整型用long;實(shí)型用double第九頁,共四十一頁,編輯于2023年,星期六一.變量的定義變量的定義格式是:數(shù)據(jù)類型變量1,變量2,變量3,……;其中:(1)變量名表可以包含若干個變量,彼此之間用逗號分開,如charc1,c2;

(2)變量名必須用標(biāo)識符來標(biāo)識。(3)變量可以是C++基本數(shù)據(jù)類型,也可以為構(gòu)造類型,還可以是用戶定義的數(shù)據(jù)類型。(4)在C++中,變量的定義可放在使用之前的任何地方。(5)在定義變量的同時給變量賦值,即在內(nèi)存中開辟出一個空間后馬上給此空間賦值。但這個空間的值并不是固定不變的,在程序的運(yùn)行中一樣可以改變。第十頁,共四十一頁,編輯于2023年,星期六一.變量的定義#include<iostream>usingnamespacestd;intmain(){inta,b=1; //定義a,b為整型變量,并給b賦初值

floatx,y=12.345;//定義單精度型變量x,y,并給y賦初值

doublex1,y1;//定義雙精度型變量x,ycharc1,c2;//定義字符型變量c1,c2cout<<"Y="<<y<<endl;//輸出y的值,最后換行

system(“pause”);//系統(tǒng)暫停

return0;}第十一頁,共四十一頁,編輯于2023年,星期六二.常量的定義常量是在程序運(yùn)行過程中,其值一直保持不變的量為常量。如y=3*x中的3是不可變的,它就是常量。

C++的常量分:數(shù)字常量、字符常量、符號常量和布爾常量。

字符常量字符常量是用單引號括起來的一個字符,其值為ASCII代碼值。如’a’、’A’、’x’、’$’、’#’等都是合法的字符常量。注意’a’和’A’是不同的字符常量。字符串常量是用一對雙引號括起來的字符序列。如”a”、”aaa”、”123”、”CHINA”、”Howdoyoudo?”、”¥1.23”等都是字符常量。

第十二頁,共四十一頁,編輯于2023年,星期六二.常量的定義標(biāo)識符常量在C++中有二種方法定義標(biāo)識符常量,一種是使用編譯預(yù)處理指令;另一種是使用C++的常量說明符const。(1)例如:

#definePRICE30#definePI3.1415926#defineS“China”(2)一般形式為:const數(shù)據(jù)類型符號常量=常量值;例如:constfloatpi=3.1415926;//將變量pi定義為常量第十三頁,共四十一頁,編輯于2023年,星期六二.常量的定義#include<iostream>#definepi3.14156#defines"china"usingnamespacestd;intmain(){constfloatPI=3.14156; //變量作為常量使用

cout<<“PI="<<PI<<endl;cout<<"10*PI="<<10*PI<<endl;cout<<s<<endl;PI=PI+3;pi=pi+4;cout<<"pi="<<pi<<endl;cout<<"pi="<<pi<<endl;}

c++程序要區(qū)分大小寫!第十四頁,共四十一頁,編輯于2023年,星期六三.算術(shù)運(yùn)算及表達(dá)式1、算術(shù)運(yùn)算符和算術(shù)表達(dá)式

+-*/(取整)%(取余)用算術(shù)運(yùn)算符連接起來的式子是算術(shù)表達(dá)式兩個整數(shù)相除結(jié)果為整數(shù)

1/2=05/2=2

整數(shù)才可求余,余數(shù)的符號與左邊數(shù)的符號相同。

3%2=18%4=02、優(yōu)先級與結(jié)合性()*/%

+—第十五頁,共四十一頁,編輯于2023年,星期六三.算術(shù)運(yùn)算及表達(dá)式3.自增、自減運(yùn)算符++、--++:其功能是使變量的值自增1。

--:其功能是使變量值自減1。自增1,自減1運(yùn)算符均為單目運(yùn)算,都具有右結(jié)合性??捎幸韵聨追N形式:

++i:i自增1后再參與其它運(yùn)算(先增后用)。

--i:i自減1后再參與其它運(yùn)算(先減后用)。

i++:i參與運(yùn)算后,i的值再自增1(先用后增)。

i--:i參與運(yùn)算后,i的值再自減1(先用后減)。第十六頁,共四十一頁,編輯于2023年,星期六【例】自增、自減運(yùn)算符。#include<iostream>usingnamespacestd;intmain(){inti=8;cout<<++i<<endl;cout<<--i<<endl;cout<<i++<<endl;cout<<i--<<endl;system("pause");}運(yùn)行結(jié)果:9889第十七頁,共四十一頁,編輯于2023年,星期六4.表達(dá)式的書寫格式在C++程序中,表達(dá)式的書寫也應(yīng)注意。下面將數(shù)學(xué)上的表達(dá)式與C++的表達(dá)式做一個對比:數(shù)學(xué)表達(dá)式合法的C++表達(dá)式

a×(-b)a*(-b)ab-cda*b-c*d2(b+y/c)+82*(b+y/c)+8x2+3x+2x*x+3*x+2第十八頁,共四十一頁,編輯于2023年,星期六四.賦值運(yùn)算1.賦值運(yùn)算符:如year=2008注意:“=”左邊必須是一個變量名。若“=”兩邊變量類型不同,在賦值時要進(jìn)行類型轉(zhuǎn)換。轉(zhuǎn)換原則:根據(jù)左邊變量的類型轉(zhuǎn)換。

inta,b=3;doublec=1.5;a=b-c;第十九頁,共四十一頁,編輯于2023年,星期六四.賦值運(yùn)算2.賦值表達(dá)式用賦值運(yùn)算符將變量和表達(dá)式連接起來的式子稱為賦值表達(dá)式,一般形式為:

變量=表達(dá)式;例如:

x=8;

y=x;

z=x+y;說明:對于不同的變量V1、V2、……Vn,V1=V2=……=Vn=表達(dá)式;還是一個賦值表達(dá)式,稱為多重賦值。執(zhí)行時,把表達(dá)式的值按照Vn、……、V2、V1的順序依次賦給每個變量。如a=b=c=1,運(yùn)算時,先執(zhí)行c=1,然后把它的結(jié)果賦給b,再把b的賦值表達(dá)式的結(jié)果1賦給a。第二十頁,共四十一頁,編輯于2023年,星期六四.賦值運(yùn)算3.復(fù)合賦值運(yùn)算符由復(fù)合賦值運(yùn)算符(+=,-=,*=,/=,%=)構(gòu)成復(fù)合賦值表達(dá)式,一般形式為:

Voper=E;

其中:設(shè)定oper表示算術(shù)運(yùn)算符,E是一個表達(dá)式,V為變量。實(shí)質(zhì)上上述表達(dá)式等價于V=VoperE。例如:

a+=3;等價于a=a+3;a%=2;等價于a=a%2;a%=b+2;等價于a=a%(b+2);而不是a=a%b+2a*=x-y;等價于a=a*(x-y);而不是a=a*x-y(括號不能丟)第二十一頁,共四十一頁,編輯于2023年,星期六四.賦值運(yùn)算【例題】輸出賦值表達(dá)式的運(yùn)算結(jié)果。#include<iostream>Usingnamespacestd;intmain(){inta,b,c,d,e=7;a=b=1;c=5;d=a++;d*=a+b;//等價于d=d*(a+b)e%=c-b;//等價于e=e%(c-b)cout<<a<<b<<c<<d<<e<<endl;system(“pause”);}21533第二十二頁,共四十一頁,編輯于2023年,星期六五.類型轉(zhuǎn)換

(一)自動類型轉(zhuǎn)換整型、實(shí)型、字符型數(shù)據(jù)間可以混合運(yùn)算。在進(jìn)行運(yùn)算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型的數(shù)據(jù)再進(jìn)行運(yùn)算?!纠纭?0+'a'+1.5-0.5*'b'

第二十三頁,共四十一頁,編輯于2023年,星期六五.類型轉(zhuǎn)換

(二)強(qiáng)制類型轉(zhuǎn)換其一般形式為:

數(shù)據(jù)類型(操作數(shù))或(數(shù)據(jù)類型)操作數(shù)其中操作數(shù)可以是變量名或表達(dá)式,功能是把操作數(shù)的數(shù)據(jù)類型暫時強(qiáng)行轉(zhuǎn)換為前面指定的數(shù)據(jù)類型。例如:

double(a)//將a轉(zhuǎn)換成double型

int(x+y)//將x+y的值轉(zhuǎn)換成int型

float(5%3)//將5%3的值轉(zhuǎn)換成float型第二十四頁,共四十一頁,編輯于2023年,星期六五.類型轉(zhuǎn)換

#include<iostream>usingnamespacestd;intmain(){floatx=5.6,y=7.8;floatz;z=int(x+y);//強(qiáng)制轉(zhuǎn)換x+y的值的類型為整型

cout<<”x+y=”<<x+y<<endl;//直接輸出x+y的值(float型)cout<<”z=”<<z<<endl;system(“pause”);}x+y=13.4z=13第二十五頁,共四十一頁,編輯于2023年,星期六六.輸入語句cin

輸入語句格式:

cin>>變量1>>變量2…>>變量n;【例3.3】變量的輸入。#include<iostream>usingnamespacestd;intmain(){inta;doubleb;charc;cin>>a>>b>>c;cout<<”a=”<<a<<”,b=”<<b<<”\nc=”<<c<<”\n”;system(“pause”);}假如從鍵盤輸入為:123第二十六頁,共四十一頁,編輯于2023年,星期六六.輸入語句cin

使用cin時要注意:(1)“>>”是輸入操作符。(2)cin的功能是:當(dāng)程序在運(yùn)行過程中執(zhí)行到cin時,程序會暫停執(zhí)行并等待用戶從鍵盤輸入相應(yīng)數(shù)目的數(shù)據(jù),用戶輸入完數(shù)據(jù)并回車后,cin從輸入流中取得相應(yīng)的數(shù)據(jù)并依次傳送給其后的變量。(3)“>>”操作符后面除了變量名外不得有其他常量、字符、字符串常量或轉(zhuǎn)義字符等。如:

cin>>”x=”>>x;//錯誤,因?yàn)楹凶址眡=”cin>>’x’>>x;//錯誤,因?yàn)楹凶址痻’cin>>x>>10;//錯誤,因?yàn)楹谐A?0cin>>x>>endl;//錯誤,因?yàn)楹衑ndl(4)當(dāng)一個cin后面跟有多個變量時,則用戶輸入數(shù)據(jù)的個數(shù)應(yīng)與變量的個數(shù)相同,各數(shù)據(jù)之間用一個或多個空格隔開,輸入完畢后按回車鍵,或者每輸入一個數(shù)據(jù)后按回車鍵也可。(5)在缺省的情況下,cin自動跳過輸入的空格,換言之,cin不能將輸入的空格賦給字符型變量,同樣地,回車鍵也是作為輸入字符之間的分隔符,也不能將輸入的回車鍵字符賦給字符型變量。第二十七頁,共四十一頁,編輯于2023年,星期六七.輸出語句cout

1.無格式輸出:

cout<<輸出項(xiàng)1<<輸出項(xiàng)2…<<輸出項(xiàng)n;

說明:(1)“輸出項(xiàng)”是需要輸出的一些數(shù)據(jù),這些數(shù)據(jù)可以是變量、常量或表達(dá)式。每個輸出項(xiàng)前都必須使用插入操作符<<進(jìn)行引導(dǎo);由雙引號引起來的內(nèi)容,是把引號里面的內(nèi)容原樣輸出。(2)在cout中,實(shí)現(xiàn)輸出數(shù)據(jù)換行功能的方法是:既可以使用轉(zhuǎn)義字符’\n’,也可以使用表示行結(jié)束的流操作符endl。即:cout<<“\n”;<=>cout<<endl;第二十八頁,共四十一頁,編輯于2023年,星期六七.輸出語句cout

【例3.1】輸出變量、常量與表達(dá)式。#include<iostream>usingnamespacestd;intmain(){inta=10;doubleb=20.3;charc=’y’;cout<<a<<’,’<<b<<’,’<<c<<’,’<<a+b<<endl;cout<<200<<’,’<<2.5<<’,’<<”hello\n”;system(“pause”);}第二十九頁,共四十一頁,編輯于2023年,星期六七.輸出語句cout

2.格式輸出【例題】輸出變量amount的值,小數(shù)點(diǎn)后面保留兩位有效數(shù)字。#include<iostream>#include<iomanip>//要用到格式控制符usingnamespacestd;intmain(){doubleamount=22.0/7;cout<<amount<<endl;cout<<setprecision(2)<<amount<<endl;cout<<fixed<<setprecision(2)<<amount<<endl;system(“pause”);}運(yùn)行結(jié)果為:3.142863.13.14第三十頁,共四十一頁,編輯于2023年,星期六順序結(jié)構(gòu)程序設(shè)計(jì)AB第三十一頁,共四十一頁,編輯于2023年,星期六【例題題目】:交換兩個變量的值。由鍵盤輸入兩個正整數(shù)a和b,編寫程序完成兩個數(shù)的互換。#include<iostream>usingnamespacestd;intmain(){longa,b,c;cin>>a>>b;c=a; {等價于步驟1}

a=b; {等價于步驟2}

b=c; {等價于步驟3}

cout<<a<<“”<<b<<endl;system(“pause”);}第三十二頁,共四十一頁,編輯于2023年,星期六【例題題目】:倒序【問題描述】:從鍵盤輸入一個三位數(shù),將其各位數(shù)字倒序輸出?!疚募斎搿浚狠斎胍粋€三位數(shù)【文件輸出】:倒序輸出此三位數(shù)【樣例輸入】:123【樣例輸出】:321第三十三頁,共四十一頁,編輯于2023年,星期六方法一:#include<iostream>usingnamespacestd;intmain(){longa,b,c,x,y;cin>>x;a=x/100;b=x/10%10;c=x%10;y=c*100+b*10+a;cout<<y<<endl;system(“pause”);}想一想:如果為四位數(shù)怎么辦?第三十四頁,共四十一頁,編輯于2023年,星期六方法二:#include<iostream>usingnamespacestd;intmain(){chara,b,c,d;cin>>a>>b>>c;cout<<c<<b<<a<<endl;system(“pause”);}第三十五頁,共四十一頁,編輯于2023年,星期六【例題題目】求商數(shù)和余數(shù)

【問題描述】輸入a,b兩個整數(shù),編程求出a除以b得到的商和余數(shù)。【文件輸入】輸入一行,只有兩個整數(shù)(中間有空格)?!疚募敵觥枯敵鲋挥幸恍校瑑蓚€整數(shù)(中間有空格)?!緲永斎搿?3【樣例輸出】21

練習(xí)試題:第三十六頁,共四十一頁,編輯于2

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論