一、變數
變數是程式放資料的空間,每個變數佔有特定的記憶體空間,由編譯器分配
例如:
int x,y;
x=100;
y=x+1;
變數的命名規則
開頭不能為數字。
只能使用大小寫英文字母、數字與底線(_)所組成。
不能使用保留字(如if)。變數大小寫有差別
使用有意義的單字命名,如score命名成績變數。
宣告變數的方式
宣告變數
資料型別 變數;
例如:
int a;
宣告變數並初始化
資料型別 變數=初始值;
例如:
int a=10;
宣告多個變數
以逗點隔開
例如:
int a,b,c;
資料型別可分為整數、浮點數、字元、字串等
每種環境之資料型態所佔用位元數不盡相同,以 int 為例,16 位元電腦 int 佔 16 bits;32 位元電腦 佔 32bits;下述為 32 位元電腦之情形
二、運算子
指定運算子
將等號右邊計算結果儲存到等號左邊
例如:
x=100;
y=x+1;
算術運算子
負責數值的運算,如加、減、乘、除與求餘數
關係運算子
範例
作業:請完成一個輸入身高和體重,計算BMI的程式,並顯示體重是否過重或過輕
執行畫面如下
注意:BMI>=25為體重過重
BMI<18.5為體重過輕
參考答案
float x,y,BMI;
cout<<"10401楊素菀"<<endl;
cout<<"請輸入你的身高:";
cin>>x;
cout<<"請輸入你的體重:";
cin>>y;
x=(x/100);
BMI=y/(x*x);
cout<<"-------------\n";
cout<<"BMI="<<BMI<<endl;
cout<<"是否過重"<<boolalpha<<(BMI>=25)<<endl;
cout<<"是否過輕"<<boolalpha<<(BMI<18.5)<<endl;
邏輯運算子:對兩個運算元做AND、OR、NOT的邏輯計算
&&:運算真值表如下
例如:X=T,Y=F,則X && Y =F
||:運算真值表如下
例如:X=T,Y=F,則X ||Y =T
!:運算真值表如下
! T
!F
F
T
遞增遞減運算子
在設計程式時, 經常會需要將變數的內容遞增或是遞減 (加一或減一)
例如:
i=i+1;
j=j-1;
如果要幫變數加 1, 可以使用 ++ 遞增運算子 (Increment Operator);
如果要幫變數減 1, 則可以使用 -- 遞減運算子 (Decrement Operator)
後置
i++;
j--;
前置
++i;
--j;
範例1
int x=100;
x++;
cout<<"x="<<x<<endl;
x=100;
++x;
cout<<"x="<<x<<endl;
範例2
int x=100,y;
y=x++;
cout<<"x="<<x<<",y="<<y<<endl;
x=100;
y=++x;
cout<<"x="<<x<<",y="<<y<<endl;
sizeof運算子
計算各種資料型態或運算式的值的大小
sizeof(int) //計算出int型態的大小
sizeof(a+b) //計算a+b的值的大小
位移運算子(<<,>>)
將10進位數字轉為2進位數字後,向左或向右位移某幾個位數,空出來的位元以0補上
x=(5<<2); //x=20
y=(5>>2); //y=1
位元運算子和cout<< cin>> 不同,勿混淆
三、練習範例
作業一
內容 :
電腦課要同學分組做期末報告,分組的方式為依座號順序,每 4個人一組。如:1, 2, 3,4 為第一組,5, 6,7,8 為第二組….以此類推。輸入同學的座號,請判斷他在哪一組。
輸入說明 :
輸入只有一行,含有一個正整數 ,代表同學的座號。
輸出說明 :
輸出該同學的組別。
執行畫面
參考答案
#include <iostream>
using namespace std;
int main(){
int A;
cout<<"20801楊素菀\n請輸入座號:";
cin>>A;
cout<<A<<"號同學在第"<<(A-1)/4+1<<"組"<<endl;
system("PAUSE");
}
作業二
請設計一個程式可以輸入五個科目的成績,並計算出總分和平均分數,執行畫面如下
參考答案
#include <iostream>
using namespace std;
int main(){
int x1,x2,x3,x4,x5,sum;
cout<<" 20601 楊素菀\n";
cout<<" 請輸入第一科成績:";
cin>>x1;
cout<<" 請輸入第二科成績:";
cin>>x2;
cout<<" 請輸入第三科成績:";
cin>>x3;
cout<<" 請輸入第四科成績:";
cin>>x4;
cout<<" 請輸入第五科成績:";
cin>>x5;
sum=x1+x2+x3+x4+x5;
cout<<" 總分為:"<<sum<<endl;
cout<<" 平均為:"<<sum/5.0;
system("PAUSE");
}