第一章C++:函数返回值、GNU编译器命令
函数返回值
返回值类型必须和函数的返回类型相同
对于main函数,返回值必须是int型。大多数系统中,main函数的返回值是一个状态指示器。返回值为0表示main函数成功执行完毕;返回非零表示有错误出现。
GNU编译器命令
vi:新建文件,i:编辑;Esc退出编辑;wq/ZZ:保存并退出
-
g++ XX.cc -o XX:编译XX.cc并生成可执行文件XX。
./XX:运行可执行文件XX
echo $?:执行程序后,访问main函数返回值,以此获取状态。
输入输出iostream
iostream库,输入流(istream)和输出流(ostream)
标准输入:cin
标准输出:cout
cerr:标准错误,用来输出程序警告和错误信息。
clog:用于产生程序执行的一般信息。
1.预处理指示:#include
2. 写入到流
-
输出操作符:<<,每个输出操作符实例都接受两个操作数,左操作数必须是ostream对象,右操作数是需要输出的值。
操纵符(manipulator)endl:将它写入输出流,具有换行输出的效果,并刷新与设备相关联的缓冲区(buffer),使用户可以立即看到写入到流中的输出。
3.使用标准库中的名字,如std::cout,std::endle
表示cout和endl是定义在命名空间(namespace)std中的
作用域操作符(scope operator,::操作符)
4.读入流,如std::cin >> v1 >> v2;
输入操作符:>>
5.注释
注释界定符(/**/)不能嵌套
注释代码片段时最好用单行注释的方式(//)
读入未知数目的输入
对用户指定的一组数求和,一直读取直到输入结束。
int val;//read until end-of-file*/while(std::cin >> val)
{ ......}
登录后复制使用istream对象作为条件,结果是测试流的状态。如果流是有效的,那么测试成功;如果遇到文件结束符(end-of-file)或者输入是无效的(如果读取的不是一个整数值,则istream对象是无效的),将导致测试失败。
从键盘输入文件结束符:unix中文件结束符Ctrl+D,相当于windows中vc++ 的.c文件里的(Ctrl+Z+Enter)*2。注:代码中不需要EOF。
在for循环中定义的变量,只能在for循环中存在,循环结束后是不能使用的。
“编辑-编译-调试”,修改了一个错误或一小部分错误之后,就立即重新编译代码。
类
标准库的头文件用尖括号<>括起来,非标准库的头文件用双引号”“括起来。
成员函数(member function),也称为类方法。调用成员函数,使用点操作符(.)。
调用操作符:()。
使用文件重定向
$ addaItems <infile> outfile
登录后复制加法程序已经编译为addItems的可执行文件,上述命令会从一个名为infile的文件读取记录,并将结果输出到一个名为outfile的文件上。
术语
argument(实参):传递给被调用函数的值
block(块):花括号括起来的语句序列
main function(主函数):执行C++程序时,操作系统调用的函数。每个程序有且仅有一个主函数main
manipulator(操纵符):在读或写时“操纵”流本身的对象,如std::ebndl。
member function(成员函数)、method(方法):同义词,指类定义的操作
命名空间(namespace):将库所定义的名字放至单独一个地方的机制。命名空间有助于避免无意的命名冲突。C++标准库所定义的名字在命名空间std中。
string literal(字符串面值):以双引号括起来的字符序列
未初始化变量(uninitialized variable):类类型如果未指定初值,则按类定义的方式进行初始化。定义在函数内部的内置类型变量默认说不初始化的,除非有显示的初始化语句。
输入操作符:>>
注释界定符(/**/)不能嵌套
注释代码片段时最好用单行注释的方式(//)
对用户指定的一组数求和,一直读取直到输入结束。
int val;//read until end-of-file*/while(std::cin >> val) { ......}
使用istream对象作为条件,结果是测试流的状态。如果流是有效的,那么测试成功;如果遇到文件结束符(end-of-file)或者输入是无效的(如果读取的不是一个整数值,则istream对象是无效的),将导致测试失败。
从键盘输入文件结束符:unix中文件结束符Ctrl+D,相当于windows中vc++ 的.c文件里的(Ctrl+Z+Enter)*2。注:代码中不需要EOF。
在for循环中定义的变量,只能在for循环中存在,循环结束后是不能使用的。
“编辑-编译-调试”,修改了一个错误或一小部分错误之后,就立即重新编译代码。
标准库的头文件用尖括号<>括起来,非标准库的头文件用双引号”“括起来。
成员函数(member function),也称为类方法。调用成员函数,使用点操作符(.)。
调用操作符:()。
$ addaItems <infile> outfile
加法程序已经编译为addItems的可执行文件,上述命令会从一个名为infile的文件读取记录,并将结果输出到一个名为outfile的文件上。
argument(实参):传递给被调用函数的值
block(块):花括号括起来的语句序列
main function(主函数):执行C++程序时,操作系统调用的函数。每个程序有且仅有一个主函数main
manipulator(操纵符):在读或写时“操纵”流本身的对象,如std::ebndl。
member function(成员函数)、method(方法):同义词,指类定义的操作
命名空间(namespace):将库所定义的名字放至单独一个地方的机制。命名空间有助于避免无意的命名冲突。C++标准库所定义的名字在命名空间std中。
string literal(字符串面值):以双引号括起来的字符序列
未初始化变量(uninitialized variable):类类型如果未指定初值,则按类定义的方式进行初始化。定义在函数内部的内置类型变量默认说不初始化的,除非有显示的初始化语句。
参考:C++Primer第五版
相关文章:
以上是第一章C++:函数返回值、GNU编译器命令的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

策略模式在C++中的实现步骤如下:定义策略接口,声明需要执行的方法。创建具体策略类,分别实现该接口并提供不同的算法。使用上下文类持有具体策略类的引用,并通过它执行操作。

在 C 语言中,char 类型在字符串中用于:1. 存储单个字符;2. 使用数组表示字符串并以 null 终止符结束;3. 通过字符串操作函数进行操作;4. 从键盘读取或输出字符串。

在Docker环境中使用PECL安装扩展时报错的原因及解决方法在使用Docker环境时,我们常常会遇到一些令人头疼的问�...

C35 的计算本质上是组合数学,代表从 5 个元素中选择 3 个的组合数,其计算公式为 C53 = 5! / (3! * 2!),可通过循环避免直接计算阶乘以提高效率和避免溢出。另外,理解组合的本质和掌握高效的计算方法对于解决概率统计、密码学、算法设计等领域的许多问题至关重要。

语言多线程可以大大提升程序效率,C 语言中多线程的实现方式主要有四种:创建独立进程:创建多个独立运行的进程,每个进程拥有自己的内存空间。伪多线程:在一个进程中创建多个执行流,这些执行流共享同一内存空间,并交替执行。多线程库:使用pthreads等多线程库创建和管理线程,提供了丰富的线程操作函数。协程:一种轻量级的多线程实现,将任务划分成小的子任务,轮流执行。

std::unique 去除容器中的相邻重复元素,并将它们移到末尾,返回指向第一个重复元素的迭代器。std::distance 计算两个迭代器之间的距离,即它们指向的元素个数。这两个函数对于优化代码和提升效率很有用,但也需要注意一些陷阱,例如:std::unique 只处理相邻的重复元素。std::distance 在处理非随机访问迭代器时效率较低。通过掌握这些特性和最佳实践,你可以充分发挥这两个函数的威力。

C 中 release_semaphore 函数用于释放已获得的信号量,以便其他线程或进程访问共享资源。它将信号量计数增加 1,允许阻塞的线程继续执行。

C语言中蛇形命名法是一种编码风格约定,使用下划线连接多个单词构成变量名或函数名,以增强可读性。尽管它不会影响编译和运行,但冗长的命名、IDE支持问题和历史包袱需要考虑。
