C++青少年简明教程:C++程序结构

C++青少年简明教程:C++程序结构

一个简单的C++程序源码如下:

#include <iostream>
using namespace std;int main() {cout << "Hello World" << endl;return 0;
}

下面解析一下。

1. #include <iostream>

这是一条预处理器指令【注:预处理器指令(Preprocessor Directive)是C++语言中的一个特殊机制,它允许你在编译代码之前插入一些控制信息或者定义常量等。

以下是一些常见的C++预处理器指令:

#include:用于包含其他文件的内容,使得当前文件能使用其中定义的变量或函数。例如:#include <iostream>

#define:定义宏(Macro),在宏替换阶段,会被替换成宏定义时提供的字符串。用于定义宏。

例如:#define PI 3.14 或 #define MAX(a, b) (((a) > (b))? (a) : (b))

#ifdef/#ifndef/#if/#else:条件编译块,根据预处理器指令的不同组合,决定是否执行某个代码块。例如:

#ifdef DEBUG
    cout << "Debug mode" << endl;
#else
    cout << "Release mode" << endl;
#endif

更多详情可见https://blog.csdn.net/cnds123/article/details/119043873 】

这行代码的意思是:导入iostream头文件

#include是导入的意思,一个 #include 命令只能包含一个头文件。

头文件可以理解为具备特定功能的工具包,我们可以直接拿过来使用。

iostream头文件,它是input(输入) output(输出) stream(流)的缩写,翻译过来就是:输入输出流。提供了 cin对象(一般情况下代表键盘) 和 cout对象(一般情况下代表显示器),分别用于从标准输入读取流 和 向标准输出写入流。

使用 cout 进行输出时需要紧接着使用“<<”操作符——插入符(inserter),使用 cin 进行输入时需要紧接着使用“>>”操作符——提取符(extractor)。

C++ 的开发者认为数据输入和输出的过程也是数据传输的过程,数据像水一样从一个地方流动到另一个地方,所以 C++ 中将此过程称为“流”,实现此过程的类称为“流类”。上图中的箭头可以看作水管子。

cin用来在程序执行期间给变量输入数据,一般格式为:

cin>> <变量名1>[>> <变量名2> >>…>> <变量名n>];

其中:>> 称为“提取运算符”,程序执行到这条语句便暂停下来,等待从键盘上输入相应数据,直到所列出的所有变量均获得值后,程序方继续执行。

下面是cin的示意图

cin可以同时为多个变量输入数据,在各输入数据之间用一个或多个空白(空格,回车,Tab)作为间隔符,按Enter键结束。

如cin>>x1>>x2>>x3;

等价于

cin>>x1;

cin>>x2;

cin>>x3;

析取运算符>>后只能出现变量名,且应该是系统预定义的简单类型。

cin 能够自动识别数据类型。

int a,b;

char c;

double d;

cin>>a>>b>>c>>d;

可以输入:23 34 A 34.5。

cout实现将数据输出到显示器的操作,一般格式为:

cout<< <表达式1> [<< <表达式2> <<…<< <表达式n>];

其中:<<  称为“插入运算符”,将紧跟其后的表达式的值输出到显示器上当前光标位置。

下面是cout的示意图

cin和cout的书写形式很灵活,如果有多个变量,即使类型不相同,也可以写在同一个语句中。

2.using namespace std;

这行代码翻译过来就是:使用标准命名空间

using: 使用

namespace: 命名空间

std: standard的缩写,意思是标准

命名空间:名称空间是用来区分不同名称空间中的同名属性,主要是解决多人同时编写大型程序时名字产生冲突问题,如防止不同人写的函数出现重名出现问题的情况。使用格式为:

using namespace 命名空间名;

使用iostream头文件时,cout、cin、endl都放在名称空间std里面。可以用std::cout这种方式来指定使用的cout是std里面的cout,使用using namespace std就不需要用std::指定。

关于命名空间更多情况可见 https://blog.csdn.net/cnds123/article/details/117959454

3.主函数

系统默认的你这个程序运行的入口,换句话说,当你的源代码通过编译,成为一个程序,在计算机上运行时,它是从int main()(其中int代表这个函数的返回值类型)这里开始执行。

主函数声明后,下面有一对花括号({ }),花括号里面所表达的就是你这个函数想要干什么。

返回值:本程序主函数的最后有一句话:return 0,它的意思是主函数结束后向操作系统返回一个0值,也就是说,如果你的程序顺利地结束了,你的操作系统会得到一个0值,如果运行出错,那么得到的就也许是另外一个值了。主函数的返回值我们一般默认为0,而且大多数算法竞赛中也会要求主函数的返回值为0。

注释

一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。注释是给人看的。通过注释,你可以向其他开发人员或自己记录代码的意图、功能、实现方法等相关信息。注释不会被编译器解析和执行。

在c++中,内容较少的简单注释常用“//”,内容较长的常用“/*……*/ ”。

 “//”作注释,有效范围只有一行,即本行有效,不能跨行。

“/*……*/”注释为多行。只要在开始处有一个“/*”,在最后一行结束处有一个“*/”即可。

例如:

/*
这是一个使用注释的例子,
作者:某某
日期:
*/ 
// 引入”输入输出流“头文件
#include <iostream>
// 使用标准命名空间
using namespace std;// 主函数入口
int main() {// 在控制台上打印出"Hello World"文本,后面加一个回车cout << "Hello World" << endl;return 0;  // 程序结束
}

C++中严格区分大小写,但不严格限制程序的书写格式,不过从可读性角度出发,程序书写应采用内缩格式,一般一个语句占一行。

C++中使用的标点符号,如()"" '' + - * /:,等等是半角英文的,字符串中(字符串内部)的除外。新手要特别注意这点。

【全角和半角

☆全角:是一种电脑字符,占两个字节。

在全角中,字母和数字等与汉字一样占据着等宽的位置。

☆半角:是指一个字符占一个字节。

半角是ASCII方式的字符。 】

C++代码书写规范简介https://blog.csdn.net/cnds123/article/details/119110061

在C++中,可以使用<cstdio>来包含C语言标准库中的输入输出函数。不过,在C++中更推荐使用<iostream>头文件和iostream库来进行输入和输出操作。使用iostream库可以方便地使用C++的流式输入输出操作符(<< 和 >>)来进行数据的输入和输出。

所以,如果你在C++程序中需要进行输入输出操作,建议使用<iostream>头文件和iostream库,而不是<cstdio>头文件。这样可以更好地发挥C++的特性和优势。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/695706.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html中用frameset对窗口进行划分

html中&#xff0c;一般有<head><body>等部分&#xff0c;在用<frameset>对窗口进行区域划分时&#xff0c;<body>标签对就不再需要了。直接删除就可以了。 请看下面的示例&#xff1a; 由于使用frameset进行窗口划分时&#xff0c;对于电脑屏幕的划分…

HarmonyOS开发案例:【UIAbility内和UIAbility间页面的跳转】

UIAbility内和UIAbility间页面的跳转&#xff08;ArkTS&#xff09; 介绍 基于Stage模型下的UIAbility开发&#xff0c;实现UIAbility内和UIAbility间页面的跳转。包含如下功能&#xff1a; UIAbility内页面的跳转。跳转到指定UIAbility的首页。跳转到指定UIAbility的指定页…

[猫头虎分享21天微信小程序基础入门教程]第6天:与服务器进行数据交互

[猫头虎分享21天微信小程序基础入门教程]第6天&#xff1a;与服务器进行数据交互 第6天&#xff1a;与服务器进行数据交互 &#x1f310; 自我介绍 大家好&#xff0c;我是猫头虎&#xff0c;一名全栈软件工程师。今天我们将继续微信小程序的学习&#xff0c;重点了解如何与服…

Ubuntu扩展磁盘分区

Ubuntu扩展磁盘分区 报错Unable to satisfy all constraints on the partition 首先需要保证磁盘具有空闲分区&#xff0c;且与待扩展的分区相邻&#xff0c;比如扩展分区3&#xff0c;那剩余空间应与分区3相邻&#xff0c;如图所示&#xff1a; 然后选中文件系统分区3&#x…

“交个朋友”申请注册商标都已被驳回!

“ 交个朋友”在直播带货界非常有名&#xff0c;普推知产老杨在商标局官网上检索发现&#xff0c;“交个朋友”主体申请了以“交个朋友”四百多个相关商标&#xff0c;基本上都被驳回&#xff0c;其实这样的名称不应提报商标&#xff0c;专业商标人员一看就过不了&#xff0c;还…

C++牛客周赛题目分享(2)小红叕战小紫,小红的数组移动,小红的素数合并,小红的子序列求和

目录 ​编辑 1.前言 2.四道题目 1.小红叕战小紫 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思路 2.小红的数组移动 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思路 3.小红的素数合并 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思…

启动项目时出现SELinux is preventing

问题描述 启动项目时出现SELinux is preventing**** SELinux正在阻止systemd对文件AB.sevice进行读取访问。 我的是启zabbix是报该错&#xff1a; 最终解决方案 方法一&#xff1a;暂时禁用SELinux setenforce 0 方法二&#xff1a;禁用SELinux 在配置文件/etc/sysconfig/…

通过任意文件读取获取weblogic账号密码

对于weblogic获取到账号密码的前提是有任意文件读取存在&#xff0c;当任意文件读取存在时是可以读取配置文件来对账号密码进行解密。weblogic密码使用AES&#xff08;老版本3DES&#xff09;加密&#xff0c;对称加密可解密&#xff0c;只需要找到用户的密文与加密时的密钥即可…

Dread Hunger 海上狼人杀服务器开服教程

1、购买后登录服务器&#xff0c;百度莱卡云 1.1、第一次购买服务器会安装游戏端&#xff0c;大约5分钟左右&#xff0c;如果长时间处于安装状态请联系客服 2、创建端口 点击网络创建第二个端口作为副端口&#xff08;副端口的作用是用于第二局游戏&#xff0c;因为游戏BUG&am…

数字锁相放大器(DLIA)基本原理与Matlab仿真

本文介绍数字锁相放大器&#xff08;DLIA&#xff09;基本原理与Matlab仿真。 1.基本原理 数字锁相放大器&#xff08;DLIA&#xff09;原理框图如下图。 其核心部分为FPGA/DSP内部的相关运算及由正弦参考序列&#xff0c;D/A转换器&#xff0c;低通滤波器构成的DDS&#xff…

vue+springboot实现excel批量数据的导入导出

①后端配置端口&#xff1a;修改UserController UserController&#xff1a; package com.example.springboot.controller;import cn.hutool.core.util.StrUtil; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.…

咸鱼之王游戏攻略:平民怎么起号?

在《咸鱼之王》这款游戏中&#xff0c;即使是平民玩家&#xff0c;也有着许多可以优化的操作&#xff0c;以最大程度地提高收益。本攻略将针对平民玩家的日常操作进行详细解读&#xff0c;包括黑市购买、资源管理等方面的建议&#xff0c;希望对广大玩家有所帮助。 一、黑市购买…