C语言基本语法————基本数据类型、变量与常量
一、基本数据类型
在C语言这门严谨的语言中,所有的数都不能像数学中一样直接写,为了节省计算机的储存空间和优化计算,将数据分为一下几种类型;
1、整型
(1)、有符号整型
有符号整型的数据类型通常包括 int、short、long、long long 四种,(同样都是整数,将其划分为不同的大小长度是为了更好的节省空间)因为是有符号类型,所以前面要加上 signed ,但是通常省略,也就是说在代码中直接打出 int 类型就代表是有符号类型的。
名称 | 字节大小(字节) | 范围 |
---|---|---|
short | 2 | -32,768 到 32,767 |
int | 4 | -2,147,483,648 到 2,147,483,647 |
long | 4 或 8 | -2,147,483,648 到 2,147,483,647 (32位系统)<br>-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (64位系统) |
long long | 8 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
其实除了Int外的三个数据类型,前面都还有个int ,但是为了书写方便也会省略
(2)、无符号整型
无符号数用 unsigned 表示 ,只表示数据量,而没有方向(没有正负,且无符号数最高位不是符号位,而就是数的一部分),无符号数不可能是负数。
名称 | 字节大小(字节) | 范围 |
---|---|---|
unsigned short | 2 | 0 到 65,535 |
unsigned int | 4 | 0 到 4,294,967,295 |
unsigned long | 4 或 8 | 0 到 4,294,967,295 (32位系统)<br>0 到 18,446,744,073,709,551,615 (64位系统) |
unsigned long long | 8 | 0 到 18,446,744,073,709,551,615 |
2、字符型
字符型就是单个字符(只占一个字节),声明字符型变量的时候字符要用单引号引起来;
char c = 'a'; //声明一个字符类型的变量
3、浮点型
和整型一样,为了节省内存,将浮点型(小数),也分为了两种 单精度浮点型和双精度浮点型
名称 | 字节大小(字节) | 范围 | 精度(有效数字) |
---|---|---|---|
float | 4 | ±1.175494351 × 10<sup>-38</sup> 到 ±3.402823466 × 10<sup>38</sup> | 6-7位 |
double | 8 | ±2.2250738585072014 × 10<sup>-308</sup> 到 ±1.7976931348623157 × 10<sup>308</sup> | 15-16位 |
二、变量与常量
1、变量
1、变量的声明
声明变量相当于实在计算机内存中分配了一块内存,计算机会根据你声明的数据类型的不同给予不同大小的内存地址;(注意:此时仅仅只是有了内存,但是变量并没有数值)
变量声明的格式 (在C语言中;代表着语句的结束,声明变量后要加分号“ ; ” 就像语文写完一句话加句号是一个道理)
//数据类型 变量名
int a; //声明一个整型变量
double b; //声明一个浮点型变量
变量名的命名规则(以下条件必须同时成立):
1、数字、字母、下划线、$组成
2、不能以数字开头
3、不能Java的关键字和保留字(有特殊含义)
如:int、double、class等是关键字
const、goto是保留字
4、区分大小写
如:A和a是不同的变量
INT不是关键字可以做变量名
不正确:123a,long,45-er,er-56
正确的:a123,Long,_45,er_56,$12
2、变量的初始化
初始化就是将数值放入计算机分配的内存中
int a = 3; //初始化变量
double b = 3.14;
3、变量的作用域
(1) 局部变量
举个例子,数学试卷中应用题第一提有一个变量x = 100,它的有效范围就是这一题,到了第二题就不适用了,C语言中的变量也有它的有效范围(变量的有效范围就是所在的最近的大括号里)。
(2)全局变量
全局变量是定义在函数外部,通常是在程序的顶部。全局变量在整个程序生命周期内都是有效的,在任意的函数内部能访问全局变量。
全局变量可以被任何函数访问。也就是说,全局变量在声明后整个程序中都是可用的。
#include <stdio.h>
/* 全局变量声明 */
int g;
int main ()
{
/* 局部变量声明 */
int a, b;
/* 初始化 */
a = 10;
b = 20;
g = a + b;
return 0;
}
2、常量
变量可以通过初始化给定数值,也可以使用“=”进行赋值,是看可以改变的值,常量是给定值后,值不会变化
1) 使用 #define 预处理器
#define 常量名 常量值
代码案例:
#include <stdio.h>
#define PI 3.14 //定义常量 PI 常量值 3.14
int main() {
//PI = 3.1415 可以吗? 不可以修改,因为 PI 是常量
//PI = 3.1415; //提示 = 左值 必须是可修改的值
double area;
double r = 1.2;//半径
area = PI * r * r;
printf("面积 : %.2f", area);
getchar();
return 0;
}
2) 使用 const 关键字
const 数据类型 常量名 = 常量值; //即就是一个语句
#include <stdio.h>
//说明
//1. const 是一个关键字,规定好,表示后面定义了一个常量
//2. PI 是常量名,即是一个常量,常量值就是 3.14
//3. PI 因为是常量,因此不可以修改
//4. const 定义常量时,需要加 分号
const double PI = 3.14;
int main() {
//PI = 3.1415 可以吗? => 不可以
double area;
double r = 1.2;
area = PI * r * r;
printf("面积 : %.2f", area);
getchar();
return 0;
}