路边的茶楼 人影错落
街上传来 两三声吆喝
人前摇扇 醒木拍桌
各位看官 你细听分说
准备好了,今天起就要随咱小赛毛一起游历C语言的世界
目录
基础知识
运行代码
ctrl+f5 - 编译+链接+运行
main是程序的入口,有且仅有一个
printf - 库函数
//用来在屏幕上打印相关的数据
//使用库函数,就得包含对应的头文件
//
stdio 标准输入输出
int main(void) void在这里表示main函数不需要参数
数据类型
(C语言内置类型)
字符:
char //字符数据类型
整数:
short //短整型
int //整形
long //长整型
long long //更长的整形(c99标准下)
小数:
float //单精度浮点数
double //双精度浮点数
C语言也可以自己来定义类型-自定义类型
//sizeof是一个操作符,用来计算类型和变量大小
int main()
{
//sizeof是一个操作符,用来计算类型和变量大小的
printf("%d\n", sizeof(char)); //1
printf("%d\n", sizeof(short)); //2 -32768~32767
printf("%d\n", sizeof(int)); //4
printf("%d\n", sizeof(long)); //4
printf("%d\n", sizeof(long long)); //8
printf("%d\n", sizeof(float)); //4
printf("%d\n", sizeof(double)); //8
return 0;
}
C语言标准规定:
sizeof(long)>=sizeof(int)
计算机的基本单位:
bit 比特位 1/0
byte 字节 1byte=8bit
KB 1KB = 1024 byte
MB 1MB = 1024 KB
GB 1GB = 1024 GB
TB 1TB = 1024 GB
PB 1PB = 1024 TB
…
例子
现在呢,我们想保存一个人的年龄,那么我们怎么保存这个人的年龄呢?
比如说:现在这里有一本书,要想把这本书存放起来,是不是该有一个书架?
同理面对于年龄,我们该有一块空间叭,那我们现在就创建一个age变量,类型为short
int main()
{
short age = 10;
return 0;
}
当我们写下这样的代码的时候,其实,我们向内存申请了一块空间
那么刚才呢,我们一直说到变量,那我接下来就为大家介绍一下变量、常量的概念
变量是用来描述变化的数据
常量是用来描述不变的数据
变量
1.定义变量的方法
int age = 150;
float weight = 45.5f;
char ch = 'w';
//" "字符串
//’ ‘ 字符
2.变量的分类
- 局部变量
- 全局变量
int b = 20;//全局变量 - 大括号的外边定义的
void test()
{
int c = 1000;
}
int main()
{
int a = 10;//局部变量 - 大括号内部定义的
return 0;
}
当我们输入下面的代码的时候,能否打印成功呢?
void test()
{
printf("test:%d\n", a);
}
int main()
{
int a = 10;
test();
return 0;
}
显而易见,是不能够的,这里编译器提示:未定义
但是呢,经过老夫的妙手回春,客官请看:
int a = 10;
void test()
{
printf("test:%d\n", a);
}
int main()
{
printf("main:%d\n", a);
test();
return 0;
}
下面是这段代码的结果:
这就是全局变量和局部变量带给我们的意义,相信现在大家以及可以理解清楚全局变量和局部变量。
那么接下来还有一个小例子:
int a = 100;
int main()
{
int a = 10;//局部优先
printf("a=%d\n", a);
这个时候打印什么呢? 10 非常好,说明各位客官还是有两把刷子的,这里强调局部优先
3.变量的使用
//scanf是输入函数
//printf是输出函数
//写一个代码求2个整数的和
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
//输入
scanf("%d%d", &num1, &num2);
//求和
sum = num1 + num2;
//输出
printf("sum = %d\n", sum);
//printf("%d%d", num1, num2);
return 0;
}
(6条消息) 有关C语言中出现有关scanf报错的处理办法_小赛毛的博客-CSDN博客_scanf报错
上面链接是处理我们首次使用vs编译器对于scanf报错的处理方法
4.变量的作用域和生命周期
//局部变量的作用域就是局部变量所在的局部范围
//局部变量的作用域就是局部变量所在的局部范围
int main()
{
int a = 10;
printf("%d\n", a);
return 0;
}
//全局变量
//全局变量
int a = 10;
void test()
{
printf("test: %d\n", a);
}
int main()
{
printf("main: %d\n", a);
return 0;
}
//局部变量的生命周期
如图所示,局部变量的生命周期是进入作用域生命周期开始,出作用域生命周期结束。
依次类推:
//全局变量生命周期
全局变量的生命周期是整个程序的生命周期。
欲知后事如何 且听我下回分说
(江湖游历在外,还要多多仰仗各位衣食父母,方便的话点个赞,点个关注呗,谢谢你嘞,客官慢走)