数据:
数据类型:
// 数据类型
char //字符数据类型
short //短整型
int //整型
long //长整型
long long //更长的整型
float //单精度浮点型
double //双精度浮点型
每种数据的大小:
//每种数据的大小
printf("%d", sizeof(char)) //1个字节
printf("%d", sizeof(short)) //2个字节
printf("%d", sizeof(int)) //4个字节
printf("%d", sizeof(long)) //4个字节
printf("%d", sizeof(long long)) //8个字节
printf("%d", sizeof(float)) //4个字节
printf("%d", sizeof(double)) //8个字节
变量和常量:
变量:
全局变量和局部变量:
#include<stdio.h>
int global = 2019; //全局变量
int main()
{
int local = 2018; //局部变量
int global = 2020; //同名局部变量
printf("%d", global); //显示2020
return 0;
}
当全局变量和局部变量同名的时候,优先使用局部变量
变量的作用域和生命周期:
作用域:程序设计概念,通常来说,一段程序代码中所用到的名字并不总是可用有效的
而限定这个名字可用性的代码范围就是这个名字的作用域
局部变量的作用域:变量所在的局部范围
全局变量的作用域:整个工程
常量:
字面常量:
const修饰的常变量:
#define定义的标识符常量:
枚举常量:
int main()
{
3.14; //字面常量
1000; //字面常量
const float pai = 3.14f; //const修饰的常变量
pai = 3.15f; //const修饰的常变量不能被修改,报错
#define MAX 100; //define定义的标识符常量
return 0;
}
字符串:
字符串概念:由双引号引起来的一段字符
字符串结束标志:一个\0的转义字符,当计算字符串长度的时候\0作为结束标志,不算做字符串内容
int main() {
char arr_1[] = "bit";
char arr_2[] = { 'b', 'i', 't' };
char arr_3[] = { 'b', 'i', 't', '\0'};
printf("%s\n", arr_1);
printf("%s\n", arr_2);
printf("%s\n", arr_3);
return 0;
}
输出结果为:
转义字符:
常见转义字符:
在屏幕上打印一个目录: c:\code\test.c
int main() {
printf("c:\code\test.c\n");
return 0;
}
输出结果为:c:code est.c
调整为:
int main() {
//printf("c:\code\test.c\n");
printf("c:\\code\\test.c\n");
return 0;
}
输出结果为:c:\code\test.c
在屏幕上对应单引号,双引号:
int main() {
printf("%s\n", "\'");
printf("%s\n", "\"");
return 0;
}
表示八进制和十六进制数:
int main() {
printf("%s\n", "\103"); //八进制数103变为十进制数67所对应的ascll码
printf("%s\n", "\104"); //八进制数104变为十进制数68所对应的ascll码
printf("%s\n", "\x43"); //十六进制43变为十进制数67所对应的ascll码
printf("%s\n", "\x44"); //十六进制44变为十进制数68所对应的ascll码
return 0;
}
计算字符串长度:
计算c:\test\328\test.c的长度:
int main() {
printf("%d\n", strlen("c:\test\328\test.c"));
return 0;
}
长度为14,其中\t和\32被解析成两个转义字符