01.注释与变量创建
代码示例
#include<iostream>
using namespace std;
//1、单行注释
//2、多行注释
/*
main是一个程序的入口,
每个程序都必须有这么一有个函数,
有且仅有一个
*/
int main()
{
// cout << "hello world" << endl;
// 第11行代码的含义就是输出hello world
// 变量创建的语法:数据类型+变量名称=变量初始值
int a = 10;
cout << "a=" << a << endl;
system("pause");
return 0;
}
02.常量与变量
常量定义方法:
方法一:#define 宏常量(一般文件上方定义,表常量)
方法二:const 修饰变量为常量,不可改(一般在变量定义前加关键字)
代码示例
#include<iostream>
using namespace std;
/*
常用定义方式
1.#define 宏常量
2.const修饰的变量
*/
#define Day 7//常定义于文件上方
int main()
{
//Day = 14;//Day是常量,修改将报错
cout << "一周总共有:" << Day << "天" << endl;
const int mouth = 12;
//mouth = 24;//const修饰的变量也称为常量,修改将报错
cout << "一年总共有:" << mouth << "月" << endl;
system("pause");
return 0;
}
03.常用编程关键字与标识符命名规则
变量或常量起名时,不要使用C++关键字(关键字后续进一步学习)
int a = 10;//int int = 10;//定义关键字,此处第二个int为关键字,非法
标识符命名规则:
1.标识符不能为关键字
2.有数字、字母、下划线组成
3.第一个字母必须为字母或下划线
4.标识符字母区分大小写
(建议:达到见名识意的效果)
04.数据类型
1.整型:short(短整型,2字节,-32768~32767)、int(整型,4字节)、long(长整型,4字节)、longlong(长长整型,8字节)
区别在于所占内存空间不同
代码示例
short num1 = 32768;//short:-32768~32767
int num2 = 32768;
cout << "num1=" << num1 << endl;
cout << "num2=" << num2 << endl;
运行结果
从以上结果可见,short定义时,结果数字溢出一个,相当于一个轮回,范围顶到了范围低。
通常咱们使用int就够了。
2.sizeof的使用: 求出数据类型占用内存大小
语法 sizeof(数据类型/变量)
代码示例1(采用数据类型)
short num1 = 10;
cout << "short占用的内存空间为:" << sizeof(short) << endl;
运行结果
代码示例2(采用变量)
short num1 = 10;
cout << "num1占用的内存空间为:" << sizeof(num1) << endl;
运行结果
(以上所说的空间为所占字节的含义)
代码示例
short num1 = 10;
cout << "num1占用的内存空间为:" << sizeof(num1) << endl;
int num2 = 10;
cout << "int占用的内存空间为:" << sizeof(int) << endl;
long num3 = 10;
cout << "long占用的内存空间为:" << sizeof(long) << endl;
long long num4 = 10;
cout << "long long占用的内存空间为:" << sizeof(long long) << endl;
(注:long long写时中间带空格)
运行结果
整型比较:short<int<=long<long long
3.实型 用于表示小数
主要有:float(单精度,4字节,7位有效数),double(双精度,8字节,15~16位有效数)
代码示例
float f1 = 3.14f;//默认小数为double,尾部加上f可以将其定为float
cout << "f1=" << f1 << endl;
运行结果
默认小数输出为6位有效数字。
注:科学计数法
代码示例
float f2 = 3e2;//3*10^2
float f3 = 3e-2;//3*0.1^2
cout << "f2=" << f2 << endl;
cout << "f3=" << f3 << endl;
运行结果
4.字符型 char ch = ‘a’; (注意这里是单引号)
字符型变量只占一个字节,且在计算机中存储对应的ASCII码
代码示例
char ch = 'a';
cout << "ch=" << ch<<"所占空间为"<<sizeof(char) <<"字节"<< endl;
cout << "该字符对应的ASCII码为" << (int)ch << endl;
//ASCII码为十进制数,在此处利用一个强制转换
//a-97 A-65
运行结果
5.转义字符
常用
\n 换行
\t 制表
\\ 输出反斜杠
代码示例
cout << "hello world\n";//略去了"<<endl"
cout << "aaa\thello" << endl;
//一个\t占8个空间,如aaa占三个空间,则递补5个空格长度
cout<<"\\"<<endl;
运行结果
6.字符串型
两种风格
char 变量名[ ] = “字符串值”
string 变量名 = “字符串值”
注意:字符型用单引号,字符串型为双引号
代码示例
char str[] = "hello world";//C风格字符串,实际上就是名后带[]
cout << str << endl;
string str2 = "hello world";//头文件要包含#include<string>
cout << str2 << endl;
运行结果
7.布尔数据类型
代码示例(布尔类型中,非0都为真)
bool flag = true;
cout << true << endl;
flag = false;
//本质上1代表真,0代表假
cout << "布尔类型所占空间" << sizeof(bool) << endl;
运行结果
8.数据输入
cin
代码示例
int a = 10;
cout << "a=" <<a<<endl;
cin >> a ;
cout << "a=" <<a<<endl;
运行结果
05运算符
代码示例 (加减乘除,取模运算)
#include<iostream>
using namespace std;
int main()
{
//加减乘除运算
int a1 = 10;
int b1 = 3;
cout << a1 + b1 << endl;
cout << a1 - b1 << endl;
cout << a1 * b1 << endl;
cout << a1 / b1 << endl;//整数相除,结果依然为整数,将小数部分去除
int a2 = 10;
int b2 = 20;
cout << a2 / b2 << endl;
int a3 = 10;
int b3 = 0;
//cout << a3 / b3 << endl;
//错误!除数为0的情况应该避免
//两个小数?可以相除,运算结果也可以是小数
double d1 = 0.5;
double d2 = 0.22;
cout << d1 / d2 << endl;
//%取模运算的本质就是求余数
cout << a1 % b1 << endl;
cout << a2 % b2 << endl;
//cout << a3 % b3 << endl;//两个数相除,除数不能为0,即无法进行取模运算
//另外,两个小数无法进行取模运算
system("pause");
return 0;
}
代码示例(自增自减)
//前置递增
int a = 10;
++a;//让变量加1的结果
cout << "a=" << a << endl;
//后置递增
int b = 10;
b++;
cout << "b=" << b << endl;
//区别,前置先加1,后进行表达式运算
//后置先进行表达式的运算,再进行加1
int a2 = 10;
int b2 = ++a2 * 10;//a2=11,b2=110
cout << "a2=" << a2 << endl;
cout << "b2=" << b2 << endl;
int a3 = 10;
int b3 = a3++ * 10;
cout << "b3=" << b3 << endl;
代码示例(赋值)
//赋值运算
int a = 10;
a = 100;
cout << "a=" << a << endl;
a = 10;
a += 2;
cout << "a=" << a << endl;
a = 10;
a -= 2;
cout << "a=" << a << endl;
a = 10;
a *= 2;
cout << "a=" << a << endl;
a = 10;
a /= 2;
cout << "a=" << a << endl;
a = 10;
a %= 2;
cout << "a=" << a << endl;
代码示例(比较运算、逻辑运算符)
int a = 10;
int b = 20;
cout << (a == b) << endl;
cout << (a != b) << endl;
cout << (a > b) << endl;
cout << (a < b) << endl;
cout << !a << endl;//逻辑非
cout << !!a << endl;
cout <<( a && b )<< endl;//逻辑与
cout << (a || b) << endl;//逻辑或