落花时节又逢君(再见c语言)(第二章)

1. 数据类型介绍

2. signed 和unsigned

3. 数据类型的取值范围

4. 变量

5. 算术操作符:+、-、*、/、%

6. 赋值操作符:=和复合赋值

7. 单⽬操作符:++、–、+、

8. 强制类型转换

9. scanf和printf介绍

一. 数据类型介绍

在我们日常的生活中接触着各种类型的数据 :小数 整数 等~其他各种类型的数据
但是总的来说我们都可以把其归纳为以下几类
在这里插入图片描述
1.1

字符类型
char
(signed)char 有符号字符类型
unsigned char 无符号字符类型

1.2

整形
int
(signed) int
unsigned int
短整型
short int
(signed) short int
unsigned short int
长整型
long int
(signed) long int
unsigned long int
> 更长整形
long long int

1.3

浮点类型
flaot 单精度浮点数
double 双精度浮点数
long double

1.4

Bool 类型
注:这是在C99之后引入的一种新类型
C语⾔原来并没有为布尔值单独设置⼀个类型,⽽是使⽤整数
在C99中也引⼊了布尔类型,是专⻔表⽰真假的。_Bool0 表⽰假,⾮零值表⽰真。

布尔类型的使用要包含的头文件是<stdbool.h>
布尔类型表示真假的是 true false

接下来举一个例子

#include<stdio.h>
#include<stdbool.h>
int main()
{
   
	bool num1 = false;
	if (num1 == true)
	{
   
		printf("ikun二年半");
	}
	else
		printf("小黑子");
	return 0;
}

1.5

各种类型的数据长度
每⼀种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,变量⻓度的不同,存储的数据范围就有所差异。

而sizeof 操作符就是来计算各种类型数据的大小。 单位是字节
sizeof的操作对象既可以是数据类型 又可以是变量或表达式

sizeof (int /double )
sizeof(5 /bianliang1)
这里需要注意的是sizeof的返回值是一个不确定的类型,为此
C语⾔提供了⼀个解决⽅法,创造了⼀个类型别名
回值类型。对应当前系统的size_t ,⽤来统⼀表⽰sizeof 的返sizeof 的返回值类型,可能是unsigned int ,也可能是unsigned long long

这里需要注意以下几点

1.sizeof
的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。
2.sizeof
后边的表达式是不真实参与运算的,根据表达式的类型来得出⼤⼩。
3.sizeof 的计算结果是size_t 类型的(占位符是%zd)

接下来我们来举几个例子

在这里插入图片描述

我们会发现虽然打印出了每个数据类型的字符场长度,但是下边会有警告

在这里插入图片描述

但是如果占位符换成**%zd**,则就没有影响。这就说明了上边我们所提出的问题

1.6

这里我们还需要注意的是sizeof在参与表达式时 ,sizoef后的表达式是不计算的
例如
如果这里计算的话,sum的值应为15;但是结果为0。则说明我们的以上说法是正确的
在这里插入图片描述

二、 signed 和 unsigned

从其汉文中我们可以看出一个是无符号的一个是有符号的
那么两者的区别是什么呢?接下来同志们我们来一起研究

signed int 就相当于 int

unsigned int 就是其本身

整数变量声明为unsigned (只有正值)
的好处是,同样⻓度的内存能够表⽰的最⼤整数值,增⼤了⼀倍。
⽐如,16位的signed short int 的取值范围是:-32768~32767,最⼤是32767;⽽unsigned short int 的取值范围是:0~65535,最⼤值增⼤到了65,535。

对于字符类型和整形是有区别的
signed char
unsigned char

注意,C语⾔规定
char 类型默认是否带有正负号,由当前系统决定。
这就是说,char 不等同于unsigned char 。它可能是 signed char 也可能****是unsigned char ,这一点与int 类型不同int中signed int就等于interesting

、数据类型的取值范围

上述的数据类型很多,尤其数整型类型就有short、int、long、longlong四种,为什么呢?
其实每⼀种数据类型有⾃⼰的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类型,我们就可以在适当的场景下去选择适合的类型。如果要查看当前系统上不同数据类型的极限值:
limits.h ⽂件中说明了整型类型的取值范围。
float.h 这个头⽂件中说明浮点型类型的取值范围。

这里我给大家一些参考

(1)整型:

  • char (通常 1 个字节,8 位):-128 到 127 或 0 到 255。
  • short int (通常 2 个字节,16 位):-32768 到 32767。
  • int (通常 4 个字节,32 位):-2147483648 到 2147483647。
  • long int (通常 4 个字节或更多,具体取决于编译器)。
    (2)
    浮点型:
  • float :大约 ±3.4028235E38F。
  • double :大约 ±1.79769313486231570E+308。

、变量

从字面来理解就是可改变的量 那么我们以专业的角度来理解呢?

欲知后事如何,且听下级分解

在上边我们介绍了类型,那么作用是什么呢?(猜猜呢 )
当然是与我们本节介绍的变量是有关的

了解清楚了类型,我们使⽤类型做什么呢?类型是⽤来创建变量的。
什么是变量呢?C语⾔中把经常变化的值称为变量,不变的值称为常量。
变量创建的语法形式是这样的:
type_name = 初始值

接下来 我们来举几个例子

#include<stdio.h>
int main()
{
   
	int num = 0;
	char ch = 'a';
	float fl = 1.0;  // 不难看出 变量的命名的格式就是我们上边所描述的
	double  a = 3.0; // 同志们可以看见我在创建变量时都会给其一个数值
	return 0;        //在创建变量时都会给其一个数值:这就叫做初始化
}

4.2 变量的分类

变量的分类是有两种的:
1 全局变量
2 局部变量
注意:(当全局变量和局部变量同时出现的时候 局部变量时优先的
多说无益:实践才是检验真理的唯一标准

int num = 100;  
内容概要:文章详细介绍了HarmonyOS的目录结构及其重要性,从整体框架到核心目录的具体功能进行了全面剖析。HarmonyOS凭借其分布式架构和跨设备协同能力迅速崛起,成为全球操作系统领域的重要力量。文章首先概述了HarmonyOS的背景和发展现状,强调了目录结构对开发的重要性。接着,具体介绍了根目录文件、AppScope、entry和oh_modules等核心目录的功能和作用。例如,AppScope作为全局资源配置中心,存放应用级的配置文件和公共资源;entry目录是应用的核心入口,负责源代码和界面开发。此外,文章还对比了HarmonyOS与Android、iOS目录结构的异同,突出了HarmonyOS的独特优势。最后,通过旅游应用和电商应用的实际案例,展示了HarmonyOS目录结构在资源管理和代码组织方面的应用效果。; 适合人群:具备一定编程基础,尤其是对移动操作系统开发感兴趣的开发者,包括初学者和有一定经验的研发人员。; 使用场景及目标:①帮助开发者快速理解HarmonyOS的目录结构,提高开发效率;②为跨设备应用开发提供理论和技术支持;③通过实际案例学习资源管理和代码组织的最佳实践。; 其他说明:HarmonyOS的目录结构设计简洁明了,模块职责划分明确,有助于开发者更好地管理和组织代码和资源。随着万物互联时代的到来,HarmonyOS有望在开发便利性和生态建设方面取得更大进展,吸引更多开发者加入其生态系统。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值