C语言学习:常量,变量和关键字(三)


一、数据

1、静态数据

永久性的数据,存储在永久的介质中,如硬盘、磁带、U盘、光盘等,只要介质没坏数据都是存在的,电脑关机重启后依然存在。

2、动态数据

程序在运行过程中,动态产生的的临时数据,一般存储在内存中,程序退出或者电脑关机时这些临时数据会被清除。
为什么不把动态数据存放到硬盘?因为计算机访问内存的速度比访问硬盘快很多。硬盘的存储空间比内存大,价格比内存便宜。

二、常量

常量或常数,表示固定不变的数据,是具体的数据。
1)字符常量(不能是中文,因为汉字和全角符号占两个字节)。
2)整型常量。
3)浮点型常量。
4)字符串常量。

三、变量

常量是数据,变量是存放数据的容器,和常量在称呼上只差一个字,但不是兄弟关系,而是水与水桶的关系。
变量使用前必须先进行声明(或定义),向操作系统申请一块内存空间,用于存放数据。

1、整数型,字符型和浮点型变量

int i = 1;
char c = 'a';
float f = 2.3;
double d = 2.34
note:定义浮点型变量用关键字float或double,float的精度不够,实际开发中建议弃用。double,双精度,很精确的意思。

2、字符串常量

在C语言中,没有“字符串”这个数据类型,而是用字符数组来存放字符串,并提供了丰富的库函数来操作字符串。
char name[21]; // 定义一个可以存放20字符的字符串。
注意几个细节:

1)如果要定义一个存放20个英文的字符串,数组的长度应该是20+1。

2)中文的汉字和标点符号需要两个字符宽度来存放(GBK编码)。

例如name[21]可以存放20个英文字符,或10个中文字符。

3)字符串不是C语言的基本数据类型,不能用“=”赋值,不能用“>”和“<”比较大小,不能用“+”拼接,不能用==和!=判断两个字符串是否相同,要用函数。

3、变量的命名

变量名属于标识符,需要符合标识符的命名规范,具体如下:

1)变量名的第一个字符必须是字母或下划线,不能是数字和其它字符。

2) 变量名中的字母是区分大小写的。比如a和A是不同的变量名,num和Num也是不同的变量名。

3)变量名绝对不可以是C语言的关键字。

4)关于变量的命名,为了便于理解,尽可能用英文单词或多个英文单词的简写,太短不能表达含义,太长了书写麻烦,如果英语不好,那就用中文拼英的第一个字母,例如身份证号码,cardid、userid都可以,sfzhm也行。

4、C语言的关键字

关键字也称为保留字,共32个,这些单词在C语言中有特别的含义,程序员不能把它用于变量或函数的命名。
在这里插入图片描述

5、变量的初始化

变量在定义后,操作系统为它分配了一块内存,但并不会把这块内存打扫干静,也就是说内存中可能有垃圾数据,建议在使用之间对其初始化(打扫干静)。

  1. 整数型、字符型、浮点型变量初始化
    对整数型、字符型、浮点型变量来说,初始化就是给它们赋0值。可以在定义的时候立即初始化。也可以先定义,然后再初始化。
  2. 字符串变量的初始化
    对字符串变量来说,初始化就是把内容清空,本质上也是赋0值。

char name[21]; // 定义一个可以存放20字符的字符串
memset(name,0,sizeof(name)); // 清空字符串name中的内容
注意了,字符串变量的初始化与其它类型不同,要用memset函数。

5、变量的赋值

把常量的值赋给变量:

ii=10; // 整数型变量赋值10
cc='A'; // 字符型变量赋值'A'
money=1500.87; // 浮点型变量赋值1500.87
strcpy(name,"西施"); // 对字符串变量赋值"西施"
把变量的值赋给变量:

int ii1=ii; // 定义变量ii1并把ii的值赋给它
char cc1=cc; // 定义变量cc1并把cc的值赋给它
double money1=money; // 定义变量money1并把money的值赋给它
char name1[21]; // 定义字符串变量name1
strcpy(name1,name); // 把name的值赋给name1
注意了,字符串变量的赋值与其它类型不同,不能用=号,要用strcpy函数。
输出字符类型对应:
在这里插入图片描述
如果在变量声明时加 const 约束,则不能再赋值。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值