C语言中基本数据类型、变量和常量的使用

前言
一、人物简介第一位闪亮登场,有请今后会一直教我们c语言的老师 —— 自在。第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。二、基本数据类型1、整型c语言中的整型数据如下表所示:
数据类型含义长度(字节)取值范围(有符号)取值范围(无符号)
short 短整型 2 [ - , -1 ] [ 0 , -1 ]
int 整型 4 [ - , -1 ] [ 0 , -1 ]
long 长整型 4或8
long long 长长整型 8 [ - , -1 ] [ 0 , -1 ]
整型数据可以是有符号的,也可以是无符号的。有符号的整型可以表示负数和正数,而无符号的整型只能表示非负整数。2、浮点型浮点型用于表示实数,它分为单精度浮点型(float)和双精度浮点型(double)。单精度浮点型占用4个字节,双精度浮点型占用8个字节。它们的取值范围和精度如下表所示:
数据类型长度(字节)取值范围精度
float 4 1.2e-38 ~ 3.4e38 约6位小数
double 8 2.2e-308 ~ 1.8e308(15位有效数字) 约15位小数
浮点型数据在计算机内部以二进制形式存储,因此可能会存在精度问题。在进行浮点型数据的比较时,应该使用适当的误差范围进行比较。
3、字符型字符型用于表示单个字符,它占用1个字节。
数据类型含义长度(字节)取值范围(有符号)取值范围(无符号)
char 字符型 1 [ - , -1 ] [ 0 ,-1 ]
字符型数据可以作为单个字符使用,也可以作为整型数据使用,表示该字符在ascii码表中的对应数值。
4、布尔型布尔型(bool)用于表示真假值,它只有两个取值:true和false。
在c语言中,布尔型数据被定义为一个整型数据类型,0表示false,非0表示true。
三、变量1、变量的定义和声明在c语言中,变量必须先被定义或声明才能使用。定义一个变量意味着为它分配内存,声明一个变量意味着告诉编译器这个变量的类型和名称。
变量的定义格式如下:type variable_name;其中,type是变量的数据类型,variable_name是变量的名称。例如:
int apple;short i = 5;float voltage;变量的声明有两种情况:一种是需要建立存储空间的。例如:int apple 在声明的时候就已经建立了存储空间。
另一种是不需要建立存储空间的,通过使用extern关键字声明变量名而不定义它。例如:extern int apple, 其中变量 apple 可以在别的文件中定义。
extern int apple; //声明,不是定义int students; //声明,也是定义一般来讲,除非有extern关键字,否则都是变量的定义
2、变量类型在c语言中,变量的类型指的是变量所存储的数据类型。我们前面介绍的基本数据类型,都可以作为变量的类型。
int:整型,用于存储整数。long: 长整型,用于存储更大的整数。float:单精度浮点型,用于存储浮点数。double:双精度浮点型,用于存储更大的浮点数。char:字符型,用于存储字符。bool:布尔型,用于存储布尔值。c语言还提供了一些复合数据类型,如结构体、联合体和枚举等,这些符合数据类型,我们在以后的文章中再介绍。
3、变量命名规则变量名可以由字母、数字和下划线组成,但必须以字母或下划线开头。变量名不能使用关键字作为名称,变量名的长度没有限制,但建议使用有意义的名称。正确的变量命名
int _gcount = 1;int m_age = 18;long time2 = 20;错误的变量命名
int 1round = 0; //不能以数字开头int case = 1; //不能以关键字作为变量名int %age = 16; //不能用标点符号int name age = 18; //不能用空格4、变量的初始化和赋值在c语言中,可以使用赋值运算符(=)将一个值赋给一个变量。例如,下面的代码将值20赋给变量num:
int num;num = 20;变量的初始化是指在声明变量时将其赋初值。例如,下面的代码声明并初始化了一个名为num的整数变量:
int num = 10;5、变量作用域在c语言中,变量的作用域指的是变量在程序中可见的范围。变量可以在函数内部或外部定义。
在函数内部定义的变量称为局部变量,只在该函数中可见。#include void print_local_num() { int local_num = 20; // 局部变量 printf(local_num = %dn, local_num); } int main() { print_local_num(); // 输出 local_num = 20 return 0; }在函数外部定义的变量称为全局变量,可以在整个程序中使用。#include int global_num = 10; // 全局变量void print_global_num() { printf(global_num = %dn, global_num);}int main() { print_global_num(); // 输出 global_num = 10 return 0;}6、变量存储类型在c语言中,变量的存储类型指的是变量所存储的位置。c语言中的存储类型包括自动、静态、寄存器和外部等。
自动变量:自动变量在函数内部声明,在函数执行时被创建,在函数结束时被销毁。静态变量:静态变量在函数内部或函数外部声明,它们在程序开始执行时被创建,在程序结束时被销毁。寄存器变量:寄存器变量是指被存储在cpu寄存器中的变量,它们通常用于在计算密集型的代码中提高性能。外部变量:外部变量是在程序文件外部声明的全局变量,可以被程序的所有文件访问。自动变量的默认存储类别为auto。例如,下面的代码定义了一个自动变量num:
#include void print_num() { auto int num = 30; printf(num = %dn, num);}int main() { print_num(); // 输出 num = 30 return 0;}静态变量默认存储类别为static,在程序执行期间始终存在,它的值在函数调用之间保持不变。例如,下面的代码定义了一个静态变量static_num:
#include void print_static_num() { static int static_num = 40; printf(static_num = %dn, static_num); static_num++;}int main() { print_static_num(); // 输出 static_num = 40 print_static_num(); // 输出 static_num = 41 print_static_num(); // 输出 static_num = 42 return 0;}寄存器变量的默认存储类别为register。例如,下面的代码定义了一个寄存器变量reg_num:
#include void print_reg_num() { register int reg_num = 50; printf(reg_num = %dn, reg_num);}int main() { print_reg_num(); // 输出 reg_num = 50 return 0;}外部变量的默认存储类别为extern。例如,下面的代码定义了一个外部变量extern_num,并在另一个文件中访问它:
// other_file.cint extern_num = 60;// main.c#include extern int extern_num;void print_extern_num() { printf(extern_num = %dn, extern_num);}int main() { print_extern_num(); // 输出 extern_num = 60 return 0;}四、常量在c语言中,常量可以是整数、浮点数、字符或字符串。
1、 整数常量整数常量是指不带小数部分的数字。在c语言中,整数常量可以用十六进制、八进制或十进制表示。下表列出了不同进制下整数常量的表示方法:
进制格式示例
十进制 直接写数字 10, 20, 30
八进制 以0开头 012, 034, 076
十六进制 以0x或0x开头 0x10, 0x1e, 0xff
例如,下面的代码定义了三个整数常量:
#include int main() { int decimal_num = 10; int octal_num = 012; int hex_num = 0xff; printf(decimal_num = %d, octal_num = %d, hex_num = %dn, decimal_num, octal_num, hex_num); return 0;}输出结果为:decimal_num = 10, octal_num = 10, hex_num = 255。
2、 浮点数常量浮点数常量是指带有小数部分的数字。在c语言中,浮点数常量可以用小数点表示,也可以用科学计数法表示。例如,下面的代码定义了两个浮点数常量:
#include int main() { float float_num = 1.23; double double_num = 1.23e-5; printf(float_num = %f, double_num = %fn, float_num, double_num); return 0;}输出结果为:float_num = 1.230000, double_num = 0.000012。
3、 字符常量字符常量是指用单引号括起来的单个字符。例如,下面的代码定义了两个字符常量:
#include int main() { char char_a = 'a'; char char_b = 'b'; printf(char_a = %c, char_b = %cn, char_a, char_b); return 0;}4、 字符串常量字符串常量是指用双引号括起来的多个字符。在c语言中,字符串常量实际上是一个字符数组,以空字符('�')结尾。例如,下面的代码定义了一个字符串常量:
#include int main() { char str[] = hello, world!; printf(%sn, str); return 0;}输出结果为:hello, world!。
小结通过这篇文章,我们已经学会了c语言中基本的数据类型、变量和常量的使用。继续加油,你会成为c语言大佬的!

如何为太阳能系统建立雨天旁路
在美国完成整合,IDT自2020年1月起,正式作为瑞萨电子美国开始运营
基于AN2131QC控制芯片实现USB接口电路监测系统的设计
通信网络三层转发工作原理及案例
RT9194应用电路
C语言中基本数据类型、变量和常量的使用
华为将提供0.35微米到14纳米不同技术节点的晶圆代工与技术服务
电路原理—电路定律和运放
蓝牙调光器如何使用,具体使用步骤的介绍
HDMI接口的PCB布局布线要求
基本的仪表故障判断与维护
数字视频稳定调查:概念、方法和挑战
华为P10、OPPO Find9被同一个猪队友出卖
为什么不同示波器的纹波噪声测量结果总是不同
什么是BGA 应用于哪些领域 BGA详解
10.4.3 纳米压印(NIL)∈《集成电路产业全书》
iphone8最新消息,iphone8什么时候上市?iphone7s和8齐发?能支持wifi充电!起飞!
如何通过鸿蒙OS看未来生活
华为mate10上市时间确定:华为放狠话,华为mate10配置高,有货价格又低无惧iPhoneX和小米Mix2
江苏润石新增16颗车规级芯片