数据类型
-
注释: // /**/
-
变量: 字母数字下划线
-
常量:define,const
-
关键字
-
标识符:标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。
在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,
以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。 -
数据类型(意义:给变量分配合适的内存空间)
- 整型:short 2B (-32768`32767) int 4B long 4B long long 8B
- 浮点型:float 4B (7为有效数字) double 8B (15-16位有效数字)
- 字符型:char 1B (内存中存储的是ASCII编码),单引号‘’创建,(int)char,输出ASCII码,A:65,a:97
转义字符:\n 换行,\t 水平制表符(作用:输出水平对齐),\ 反斜杠 - 字符串型:char 变量名[]=“字符串值”;(C语言风格)
string 变量名= “字符串值”;(C++风格),要导入头文件:#include - 布尔类型:bool 1B,true(本质是1),false(本质是0)
- sizeof:sizeof(数据类型/变量),统计数据类型所占内存大小
#include <iostream>//预处理指令,告诉编译器在程序中要包含C++标准输入输出流头文件
#include <string>//字符串头文件
using namespace std;//标准命名空间,将一些实体(变量,函数,对象,类)放入其中,以解决同名冲突问题
#define Month 12 //define定义宏常量,不可修改
void typeData(){//主函数
const int Day = 7; //const修饰的变量也为常量,不可修改
cout << "一年有" << Month << "个月,一周有" << Day << "天" << endl;
//cout为标准输出流,<<为流插入运算符,endl为流操纵算子,它发送一个换行符并刷新输出缓冲区
//整型
int a = 0;
cout << "请输入整型a:" << endl;
cin >> a;
cout << "整型a=" << a << endl;
//浮点型
float f = 3.14f;//定义单精度数时后面加个f,防止编译器认为它是一个双精度数后再强制转换成单精度
cout << "请输入浮点型f:" << endl;
cin >> f;
cout << "浮点型f=" << f << endl;
//字符型
char ch = 97;//ch='a';
cout << "ch的初始值:" <<ch<< endl;
cout << "请输入字符型ch:" << endl;
cin >> ch;
cout << "浮点型ch=" << ch << endl;
//字符串型
char str0[] = "Hello";
string str = "hello";
cout << "str的初始值:" << str << endl;
cout << "请输入字符串型str:" << endl;
cin >> str;
cout << "字符串型str=" << str << endl;
cout << "字符串型str所占内存空间(B):" << sizeof(str) << endl;
//布尔型
bool flag = false;
cout << "bool类型初始值 flag:" << flag << endl;
cout << "请输入bool类型 flag:" << endl;
cin >> flag;//任意非零的数都视为1,true
cout << "bool类型 flag=" << flag << endl;
system("pause");
}
int main(){
typeData();
return 0;
}
运算符类型
- 算术运算符:+,-,*,/(两个数中只要有一个是浮点数,结果就算浮点数)
%取模(取余) (只有整型可以进行取模,浮点数不能进行取模运算)
++(自加), --(自减) - 赋值运算符:=,+=,-=,*=,/=,%=
- 比较运算符:==,!=,<,>,<=,>= (关系运算符)
- 逻辑运算符:!,&&,|| (真为1,假为0)
- 位运算符:
void typeOperator(){
int a = 10;
int b = 3;
double c = 10;
double d = 3;
cout << a / b << endl;
cout << a / d << endl;
cout << c / b << endl;
cout << c / d << endl;
cout << a % b << endl;
}
int main(){
//调用另一个cpp文件的函数有两种方法
/*方法1
首先创建一个xxx.h头文件,声明函数aaa(int x,int y)
然后再创建一个与头文件同名的源文件xxx.cpp,在该文件中实现函数max(int x,int y)的功能
最后在需要调用的cpp文件中导入头文件 #inclued"xxx.h"
*/
/*方法2
调用前声明一下typeData()函数
因为在同一个project里面的源文件之间的函数一般情况下是可以互相调用的,前提是要声明以及不限制它的作用域!
*/
//void typeData();
//typeData();
typeOperator();
return 0;
}
程序流程结构
顺序结构
选择结构
if,else if,else
- 三目运算:表达式1?表达式2:表达式3 如果表达式1为真,执行表达式2并返结果,如果表达式1为假,执行表达式3并返回结果
- switch:注意不加break时switch语句会从第一个正确的case往下依次执行。
switch执行时判断的只能是整型或者字符型,不能是一个区间
switch的执行效率比if高
switch(表达式){
case 结果1:执行语句;break;
case 结果2:执行语句;break;
case 结果3:执行语句;break;
default:执行语句;break;
}
循环结构
- while(循环条件){
循环语句} //循环条件为真时就一直执行 - do{
循环语句
}while(循环条件);//先执行循环语句,再判断循环条件,注意while后要加分号; - for(起始表达式;循环条件;末尾循环体){循环语句}
- 跳转语句:break; 跳出循环结构或switch选择结构
continue;在循环语句中跳出本次循环中余下尚未执行的语句,继续执行下一次循环
goto;如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
数组
- 放在一块连续的内存空间中
- 数组中每个元素都是相同的数据类型
- 初始话时要定义数组长度,未赋值的数组元素为0
- 通过sizeof(数组名)可以统计数组占的内存,通过数组名查看数组的首地址
- 数组名是数组的首地址
int main(){
int arr1[5] = { 1,2,3,4,5 };
cout << "一维数组空间" << sizeof(arr1) << endl;
cout << "一维数组首地址" << arr1 << endl;
cout << "一维数组首个元素地址" << &arr1[0] << endl;
cout << "一维数组第2个元素地址" << &arr1[1] << endl;
int arr2[5][4];//二维数组按行先存
cout << "二维数组行数" << sizeof(arr2)/sizeof(arr2[0]) << endl;
cout << "二维数组列数" << sizeof(arr2[0])/sizeof(arr2[0][0]) << endl;
cout << "二维数组空间" << sizeof(arr2) << endl;
cout << "二维数组首地址" << arr2 << endl;
cout << "二维数组第一行首地址" << &arr2[0] << endl;
cout << "二维数组第二行首地址" << &arr2[1] << endl;
return 0;
}
函数
-
返回类型 函数名称(参数列表){
执行语句;
return 表达式;
} -
函数声明:viod funcname(); 函数声明后,可以把函数定义写在main函数后面,函数声明可以写多次,函数定义只能写一次
-
函数的分文件编写:创建同名的xxx.h和xxx.cpp,在xxx.h中写函数声明,在xxx.cpp中写函数定义
本文详细介绍了C++中的基本数据类型,包括整型、浮点型、字符型、字符串型和布尔型,以及它们的内存占用。同时,讲解了预处理指令如#define和using namespace std,以及常量、变量的定义。此外,还涵盖了算术、比较和逻辑运算符的使用。最后,探讨了程序流程控制结构,如选择结构(if-else、switch-case)、循环结构(while、do-while、for)以及跳转语句(break、continue)。
1337

被折叠的 条评论
为什么被折叠?



