C语言数据类型和变量 + scanf和printf讲解

1. 数据类型介绍

( 1 )内置类型:可以直接使用

1. 整型:就是整数

int  正常的整型

short int  短整型

long int 长整型

long long int 更长的整型

2. 浮点型: 小数

float  单精度浮点型

double 双精度浮点型

long double 更长的精度 

3. 字符型: ‘a'  等字母

char 字符型

4. 布尔类型:专门表示真和假的类型

在计算机中,数字0代表假,非0代表真,布尔类型就是用true代表了非0,表示真。用false代表数字0,表示假。

下面是示例:

5: signed 和 unsigned

在数据类型分有符号和无符号类型,有无符号就代表是否有正负号,就比如整型 int 本身就是有符号类型,可以表示正负,如果变成 unsigned int 就代表他只能表示0和正数,不会有负数的运算

所以signed代表有符号,unsigned代表无符号

【signed】int 有符号          注:【signed】里可以省略不写

unsigned int 无符号

【signed】short int 有符号 

unsigned short  int 无符号

【signed】long int 有符号   

unsigned long int 无符号

注意:char ==> signed char ?

char 是有符号的char 还是无符号的char,这个取决于编译器实现的。

(2)自定义类型:可以创造自己想要的类型

1. 数组

2. 结构体-struct

3. 枚举-enum

4. 联合体-union

由于这些是后面的内容,并且篇幅较大,我会在之后为大家一一写出。

2.变量

1.变量的创建

C语言中把经常变化的量称为变量,不变的量称为常量。

当我们在创建变量时,要思考我们应该使用什么样的类型。

比如计算两个整数相加就可以用整型int 来定义变量,但当我们在计算两个数相除时,没有除尽时,我们就要使用float来定义。

下面是例子

2. 变量的分类

(1)全局变量:就是在大括号外部定义的变量,全局变量使用范围广,整个工程中想使用,都是有办法使用的。

例子:

(2)局部变量:在大括号里定义的变量,局部变量使用范围比较局限,只能在自己所在的局部范围内使用。

3. 算术操作符:+, -, *, /, %

1.加法 和 减法 :+, -

没什么特殊的,和数学的加减法一样

2. 乘法 *

唯一注意的一点是在计算机的乘法中,不能像数学中用X,而要用*代表

3. 除法  /    

在整数除法中 / 在计算机中不会取余数,下面是例子

但是在浮点型中不会出现这种情况,会正常算出小数

例子

注意:在浮点型中,如果两个整数相除应在其中一个数加上小数点,像5.0,也可以两个数都加,但没必要。

4. 取余 %

当我们在算两个整数相除时,并且是整型变量,在运用%会得出余数,如果除开了就会得0.

例子

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

在计算机中,= 不代表相等,而是代表赋值,比如 a = 1; 意思是我把 1 这个值赋给了 a ,所以现在 a 的值就是1。

复合赋值就是连续赋值,容易混乱。

例子

5.单目操作符和双目操作符

1.单目操作符: ++ , -- 

单目操作符就是只有一个操作数。

分为:++a, a++, a--, --a。

++a和a++都等于a+1,不管是前置的++,还是后置的++,都是+1的意思

但是在运行中,++a是先把1加上在进行运算,a++是先运算再加1。

a-- 和 --a就是等于a-1,前置--和后置--和上述一样。

例子

*ok了,这里我给大家出个简单的问题,大家可以思考为什么这里的C等于2了?

可以在评论区留言。(~ ~)

2.双目操作符:

有两个操作数的操作符。

双目操作符就是我上面所说的加减乘除都是。

6.强制类型转换

就是换一个变量,比如把浮点型强制转换成整型,但会使精度受损。

例子

这里我用了两次强制类型转换

第一次:当我们输入一个小数,编译器默认是double类型的,所以我在3.5后加了 f ,把3.5强制转换成float型。如图所示:

第二次:最后在输出时,我在a前面加了 int 把浮点型 3.5 强制转换成整型,所以最后得出3。

7. scanf 和 printf 的介绍

1. scanf

scanf代表着输入

scanf()处理用户输入的原理是,用户的输入先放入缓存,等到按下回车键后,按照占位符对缓存进行解读,解读用户输入时,会从上一次解读遗留的第一个字符开始,直到读完缓存,或者遇到第一个不符合条件的字符为止。

例子

这里%d是一种占位符,表示的是10进制的有符号的整型

&a代表 a 在计算机中的地址,我会在讲指针时具体说明。

当我们要用到浮点型或者字符型时,要把%d改成 %f 或者 %c。

例子

当然,还有许多,在不同类型中不同的占位符。

这些C语言中常用的:

%c:字符。
%d:十进制整数。
%i:整数,基本等同于%d。
%f:小数(包含 float 类型和 double类型) 。
%hd:十进制 short int型。
%ho:八进制 short int型。
%hx:十六进制 short int类型。
%Lf: long double类型浮点。
%0:八进制整数。
%p:指针。
%s:字符串。
%u:符(unsigned int)。
%x:十六进制整数。
%%:输出一个百分号。

2.printf

printf代表着输出。

当我用scanf输入 b  时,printf 就打印出了 b

注意:printf("%c",a); a前是不需要加上 & 这个的

这里我输入一个符号 b ,但为什么最后输出的却是98,因为当我写printf时,里面的占位符%c我改成了%d, %d是用来表示十进制的整型啊,所以这里给大家看一下ASC||码表。

在我们的电脑键盘上的所有符号都可以找到,他们都可以转换成一个数

就像我输入小写的 b 对应着98,所以当我printf输出时才会打印出98。

8.补充

1.计算机中的常见单位

bit   比特位

Byte  字节      1Byte = 8 bit

KB                  1KB = 1024 Byte
MB                  1MB = 1024KB
GB                   1GB = 1024MB
TB                    1TB = 1024GB
PB                    1PB = 1024TB

~~~~~

2.变量名

(1)变量名尽量有意义

(2)变量名只能是字母,数字,下划线,并且数字不能开头。

(3)变量的名字不能是关键字

(关键字就是像 int ,float, double,char等已经被定义的量) 

ok了  xdm ,这篇到此结束了。

有什么不懂在评论区留言!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值