C++知识点5

本文介绍了C++中的关键概念,包括空语句、复合语句、符号用法、continue语句、异常处理、函数、局部变量、引用、数组、main函数参数等。详细讲解了每个知识点的用法和注意事项,如在不同操作系统中的换行符差异,引用形参如何避免拷贝提高效率,以及main函数接收命令行参数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一丶语句
空语句:最简单的语句,当程序中在语法上需要一条语句,但是逻辑上却不需要时,就可以用到空语句
使用空语句时,必须加上注释,使得代码阅读者知道语句是有意义的。

复合语句(也称为“块”):指用花括号括起来的语句和声明的序列。
一个块就是一个作用域,在块中引入的名字只能在块内部以及嵌套在块中的子块访问

注意:块不以分号结尾。

二丶符号用法
在Windows中:
'\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;
'\n' 换行,换到当前位置的下一行,而不会回到行首;

在Unix系统里:
每行结尾只有“<换行>”,即"\n";Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;

Mac系统里:
每行结尾是“<回车>”,即"\r";。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

char a;
while (cin >> std::noskipws >> a)
此处的std::noskipws表示的是不忽略任何地方的空白(包括制表符和空格等)

三丶continue语句
知识点1:continue语句:终止最近循环中的当前迭代并立即开始下一次迭代。
知识点2:它只能出现在for、while、do while的内部。

四丶异常处理
知识点1:异常——指运行时程序的反常行为,典型的有:失去数据库连接、遇到意外的输入等。
知识点2:异常处理—— 在异常被检测出以后,进行异常的处理,主要分为三种:throw表达式、try语句快和异常类

throw表达式:异常检测部分使用throw表达式来表示它遇到的无法处理的问题。
try语句块:处理异常,以关键字try开始,以一个或多个catch子句结束。try语句块中代码抛出的异常通常会被catch子句处理。被称为异常处理代码。
异常类:用于在throw和相关的catch子句之间进行异常信息的传递。

五丶函数名
1:对于实参和形参的区别,可以简单的理解为:
形参:函数定义的时的参数—也就是无赋值的变量(作用是说明参数的类型)
实参:调用函数时使用的参数—也就是有赋值的变量(函数实际操作的对象)

2:函数调用
知识点1:函数包括:返回类型、函数名、参数。调用函数的过程:第一步:实参初始化函数对应的参数,第二步:将控制权转移给被调函数。
知识点2:实参的类型必须与对应的形参相匹配(可以进行类型转换,如:double转为int)

六丶 名字有作用域,对象有生命周期!!!

七丶取绝对值函数
int a = -100
a= abs(a); 取绝对值!

八丶局部变量和局部静态变量的区别
知识点1:局部变量:形参和函数体内部定义的变量统称为局部变量(注意其作用域)

知识点2:局部静态对象:知道程序的结束才被销毁的对象,不受块的约束

九丶引用
知识点1:通过使用引用形参,可以改变实参的值。
知识点2:避免使用引用的过程中拷贝,因为如果对象特别巨大,拷贝的过程会非常缓慢,造成程序低效。
知识点3:当函数需要多个返回值时,可以使用引用形参返回多个值。
知识点4:形参是否是引用类型应该根据是否需要修改对应实参的值来看,如果需要修改,则应是引用类型。

对于让函数返回多个值的具体操作:1、定义一个新的数据类型,包含多个参数。2、给函数传入额外的引用实参,令其保存额外的参数,隐式的返回。

十丶数组
知识点1:数组的两个特殊点:
1、不允许拷贝数组,所以不可以使用传值的方式使用数组参数(传值即为拷贝)
2、通常数组的传递使用的是指针形式,传递的是指针的首地址。

知识点2:由于数组是以指针的形式传递给函数的,所以函数不知道数组的大小,指针就可能会发生越界问题。有三种方法可以解决这一点问题。
1、数组的末尾如果存在结束标记(数组存的是C风格的字符串时,末尾为结束符、空白符)
2、使用标准库范围,即将数组的首指针和末尾指针都传入函数

3、显示的传递数组的大小,将数组大小作为一个参数传入函数

知识点3:当函数不需要对数组元素进行写操作时,使用const常量指针。
知识点4:引用的数组和数组的引用是有区别的!数组的引用才可以作为函数的参数。
知识点5:多维数组的传递,传递的同样是数组的首元素,不过多元数组的首元素本身就是数组

十一丶main函数传参数
需要给main()函数传递实参,之前写的程序基本上main()函数都是空形参列表
特殊点:使用argv中的实参时,一定要记得可选参数从argv[1]开始,argv[0]保存的是程序的名字。
#include <iostream>
#include <string>
int main(int argc, char** argv)//实参列表
{
string str;
for (int i = 1; i != argc; ++i) {
str += argv[i];
str += " ";
}
cout << str <<endl;
return 0;
}
以后在撰写程序时,最好是能够加上这两个参数。
十三丶形参和函数体内部的变量统称为局部变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值