提瓦特大学——C语言(辅助于学习数据结构)——Part1

一、数据类型、运算符和表达式

学习目标:

  • 数据类型
  • 常量与变量的差异
  • 整型、浮点型、字符型的原理及应用
  • 运算符与表达式

1.1 数据类型

C语言中有部分关键字,变量不能与关键字重名(具体名字参考百度)

1.2 常量

常量:程序运行过程中,其值不发生变化的量,常量分为:整型、实型(浮点型)、字符型、字符串型

整型常量、实型常量、字符型常量是在编译时可以直接编入代码短的常量;

字符型常量:存放在字符型常量区中的常量:"你好"、ASCII码和文字都是字符串常量

1.3 变量

变量:具有特定属性的一个存储单元,它用来存放数据(变量的值),这些值在程序执行过程中可以改变

变量名——实际上以一个名字对应一个存储单元地址

编译、链接程序时,由编译系统为每个变量名分配对应的内存单元,从变量中取值实际上就是通过变量名找到内存中存储单元的地址,并从该单元中读取数据

变量的命名规定:C中:字母、数字和下划线(且第一个字符必须为字母或下划线)

编译系统认为大写字母和小写字母是不同的字符,C语言要求对所有用到的变量做强制定义,先定义、后使用,最好见名知意

PS:变量名不能与关键字同名!

PS:变量名不能与关键字同名!!

PS:变量名不能与关键字同名!!!(重要的事说三遍)

 1.4 整型数据

1.4.1 符号常量

定义一个整型变量时要使用关键字 int

整型变量i有自己的内存空间,因此既可以存储整型常量123,又可以存储Pi*2(3*2);

#include<stdio.h>
#include<stdlib.h>

#define Pi 3 //Pi 是常量
int main()
{
    int i = 123;//i是变量,123是整型常量,将常量123赋值给变量i
    i = Pi*2;
    //Pi=2; 常量不可修改
    printf("Pi=%d\n",Pi);
    printf("i=%d\n",i);
    system("pause");
    return 0;
}

有define定义的Pi为什么是常量呢?可以通过改变编译设置来了解什么是预处理(右键单击对应的项目,选择“属性”,将“预处理到文件”设置为“是”)

设置完毕后,重新编译会编译失败,因为开启了预编译后只进行预处理,而不再进行其他编译动作,右键单击项目,选择在文件资源管理器中打开文件夹,在窗口中打开Debug文件夹

找到main.i文件,使用Notepad++打开,并直接滚到结尾,可以发现define已经不存在,因为预处理会消除所有define,同时用define将Pi定义为3,编译器在预处理后会把代码中出现的所有常量Pi替换为3,所以Pi是常量,不可修改(此作用可应用于在程序中多次用到某个常量,可以使用define定义来简化操作)

1.4.2 整型常量的不同进制表示

进制表示不单独说了,详细可以看跳转这一篇文章:进制表示——C语言

1.4.3 整型变量

int i,变量i是4个字节

1.5 浮点型数据

1.5.1 浮点型常量

表示浮点型常量的形式有两种:

小数形式0.123
指数形式3e-3(3 x 10^-3 = 0.003)

 PS: 字母e或(E)之前必须有数字,且e后面的指数必须为整数

1.5.2 浮点型变量

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

1.6 字符型数据

1.6.1 字符型常量

用单引号括起来的一个字符是字符型常量,且只包含一个字符!

例如:'a'、'A'、'T'、' '是正确的字符型常量,而'123' 、"a"、" "是错误的

其中包含特殊转义字符,以"\"开头的特殊字符成为转义字符,转义字符用来表示回车、退格等功能

转义字符作用
\n换行
\b退格
\\反斜杠

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

字符型变量使用关键字char定义,一个字符型变量占用1字节空间

一个字符型常量存放到一个字符型常量中,实际上并不是把该字符的字型放到内存中,而是把该字符的ASCII码值放到存储单元中。

#include<stdio.h>
#include<stdlib.h>

int main()
{
	char c, d;
	c = 97;
	d = 'a';
	printf("c=%c,d=%c\n", c,d);
	printf("c=%d,d=%d\n", c, d);
	c = c - 32;
	printf("c=%c\n", c);
	system("pause");
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值