C++簡單程序設計
余佳奇
一、關鍵知識點
1. bool-布爾型,數據取值只能時false或true。
2. 整型常量中,八進制整常量數字部分以0開頭——0若干個0~7數字,十六進制整常量數字部分以0x開頭——0x若干個0~9數字及A~F的字母。
3. 字符常量,\nnn 八進制形式。\xnnn 十六進制形式。例:‘7’=‘\067’=‘\x37’。
4. 字符串常量:按串中字符的排列次序順序存放,每個字符占一個字節,並在末尾添加‘\0‘作為結尾標記。
5. 符號常量:在使用前一定要首先聲明,在聲明時一定要賦初值,且在程序中不能改變此值。 Const 數據類型說明符 常量名=常量值
6. 數據類型轉換:隱含轉換和顯式轉換。隱含轉換基本原則是將低類型數據轉換為高類型數據。隱含轉換中與c語言不同的地方是有一個操作數是float型時自動將另一個操作數也轉換為float型而非double。
7. 數據的輸入輸出:I/O流,cin和cout。 設置域寬setw(int),插入換行符endl。
8. Break只能用在循環和switch語句中。
二、例題練習
例2-8輸入一個整數,求出它的所有因子。
算法思路:通過窮舉法,對1~n所有整數進行判斷,凡是能夠整除n的均為n的因子。
Code:
#include<iostream>
using namespace std;
int main(){
int n;
cout<<"Enter a postive integer: ";
cin>>n;
cout<<"Number "<<n<<" Factors ";
for(int k=1;k<=n;++k)
if(n%k==0)
cout<<k<<" ";
cout<<endl;
return 0;
}
運行結果:
例2-10讀入一系列整數,統計出整數個數i和負整數個數j,讀入0結束。
算法思路:通過while循環,控制條件為n!=0.分別設定i,j來統計正數和負數。
Code:
#include<iostream>
using namespace std;
int main(){
int i=0,j=0,n;
cout<<"Enter some integers please (enter 0 to quit):"<<endl;
cin>>n;
while(n!=0){
if(n>0) i+=1;
if(n<0) j+=1;
cin>>n;
}
cout<<"Count of positive integers: "<<i<<endl;
cout<<"Count of negative integers: "<<j<<endl;
return 0;
}
運行結果:
2-26編寫一個完整的程序,實現功能,向用戶提問“現在正在下雨嗎?”,提示用戶輸入Y或N。若輸入為Y,顯示“現在正在下雨。”;若輸入為N,顯示“現在沒有下雨。”;否則繼續提問“現在正在下雨嗎?”。
算法思路:通過while循環實現輸入錯誤時的重新輸入。根據實際情況,輸入正確后不用重新輸入。
Code:
#include<iostream>
using namespace std;
int main(){
char tmp;
cout<<"現在正在下雨嗎?(輸入Y或N)"<<endl;
while(cin>>tmp){
if(tmp=='Y')
{cout<<"現在正在下雨"<<endl;return 0;}
else if(tmp=='N')
{cout<<"現在沒有下雨"<<endl; return 0;}
else cout<<"輸入錯誤,請重新輸入!"<<endl;
}
return 0;
}
運行結果:
2-27編寫一個完整的程序,運行時向用戶提問“你考試考了多少分?(0~100)”,接收輸入后判斷其等級顯示出來。優(90~100),良(80~90),中(60~80),差(0~60)。
算法思路:根據實際情況,若成績有效無需重新輸入,若輸入成績無效則要求重新輸入,通過while循環和if elseif 語句實現。
Code:
#include<iostream>
using namespace std;
int main(){
int n;
cout<<"你考試考了多少分?(100分制)"<<endl;
while(cin>>n){
if(n>=90&&n<=100){
cout<<"優"<<endl;return 0;}
else if(n>=80&&n<90){
cout<<"良"<<endl;return 0;}
else if(n>=60&&n<80){
cout<<"中"<<endl;return 0;}
else if(n>=0&&n<60){
cout<<"差"<<endl;return 0;}
else
cout<<"輸入錯誤,請重新輸入!"<<endl;
}
return 0;
}
運行結果:
三、總結與體會
本次報告主要歸納了一些關鍵知識點並練習了一些基礎編程題。在練習過程中鞏固了基礎知識點也更加靈活掌握了C++各個循環語句的使用。