C语言简明知识系列二:变量
今天主要介绍的是C语言中的变量、格式化输入与输出。内容点可能有点多。大家摆好小桌板、拿起小板凳开始记笔记了。
1、变量
变量实际上可以认为是程序可以操作的计算机存储区的别名。变量在C语言中可以有多种类型。这些类型又可以分为基础类型和复杂类型。
1.1 变量名规则
变量的命名方式也遵循一定的规范:变量是由数字、字母、下划线组成,但是不能以数字进行开头。如:
a,_a可以认为是合法的变量名。1a,1就是非法的变量名。
1.2 变量类型
变量可以分为基础类型和复杂类型,常用的基础类型有:
变量类型 |
描述 |
int |
整型,占4个字节,每个字节8比特位,取值范围:-2147483648 ~ 2147483647 |
float |
单精度浮点型,一个符号位,8位指数,32位小数 |
double |
双精度浮点型,一个符号位,11位指数,52位小数 |
char |
字符型,1个字节,8位。 |
void |
表示变量类型缺失,后面可以通过强转将他转成其他变量类型 |
enum |
枚举,可以使代码看起来更简洁 |
此外,在后面的编程中,我们会遇到其他数据类型类型,如:
变量类型 |
描述 |
结构体 |
关键字:struct,在定义一个物体时,需要描述形状、大小、质量,名称等,这个时候就需要用结构体进行定义 |
共用体 |
关键字:union,可以用不同的变量在同一块内存取进行读写 |
指针 |
通过数据类型+“*”进行定义。学习C就绕不开指针,在实际使用时,指针会带给我们无穷的乐趣。 |
1.3 变量的定义
变量的定义有自己的形式。定义变量如下所示:
data_type variablebname;
在上面的定义中,data_type必须是C语言中的有效的变量类型。可以是int、char也可以是结构体、指针。如果想在一行定义多个变量,变量名之间用英文逗号进行分割。结束后已分号进行结尾,表示一行的结束。
基础变量的定义:
int a;//定义整型变量
char b;//字符型
float i,j;//浮点型
复杂类型的定义:
//定义一个结构体变量
struct BOOK
{
char bookname[20];
float price;
};
//定义一个整型指针
int *p;
//定义一个共用体
union data
{
int i;
float j;
};
//定义一个枚举
enum Num
{
x1,
x2=0,
x3=50,
x4
}x;
1.4 变量的赋值
在上面定义的变量中,定义的变量都没有被初始化。这样在程序中使用时很危险的,根据编译器的不同,有可能会产生不同的后果。基础类型变量初始化如下所示:
int a=0;
char b=‘c’;
float i=1.0,j=1.2;
上面a被初始化为0.b被初始化成字符c。在C语言中,单个字符用‘’进行修饰。字符串用“”进行修饰。单精度浮点型i和j分别被初始化成1.0和1.2.
复杂类型变量赋值如下所示:
struct BOOK mybook;//顶一个结构体变量
mybook.bookname="钢铁是怎样练成的";
mybook.price=20.5;
//对指针进行赋值
int number=5;
int *p = number;
在此就不一一举例,有兴趣的可以在编译器上进行试验。
下面以一个实例结束本文,感兴趣的运行下看下输出结果:
//定义一个结构体
struct BOOK
{
char bookname[20];
float price;
};
int main()
{
int i = 2;//定义一个整型变量,并赋值为2
char b = 'c';//定义一个字符型变量并赋值c
float c = 1.2;//定义一个浮点型变量,并赋值1.2
struct BOOK mybook;//定义一个结构体变量
strncpy_s(mybook.bookname, "钢铁是怎样炼成的", sizeof(mybook.bookname));
mybook.price = 20.5;
printf("i=%d,b=%c,c=%f,mybook.bookname=%s,mybook.price=%f\n", i, b, c, mybook.bookname, mybook.price);
return 0;
}
下期预告:变量的作用范围
扫码关注
图文:土笋冻
排版:土笋冻