我能“C”——初识C语言(上)

文章介绍了编程中的基本数据类型,如char、int、float等,以及它们在内存中占用的空间。还讨论了变量的声明、命名规则、作用域和生命周期,包括局部变量和全局变量的区别。此外,提到了常量的两种形式:const修饰的变量和#define定义的标识符,并讲解了枚举和字符串的相关知识,特别是字符串长度的计算和结束符的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型

常见的数据类型分为以下几种:

char //字符数据类型

short //短整型

int //整型

long //长整型

long long //更长的整型

float //单精度浮点数

double //双精度浮点数

内存存放这些数据类型,必须要占用空间,所以得知道各个数据类型所占的内存大小,计算这些数据类型的大小可以用到sizeof(运算操作符)。还有下图里面的printf是一个库函数-C语言的标准库中提供的一种函数,功能是在屏幕上打印信息。%d的功能是打印十进制的整型。如下图对应的内存大小显而易见,不过要注意的是它们的单位是字节。有家很有名的公司叫字节跳动。

说到内存就不得不拓展下关于内存的换算。

1byte(字节)=8bit(比特) 1KB=1024byte 1MB=1024KB

1GB=1024MB 1TB=1024GB 1PB=1024TB

定义变量的方法

eg:

int age = 70; float weight =50.5f——单精度浮点数一位小数 char ch = ’a‘——要用单引号

即类型 变量名 = xxx; tip:变量名最好要取地有意义!!!

变量的命名

  1. 只能由字母(包括大写和小写)、数字和下划线(_)组成。

  1. 不能以数字开头。

  1. 长度不能超过63个字符。

  1. 变量名中区分大小写。

  1. 变量名不能使用关键字。

以下是反面教材:

!不能以数字开头

!大小写是有区别的

!变量名不能是关键字,不能是char、long、double等等。。

变量的作用域和生命周期

局部变量的作用域:是局部变量所在的局部范围。(大白话:不出意外的话作用范围就在{ }里面)

eg:

!看第二张图,即使那个较小的局部作用域里面定义了y,但它仅仅在该范围内有用,不能提供给该局部作用域外使用。

全局变量的作用域:全局变量的作用域是整个工程(大白话:作用范围大到超乎你想象)

我在左边定义的变量,甚至隔壁也能用到!!({ }外定义的变量作用范围好大)

补:生命周期

变量的生命周期指的是白能量的创造到变量的销毁之间的一个时间段

局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

全局变量的生命周期:整个程序的生命周期

常量小分类
  1. 字面常量

  1. const修饰的常变量

它具有常属性,如图num被const修饰后就是10了,下面改成num=20;笑死根本改不了。

num本质上是变量,但是有了常属性,就不能修改了。

还有这个情况特别要注意!!因为数组[ ]里面一定要放个常量,为什么上图里面的n被修饰常量属性为什么不能放进去??

答:还是那句话:本质上其实还是变量,只是有了常属性罢了。本质yyds

  1. #define定义的标识符常量

被#define修饰定义了就不能修改了!

补:#define可以放在{ }里面哦

4.枚举常量

啥是枚举?其实就是可以一一列举出来的,eg:人的性别有男,女

看,上面的就是一套枚举函数,有三个取值。

字符串

%s - 是打印字符串的,直到\0才终止打印

第二个错误就是因为没有没有\0

介绍一个函数——strlen它是计算字符串长度的。strlen在求字符串长度的时候,统计的是\0之前出现的字符个数,\0只是结束标准不是内容。

第一个运行正确

第二个为什么是随机值??

还是那句话,没有\0.

今天的收获!!完结撒花~

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加油叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值