目录
简单认识一段代码
main()函数是程序的入口,所以要有主函数mian(),必须且唯一, int表示整型,“()”中为函数的参数,return 表示返回,0表示整数,为什么返回 0 ,而不返回其他整数,在共识中,认为 0 表示正常返回,约定俗成。
printf为打印,打印的内容用双引号打印,语句结束要用英文分号 “;” 结尾。
【此外:scanf为输入函数 scanf("%d %d", &a, &b) ,其中输入两个数a, b,并用空格分开,“&”表示取地址,如果输入的数据 x 是个数组,就不需要加地址符号“&”, 因为数组名本身就是地址。使用 scanf时添加 #define _CRT_SECURE_NO_WARNINGS,仅限于vs软件编辑。scanf_s是vs平台自有的函数】
printf为库函数,要是用库函数需要引入头文件 # include<stdio.h>
#include<stdio.h>
int main(){
printf("hello");
return 0;
}
数据类型
char //字符串数据类型 用单引号引起
short //短整型
int //整型
long //长整型
long long //更长的整型
float //单精度浮点数
double //双精度浮点数
bool // 布尔类型 大小是 1
注意:C语言中没有 字符串 类型
每一种类型的大小是多少?
int main() {
printf("%d\n", 100); // %d 表示打印整型 \n 表示回车
printf("%d\n", sizeof(char)); //sizeof 表示某一类型的数据在内存中所占空间的大小
printf("%zu\n", sizeof(int)); // zu 表示打印一个 sizeof 返回的无符号整型
printf("%zu\n", sizeof(long));
printf("%zu\n", sizeof(long long));
printf("%zu\n", sizeof(float));
printf("%zu\n", sizeof(double));
return 0;
}
运行结果:返回的的单位是字节(byte)
计算机中的单位
计算机中的最小单位是比特位(bit)
bit——比特位
byte——字节
kb
mb
gb
pb
计算机中存储方式是二进制,存储 0 或者 1 的大小就是一个比特位的大小, 8个比特位的大小是一个字节
1byte = 8bit 1kb = 1024byte 1mb = 1024kb ...
C语言规定:
sizeof(long)>=sizeof(int)
例子:类型 int 向内存申请4字节的空间,来存放变量 age。
int main() {
int age = 20;
float price = 66.6;
return 0;
}
变量和常量
常量是不可变的,如π;变量是可变的,如身高、体重。
在定义变量时要赋值,“初始化”,不然报错“未引用的局部变量”。不进行初始化时,变量中存储的是一个随机值。
int main() {
short age = 20; //年龄
int height = 180; //身高
float weight = 60.5; //体重
return 0;
}
变量分为局部变量和全局变量
main是一个函数,函数内部定义的变量是局部变量,函数外定义的变量是全局变量。
int a = 20;
int main() {
short age = 20; //年龄
int height = 180; //身高
float weight = 60.5; //体重
int b = 20;
return 0;
}
报错:在同一个范围内,变量不能被重复定义
int main() {
short age = 20; //年龄
int height = 180; //身高
float weight = 60.5; //体重
int b = 20;
int b = 200;
return 0;
}
在函数内部打印变量值时, 如果全局变量和局部变量的名字冲突,则局部变量优先。
建议全局和局部变量的命名不要冲突。
int b = 200;
int main() {
short age = 20; //年龄
int height = 180; //身高
float weight = 60.5; //体重
int b = 20;
print("%d", a);
return 0;
}
变量的作用域和变量的生命周期
变量的作用域:变量在哪里可用,哪里就是变量的作用域。
局部变量的作用域是变量所在的局部范围
全局变量的作用域是整个工程
局部变量作用域:
报错:a未定义,a定义在“{}”内,无法在“{}”外直接使用
int main() {
{
int a = 10;
//printf("%d\n", a);
}
printf("%d\n", a);
return 0;
}
全局变量作用域:
可以应用于整个工程,同一工程下的不同文件同样适用
在同一工程下的 extern.c文件中定义变量
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int a = 10;
在class_1.c文件中调用
若想使用外部变量,需要使用“extern”声明,“extern”是用来声明一个符号的,“include”是声明一个文件。
extern a;
int main() {
{
//int a = 10;
//printf("%d\n", a);
}
printf("%d\n", a);
return 0;
}
运行结果