vlambda博客
学习文章列表

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;

在此就不一一举例,有兴趣的可以在编译器上进行试验。

下面以一个实例结束本文,感兴趣的运行下看下输出结果:

#include <stdio.h>#include <string.h>//定义一个结构体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;}

下期预告:变量的作用范围


扫码关注


图文:土笋冻

 排版:土笋冻