C++基础语法
笔记是跟着B站黑马视频学习记下来的,https://www.bilibili.com/video/BV1et411b73Z?p=1
语法1:“在空白项目中,一上来就可以将以下代码写上:
#include <iostream>
using namespace std;
int main()
{
system("pause");
return 0;
}
语法2:注释
1)单行注释://
2)多行注释:/…/
语法3:变量
1)变量存在的意义:方便管理内存空间
2)数据类型 变量名 = 变量初始值
语法4:常量
1)作用:用于记录程序中不可更改的数据
2)c++中定义常量的两种方式:
① #define 宏常量 :通常定义在文件上方,表示一个常量,不可修改
② const 修饰的变量:通常在变量定义前加关键字 const,修饰该变量为常量,不可修改
语法5:关键字
1)作用:是c++中预先保留的单词(标识符),在定义变量和常量时,不要用关键字
语法6:标识符命名规则
1)作用:c++规定给标识符(变量、常量)命名时,有一套自己的规则
2)规则如下:
① 标识符不能是关键字
② 标识符只能由字母、数字、下划线组成
③ 第一个字符必须为字母或下划线
④ 标识符中字母区分大小写
⑤ 尽量方便自己和他人阅读,做到见名知意
语法7:数据类型
1)存在意义:给变量分配合适的内存空间(合适的长度)
2)整型
3)实型
注意1: float 单精度,定义变量时,要在小数后面加上f,否则会被默认为双精度
注意2:默认情况下,输出一个小数,会显示6位有效数
4)字符型:char ch = ‘a’;
5)转义字符
6)字符串型
- c风格字符串:char 变量名[ ] = “字符串值”
- c++风格字符串:string 变量名 = ”字符串值“
7)布尔类型:只有两个值,true——真(1); false——假(0),只占一个字节
8)数据的输入
- 关键字:cin
语法8:sizeof关键字
1)作用:统计数据类型所占的内存的大小
语法9:运算符
注意:前置递增,先让变量+1,再进行表达式运算;后置递增,先进行表达式运算,再让变量+1
语法10:选择结构
1)if 语句
- 单行格式 if 语句
- 多行格式 if 语句
- 多条件的 if 语句
- 嵌套 if 语句
注意: if 条件语句之后不要加分号
2)三目运算符
表达式1 ?表达式2 : 表达式3
注意:表达式1为真,返回表达式2,为假则返回表达式3。
3)switch 语句
switch(表达式)
{
case 结果1:执行语句; break;
case 结果2:执行语句; break;
…
default :执行语句; break;
}
注意:进行case判断的时候只能是整形或者是字符型,不可以是一个区间。
语法11:循环结构
1)while 语句
while(循环条件)
{
循环语句
}
2)do…while语句
do { 循环语句 } while (循环条件);
注意:与 while 的区别在于 do…while 会先执行一次循环语句,再判断循环条件
3)for 循环语句
for (起始表达式;条件表达式;末尾循环体){循环语句;}
4)嵌套循环
语法12:跳转语句
1) break 语句
作用:用于跳出选择结构或者循环结构
使用情况:
- 出现在 switch 条件语句中,作用是终止 case 并跳出switch
- 出现在循环语句中,作用是跳出当前的循环语句
- 出现在嵌套循环中,跳出最近的内层循环语句
2)continue 语句
作用:在循环语句中,跳过本次循环中余下尚未循环的语句,继续执行下一次循环
与 break 的区别:break 语句是直接跳出循环,而 continue 语句是跳出未执行的循环语 句,继续重新循环。
3)go to 语句
作用:无条件的跳转语句
注意:不建议使用
与语法对应的实例
例子1:在屏幕中打印出一句“hello word”
关键的一句就是cout << “hello world” << endl,其实就是相当于c中的printf的作用。
#include <iostream>
using namespace std;
int main()
{
cout << "hello world" << endl;
system("pause");
return 0;
}
例子2:注释
//单行注释
/*
多行注释
main 是一个程序的入口,每个程序都必须有这么一个函数,有且仅有一个
*/
例子3:输出变量 a = 10;
int main()
{
int a = 10;
cout << "a = " << a << endl;
system("pause");
return 0;
}
例子4:定义常量
#define Day 7
int main()
{
const int month = 12;
cout << "一周总共有: " << Day << "天" << endl;
cout << "一年总共有: " << month << "个月" << endl;
system("pause");
return 0;
}
例子5:c++关键字如下
例子6:标识符命名规则
// 尽量方便自己和他人阅读,做到见名知意
例子7:数据类型
int main()
{
//字符型变量创建方式
char ch = 'a';
//字符型变量所占内存大小(1个字节)
cout << "char字符型变量占用的内存空间为: " << sizeof(char) << endl;
//字符型变量常见错误
//创建字符型变量的时候,要用单引号
//创建字符型变量的时候,单引号内只能有一个字符
//字符型变量对应的ASCII编码(a对应的ASCII为97,A对应的ASCII为65)
cout << (int)ch << endl;
system("pause");
return 0;
}
#include <iostream>
using namespace std;
#include <string>//用c++风格字符串必须应用该头文件
int main()
{
//c风格字符串
char str[] = "hello world";
//c++风格字符串(必须包含#include <string>头文件才可输出)
string str2 = "hello world";
cout << str2 << endl;
system("pause");
return 0;
}
int main()
{
//整形
int a = 0;
cout << "请给整型变量a赋值:" << endl;
cin >> a;
cout << "整型变量a = " << a << endl;
system("pause");
return 0;
}
例子8:长短整形的区别就是其所占的内存大小不一样,可以通过sizeof关键字统计其所占的内存大小
int main()
{
//语法:sizeof(数据类型/变量)
short num1 = 12;
int num2 = 10;
cout << "short占用的内存空间为: " <<sizeof(short) << endl;
cout << "num2占用的内存空间为: " << sizeof(num2) << endl;
system("pause");
return 0;
}
例子9:
1)算数运算符
2)赋值运算符
3)比较运算符
4)逻辑运算符
例子10:
1)if 语句
int main()
{
int score =0;
cout << "输入一个分数:" << endl;
cin >> score;
if (score >= 85)
{
cout << "A" << endl;
}
else if ( score >=70 )
{
cout << "B" << endl;
}
else
{
if ( score >= 60)
{
cout << "C" << endl;
}
else
{
cout << "D" << endl;
}
}
system("pause");
return 0;
}
2)三目运算符
int main()
{
//判断a、b的大小
int a = 10;
int b = 20;
int c = 0;
a > b ? c = a : c = b;
cout << c << endl;
system("pause");
return 0;
}
3)switch 语句
int main()
{
int a;
cin >> a;
switch (a)
{
case 10:cout << "A级别" << endl; break;
case 8 :cout << "B级别" << endl; break;
case 6 :cout << "C级别" << endl; break;
default:cout << "D级别" << endl; break;
}
system("pause");
return 0;
}
例子11:
1)while 语句
int main()
{
//在屏幕中打印出0~9的十个数字
int num = 0;
while (num < 10)
{
cout << num << endl;
num++;
}
system("pause");
return 0;
}
2)do…while 语句
int main()
{
int num=0;
do
{
cout << num << endl;
num++;
}
while (num < 10);
system("pause");
return 0;
}
3)for 语句
int main()
{
for (int i=0; i < 10; i++)
{
cout << i << endl;
}
system("pause");
return 0;
}
4)嵌套循环
int main()
{
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
cout << "* ";
}
cout << endl;
}
system("pause");
return 0;
}
例子12:
1)break 语句
int main()
{ //打印到5就退出for循环语句
for (int i = 0; i < 10; i++)
{
if (i > 5)
{
break;
}
cout << i << endl;
}
system("pause");
return 0;
}
2)continue 语句
int main()
{ //打印出100以内的奇数
for (int i = 0; i < 100; i++)
{
if (i % 2 == 0)
{
continue;
}
cout << i << endl;
}
system("pause");
return 0;
}