【C语言基础考研向】02 数据类型-常量-变量

文章目录:
一.数据类型
二.常量
三.变量
四. 整型数据
五.浮点型数据
六.字符型数据
七.字符串常量


一.数据类型

数据类型分为四大类:

  • 基本类型
    • 整型
    • 浮点
    • 字符型
  • 构造类型
    • 数组
    • 结构体
  • 指针类型
  • 空类型

二.常量

常量是指在程序运行过程中,其值不发生变化的量。常量又可分为整型、实型(也称浮点型)、字符型和字符串型。

整型常量、实型常量、字符型常量是在编译时可以直接编入代码段的常量;例如,在字符串"你好"中,双引号中间的汉字就是字符串型常量,无论双引号中间的内容是ASCII码字符,还是汉字或其他国家的文字等,都是字符串型常量(考研不会考汉字的字符串常量,无需掌握)。


三.变量

变量代表内存中具有特定属性的一个存储单元,世用来存放数据,即变量的值。这些值在程序的执行过程中是可以改变的。
变量名实际上以一个名字代表一个对应的存储单元地址。编译、链接程序时,由编译系统为每个变量名分配对应的内存地址(就是空间)。从变量中取值实际上是通过变量名找到内存中存储单元的地址,并从该存储单元中读取数据。

变量的命名规定如下:C语言规定标识符只能由字母、数字和下划线三种字符组成,并且第一个字符必须为字母或下画线。例如,

sum,_total,Student_name

在这里插入图片描述

编译系统认为大写字母和小写字母是不同的字符,因此C语言要求对所有用到的变量做强制定义,即“先定义,后使用”。同时在选择变量名和其他标识符时,应尽量做到“见名知意”,即选择具有含义的英文单词(或其缩写)作为标识符。注意,变量名不能与关键字同名!


四. 整型数据

4.1 符号常量

define + 关键字+

来看一个实际的例子:

#include <stdio.h>
#define PI 3+2
int main() {
    int i=PI*2;
    printf("i=%d\n",i);
    return 0;
}

注意输出是7,而不是10

4.2 整型变量

int i ;
i=10;
printf("%d",sizeof(i));

五.浮点型数据

5.1 浮点型常量

表示浮点型常量的形式有两种,如下表所示,其中e代表10的幂次,幂次可正可负。
在这里插入图片描述
注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数。
正确示例:le3、1.8e-3、-123e-6、-.le-3。
错误示例:e3、2.le3.5、.e3、e。

5.2 浮点型变量

通过float f来定义浮点变量,f占用4个字节的空间


六.字符型数据

6.1 字符型常量

用单引号括起来的一个字符是字符型常量,且只能包含一个字符!例如,‘a’、‘A’、‘1’、’ ‘是正确的字符型常量,而’abc’、“a”、""是错误的字符型常量。下表中给出了各种转义字符及其作用。以“\”开头的特殊字符称为转义字符,转义字符用来表示回车、退格等功能键。
在这里插入图片描述

6.2 字符数据在内存中的存储形式及其使用方法

字符型变量使用关键字char进行定义,一个字符型变量占用1字节大小的空间。一个字符常量存放到一个字符型变量中时,实际上并不是把该字符的字型放到内存中,而是把该字符的ASCII 码值放到存储单元中。打印字符型变量时,如果以字符形式打印,那么计算机会到ASCI码表中查找字符型变量的ASCII码值,查到对应的字符后会显示对应的字符,如下图所示。

在这里插入图片描述

这样,字符型数据和整型数据之间就可以通用。字符型数据既可以以字符形式输出,又可以以整数形式输出,还可以通过运算获取想要的各种字符,请看下面例子。

#include<stdio.h>
int main()
{
	char c='A';
	printf("%c\n",c+32);
	printf("%d\n",c);
}

对于字符型变量,无论是赋ASCII码值还是赋字符,使用%c打印输出时得到的都是字符,使用%d打印输出时得到的都是ASCII码值.将小写字母转换为大写字母时,由课件最后的ASCI码表发现小写字母与大写字母的差值为32,因此将c减去32就可以得到大写字母A,


七.字符串常量

字符串型常量是由一对双引号括起来的字符序列。例如,“How do you do.”、“CHINA”、“a"和”$123.45"是合法的字符串型常量,我们可用语句printf (“How do you do.”)输出一个字符串。但要注意的是,‘a’是字符型常量,而"a"是字符串型常量,二者是不同的。
例如,如果先用语句char c定义字符型变量c,后令 c="a"或c="CHINA ,那么这样的赋值都是非法的,原因是不可以将字符串型常量赋值给字符型变量。C语言中没有定义字符串型变量的关键字,介绍字符数组时我们将详细讲解如何存放字符串。
C语言规定,在每个字符串型常量的结尾加一个字符串结束标志,以便系统据此判断字符串是否结束。C语言规定以字符’\0’作为字符串结束标志。
例如,字符串型常量"CHINA"在内存中的存储结果如下图所示,它占用的内存单元不是5个字符,而是6个字符,即大小为6字节,最后一个字符为’\O’。然而,在输出时不输出’\0’,因为’\0’无法显示。
在这里插入图片描述

  • 30
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐要考研

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值