一、C语言的关键字之基本数据类型
目录
前言
今天开始我们将一起学习C语言的关键字
一、C语言有哪些关键字
1、数据类型关键字(12个):
(1) char :声明字符型变量或函数
(2) double :声明双精度变量或函数
(3) enum :声明枚举类型
(4) float:声明浮点型变量或函数
(5) int: 声明整型变量或函数
(6) long :声明长整型变量或函数
(7) short :声明短整型变量或函数
(8) signed:声明有符号类型变量或函数
(9) struct:声明结构体变量或函数
(10) union:声明共用体(联合)数据类型
(11) unsigned:声明无符号类型变量或函数
(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
2、控制语句关键字(12个):
A循环语句
(1) for:一种循环语句(可意会不可言传)
(2) do :循环语句的循环体
(3) while :循环语句的循环条件
(4) break:跳出当前循环
(5) continue:结束当前循环,开始下一轮循环
B条件语句
(1)if: 条件语句
(2)else :条件语句否定分支(与 if 连用)
(3)goto:无条件跳转语句
C开关语句
(1)switch :用于开关语句
(2)case:开关语句分支
(3)default:开关语句中的“其他”分支
D返回语句
return :子程序返回语句(可以带参数,也看不带参数)
3、存储类型关键字(4个):
(1)auto :声明自动变量 一般不使用
(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)
(3)register:声明积存器变量
(4)static :声明静态变量
4、其它关键字(4个):
(1)const :声明只读变量
(2)sizeof:计算数据类型长度
(3)typedef:用以给数据类型取别名(当然还有其他作用
(4)volatile:说明变量在程序执行中可被隐含地改变
二、常用关键字使用
以下内容均在x86(32位)环境下讨论
C语言对于其他语言来说有着许多方便的关键字,可以直接操作底层,不管是变量的声明,还是函
数的声明,关键字都是必不可少的。
今天我们就首先来学习一下数据存储类型的关键字:
C语言的数据类型有:基本类型、空类型、构造类型和指针类型。其中构造类型中包括共用体、数组、结构体三种类型。基本类型中还包括整型、浮点型、字符型和枚举型四种类型。
可以参照下图:
首先我们先学习基本数据类型:
一、字符型char:
字符型在计算机中占用一个字节,取值范围在-128~127之间,具体的数值是怎么来的,将会在数据结构篇进行讲解,数组以及指针命名方法以及相关知识会在相应章节讲解,目前初学只做了解,字符型变量定义方式为:
char num ;//字符型变量定义
二、数值类型:
1.整型家族:int、short、long
他们三个的区别就是取值范围是不一样的
其中short(int)类型他占2个字节取值范围是 -32768~32767。
int类型占4个字节,他的取值范围是-2147483648 ~ 214748364。
long(int)类型占4个字节,他的取值范围是-2147483648 ~ 214748364。
整型变量定义方式为:
short num1;//短整型
int num2;//整型
long num3;//长整型
2.浮点型家族:double、float
1、变量类型不同
float属于单精度型浮点数据。
double属于双精度型浮点数据。
2、指数范围不同
float的指数范围为-127~128。
double而double的指数范围为-1023~1024
3、表达式指数位不同
float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)
double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)
4、占用内存空间不同
float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38。
double占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。
5、有效位数不同
float只能提供七位有效数字。
double可提供16位有效数字。
float和double与整形家族在计算机内存中的存放方式有很大的区别,在数据结构篇会重点讲解,目前还是只做了解。
浮点型变量定义方式为:
double num1;//双精度变量
float num2;//单精度变量
总结
至此我们已经初步认识了全部的基本数据类型,可以在C工程中通过以下代码体会不同数据类型的不同之处
#include "stdio.h"
int mian(){
int num = 1;//可以调整变量类型,如char num = "A";float num = 3.14;
printf("%d \n",num);// \n为转义字符 相当于换行;
printf("%s \n",num);
printf("%f \n",num);
}