提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
C++基础知识
DAY1
-
变量
作用:方便我们管理内存空间 格式:*数据类型 变量名=变量初始值*
-
常量
作用:记录程序中不可更改的数据 #define 常量名 常量值 const 数据类型 常量名 = 常量值
-
关键字
C++中预先保留的单词不能用作常量或变量 eg:int bool double
-
命名规则
a.由字母、数字、下划线组成 b.第一个字符不能为数字
-
数据类型
short——2字节 int——4字节
-
sizeof
作用:统计数据类型所占内存大小 sizeof(数据类型/变量)
-
字符型
//字符创建方式
char ch = 'A'; 无中括号 单引号
cout << ch << endl;
cout << "字节长度:"<<sizeof(ch) << endl;
cout << "ASCII编码:" << int(ch) << endl;
cout <<"Hell\taaa" << endl;
cout << "Hello\taaa" << endl;
int(ch)求ASCII码
a.用单引
b.单个字符
a——97 A——65
仅占一个字节,将对应ASCII编码放入存储单元
- 字符串型
a.换行符 \n 与endl交换
b.反斜杠 \\ 第一个\是命令,第二个\是符号
c.水平制表 \t 8个字节
- 字符串型
C:char 变量名[ ]="字符串值"
C++:string 变量名=“字符串值”
C++ 格式使用前加上头文件#include<string>
//C风格字符串-中括号 双引号
char str1[] = "hello world";
cout << str1 << endl;
//2.C++风格字符串
string str2 = "hello world";
cout << str2 << endl;
- bool——占一字节:true or false
//创建bool数据类型
bool flag = true;//true代表真
cout << flag << endl;
cout << "bool的内存空间:" << sizeof(bool)<<endl;
- 输入:cin>>变量
float f = 3.14f;//不加f为double型
cout << "请给f赋值:" << endl;
cin >> f;
cout << "f=" << f<<endl;
string str = "Hello";
cout << "请给str赋值:" << endl;
cin >> str;
cout << "str=" << str<<endl;
bool flag =false;
cout << "请给flag赋值:" << endl;
cin >> flag;
cout << "flag=" << flag <<endl; //bool类型非0都为真
cin后不能加endl
- i++:先运算再加一
++i:先加一再运算
//前置和后置
int a1= 10;
int a2= 10;
int b1 = ++a1* 10;
int b2 = a2++* 10;
cout << "b1="<<b1 << endl;
cout << "b2="<<b2<< endl;
b1=110,b2=100
15. 流程结构:
a.顺序——按顺序
b.选择——按条件
c.循环——按条件循环
16.比较运算符
//比较运算符
int a = 10;
int b = 20;
cout << (a ==b) << endl;//加括号表优先级
cout << (a < b) << endl;
cout << (a > b) << endl;
- if条件语句
int score = 0;
cout << "输入分数:";
cin>>score ;
cout << "输入分数为:"<<score<<endl;
if (score >= 600) {
cout << "恭喜你" << endl;
}
DAY2
1.多条件if语句
//多条件if语句
int score = 0;
cout << "输入高考分数:";
cin >> score;
if (score > 600) {
cout << "恭喜你考上一本大学" << endl;
if (score>700) {
cout << "清华大学" << endl;
}
else if(score>690) {
cout << "北京大学" << endl;
}
else
cout << "普通一本" << endl;
}
else if (500 < score ) {
cout << "恭喜你考上二本大学" << endl;
}
else
cout << "你没考上大学" << endl;
----if条件要注意不同条件之间的包含关系,范围小的在前
----若要表示5<a<10,需分为两个式子,a>5&&a<10
2.三只小猪称体重示例
代码思想:比较A和B
若A重,比较A和C
若B重,比较B和C
//多条件if语句
int A = 0,B = 0, C = 0;
cout << "小猪A体重:";
cin >> A;
cout << "小猪B体重:";
cin >> B ;
cout << "小猪C体重:";
cin >> C ;
if (A > B) {
if (A > C) {
cout << "小猪A最重" << endl;
}
else {
cout << "小猪C最重" << endl;
}
}
else {
if (B> C) {
cout << "小猪B最重" << endl;
}
else {
cout << "小猪C最重" << endl;
}
}
3.三目运算符
表达式1?表达式2:表达式3
//创建三个变量a b c
//比较a和b,将变量大的值赋给c
int a = 1;
int b = 4;
int c = 0;
c = a > b ? a : b;
cout << "c=" << c << endl;
//C++中三目运算符返回变量,可以继续赋值
(a > b ? a : b)=100;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
return 0;
3.switch语句
作用:执行多条件分支语句
switch(表达式){
case 结果1:执行语句;break;
case 结果1:执行语句;break;
...
default:执行语句;break;
}
解读:表达式是结果几就执行几的语句,如果都不符合,则执行default语句,然后退出。
注意:a.switch语句中表达式类型只能是整型或字符型
b.采用字符型时,字符要加单引号,否则会被系统判定为变量
//switch语句
char level='A';
cout << "输入考试等级";
cin >> level;
switch (level) {
case 'A':
cout << "优秀" << endl;
break;
case 'B':
cout << "良好" << endl;
break;
case 'C':
cout << "一般" << endl;
break;
case 'D':
cout << "不合格" << endl;
break;
default:
cout << "输入格式错误" << endl;
break;
}
DAY3
1.while循环语句
while(循环条件){
循环语句
}
//while循环
int num = 0;
while (num < 10) {
num++;
cout << num << endl;
}
2.猜数字游戏(while案例)
设置随机函数rand的种子,以保证rand的数每次都不相同
void srand(unsigned int seed)
其中seed多选用时间函数time(null);
在调用rand函数前,srand要先被调用
//1.系统生成随机数
srand(unsigned int