目录
计算机中的单位
byte - 字节 = 8bit
kb - 1024byte
mb - 1024kb
gb - 1024mb
tb - 1024gb
pb - 1024tb
计算机中识别二进制
1 8进制:0-7 0 10进制:0-9
sizeof
- 关键字 - 操作符 - 计算类型或者变量所占空间的大小
- c语言标准:sizeof(long) > sizeof(int)
- sizof的单位是 字节byte
printf("%d\n", sizeof(char)); printf("%d\n", sizeof(short)); printf("%d\n", sizeof(int)); printf("%d\n", sizeof(long)); printf("%d\n", sizeof(long long)); printf("%d\n", sizeof(float)); printf("%d\n", sizeof(double));
scanf_s和scanf函数
- scanf_s函数——是VS编译提供的,不是c语言标准规定的
- 使用scanf(输入函数)的解决方法:源代码第一行加上
#define _CRT_SECURE_NO_WARNINGS 1
打开之后加上源代码,保存。
格式字符
格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。不同类型的数据用不同的格式字符。
格式字符有d,o,x,u,c,s,f,e,g等。
详细说明:
%d 整型输出,打印一个整数
%ld 长整型输出,
%o 以八进制数形式输出整数,
%x 以十六进制数形式输出整数,
%u 以十进制数输出unsigned型数据(无符号数)。
%c 用来输出一个字符,
%s 用来输出一个字符串,
%f 用来输出实数,以小数(float)形式输出,(备注:浮点数是不能定义精度的,所以 “%6.2f”这种写法是“错误的”!!!)
%lf - double
%e 以指数形式输出实数,
%g 根据大小自动选f格式或e格式,且不输出无意义的零。
scanf(控制字符,地址列表) :
格式字符的含义同printf函数,地址列表是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。如scanf("%d%c%s",&a,&b,str)
变量
全局变量:{}外部定义的,也就是main函数外面的
局部变量:{}内部定义的,就是main函数里面的
当局部变量和全局变量名字冲突的情况下,局部优先
不建议:把全局变量和局部变量的名字写成一样的
常量
- 字面常量:
- 整型常量:13、0、-13;
- 实型常量:13.33、-24.4;3.14;
- 字符常量:‘a’、‘M’ ;
- 字符串常量: " abcdef "
- int a[100]; 其中的100也是常量,此处需注意,[]中的数字必须是常量;
2. const修饰的常变量
const修饰的变量具有常量的某些特征,其中最主要的特征就是const修饰的变量不可被改变,但注意,被const修饰的变量本质上仍是变量,只是不可被改变,如同被static修饰的局部变量生命周期发生改变,但是作用域却不发生改变一样,本质上仍是局部变量,作用域仍在所定义的代码块内。
数组的[]内必须是常量,我们在把const修饰的变量n放入[]内时,编译器会报错,所以const修饰的变量本质上仍是变量。
const int num = 10;//num就是常变量 - 具有常属性(不能被改变的属性) num = 20; printf("num = %d\n", num);//20 int arr[10] = {0};//10个元素 const int n = 10; int arr2[n] = {0};//n是变量的,这里是不行
3.#define定义的标识符常量
#define 标识符 常量值 #include <stdio.h> #define A 100 //定义常量及常量值 int main() { A = 10; //这里的不可改变 }
#define A 100 int main() { int a[A]; //这里的A是常量 }
4.枚举常量
可以一一列举的常量
enum Sex { MALE = 3,//赋初值 FEMALE, SECRET }; int main() { enum Sex x = MALE; //enum为枚举类型,Sex为类型名,x为变量 MALE = 3; printf("%d\n", MALE); printf("%d\n", x); printf("%d\n", FEMALE); printf("%d\n", SECRET); }
字符串
就是一串字符 - 用双引号括起来的一串字符,注意头文件#include <string.h>
#include <string.h>
int main()
{
"abcdef";
return 0;
}
int main()
{
// 字符数组 - 数组是一组形同类型的元素
// 字符串在结尾的位置隐藏了一个\0的字符
// \0是字符串的结束标志
//char arr[] = "hello";
char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c'};
//求一下字符串的长度
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
int len = strlen("abc"); //string length
printf("%d\n", len);
//打印字符串
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}