「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”忽略

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

相关文章
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
166 0
|
8月前
|
存储 编译器 C++
【c++】多态(多态的概念及实现、虚函数重写、纯虚函数和抽象类、虚函数表、多态的实现过程)
本文介绍了面向对象编程中的多态特性,涵盖其概念、实现条件及原理。多态指“一个接口,多种实现”,通过基类指针或引用来调用不同派生类的重写虚函数,实现运行时多态。文中详细解释了虚函数、虚函数表(vtable)、纯虚函数与抽象类的概念,并通过代码示例展示了多态的具体应用。此外,还讨论了动态绑定和静态绑定的区别,帮助读者深入理解多态机制。最后总结了多态在编程中的重要性和应用场景。 文章结构清晰,从基础到深入,适合初学者和有一定基础的开发者学习。如果你觉得内容有帮助,请点赞支持。 ❤❤❤
1083 0
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
599 22
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
310 2
|
程序员 C++ 开发者
C++入门教程:掌握函数重载、引用与内联函数的概念
通过上述介绍和实例,我们可以看到,函数重载提供了多态性;引用提高了函数调用的效率和便捷性;内联函数则在保证代码清晰的同时,提高了程序的运行效率。掌握这些概念,对于初学者来说是非常重要的,它们是提升C++编程技能的基石。
125 0
|
JSON Go C++
开发与运维C++问题之在iLogtail新架构中在C++主程序中新增插件的概念如何解决
开发与运维C++问题之在iLogtail新架构中在C++主程序中新增插件的概念如何解决
144 1
|
C++ 开发者
C++一分钟之-概念(concepts):C++20的类型约束
【7月更文挑战第4天】C++20引入了Concepts,提升模板编程的类型约束和可读性。概念定义了模板参数需遵循的规则。常见问题包括过度约束、约束不完整和重载决议复杂性。避免问题的关键在于适度约束、全面覆盖约束条件和理解重载决议。示例展示了如何用Concepts限制模板函数接受的类型。概念将增强模板的安全性和灵活性,但需谨慎使用以防止错误。随着C++的发展,Concepts将成为必备工具。
330 2
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
633 0
|
C++
c++学习笔记03 程序流程结构
C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。
144 0
|
C语言 图形学 C++