【初识C语言】1
第一个C语言项目
主函数
int main()
{
return 0;
}
打印
int main()
{
printf("fighting\n");
return 0;
}
!!不要忘记打【分号】
库函数
#include <stdio.h>
不要忘记【#】【.h】
数据类型
大小/字节 | ||
char | 字符数据类型 | 1 |
short | 短整型 | 2 |
int | 整型 | 4 |
long | 长整型 | 4 |
long long | 更长的整型 |
8 |
float | 单精度浮点数 | 4 |
double | 双精度浮点数 | 8 |
int main()
{
printf("%zu\n", sizeof(char));
printf("%zu\n", sizeof(int));
return 0;
}
//%d也可以,但是有的编译器会报警,所以改成用%zu
计算机中的单位
字节 1 byte=8bit
1kb=1024b
1mb=1024kb
gb
tb
pb
……
int main()
{
int age = 20;
//向内存申请int大小的空间,把20放进去
double price = 66.6;
return 0;
}
//创建类型的本质是向内存申请空间
变量和常量
1. 常量:不变的
int main()
{
short age = 20;
int height = 180;
float weight = 72.5;
return 0;
}
2. 变量分为:↓
局部变量和全局变量
int b = 20; //全局变量
int main()
{
int a = 10;//局部变量
return 0;
}
打印一下↓
int a = 100;
int main()
{
int a = 10;
printf("a=%d\n", a);
return 0;
}
//最后会打印出【a=10】
当全局变量和局部变量名字相同的情况下,局部优先
变量的使用
例子:写一个代码,计算2个整数的和
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;//初始化
//输入2个整数
scanf("%d %d", &num1, &num2);//取地址&
//求和
int sum = num1 + num2;
//输出
printf("%d\n", sum);
return 0;
}
变量的作用域和生命周期
作用域:变量在哪里可以使用,哪里就是它的作用域
1. 局部变量:局部变量的作用域是变量所在的局部范围
int main()
{
{
int a =10;
printf("a=%d\n", a);
}
return 0;
}
//能成功打印
//a的作用域为第3-6行
int main()
{
{
int a =10;
printf("a=%d\n", a);//这一行的a只能在这一大括号内使用
}
printf("a=%d\n", a);//这一行的a未被定义,a是在大括号内被定义的
return 0;
}
//无法打印
//a的作用域为第3-6行
int main()
{
int a =10;//在外层括号内定义了a
{
printf("a=%d\n", a);//内层括号外定义的a,在内层括号内可以被打印
}
printf("a=%d\n", a);//a被定义,可以打印
return 0;
}
//可以打印,两次都可打印
//a的作用域为第2-10行
2. 全局变量:全局变量的作用域是整个工程
int a =10; //全局变量
int main()
{
{
printf("a=%d\n", a);
}
printf("a=%d\n", a);
return 0;
}
//两处都能打印
【拓展】声明来自外部的符号
extern int a;
生命周期:变量的生命周期指的是变量的创建到变量的销毁的一个时间段。
局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束;
全局变量的生命周期:整个程序的生命周期。
常量
分为以下几种:
1. 字面常量
2. const修饰的常变量 【本质:有常量属性的变量】
3. #define定义的标识符常量
4. 枚举常量
int main()
{
30;
3.14;//直接写的,字面的————字面常量
'w';//字符常量
"abc";//字符串常量
return 0;
}
#include <stdio.h>
int main()
{
int a = 10;//创建了变量
a = 20;//改变了a的值
printf("%d\n", a);//打印
return 0;
}
//const就是不让修改变量时使用的
int main()
{
const int a = 10;//创建了变量
a = 20;//想改变a的值
printf("%d\n", a);//无法打印,因为编译器不让修改a的值
return 0;
}
#define MAX 100
//#define定义的标识符(MAX)常量
int main()
{
printf("%d\n", MAX);//直接打印常量MAX
int a = MAX;//给a赋上MAX的值
printf("%d\n", a);//也能打印出100
return 0;
}
//注意:MAX也是常量,不能修改MAX的值
//{}里加一行 “MAX = 200;” 也是无法打印的,会报错
//再看一个【#define定义的标识符常量】的例子
#define STR "abcdef"
//定义的是字符串
int main()
{
printf("%s\n", STR);//打印出标识符常量
return 0;
}
//枚举常量
int main()
{
enum Color//枚举关键字“enum”定义枚举类型“Color”
{
RED,
GREEN,
BLUE
};//这三种可能取值就是枚举常量
return 0;
}