c语言变量的4要素(C语言之变量)
c语言变量的4要素(C语言之变量)变量类型 变量名;由于C语言中的数字是有类型的,所以代表存储位置的变量也是有类型的。变量声明语法:变量和存储位置之间的关系由操作系统决定的。2.变量的使用(1)变量使用前必须先声明
变量
1.概念
计算机使用内存来记录数据,内存中有很多的存储位置,每个存储位置中可以记录数据。
变量在C语言中用来代表一个存储位置,通过变量来访问对应的存储位置。
变量和存储位置之间的关系由操作系统决定的。
2.变量的使用
(1)变量使用前必须先声明
变量声明语法:
变量类型 变量名;
由于C语言中的数字是有类型的,所以代表存储位置的变量也是有类型的。
变量名属于标识符,需要遵循标识符的规范。
(2)访问变量
访问变量经常会用到赋值语句,赋值运算符(=)是赋值语句的核心
赋值运算符的作用是将"="右边的数字保存到"="左边的存储位置上
比如:
a = 10;
b = 20;
赋值运算符的左边必须是一个代表存储位置的内容,称之为左值。
赋值运算符的右边必须是一个代表数字的内容,称之为右值。
变量可以作为左值,也可以作为右值。数字只能作为右值。
(3)使用printf打印变量的值
printf函数不仅可以打印文字信息,也可以打印数字和变量
打印数字/变量使用占位符,整数类型的占位符是%d
用法如下:
int num;
num = 10;
printf("num = %d\n" num);
在打印的时候使用后面的 数字/变量 依次替换占位符的内容
不同类型的 数字/变量 的占位符不同
(4)变量的初始化和同时声明多个同类型变量
在声明变量的同时为变量赋值叫做变量的初始化
通常情况下所有的变量都应该初始化
没有初始化的变量的值不确定
初始化语法:
变量类型 变量名 = 初始值;
可以在一行中声明多个同类型的变量,语法如下:
变量类型 变量名1 变量名2,变量名3.....;
比如:
int num num_2 num_3 num_4 num_5;
(5)scanf标准函数
scanf标准函数可以在程序运行时把用户在键盘上输入的数字记录到变量中
scanf调用语句中使用占位符表示数字数字的类型
scanf使用变量的地址表示数字要存储的位置(&变量名)
int num;
scanf("%d" &num);
注意事项:
在双引号中只能写占位符,不能添加其他的内容
一条scanf语句中可以读取多个数字,输入时多个数字之间用空格分开
使用scanf标准函数需要包含头文件stdio.h的头文件
scanf语句出错会影响之后的scanf语句,在Linux中可以使用以下语句去掉这种影响(清除缓存):
scanf("%*[^\n]");
scanf("%*c");
在C语言的代码中可以直接使用 - * /
练习:
编写C语言的代码,将用户输入的两个整数的 和 差 积 商打印出来
3.变量的类型
整数类型:
(1)字符类型
关键字:char
字符类型代表一个数据类型,包含256个不同的数据,‘6’ ,'a' ' '....
char类型的数据在我们的计算机上占用1个字节
每个字符数据可以用数字表示,字符类型数据有两种身份:字符身份和数字身份
字符身份和数字身份的对应关系在ASCII表中
'0' ---------------------- 48
'a' ---------------------- 97
char类型表示数字的范围是 -128 ----- 127
ASCII表只规定了0-127对应的字符,-128 ----- -1对应的字符不确定
在ASCII表,所有的大写字母,小写字母,数字字符都是连续排列
'd' - 'a' 等于 'D' - 'A'
'd' - 'a' 等于 '3' - '0'
使用printf/scanf 输入输出字符类型数据时,使用%hhd表示数字身份,%c表示字符身份
越界处理:
几个特殊的字符
'\n' ---------- 换行符
'\r' ----------- 回车符(将光标移动到本行开头)
’\b‘ ---------- 退格符
'\t' ----------- 制表符
'\\' '\'' '\"' ------- 分别表示 \ ' " (转义)
%% -------- 表示%
(2)无符号的字符类型
关键字:unsigned char
无符号的字符类型也包含256个字符数据,范围0-255
大小也是1字节,其中0-127也对应ascii表
使用printf打印无符号字符类型时,使用占位符%hhu打印数字身份,%c打印字符身份
(3)短整型
关键字:short (int)
短整型包含65536个不同的整数,范围-32768 ----- 32767
在我们的计算机上占2个字节
占位符:%hd
(4)无符号短整型
关键字:unsigned short (int)
无符号短整型包含65536个不同的整数,范围0 ----- 65535
在我们的计算机上占2个字节
占位符:%hu
(5)整型
关键字:int
整型包含2^32个不同的整数,范围-2^31 ----- 2^31-1
在我们的计算机上占4个字节
占位符:%d
(6)无符号整型
关键字:unsigned (int)
整型包含2^32个不同的整数,范围0 ----- 2^32-1
在我们的计算机上占4个字节
占位符:%u
注:可以使用sizeof来计算 类型 变量 数字的大小,单位是字节。
sizeof(int)
sizeof(num)
sizeof(-10)
(7)长整型
关键字:long (int)
32位系统:
长整型包含2^32个不同的整数,范围-2^31 ----- 2^31-1
在我们的计算机上占4个字节
64位系统:
长整型包含2^64个不同的整数,范围-2^63 ----- 2^63-1
在我们的计算机上占8个字节
占位符:%ld
(8)无符号长整型
关键字:unsigned long (int)
32位系统:
整型包含2^32个不同的整数,范围0 ----- 2^32-1
在我们的计算机上占4个字节
64位系统:
长整型包含2^64个不同的整数,范围0 ----- 2^64-1
在我们的计算机上占8个字节
占位符:%lu
(9)长长整型
关键字:long long (int)
长长整型包含2^64个不同的整数,范围-2^63 ----- 2^63-1
在我们的计算机上占8个字节
占位符:%lld
(10)无符号长长整型
关键字:unsigned long long (int)
长长整型包含2^64个不同的整数,范围0 ----- 2^64-1
在我们的计算机上占8个字节
占位符:%llu
浮点类型:
(11)单精度浮点型
关键字:float
在我们的计算机上占4个字节
占位符:%f %g(%f保留小数点后多余的0,%g不保留) %e(科学计数法)
(12)双精度浮点型
关键字:double
在我们的计算机上占8个字节
占位符:%lf %lg(%lf保留小数点后多余的0,%lg不保留) %le(科学计数法)
注意事项:
C语言中,整数数字默认是int型,小数数字默认是double型。
如果要表示一个整数数字是无符号整型,可以在数字后面加u,比如8u
如果要表示一个小数数字是float类型,可以在数字后面加f,比如3.14f
(13)布尔类型 ----- C99加入
关键字:bool
在我们的计算机上占1个字节
用来存放一个布尔值,布尔值只有两种取值:真和假,本质上就是1和0
在C语言中使用关键字 true 和 false 分别表示真和假
除了数字0表示假以外,其他的数字都表示真
注:使用bool类型要添加头文件stdbool.h
4.变量类型总结
变量类型总结
5.printf函数打印方法的补充
(1)可以使用%nd作为占位符来打印整数数字,n是一个正整数,表示打印结果至少占用n个位置,空位置在左边补充空格字符
%nd打印整数
(2)可以使用%-nd作为占位符来打印整数数字,n是一个正整数,表示打印结果至少占用n个位置,空位置在右边补充空格字符
%-nd打印整数
(3)可以使用%0nd作为占位符来打印整数数字,n是一个正整数,表示打印结果至少占用n个位置,空位置在左边补充0字符
%0nd打印证书
(4)可以使用%n.mf来打印浮点数,表示整个数字至少占n个位置,小数部分占m个位置
%n.mf打印浮点数
配套视频:C语言专题