当前位置:网站首页>C语言01、数据类型、变量常量、字符串、转义字符、注释
C语言01、数据类型、变量常量、字符串、转义字符、注释
2022-08-03 16:07:00 【列宁格勒的街头】
数据类型
C语言的数据类型有很多种,包括字符数据类型(char)、整型(int)、浮点型(float、double)等等,但是要注意,C语言是没有字符串类型的。
那么,为什么C语言会出现这么多类型呢?
类型的大小可以用sizeof关键字(注意:sizeof是关键字,不是函数)来计算。
为什么C语言要有那么多类型,因为这样可以分别表示生活中不同的东西,不同的数据,整型,字符型,浮点型,不同浮点型不同的精度又可以区分很多数据。
char占一个字节,short占两个字节,int占四个字节,一般来说sizeof(long)>=sizeof(int),有时是4,有时是8,取决于编译器
变量常量
定义变量的方法:
数据类型 变量名 = 初值;
数据类型 变量名;
变量的分类
变量分为全局变量和局部变量
寻找变量遵循就近原则,即出现全局变量和局部变量同名时,根据所处作用域来判断使用全局还是局部。
变量的作用域和生命周期
作用域:一段代码所在的执行区域
局部变量的作用域:变量所在的局部范围
全局变量的作用域:整个工程
生命周期:代码从创建到销毁的时间段
局部变量的生命周期:从进入作用域开始,到作用域生命周期结束为止
全局变量的生命周期:整个程序的生命周期
当没有给全局变量一个初始值时,编译器会默认将其初始化为0,如果是指针,会默认它是空指针。
常量
常量分为一下几种:
1.字面常量
2.const修饰的常变量
3.#define定义的标识符常量
4.枚举常量(enum)
字面常量
3.14;
1000;
'w';
const修饰的常变量
const float pai = 3.14;
pai = 5.14;//这里是不能直接修改的
const修饰的常变量本质是变量,因为它不可以在数组定义时指定大小(C99之前的版本),只是不可以直接修改成其他值而已,但是这并不代表它不可改变,例如上述例子,可以用pai++;来改变pai的值,但是不能pai += 1;
常变量:指具有常属性的变量,但本质是变量
#define定义的标识符常量
#define定义的标识符常量是常量,可以用在数组的定义中
#define可以用来定义常量和宏,但是其定义的宏是无法调试的,并且容易因为优先级导致在不同的地方出现错误。
define:预处理指令,是一个定义符号,宏作替换
枚举常量
enum Sex
{
MALE;//0
FEMALE;//1
SECRET;//2
};
枚举常量默认从0开始,依次向下递增1
字符串
由双引号引起来的淄川字符成为字符串字面值,简称字符串
字符串的结束标志是一个为'\0'的转义字符,在计算字符串长度时(strlen("xxxxx"))不包括'\0',但是sizeof时,算
转义字符
转义字符是指将一些东西转义为另一种意义,例如'\n'就会被转义会换行
注释
C语言风格的注释:/* */
C++风格的注释://
C++风格的注释每次只能注释一行,而C语言风格的注释不能嵌套注释,嵌套注释会出问题
边栏推荐
- MATLAB | 一种简易的随机曼陀罗图形生成函数
- 一文看懂推荐系统:召回03:基于用户的协同过滤(UserCF),要计算用户之间的相似度
- STM32的HAL和LL库区别和性能对比
- 请问下阿里云全托管flink能执行两条flink sql命令么?
- 如何使用MATLAB绘制极坐标堆叠柱状图
- How much do you know about the intelligent operation and maintenance service of data warehouse based on DMS?
- 【深度学习】今日bug(8月2)
- Introduction to the advantages of the new generation mesh network protocol T-Mesh wireless communication technology
- leetcode: 899. Ordered Queue [Thinking Question]
- 高可用版 主数据库数据结构改变 备数据库会自动改变吗
猜你喜欢
一文看懂推荐系统:召回02:Swing 模型,和itemCF很相似,区别在于计算相似度的方法不一样
How to analyze the weekly activity rate?
DataGrip数据仓库工具
MySQL相关介绍
【QT】Qt 给已经开发好的程序快速封装成动态库
不可忽略!户外LED显示屏的特点及优势
MPLS的wpn实验
MATLAB | 一种简易的随机曼陀罗图形生成函数
如何使用MATLAB绘制极坐标堆叠柱状图
To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
随机推荐
posgresql 到 es 报这个错误 ,啥意思
leetcode SVM
建造者模式/生成器模式
【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01
简易网络传输方法
ffplay视频播放原理分析
Interpretation of the 2021 Cost of Data Breach Report
世界顶级级架构师编写2580页DDD领域驱动设计笔记,属实有牌面
参与便有奖,《新程序员》杂志福利来袭!
泰山OFFICE技术讲座:段落边框的绘制难点在哪里?
MySQL相关介绍
GTK实现旋转加载动画
socket快速理解
元宇宙系列--Value creation in the metaverse
Common distributed theories (CAP, BASE) and consensus protocols (Gosssip, Raft)
MarkDown常用代码片段和工具
MySQL查询语法
2021年数据泄露成本报告解读
TCP 可靠吗?为什么?
How to get the 2 d space prior to ViT?UMA & Hong Kong institute of technology & ali SP - ViT, study for visual Transformer 2 d space prior knowledge!.