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++各个循环语句的使用。