计算机概论实习课-程式设计使用C_第1页
计算机概论实习课-程式设计使用C_第2页
计算机概论实习课-程式设计使用C_第3页
计算机概论实习课-程式设计使用C_第4页
计算机概论实习课-程式设计使用C_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

計算機概論實習課-

程式設計使用C++教授:童曉儒教授助教:吳政鴻課程大綱基礎程式設計結構化程式設計物件導向程式設計資料結構程式設計基礎程式設計環境設定C++程式概論數學運算條件選擇重複迴圈第一單元:環境設定安裝VisualStudio完成啟動VisualC++開始/程式集/MicrosoftVisualStudio6.0/MicrosoftVisualC++6.0建立專案File/New選擇Win32ConsoleApplicationProjectname隨便輸入選擇Anemptyproject顯示Project屬性出現自己的ProjectClass建立編輯資源檔案File/New選擇C++SourceFileFile隨便輸入環境設定完成程式編輯區第二單元:C++程式概論C++程式結構常數與變數C++資料型態C++程式結構範例程式//前置處理區#include<iostream.h>//常數宣告區constintnum1=12345;//宣告main函數intmain(){ //變數宣告區

unsignedshortnum2=54321; //程式敘述區

cout<<"有號整數:"<<"\n"<<num1<<"\n";

cout<<"無號短整數:"<<"\n"<<num2<<"\n"; return0;}載入標頭檔Const與#define程式起始點主程式撰寫區常數與變數//儲存檔名:d:\C++02\C0208.cpp#include<iostream.h>#include<math.h>constfloatPI=3.14159f; //宣告浮點常數符號PIvoidmain(void){ floatarea,circu; //宣告浮點數area,circu floatradius=5; //宣告浮點數radius=5 area=PI*float(pow(radius,2)); //area=圓面積1

circu=2*PI*radius; //circu=圓周長1

cout<<"\n圓面積1="<<area

<<"\t圓周長1="<<circu; radius=10; //改變radius=10 area=PI*float(pow(radius,2)); //area=圓面積2

circu=2*PI*radius; //circu=圓周長2

cout<<"\n圓面積2="<<area

<<"\t圓周長2="<<circu<<"\n";}由於宣告為float,所以變數值後面要加一個f,否則C++編譯器會把變數當成double存回傳值為void,所以不需要return變數宣告並同時給予初始值增加math.h

這個標頭檔C++資料型態//儲存檔名:d:\C++02\C0214.cpp#include<iostream.h>voidmain(void){ doubledType;

cout<<"int

型態的位元組數=" <<sizeof(int)<<"bytes\n"; //取得int型態大小

cout<<"short型態的位元組數=" <<sizeof(short)<<"bytes\n"; //取得short型態大小

cout<<"bool

型態的位元組數=" <<sizeof(bool)<<"bytes\n"; //取得bool型態大小

cout<<"變數dType的位元組數=" <<sizeof(dType)<<"bytes"; //取得變數dType的大小}使用sizeof

這個函數,回傳資料型態所佔的記憶體空間小作業(1)寫一個程式顯示庫存清單如下小作業(2)寫一個程式查出C++的所有資料型態所使用的儲存空間大小,利用sizeof()函數第三單元:數學運算鍵盤輸入算術運算數值函數鍵盤輸入//儲存檔名:d:\C++03\C0301.cpp#include<iostream.h>voidmain(void){ charkey; //宣告字元變數key

cout<<"請按任意鍵:"; //輸出訊息字串

cin>>key; //取得鍵盤輸入

cout<<“輸入按鍵是:”<<key<<“\n”; //顯示訊息輸入字元}將輸入字元傳給變數算術運算//儲存檔名:d:\C++03\C0317.cpp#include<iostream.h>voidmain(void){ floata,b,c,d,x=6; //宣告變數a,b,c,d,x

intf=20; //宣告變數f=20 a=b=c=d=float(f); //令a=b=c=d=20

cout<<"a=b=c=d=f=20,x=6" //輸出字串

<<"\n

a+=x=>a="<<(a+=x) //輸出跳行、字串、a值

<<"\n

b-=x=>b="<<(b-=x) //輸出跳行、字串、b值

<<"\n

c*=x=>c="<<(c*=x) //輸出跳行、字串、c值

<<"\n

d/=x=>d="<<(d/=x) //輸出跳行、字串、d值

<<"\n

f%=x=>f="<<(f%=6) //輸出跳行、字串、f值

<<endl; //輸出跳行}將變數f轉換資料格式為float做C++的算術運算數值函數//儲存檔名:d:\C++03\C0319.cpp#include<iostream.h> //插入字串標題檔#include<stdlib.h> //插入亂數函數標題檔voidmain(void){ unsignedseed; //unsignedintseed;

cout<<"請輸入種子數:";

cin>>seed; //輸入種子數

srand(seed); //設定亂數種子數

cout<<rand()<<endl; //輸出亂數

cout<<rand()<<endl; //輸出亂數

cout<<rand()<<endl; //輸出亂數}//儲存檔名:d:\C++03\C0320.cpp#include<iostream.h> //插入字串標題檔#include<stdlib.h> //插入亂數函數標題檔#include<time.h> //插入時間函數標題檔voidmain(void){

srand(time(NULL)); //以時間函數為種子數

cout<<rand()<<endl; //輸出亂數

cout<<rand()<<endl; //輸出亂數

cout<<rand()<<endl; //輸出亂數}增加time.h

這個標頭檔隨著時間的變化,亂數函數產生的數值也會都不一樣//儲存檔名:d:\C++03\C0322.cpp#include<iostream.h>#include<iomanip.h>#include<math.h> //數值函數標題檔voidmain(void){ floatdegree=(3.1415926f)/180; //degree=徑/度

intd; //宣告整數變數

cout<<"請輸入整數:";

cin>>d; //取得鍵盤輸入

cout<<setprecision(3)<<setiosflags(ios::fixed); //設定有效位數

cout<<"d="<<d<<endl; //輸出角度

cout<<"sin("<<d<<")="<<sin(degree*d)<<endl; //輸出正弦函數值

cout<<"cos("<<d<<")="<<cos(degree*d)<<endl; //輸出餘弦函數值

cout<<"tan("<<d<<")="<<tan(degree*d)<<endl; //輸出正切函數值}//儲存檔名:d:\C++03\C0323.cpp#include<iostream.h>#include<iomanip.h>#include<math.h> //數值函數標題檔voidmain(void){

intx; //宣告整數變數

cout<<"請輸入整數:";

cin>>x; //取得鍵盤輸入

cout<<setprecision(3)<<setiosflags(ios::fixed); //設定有效位數

cout<<"x="<<x; //輸出數值

cout<<"\nlog("<<x<<")="<<log(x); //輸出自然對數值

cout<<"\nlog10("<<x<<")="<<log10(x); //輸出基底10對數值

cout<<"\nexp("<<x<<")="<<exp(x); //輸出e的x次方值

cout<<endl;}小作業(1)寫一長度換算C++程式,輸入英吋(in)值並轉換成公分(cm)輸出 (1cm=0.3937in或1in=2.54cm)小作業(2)寫一C++程式,計算一個人身體攝取指數(BodyMessIndex;BMI),由鍵盤輸入一個人的體重(磅)與身高(英尺),計算並輸出這個人的BMI值

(BMI=體重/(身高)^2)第四單元:條件選擇程式基本結構條件選擇程式基本結構循序式結構條件式結構重覆式結構Goto結構循序式結構//循序式結構#include<iostream.h>voidmain(void){

int

var=5;

cout<<"var初始值="<<var<<"\n";}條件式結構//條件式結構#include<iostream.h>voidmain(void){ charinkey;

cout<<"輸入Y鍵,再按Enter!"<<"\n";

cin>>inkey;

if(inkey=='Y‘||inkey=='y')

cout<<"輸入正確!!"<<"\n"; else

cout<<"你耍我!!"<<"\n";}重覆式結構//重複式結構#include<iostream.h> //插入字串標題檔voidmain(void){

intcount=1,sum=0; do{ sum+=count; count++; }while(count<=10);

cout<<"sum="<<sum<<"\n";}Goto結構禁止使用><所以不教條件選擇關係運算符號邏輯運算符號If-elseif-else敘述巢狀if敘述Switch-case-default敘述關係運算符號//儲存檔名:d:\C++04\C0401.cpp#include<iostream.h>voidmain(void){

inta=1,b=4,c=4; //宣告並啟始a,b,c值

cout<<"a="<<a<<endl; //輸出字串、a值、跳行

cout<<"b="<<b<<endl; //輸出字串、b值、跳行

cout<<"c="<<c<<endl; //輸出字串、c值、跳行

boolx=a<b,y=c>=a;

cout<<"a<b為"<<x<<endl; //輸出字串、a<b值

cout<<"c>=a為"<<y<<endl; //輸出字串、c>=a值

cout<<"a!=b為"<<(a!=b)<<endl; //輸出字串、a!=b值

cout<<"a==c為"<<(a==c)<<endl; //輸出字串、a==c值}邏輯運算符號//儲存檔名:d:\C++04\C0402.cpp#include<iostream.h>voidmain(void){

inta=1,b=4,c=4; //宣告並啟始a,b,c值

boolx=!(a<b&&b==c||c<=a); //宣告並指定x值

cout<<"a="<<a<<endl; //輸出字串、a值、跳行

cout<<"b="<<b<<endl; //輸出字串、b值、跳行

cout<<"c="<<c<<endl; //輸出字串、c值、跳行

cout<<"!(a<b&&b==c||c<=a)="<<x; //輸出字串、x值}If-elseif-else敘述//儲存檔名:d:\C++04\C0408.cpp#include<iostream.h>voidmain(void){ charletter;

int

cin_value;

cout<<“請鍵入Asciicode數字,再按Enter:";

cin>>cin_value; //輸入Asciicode letter=cin_value; //Ascii

轉換成char if(letter>='A'&&letter<='Z') //若'A'<=letter<='Y'則

cout<<letter<<"為大寫鍵\n"; //輸出字串並結束if elseif(letter>='a'&&letter<='z') //若'a'<=letter<='y'則

cout<<letter<<"為小寫鍵\n"; //輸出字串並結束if elseif(letter>='0'&&letter<='9') //若'0'<=letter<='9'則

cout<<letter<<"為數字鍵\n"; //輸出字串並結束if else //以上皆非則

cout<<letter<<"為符號鍵\n"; //輸出字串並結束if}利用Asciicode轉換成char利用Asciicode作判斷巢狀if敘述//儲存檔名:d:\C++04\C0411.cpp#include<iostream.h>voidmain(void){

intyear;

cout<<"請輸入西元年份:";

cin>>year; if(year%4!=0) //若year不是4的倍數

cout<<year<<"不是閏年\n"; //則顯示year不是閏年

elseif(year%100==0) //若year是100的倍數

{ if(year%400==0) //且year不是400的倍數

cout<<year<<"是閏年\n"; //則顯示year是閏年

else //否

cout<<year<<"不是閏年\n"; //則顯示year不是閏年

} else //否

cout<<year<<"是閏年\n"; /則顯示year是閏年}Switch-case-default敘述//儲存檔名:d:\C++04\C0413.cpp#include<iostream.h>voidmain(void){ charinChar;

cout<<"a.新增資料\tb.插入資料\tc.刪除資料\t其他.結束程式:";

cin>>inChar; //inChar=輸入字元

switch(inChar) { case'A': //若inChar為A字元

case'a': //或inChar為a字元

cout<<"新增資料\n"; break; case'B': //若inChar為B字元

case'b': //或inChar為b字元

cout<<"插入資料\n"; break; case'C': //若inChar為C字元

case'c': //或inChar為c字元

cout<<"刪除資料\n"; break; default: //inChar為其他字元

cout<<"結束程式\n"; }}小作業(1)寫一C++程式,由鍵盤輸入一整數,然後判斷並顯示該整數是否為5的倍數小作業(2)寫一C++程式,由鍵盤輸入每月用水量,然後計算並顯示水費,其中每月基本費為17元,而用水量與水費對應如下表實用度數1-10度11-30度31-50度50度以上每度單價7.00元9.00元11.00元11.50元第五單元:重複迴圈增減運算符號迴圈敘述巢狀迴圈無窮迴圈中斷與連續增減運算符號增量運算符號++減量運算符號—增量運算符號++//儲存檔名:d:\C++05\C0501.cpp#include<iostream.h>voidmain(void){ itc=0; //宣告變數

cout<<++c<<endl; //c=0+1=1後輸出c值

cout<<++c<<endl; //c=1+1=2後輸出c值

cout<<++c<<endl; //c=2+1=3後輸出c值

cout<<"=====================\n"; c

=

0;

cout<<c++<<endl; //輸出c=0後c=0+1=1

cout<<c++<<endl; //輸出c=1後c=0+1=2

cout<<c++<<endl; //輸出c=2後c=0+1=3}減量運算符號—//儲存檔名:d:\C++05\C0503.cpp#include<iostream.h>voidmain(void){

intc=3; //宣告變數

cout<<--c<<endl; //c=3-1=2後輸出c值

cout<<--c<<endl; //c=2-1=1後輸出c值

cout<<--c<<endl; //c=1-1=0後輸出c值

cout<<"====================\n"; c=3;

cout<<c--<<endl; //輸出c=3後c=3-1=2

cout<<c--<<endl; //輸出c=2後c=2-1=1

cout<<c--<<endl; //輸出c=1後c=1-1=0}迴圈敘述前測迴圈while後測迴圈do-whileFor迴圈前測迴圈while//儲存檔名:d:\C++05\C0509.cpp#include<iostream.h>#include<iomanip.h>#include<math.h>voidmain(void){

intcount=0; //while迴圈初值

doublepower; //宣告power變數

cout<<"計數\t"<<"2的n次方\n"; //輸出字串

while(count++<10) //判斷count<10後再加1 { power=pow(2,count); //計算2的n次方

cout<<setw(3)<<count<<'\t'; //輸出計數值

cout<<setw(6)<<power<<endl; //輸出2的n次方值

}}後測迴圈do-while//儲存檔名:d:\C++05\C0514.cpp#include<iostream.h>#include<iomanip.h>voidmain(void){

intcount=1,factor=1; //while迴圈初值

cout<<"計數\t"<<setw(8)<<"階乘\n"; //輸出字串

do //do迴圈

{ factor*=count; //計算階乘

cout<<setw(3)<<count<<'\t'; //輸出計數值

cout<<setw(7)<<factor<<endl; //輸出階乘

}while(++count<=10); //count<=10迴圈繼續}For迴圈//儲存檔名:d:\C++05\C0515.cpp#include<iostream.h>voidmain(void){

for(inti=1;i<=9;i++) //設定for初值,條件,更新

{

cout<<i<<''; //輸出控制變數i值

}

cout<<"\n";}巢狀迴圈//儲存檔名:d:\C++05\C0520.cpp#include<iostream.h>#include<iomanip.h>voidmain(void){

intmultiplier,faciend; for(faciend=1;faciend<=9;faciend++) //定義被乘數迴圈由1到9 { for(multiplier=2;multiplier<=9;multiplier++) //乘數由2數到9 {

cout<<multiplier<<'*'; //輸出multiplier*

cout<<faciend<<'='; //輸出faciend=

cout<<setw(2); //設定輸出二位數

cout<<multiplier*faciend<<'\t'; //輸出運算值後跳下一定位

}

cout<<endl; //輸出跳行

}}無窮迴圈//儲存檔名:d:\C++05\C0521.cpp#include<iostream.h>#include<iomanip.h>voidmain(void){

cout.setf(ios::fixed|ios::right); //設定輸出向

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论