当前位置: 首页 > news >正文

C++ Primer Plus学习:第二章

C++入门第二章:开始学习C++

  1. 进入C++

首先,以下是一个C++程序:

//myfirst.cpp 显示一行文字

#include<iostream> //预处理器编译指令

int main() //函数头

{

using namespace std; //编译指令

cout<<"学习C++"; //显示消息

cout<<endl; //开始下一行

cout<<"你不会后悔!"; //更多输出

return 0; //返回值

}

从以上的程序中我们可以知道C++程序的组成部分

  1. 注释。
  2. 预处理器编译指令#include
  3. 函数头:int main()
  4. 编译指令:use namespace
  5. 函数体:使用{}括起来。
  6. cout等显示消息的语句。
  7. 结束main()函数的return语句。

我们分别说明其中的几个:

main()函数

C++main()函数的定义以函数头int main()开始。

int main()表示main()函数可以给调用它的函数一个整数返回值,且不从调用它的函数那里获取任何信息。

main():经典C开头。

int main(void):无返回值。

void main():可能出错。

注释

/**/多行注释。

//单行注释。

cout进行C++输出

例如下列语句:

cout<<"Come up and C++ me some time.";

双括号括起的是要打印的消息。

<<表示该语句把这个字符串发送给cout;该符号指出了信息流动的路径。

cout是一个预定义的对象,知道如何显示字符串、数字和单个字符。

1)控制符endl

例:cout<<endl;

endl:表示重起一行。将屏幕上的光标移动到下一行的开头。

例:cout<<"学习C++"<<endl;

即:cout<<"学习C++"

cout<<endl;

2C++源码的格式化

C++中分号表示结尾,一条语句可以跨多行,多条语句可在同一行。但是不能把空格、制表符和回车放在元素(比如名称)中间,也不能把回车放在字符串中间。但是C++11标准中字符串可包含回车。

C++中不可分割的元素叫做标记,通常,必须用空格、制表符或回车将两个标记分开。

3C++源码风格

编程时,最好应遵循以下规则

  • 每条语句占一行。
  • 每个函数都有一个开始花括号和结束花括号,两个花括号各占一行。
  • 函数中的语句都相对于花括号进行缩进。
  • 与函数名称有关的圆括号周围没有空白。

C++语句

cout新花样

cout打印变量时,能够识别变量类型并输出变量值。

其他C++语句

类简介

类是C++面向对象编程的核心概念之一。

类是用户定义的一种数据类型。要定义类,需要描述它能够表示什么信息和他可以对数据执行哪些操作。类定义描述的是数据格式及其用法。

注:类描述了一种数据类型的全部属性(包括可使用它执行的操作),对象是根据这些描述创建的实体。

函数

  1. 函数分为有返回值和无返回值两种类型。
  2. 函数特性:有函数头和函数体;接受一个参数;返回一个值;需要一个原型。

2 总结

C++程序有一个或多个被称为函数的模块组成。程序从main()函数开始执行。函数有函数头和函数体组成。函数头指出函数的返回值(若有)的类型和函数期望通过参数传递给它的信息类型。

C++语句大致分为六种:

  • 声明语句:定义函数中使用的变量名称和类型。
  • 赋值语句:使用赋值运算符给变量赋值。
  • 消息语句:将消息发送给对象,激发某种行为。
  • 函数调用:执行函数,被调用的函数执行完毕后,程序返回到函数调用语句后面的语句。
  • 函数原型:声明函数的返回类型、函数接受的参数数量和类型。
  • 返回语句:将一个值从被调用的函数那里返回到调用函数中。

类是用户定义的数据类型规范,详细描述了如何表示信息以及可对数据进行的操作。对象时根据类规范创建的实体,就像简单变量时根据数据类型描述创建的实体一样。

C++提供了两个用于处理输入输出的预定义对象cincout,他们是istreamostream类的实例,他们是在文件iostream中定义的。

 

 

 

转载于:https://www.cnblogs.com/xyb930826/p/5266845.html

相关文章:

  • Nmap扫描教程之DNS服务类
  • 怎样制作捐赠二维码,实现开源项目或免费应用的捐赠收款(支付宝篇)
  • 培训日报3.14(mysql,guava,穿山甲等)
  • 设计模式(三)工厂方法模式(Factory Pattern)
  • jQuery 增加 删除 修改select option
  • LINQ查收数据库的性能瓶颈
  • Stream groupings
  • 重构第4天:降低方法(Push Down Method)
  • [基础] 重载的时候什么时候用引用
  • 技术架构的关注点
  • 在线生成GIF文件
  • 给厕所换了一个排污管
  • CocoaPods简单配置。
  • Java8:使用Lambda表达式增强版Comparator排序
  • Java注解
  • hexo+github搭建个人博客
  • 【前端学习】-粗谈选择器
  • canvas 高仿 Apple Watch 表盘
  • JavaScript设计模式系列一:工厂模式
  • Java深入 - 深入理解Java集合
  • laravel with 查询列表限制条数
  • Logstash 参考指南(目录)
  • 大型网站性能监测、分析与优化常见问题QA
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 复杂数据处理
  • 猴子数据域名防封接口降低小说被封的风险
  • 如何使用 JavaScript 解析 URL
  • 深度学习中的信息论知识详解
  • 微信开源mars源码分析1—上层samples分析
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • # 计算机视觉入门
  • #android不同版本废弃api,新api。
  • #if #elif #endif
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $.proxy和$.extend
  • (BFS)hdoj2377-Bus Pass
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .Net MVC + EF搭建学生管理系统
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .Net6 Api Swagger配置
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @Autowired 与@Resource的区别
  • @vue/cli 3.x+引入jQuery
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [16/N]论得趣
  • [BT]BUUCTF刷题第4天(3.22)
  • [C#]科学计数法(scientific notation)显示为正常数字
  • [Deepin 15] 编译安装 MySQL-5.6.35
  • [Django ]Django 的数据库操作
  • [Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包