一、数据类型
C语言中的关键字:
二、常量
常量是指:
在程序运行过程中,其值不发生变化的量。常量又可以分为整型、实型(也称浮点型)、字符型和字符串型。
三、变量
变量代表内存中具有特定属性的一个存储单元,它用来存放数据,即变量的值。这些值在程序执行过程中是可以改变的。
变量名实际上以一个名字代表一个对应的存储单元地址,编译、链接程序时,由编译系统为每个变量名分配对应的内存地址(就是空间)。从变量中取值实际上是通过变量名找到内存中存储单元的地址,并从该存储单元中读取数据,如上图所示。
变量的命名规定如下:
c语言规定标识符只能由字母、数字和下划线三种字符组成,并且第一个字符必须为字母或下划线例如,
sum,_total,month,Student—name,lotus一1一2一3,BASIC,li_ling
是正确的;而
M.D.JOhn,¥123,3D64,a>b
是错误的。
编译系统认为大写字母和小写字母是不同的字符,因此c语言要求对所有用到的变量改强
制定义,即“先定义,后使用"。·同时在选择变量名和其他标识符时,应尽量做到“见名知意”
即选择具有含义的英文单词(或其缩与)作为标识符.注意,变量名不能与关键字同名!
四、整型数据
4.1符号常量
#include <stdio.h>
#define PI 3+5
int main() {
int i=PI*2;
printf("i=%d\n",i);
}
最终输出结果是13,因为符号常量PI是直接替换的效果。因此不能做计算写成PI=8
4.2整型变量
int i
变量 i 是4个字节。
五、浮点型数据
5.1浮点型常量
小数形式 | 0.123 |
---|---|
指数形式 | 3e-3(为3* 1 0 − 3 10^-3 10−3),即0.003 |
注意:
字母E、e的前面必须有数字,且e后面的指数必须为整数。
正确示范:
le3、1.8e-3、-123e-6、-.1e-3
错误示范:
e3、2.1e3.5、.e3、e
5.2浮点型变量
通过float来定义,f占用4个字节的空间。
六、字符型数据
6.1字符型常量
用单括号引起来的一个字符就是字符型常量,且只能包含一个字符!
例如:
正确的:
‘a’、‘A’、'1'、‘ ’
错误的:
'abd' 、"a"、" "
下表给出了各种转义字符以及其作用:
转义字符 | 作 用 |
---|---|
\n | 换行 |
\b | 退格 |
\ | 反斜杠 |
6.2字符数据在内存中的存储形式以及其使用方法
用char关键字定义,一个字符型变量占用1字节空间
一个字符常量存放到一个字符型变量中时,实际上并不是把该字符的字型存放到内存中,而是把该字符的ASCII码值存放到存储单元中,每个字符的ASCII码详见附录A
如上图,字符串数据和整型数据之间就可以通用。
所以,字符型数据既可以输出字符形式,也可以输出整数形式。
#include <stdio.h>
int main(){
char c='A';
printf("%c\n",c+32);
printf("%d\n",c);
}
使用%c 打印输出字符
使用%d打印输出整数
查表得,小写字母和大写字母相差32,因此a(97)减去32就可以得到A(65)
七、字符串型变量
字符串型常量是由一对双引号括起来的字符序列·
例如,
合法的字符串型常量:
“HOW do you do”、“CHINA”、"a"和"$123.45"
我们可以用==printf(“How do you do”)==输出一个字符串。
但要注意:
'a'是字符型常量,而"a"是字符串型常量,二者是不同的,
例如,
如果先用语句char定义字符型变量c,后令c=“a”。或c=“CHINA”,
那么这样的赋值都是非法的,原因是
:不可以将字符串型常量赋值给字符型变量
C语言中没有定义字符串型变量的关键字,介绍字符数组时我们将详细讲解如何存放字符串.
C语言规定,在每个字符串型常量的结尾加一个字符串结束标志,以便系统据此判断字符串是否结束,c语言规定以字符’\0’作为字符串结束标志。
例如,
字符型常量“CHINA”,在内存中的存储结果如下图所示,它占用的内存单元不是5个字
符,而是6个字符,即大小为6字节,最后一个字符为’\0’
然而,在输出时不输出’\0’因为’\0’无法显示.