「2」C++/C程序的基本概念

简介: 🐰标识符🏡前言🌸标识符的属性🤔提示🐰转义字符🏡前言🌸转义字符的使用🤔提示🐰运算符🌸运算符运行原理🌸运算符的优先级和结合律🌸三目运算符

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀

目录

🐰标识符

🏡前言

🌸标识符的属性

🤔提示

🐰转义字符

🏡前言

🌸转义字符的使用

🤔提示

🐰运算符

🌸运算符运行原理

🌸运算符的优先级和结合律

🌸三目运算符


 

🐰标识符

🏡前言

C++/C的标识符是由字母,数字和下划线(_)组成的字符序列,用来标识一个程序元素,例如变量,函数,宏,类型名等。标识符可以任意长,但是标准c语言规定,编译器只取前31个字符作为有效的标识符;而标准的c++则取前255个字符作为有效的标识符

🌸标识符的属性

每一个标识符都具有如下的几个属性:值、值的类型、名字、存储类型、作用域范围、连接类型、生存周期等。例如C函数,函数名其实就是函数体代码在内存中的首地址,在编译时就可以确定其值,因此是一个常量,这是它的值;值的类型是函数指针类型;存储类型默认为extern,除非声明为static;作用域范围为文件作用域;连接类型默认为外连接,除非声明为static;生命周期为永久(静态)。

🤔提示

(1)避免使用前置“_”来定义你自己的标识符,因为c语言及实现使用它来定义一些内部名称或预定义的宏。因此那样使用的话就有可能造成冲突。

(2)给表示起一个有意义的名字,能够“望文生义”。

(3)使用长的标识符名字并不会增大可执行代码的体积,因此不要使用使用过于简单的名字。但是也不要使用过长的名字。应该遵循用最短的名字包含最多的信息的原则

🐰转义字符

🏡前言

在C/C++中,有些字符有着特殊的含义,“%”是取余,“ " ”表示字符串的开始和结束,“ ?”是三元操作符?:的成员,等等。

🌸转义字符的使用

如果他们出现在普通字符或格式控制字符串中的时候,就需要做出处理。有两种方法:1.使用转义字符2.直接引用ASCII码值

DF43E780-69DE-4EBC-A8E0-BF6D4BA3643C.png

 

在字符串中可以使用“\0OOO”或“\xHH”来引用ASCII码表中的仍何一个字符,其中OOO和HH分别表示该字符的八进制数据和十六进制数据ASCII码值。

🤔提示

要区分“换行”与“回车”的语义。首先,他们的ASCII码值不同。“换行”字符一般用于文件,即从键盘输入的“回车”字符转换为“换行”字符保存而不是直接保存“回车”字符;“换行”还用于程序的输出控制,即输出一个“换行”字符以指示终端输出从新行开始。而“回车”是键盘功能,用于输入控制,例如代替“鼠标左击”和表示输入的结束或新行输入,它不能输出。因此要记住:输出“换行”,输入“回车”。不过有些字符输入函数可以把键盘输入的“回车”字符自动转换为“换行”字符返回,例如getchar()。

🐰运算符

🌸运算符运行原理

C++/C有三种运算符:算数运算符、关系运算符和逻辑运算符。运算符用来构成表达式并指示计算机执行计算,其基本特性就是优先级和结合律。在没有使用小括号确定一个复合表达式中各运算符的计算顺序的情况下,编译器将使用它们的优先级和结合律来确定计算顺序。优先级越高越先计算,相同优先级的运算符之间或同一运算符之间的计算顺序按照结合律来确定。

🌸运算符的优先级和结合律

586169B8-029C-42D6-8AB7-686B4605E9B7.jpeg

 

‼️注:如果代码中的运算符比较多,用括号来确定表达式中每一个子表达式的计算顺序,避免使用默认优先级。

🌸三目运算符

“ ? : ”三目运算符(C++/C中唯一的三目运算符

条件表达式? 表达式1: 表达式2;

如果“条件表达式”为真,则整个表达式的值就是“表达式1”的值,“表达式2”忽略;否则整个表达式的值就是“表达式2”的值,“表达式1”忽略

🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸

相关文章
|
2天前
|
存储 网络协议 Ubuntu
【C++网络编程】Socket基础:网络通讯程序入门级教程
【C++网络编程】Socket基础:网络通讯程序入门级教程
55 7
|
2天前
|
存储 缓存 算法
【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能
【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能
135 0
|
2天前
|
存储 算法 NoSQL
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
41 0
|
2天前
|
设计模式 存储 缓存
【C++ 基本概念】深入探索C++ RTTI 特性
【C++ 基本概念】深入探索C++ RTTI 特性
65 0
|
2天前
|
算法 安全 编译器
【C++20 新特性Concepts 概念】C++20 Concepts: Unleashing the Power of Template Programming
【C++20 新特性Concepts 概念】C++20 Concepts: Unleashing the Power of Template Programming
49 0
|
2天前
|
C++ 计算机视觉 Windows
【C++】由于找不到xxx.dll,无法继续执行代码,重新安装程序可能会解决此问题。(解决办法)
【C++】由于找不到xxx.dll,无法继续执行代码,重新安装程序可能会解决此问题。(解决办法)
|
2天前
|
运维 Serverless Go
Serverless 应用引擎产品使用之在阿里云函数计算中c++模板,将编译好的C++程序放进去部署如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
16 1
|
2天前
|
安全 编译器 C++
C++从入门到精通:3.2异常处理——掌握C++的异常处理机制,提高程序健壮性
C++从入门到精通:3.2异常处理——掌握C++的异常处理机制,提高程序健壮性
|
2天前
|
存储 IDE 编译器
C++从入门到精通:1.3.1了解IDE与C++程序的编写、编译和运行
C++从入门到精通:1.3.1了解IDE与C++程序的编写、编译和运行
|
2天前
|
存储 程序员 数据库
C++从入门到精通:1.2.2简单程序与接收用户输入
C++从入门到精通:1.2.2简单程序与接收用户输入