第一周周报

1.1标识符命名规则
1.标识符不可以是关键字 例如: int int = 10;
2.标识符是由字母、数字、下划线构成 int ab_c1=10;
3.标识符第一个字母只能是字母或下划线 int ab=10;
4.标识符是区分大小写的
5.建议:给变量起名的时候,最好能够做到见名如意

1.2数据类型
1.数据类型存在的意义:给变量分配合适的内存空间避免造成空间浪费
2.整型:整型变量表示的是整数类型的数据
整型的数据类型(区别在于所占用内存空间不同)
short(短整型)占用空间:两字节 取值范围:-215~215-1
int(整型) 占用空间:四字节 取值范围:-231~231-1
long(长整型)占用空间:Windows是四字节,Linux(32位)是四字节,(64位)八字节 取值范围:-231~231-1
long long(长长整型)占用空间:八字节 取值范围:-263~263-1
整型大小比较:short<int<=long<=long long

1.3实型
实型的数据类型(区别在于表示的有效数字范围不同)
1.单精度float 占用空间:四字节 有效数字范围:7位有效数字
2.双精度double 占用空间:八字节 有效数字范围:15~16位有效数字
3.默认情况下输出一个小数,会显示出6位有效数字

1.4字符型
作用:字符型变量用于显示单个字符
语法:char ch=‘a’;(单引号里面只能写一个字符)
注意:
1.在显示字符变量时,用单引号将字符括起来,不要用双引号
2.单引号内只能有一个字符,不可以是字符串
3.C和C++中字符变量只占用1个字节。
4.字符型变量并不是吧字符本身放到内存中存储,而是将对应的ASCII编码放到存储单元

1.5转义字符
作用:用于表示一些不能显示出来的ASCII字符
例子:/a、/n、/t等

1.6字符串型
作用:用于表示一串字符串
1.C语言的字符串:char 字符串名[ ] = “字符串”;
2.C++语言的字符串: string str = “字符串”;(要加入string头文件)

1.7布尔类型bool
作用:布尔数据类型代表真或假的值
1.bool类型只有两个值:ture–真(本质是1)false–假(本质是0)
2.bool类型只占用一个字节大小
3.bool类型只要值不是0都是真

2.1数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin>>变量;
数据的输出
作用:用于输出数据
关键字:cout
语法cout<<""<<endl;(这个格式会导致换行)
cout<<"";(这个格式不会换行)

2.2运算符
作用:用于执行代码的运算
运算符类型:
1.算术运算符:用于处理四则运算(+、-、*、/、%、++i、i++、i–、–i)
2.赋值运算符:用于将表达式的值赋给变量
3.比较运算符:用于表达式的比较,并返回一个真值或假值
4.逻辑运算符:用于根据表达式的值返回真值或假值

2.2.1算术运算符
除法运算
1.除数不能为0
2.除法运算是会把小数点后面的数去除
3.小数也能相除

取余运算
1.取余运算是基于除法运算所以除数不能为0
2.小除大余数是本身
3.两个小数不可以做取余运算
4.负数取余还是本身
5.只有整型变量可以进行取余运算

自增和自减运算
1.前置递增:++a(让变量进行+1)
前置递增:先让变量+1,然后进行表达式运算
2.后置递增:a++(让变量进行+1)
后置递增:先进行表达式运算,后让变量+1
3.前置递减:–a(让变量进行-1)
前置递减:先让变量-1,然后进行表达式运算
4.后置递减:a–(让变量进行-1)
后置递减:先进行表达式运算,后让变量-1

2.2.2赋值运算符
a=2; a+=2;(a=a-2); a*=2;(a=a*2);
a/=2;(a=a/2) a%=2;(a=a%2)

在这里插入图片描述

在这里插入图片描述

3.1程序流程结构
顺序结构:程序按顺序执行,不发生跳转
选择结构:依据条件是否满足,有选择的执行相应功能
循环结构:依据条件是否满足,循环多次执行某段代码

3.1.1选择结构
1.if语句
作用:执行满足条件的语句
if语句的三种形式:
1.单行格式if语句:if(条件){条件满足执行的语句};
2.多行格式if语句:if(条件){条件满足执行的语句};else{条件不满足执行的语句};
3.多条件的if语句:if(条件){条件1满足执行的语句};else if(条件){条件2满足执行的的语句}…else{都不满足执行的语句};
嵌套if语句:在if语句中,可以嵌套使用if语句,达到更精确的条件判断

2.三目运算符
作用:通过三目运算符实现简单的判断
语法:(表达式1?表达式2:表达式3)=返回的值
解释: 如果表达式1的值为真,执行表达式2,并返回表达式2的结果
如果表达式1的值为假,执行表达式3,并返回表达式3的结果

3.switch语句
作用:执行多条件分支语句
语法:swich(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;

default:执行语句;break;
}
注意:1.如果在执行语句后面没有加break,那就会接着执行那条case后面的case直到defalut或者到某一个case后面加了break的语句
if和switch区别:
switch缺点,判断时候只能是整型或者字符型,不可以是一个区间
switch优点,结构清晰,执行效率高

3.1.2循环结构
while循环语句
作用:满足循环条件,执行循环语句
语法:while(循环条件){循环语句}
解释:只要循环条件的结果为真,就执行循环语句
注意:在执行循环语句时候,程序必须提供跳出循环的出口,否则出现死循环

1.do…while循环语句
作用:满足循环条件,执行循环语句
语法:do{循环语句}while;
注意:与while的区别在于do…while会先执行一次循环语句,再判断循环条件

2.for循环语句
作用:满足循环条件,执行循环语句
语法:for(起始表达式;条件表达式;末尾表达式){循环语句;}
注意:for语句中的两个(;)不能省

3.嵌套循环
作用:在循环体中在嵌套一层循环,解决实际问题

3.2跳转语句
1.break语句
作用:用于跳出选择结构或者循环结构
break使用的时机:
1.出现在switch条件语句中,作用是终止case并跳出switch
2.出现在循环语句中,作用是跳出当前循环语句
3.出现在嵌套循环中,跳出最近的内层循环语句

2.continue语句
作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
break和continue区别
break是直接退出循环,continue是直接执行下一次循环
goto语句
作用:可以无条件跳转语句
语法:goto 标记
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

4.1数组
数组::相当于一个集合,里面存放了相同类型的数据元素
特点1:数组中的每个数据元素都是相同的数据类型
特点2:数据时由连续的内存位置组成的
一维数组定义方式:
1.数据类型 数组名{数组长度};
2.数据类型 数组名[数组长度]={值1,值2…};
3.数据类型 数组名[ ]={值1,值2…};
注意:1.数组下标是从0开始的
2.如果在初始化数据时候,没有全部填完,会用0来填补剩余数据

4.1.1一维数组数组名
用途:
1.可以统计整个数组在内存中的长度
2.可以获取数组在内存中的首地址
注意:数组名是常量不能进行赋值

4.2二维数组
简述:二维数组就是在一维数组上,多加一个维度
二维数组定义的四种方式:
1.数据类型 数组名[行数] [列数];
2.数据类型 数组名[行数] [列数]={{数据1,数据2},{数据3,数据4}};
3.数据类型 数组名[行数] [列数]={数据1,数据2,数据3,数据4};
4.数据类型 数组名[ ] [列数]={数据1,数据2,数据3,数据4};
建议:以上4种定义方式,利用第二种更加直观,提高代码的可读性

4.2.1二维数组数组名
1.查看二维数组所占内存空间
2.获取二维数组首地址

5.1函数
作用:将一段经常使用的代码封装起来,减少重复代码
函数的定义:
1.返回值类型 2.函数名 3.参数表列 4.函数体语句 5.return表达式

5.2函数调用
功能:使用定义好的函数
语法:函数名(参数)
简述:当函数调用时候,实参的值会传递给形参
值传递:就是函数调用时实参将数值传入形参
值传递时,如果形参发生改变,并不会影响实参
值传递的缺点:被调用的函数无法修改主函数的变量

5.3函数的常见样式
1.无参无返 2.有参无返 3.无参有返 4.有参有返

5.4函数的声明
作用:告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义
注意:函数的声明可以多次,但是函数的定义只能有一次

5.5函数的分文件编写
作用:让代码结构更加清晰
步骤:1.创建后缀名.h的头文件 2.创建后缀名为.cpp的源文件
3.在头文件中写函数的声明 4.在源文件中写函数的定义

6.1指针
作用:可以通过指针间接访问内存
注意:
1.内存编号时从0开始记录的,一般用十六进制数字表示
2.可以利用指针变量保存地址
指针变量定义语法:数据类型* 变量名;
简记:指针就是个地址
指针在32位操作系统下:占用4个字节空间,64位下占用8个字节

6.2空指针野指针
空指针:指针变量指向内存中编号为0的空间
用途:初始化指针变量
注意:空指针指向的内存时不可以访问的
语法:int * p=NULL;
野指针:指针变量指向非法的内存空间

6.3常量指针和指针常量
常量指针:const int * p=&a;
特点:指针的指向可以修改,但是指针指向的值不可以修改
指针常量:int * const p=&a;
特点:指针的指向不可以修改,但是指针指向的值可以修改
const 既修饰指针,又修饰常量:const int * const p=&a
特点:指针的指向和指针指向的值都不能修改

6.4指针和函数
作用:利用指针作函数参数,可以修改实参的值

7.1结构体
概念:属于用户自定义的数据类型,允许用户存储不同的数据类型
结构体的定义和使用
语法:struct 结构体名 {结构体成员列表};
通过结构体创建变量的方式有三种:
1.struct 结构体名 变量名
2.struct 结构体名 变量名={成员1值,成员2值…}
3.定义结构体时顺便创建变量
总结:
1.定义结构体时的关键字是struct,不可以省略
2.创建结构体变量时,关键字struct可以省略
3.结构体变量利用操作符"."访问成员
4.“."是成员运算符 “->"是指向运算符

7.2结构体数组
作用:将自定义的结构体放入到数组中方便维护
语法:struct 结构体名 数组名[元素个数] = { {} , {},…}

7.3结构体指针
作用:通过指针访问结构体中的成员
利用操作符->可以通过结构体指针访问结构体属性

7.4结构体嵌套结构体
作用:结构体中的成员可以是另一个结构体
例如:每个老师辅导一个学员,一个老师的结构体中,记录一个学生的结构体
语法:struct teacher
{
int t_id;
string t_name;
struct student
{
int s_id;
string s_name;
}stu;
}s;
访问:s.stu.s_id就行

7.5结构体做函数参数
作用:将结构体作为参数向函数中传递
传递方式:值传递、地址传递
总结:如果不想修改主函数中的数据,用值传递、反之用地址传递

7.6结构体中const 使用场景
作用:用const来防止误操作
语法:和常量指针、指针常量差不多
例如:const struct student * stu

ASCII码大致由以下两部分组成:
1.ASCII非打印控制字符:ASCII表上的数字0-31分配给了控制字符,用于控制例如打印机等一些外围设备
2.ASCII打印字符:数字32-126分配给了能在键盘上找到的字符,当查看或打印文档时就会出现

sizeof关键字
作用:利用sizeof关键字可以统计数据类型占用内存大小
语法:sizeof(数据类型或者变量)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值