C++程序设计
C++中的变量与运算符
变量的声明方式
变量的声明格式:
数据类型 变量名称
//声明整数类型
int a;
//声明浮点数类型
float b;
//声明布尔类型
bool c;
变量的初始化
//第一种方式
int a = 2;
//第二种方式
int b;
b = 2;
变量的类型
类型 | 声明 |
---|---|
整型 | int |
浮点数 | float |
字符型 | char |
布尔类型 | bool |
例题1
尼克爷爷的岁数,爸爸的岁数和他自己的岁数是3个等差的自然数,每两个数恒差25,已知尼克为11岁,那么请输出他们的岁数
Answer
#include <iostream>
using namespace std;
int main(){
int a = 11;
a += 25;
cout << "尼克爸爸的岁数为:" << a << endl;
a += 25;
cout << "尼克爷爷的岁数为:" << a << endl;
return 0;
}
运算符
类型 | 声明 |
---|---|
取余数运算 | % |
赋值运算 | = |
取整运算 | / |
例题2
输入一个三位数,输出它各个数位之和
Answer
#include <iostream>
using namespace std;
int main(){
//获得一个三位数
int number;
cin >> number;
int a = number % 10; //获得一个个位数
int b = number / 10 % 10; //获得十位数
int c = number / 100 ; //获得百位数
int sum = a + b + c;
cout << "位数相加之和为:" << sum << endl;
return 0;
}
选择结构
IF语句的结构组成
if (condition){
pass1; //满足条件所要执行的语句
}else{
pass2; //不满足条件所要执行的语句
}
比较运算符
符号 | 意义 |
---|---|
> | 大于 |
< | 小于 |
== | 判断两边是否相等 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
例题1
输入一个数,判断是不是偶数,如果是偶数就输出“偶数”
Answer
#include <iostream>
using namespace std;
int main(){
int number;
cin >> number;
if (number % 2 == 0){
cout << "是偶数" << endl;
}else{
cout << "不是偶数" << endl;
}
}
逻辑运算符
符号 | 意义 |
---|---|
&& | 与运算 |
|| | 或运算 |
! | 非运算 |
优先级排列:非→与→或
例题2
给分数进行评比,80分以上为优秀
三项都是优秀的评为:“新三好”
只有两项是优秀的评为:“双优生”
Answer
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cin >> a >> b >> c ;
if(a>80 && b >80 && c >80){
cout << "新三好" << endl;
}else{
if (a>80 && b > 80 || a>80 && c >80 || b > 80 && c >80){
cout << "双优生" << endl;
}else
cout << "都不是" << endl;
}
return 0;
}
例题3
输入4个数,输出其中最大的数
Answer
#include <iostream>
using namespace std;
int main(){
int a,b ,c ,d ;
int max = 0;
cin >> a >> b >> c >> d;
if (a > max) max = a;
if (b > max) max = b;
if (c > max) max = c;
if (d > max) max = d;
cout << "最大的数字为:" << max << endl;
}
例题4
一道两位数加法运算题:
第一步,由计算机产生两个两位数;
第二步,输出题目,如:"45+78=";
第三步,输入答案;
第四步,判断答案是否正确
Answer
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main(){
int a,b,c;
srand(time(0)); //设置随机种子
a = rand()%100;
b = rand()%100;
cout << "请计算下列式子的值:" << a << "+" << b << "=" << endl;
cout << "请输入答案:";
cin >> c;
if (a + b == c){
cout << "计算正确" << endl;
}else{
cout << "计算错误" << endl;
}
}
rand() 获取一个随机数
产生[a,b]之间的随机数 rand()%(b-a+1)+a
循环结构
for循环语句
for (循环变量赋初值;循环条件;循环变量增值)
语句;
while循环语句
while(表达式){
语句;
}
例题1
狐狸老师站在中间,小朋友们围成一圈玩游戏,狐狸老师说:“5朵”,小朋友们就立刻5人为一组抱在一起,剩余的小朋友就要表演节目。若全班有43人,规定狐狸老师报的数智能是2,3,4,...,10,算一算每次会剩下几个小朋友表演节目?
Answer
#include <iostream>
using namespace std;
int main(){
int i,n;
for(i = 2 ;i <= 10;i++){
n = 43%i;
cout << i << "人一个小组,";
cout << "剩下" << n << "人表演" << endl;
}
return 0;
}
例题2
求出 1 * 2 + 2 * 3 + 3 * 4 + 4 * 5 + ... + 100 * 101
Answer
#include <iostream>
using namespace std;
int main(){
int sum = 0;
for (int i =1 ;i<=100; i++){
sum = sum + i * (i + 1) ;
}
cout << sum << endl;
}
例题3
尼克参加了多次信息学比赛,在最近一次比赛时发现,如果这次比赛他得了98分,那么他所有比赛的平均分是92分,如果这次得了78分,他的平均分是87分,尼克共参加了多少次比赛?
Answer
#include <iostream>
using namespace std;
int main(){
int i = 1;
while (92 * i - 98 != 87 * i - 78){
i++;
}
cout << "总共参加了" << i << "次比赛";
}
C++中的数组
类型名称 数组名[ 常量表达式 ];
//定义一个一维数组
int a[10];
//初始化一维数组
int b[3]={1,2,3};
int b[] ={2,3,4,5};
数组的定义
数组的使用
访问数组元素使用:数组名[下标]
数组的下标从0开始
int a[4]={1,2,3,4};
cout << a[0] << endl; //输出a数组的第一个元素
例题1
风之巅小学有48间教师,每间教室有2扇门,用1-96分别编号。有一天,狐狸老师把所有的门都打开,第二个到校的同学把所有编号为2的倍数的房门做相反的处理(把关上的打开,把开着的关闭),第三个到学校的的同学把所有是3的倍数的房门做相反的处理...第42个到校的尼克把所有编号是42的倍数的房门作相反的处理。问最后共有几扇门是开着的?分别是哪几扇?
#include <iostream>
using namespace std;
int main(){
bool a[97];
int sum=0;
for (int i =1 ;i<97;i++){
a[i] = true; //打开所有门
}
for (int i = 2;i<=42;i++){
int j = 1;
while( i * j <= 96 && j < 97 ){
a[i*j] = !a[i*j];
j++;
}
}
for(int i =1 ;i<97;i++){
if (a[i])
sum++;
}
cout << "共有" << sum << "扇门打开";
return 0;
}
例题2
利用数组的方式输入5个整数,输出最小的数
#include <iostream>
using namespace std;
int main(){
int a[5],min=100000;
for(int i = 0; i<5;i++){
cin >> a[i];
}
for(int i = 0; i<5; i++){
if (a[i] < min){
min = a[i];
}
}
cout << "最小的值为:" << min << endl;
return 0;
}
查找和排序算法
Level2_0_C++程序设计知识点梳理
By yang he
Level2_0_C++程序设计知识点梳理
- 228