常量和变量
在C语言中,常量和变量都是可以用来存储和表示数据的,常量值在程序执行的过程中是不可变的,而变量是可变的
-
常量的概念
常量是不可变的量,C语言中数值可以用常量表示,常量可以表示各种数据类型的值
-
变量的概念
变量和常量是相对的,变量在程序执行过程中是可变的量,由变量名和变量值组成,变量名是一个标识,变量值是一个数据值,程序为每个变量开辟了存储空间,变量值就存储在这个空间当中,可以通过变量名访问这个空间。
-
初始化和赋值的概念和异同
变量需要声明并定义才可以使用,并且在
声明和定义
之后可进行对此赋值,其中第一次赋值,成为初始化。赋值是指为变量设定一个数值的过程。在声明变量的同时为其赋值的做法,称为初始化 -
变量定义完成的两个功能
1,声明变量 2,为变量分配存储空间
第一个功能是为编译期服务的。第二个功能是在运行期完成的
C语言中基本数据类型
常用数据类型的输出例子:
# include<stdio.h>
void main() {
int a;
float f;
char c;
double d;
a = 1;
f = 3.14;
c = 'a';
d = 3.141516171819;
printf("a = %d,f = %f,c = %c,d = %lf\n",a,f,c,d);
}
运行结果:a = 1,f = 3.140000,c = a,d = 3.141516
define 和 const 的使用
# include<stdio.h>
# define PI 3.14
void main() {
const float pi = 3.14159;
printf("%f\n",pi);
printf("%f\n",PI);
}
运行结果:
3.141590
3.140000
C语言中的符号
32 个关键字及含义
关键字 | 含义 |
---|---|
auto | 声明自动变量 一般不使用 |
double | 声明双精度变量或函数 |
int | 声明整型变量或函数 |
struct | 声明结构体变量或函数 |
break | 跳出当前循环 |
else | 条件语句否定分支(与 if 连用) |
long | 声明长整型变量或函数 |
switch | 用于开关语句 |
case | 开关语句分支 |
enum | 声明枚举类型 |
register | 声明积存器变量 |
typedef | 用以给数据类型取别名(当然还有其他作用) |
char | 声明字符型变量或函数 |
extern | 声明变量是在其他文件正声明(也可以看做是引用变量) |
return | 子程序返回语句(可以带参数,也看不带参数) |
union | 声明联合数据类型 |
const | 声明只读变量 |
float | 声明浮点型变量或函数 |
short | 声明短整型变量或函数 |
unsigned | 声明无符号类型变量或函数 |
continue | 结束当前循环,开始下一轮循环 |
for | 一种循环语句(可意会不可言传) |
signed | 生命有符号类型变量或函数 |
void | 声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) |
default | 开关语句中的“其他”分支 |
goto | 无条件跳转语句 |
sizeof | 计算数据类型长度 |
volatile | 说明变量在程序执行中可被隐含地改变 |
do | 循环语句的循环体 |
while | 循环语句的循环条件 |
static | 声明静态变量 |
if | 条件语句 |
unsigned int 和 int
# include<stdio.h>
void main() {
unsigned int a = 6;
int b = -20;
(a + b > 6) ? puts("> 6") : puts(" <= 6");
}
运行结果:
> 6
解释:
不管如何,这无符号整型问题的答案是输出是 ">6"。原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型
。因此-20变成了一个非常大的正整数,所以该表达式 计算出的结果大于6。这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。
-
unsigned int 和 int 的区别
unsigned 是无符号数.int是有符号数.二者占空间大小相同, 区别是最高位,int表示符号位,而unsigned表示数据位.所以 int可以表示负数,而unsigned不能. 当unsigned可以表示的正数范围比int大一倍.
getchar 和 putchar
# include <stdio.h>
void main() {
char a, b, c;
// 从键盘输入字符
a = getchar();
b = getchar();
c = getchar();
// 控制台输出字符
putchar(a);
putchar(b);
putchar(c);
printf("\n");
}
运行结果:
abc
abc