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

C++系统教程002-数据类型(01)

一、数据类型

学习一门编程语言,首先要掌握它的数据类型。不同的数据类型占用的内存空间不同,定义数据类型合理在一定程度上可以优化程序的运行。本次主要介绍C++中常见的数据类型及数据的输入与输出格式。本章知识架构及重难点如下:

(一)、第一个程序

先来看一个简单的C++程序,其作用是在屏幕上输出“HelloWorld!”​。(我目前接触的语言第一个距离程序都是''你好世界''。

在上述的C++程序中,一个程序中包含命令、头文件、命名空间、主函数、输出流语句、字符串常量、注释等概念,我们来共同学习一下。

1.包含命令(#include)、头文件

C++程序中,带“#”号的语句称为预编译命令,(在Python中是注释的意思)该命令会在程序编译之前先进行。

include的含义是“包含”和“引用”​,#include命令则为包含头文件命令,表示本程序将嵌入指定的头文件。

头文件。指的是程序中用于声明函数、变量、宏等的文件,通常以.h为后缀名。使用头文件(包括系统头文件和自定义头文件)可以方便地引用已写好的代码,提高代码的复用性和可维护性,同时降低代码的耦合度,使代码更加模块化。因此,第一行代码“#include <iostream>”表示包含C++标准输入输出流头文件iostream.h,也就是说,程序编译时会在此处将iostream.h头文件中的内容展开。

说白了他就是告诉计算机执行我下面的内容,起引导作用。

2.命名空间(namespace)

一个中大型软件通常会由多名程序员共同研发,会使用大量的常量、变量、函数、结构体、枚举、类等,所以有时候会出现命名冲突。工程越大,名称互相冲突性的可能性越大。为了解决命名冲突问题,C++程序中引入“命名空间”。在不同的空间中,同名的变量不会冲突。

因此,第二行代码“using namespace std;”表示使用C++标准库定义的std命名空间。(C++有很多库)

3.主函数main( )

  1. 3~6行为main( )函数。main( )函数又称为主函数,是C++程序执行的入口。
  2. 程序从main( )函数的第一条指令开始执行;main函数结束,整个程序也执行结束。
  3. 其中,main为函数名,​“( )”里可放置参数。其中,​“int main( )”是main函数的函数头,表示main( )函数将返回一个整型数值;
  4. 大括号“{ }”中的内容是需要执行的,称为函数体。
  5. 函数体中,各行代码将按照先后顺序依次执行,写在前面的先执行,写在后面的后执行。

4.输出流语句

  1. 第5行代码“cout << "Hello World!\n";”表示通过数据输出流,输出英文“Hello World!”​。
  2. 双引号" "代表该语句是字符串常量,cout表示输出流,<<表示将字符串传送到输出流中。

注意C语言中,我们使用scanf( )、printf( )函数进行数据的输入输出操作。C++兼容C语言,因此这两个格式化输入输出函数仍然可以使用。但C++提供了一套全新的、更容易使用的输入输出库,即使用数据输入输出流和cout<<、cin>>进行输入、输出。

5.注释

  1. 代码中使用了多处“//”注释,对本行代码进行解释说明。
  2. 编译器不会对注释部分进行编译。
  3. C++程序中有两种注释方法:
  4. 单行注释“//”和多行注释“/* */”​。
  5. “//”是单行注释,从注释符号“//”开始,到本行代码结束的内容为注释内容,一般用于对本行代码或下面的代码进行解释说明。
  6. “/* */”是多行注释,​“/*”放在注释内容前,​“*/”放在注释内容后,​“/*”和“*/”中间的内容为注释部分。
  7. 注意,多行注释中不允许嵌套另一个多行注释。

(二)、关键字和标识符

1、关键字(keywords)

又称为保留字,是C++中规定的具有特定意义的字符串。用户定义的常量、变量、函数等名称不能与关键字相同,否则会出现错误。

后面我们在编程过程中会经常用到一些关键字,不用记忆,知道有这么回事就行。

2、标识符

是对C++程序中常量、变量、语句标号以及用户自定义函数等

名称进行标识的符号。

2.1其命名规则:
  1. 标识符必须由字母、数字及下画线组成,且不能以数字开头。(与Python一样)
  2. C++区分大小写,因此大写和小写英文字母代表的是不同的标识符。
  3. 标识符不能是系统关键字。
  4. 标识符应体现一定的功能含义,便于理解。(例如:name一看就知道代表名字。)(你过一段时间一看知道他是什么意思就行)通常采用所表述内容的英文、拼音等。
  5. ​同时应受一定规范的约束。例如,3A、ABC*、int是不合法的标识符。
  6. 其中,6A以数字开头,ABC*使用了符号“*”​,int是系统关键字。
  7. name和Name是不同的标识符,因为C++区分大小写。
  8. 同理,int和Int含义不同,Int不再是系统关键字,而是合法的标识符。表示长方体的长、宽、高,使用length、width、height标识符远比使用a、b、c表示更易于理解。

数据类型会出两篇或者三篇,本篇为01

每日一句习语

“治国有常,利民为本。”这句话的意思是治理国家有不变的法则,但最根本的是让人民获利。它体现了中国共产党以人民为中心的发展思想,强调了人民在国家治理中的核心地位。在实际工作中,各级政府和领导干部都应该把人民的利益放在首位,不断为人民谋幸福、为民族谋复兴。

让我们一起为中华民族富强而奋勇向前!


http://www.kler.cn/news/294912.html

相关文章:

  • pytorch torch.gather函数介绍
  • 运维工程师面试题--Linux加分项
  • Mysql(一) - 数据库操作, 表操作, CRUD
  • CMU 10423 Generative AI:lec3(阅读材料:GPT1论文解读)
  • 申万宏源证券完善金融服务最后一公里闭环,让金融服务“零距离、全天候”
  • 币安/欧易合约对冲APP系统开发
  • 【BuuCTF】BadySQli
  • C语言 | Leetcode C语言题解之第392题判断子序列
  • 小程序端pinia持久化
  • 2工作队列
  • 如何应对日益复杂的网络攻击?Edge SCDN(边缘安全加速)的应用场景探讨
  • 解决yarn安装依赖报错:certificate has expired at TLSSocket.onConnectSecure
  • 探索 MATLAB 中的 rem 函数:余数计算与应用
  • Find 方法、where 子句以及 AsNoTracking 方法各自有不同的用途和性能
  • 为libpng不同架构创建构建目录、编译、安装以及合并库文件的所有步骤。
  • python基础语法四-数据可视化
  • HTTP与HTTPS在软件测试中的解析
  • 使用modelsim小技巧
  • Mysql数据库表结构迁移PostgreSQL
  • springboot组件使用-mybatis组件使用
  • 《云原生安全攻防》-- K8s攻击案例:高权限Service Account接管集群
  • IPv6归属地查询-IPv6归属地接口-IPv6归属地离线库
  • 【有啥问啥】什么是扩散模型(Diffusion Models)?
  • [论文笔记] LLaVA
  • Effective Java学习笔记--39-41条 注解
  • 【LVI-SAM】激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节
  • 把Django字典格式的数据库配置转成tortoise-orm的URL格式
  • k8s集群版部署
  • 排序算法-std::sort的使用(待学习第一天)
  • llama.cpp demo