学习目标:
初识C++,介绍C++一些简单的语法:
- 初识C++
- 数据类型
- 运算符
- 程序流程结构
学习内容:
1. 初识C++
一个简单的C++框架,
#include<iostream>
using namespace std;
int main()
{
cout << "你好,中国!" << endl;
system("pause");
return 0;
}
上图箭头处表示一个C++程序常用的格式,红色框表示主函数,一个C++程序只有一个主函数。运行结果如下图所示:
关于注释
<1>单行注释://注释内容
<2>多行注释:/注释内容/
变量
变量:给指定内存空间命名,便于操作这段内存,语法如下:
数据类型 变量名 = 变量
例如:int a = 18;
常量
常量:用于描述程序中不能更改的数值,通常有两种方式:
<1> 宏常量#define
,例如,#define month 12
一般放在主函数main()的上方
<2>const修饰的变量
,语法:const 数据类型 变量名 = 变量
例如, const int month 12;
一般放在主函数main()的里面
变量标识符的命名规则
<1>不能用while、goto等关键字命名;
<2>只能用数字、字母或下划线命名且第一个字符不能是数字
<3>区分字母的大小写
2. 数据类型
在创建一个变量时必须指明相应的数据类型,便于分配内存空间。
整型
<1>short - 2个字节
<2>int - 4个字节
<3>long - 4个字节
<4>long long - 4个字节
使用sizeof(数据类型或者变量)可以查看该数据类型或变量的内存大小。例如:
sizeof(int)或者sizeof(12)
实型
用来表示小数,分为单精度float和双精度double
数据类型 | 占用空间 | 有效数字范围 | 举例 |
---|---|---|---|
float | 4个字节 | 7位有效数字 | float f = 3.14f |
double | 8个字节 | 15~16位有效数字 | double f = 3.14 |
在指定单精度时,必须加上f
.
科学计算法:
float f1 = 3e2;
//
3
×
1
0
2
3\times10^2
3×102
float f2 = 3e-2;
//
3
×
1
0
−
2
3\times10^{-2}
3×10−2
字符型
用来显示单个字符,语法为:
char str = 'a
<1>只能使用单引号
将字符括起来,不能使用双引号
<2>单引号内只能有一个字符,不能是字符串
在C语言和C++中,字符变量只占用一个字节。字符变量是将相对应的ASCII编码放在内存中,比如
A--65
a--97
字符串型
用来表示字符串,一般有两种形式:
<1>C语言:char 变量名[] = "字符串";
,要用双引号括起来
<2>C++:string 变量名="字符串";
,使用时必须加上头文件#include<string>
示例一
#include<iostream>
using namespace std;
int main()
{
char name[] = "中国";
cout << "你好, " << name <<"!" << endl;
system("pause");
return 0;
}
示例二
#include<iostream>
#include<string>
using namespace std;
int main()
{
string name = "中国";
cout << "你好, " << name <<"!" << endl;
system("pause");
return 0;
}
布尔数据类型(bool)
bool类型代表真或假的值,占1个字节大小。
数据输入
从键盘中获取数据,关键字cin
语法:cin>>变量
#include<iostream>
using namespace std;
int main()
{
int scores = 0;
cout << "请输入分数:";
cin >> scores;
cout << "您的得分为" << scores<< endl;
system("pause");
return 0;
}
3. 运算符
规定:两个整数相除后的结果依然为整数
取模:10%3 -->1 两个小数是不能进行取模运算的
前置递增: ++a
前置递减: - - a
#include<iostream>
using namespace std;
int main()
{
int a = 3, b;
b = ++a;
cout << "a = " << a <<endl;//由于是前置递增,首先a要先递增变成a=4
cout << "b = " << b << endl;//相当于将4赋值给b
system("pause");
return 0;
}
后置递增:a++
后置递减:a–
#include<iostream>
using namespace std;
int main()
{
int a = 3, b;
b = a++;
cout << "a = " << a <<endl;//由于是后置递增,首先a=3要先赋值给b,再递增变成a=4
cout << "b = " << b << endl;//相当于将3赋值给b
system("pause");
return 0;
}
比较运算符:用于比较表达式,返回一个真值(1)或者假值(0)
逻辑运算符:与(&&)、或(||)、非(!)
4. 程序流程结构
4.1 顺序结构
一般简单的程序都是顺序结构(该部分略
)
4.2 选择结构
4.2.1 if结构与三目运算符
if结构
<1>单行if语句:
if(条件){条件满足执行的语句};
<2>多行if语句
if(条件){条件满足执行的语句} else {条件不满足执行的语句};
<3>多条件if语句
if(条件){条件满足执行的语句} else if{执行的语句}……else {执行};
三目运算符
语法:表达式1?表达式2:表达式3
若表达式1为真,则执行表达式2;若表达式1为假,则执行表达3.
4.2.2 switch语句–执行多条件分支
语法:switch(表达式)
{
case 1:执行语句1;break;
case 2:执行语句2;break;
…………
default:执行语句;break;
}
#include <iostream>
using namespace std;
int main()
{
int score = 0;
cout << "打分" << endl;
cin >> score;
switch (score)
{
case 10:
cout << "经典" << endl; break;
case 9:
cout << "优秀" << endl; break;
case 8:
cout << "一般" << endl; break;
default:
cout << "烂片" << endl; break;
}
system("pause");
return 0;
}
4.3 循环结构
4.3.1 while循环
语法:while(条件){循环语句}
#include<iostream>
using namespace std;
int main()
{
int i = 1;
while (i <= 10)
{
cout << i << "\t";
i++;
}
system("pause");
return 0;
}
4.3.2 do{循环语句}while(条件)循环
该语法首先会执行一次,再判断条件
#include<iostream>
using namespace std;
int main()
{
int i = 1;
do { cout << i << "\t"; i++; } while (i <= 10);
system("pause");
return 0;
}
4.3.3 for循环语句
语法:for(起始表达式;条件表达式;末尾循环体){循环语句}
#include<iostream>
using namespace std;
int main()
{
for (int i = 1; i<=10; i++)
{
cout << i << "\t";
}
system("pause");
return 0;
}
break
结束该层循环体
continue
跳出该层循环体后,继续下一轮循环体
5. 产生随机数案例
添加随机数种子,利用当前系统时间生成随机数,防止每次生成的随机数一样。在主函数中加上srand((unsigned int)time(NULL));
并在头文件中加上#include<ctime>
.
随机产生一个随机数:
语法:ran()%10
生成0到9之间的随机数
rand()%10+1
生成1到10之间的随机数
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand((unsigned int)time(NULL));
int a = rand() % 10 + 1;
cout <<"随机数为:"<< a << endl;
system("pause");
return 0;
}