学习时间2022.8.7
01.初识C语言(1)
什么是C语言?
C语言是一门计算机语言。
计算机语言是什么?
人和计算机交流的语言 C/C/JAVA/Python
语言的发展:
二进制语言 101000010101就只能这样写 低级语言
汇编语言 后来 ADD -10100001-助记符
B语言
C语言 C++ 高级语言
C语言一开始不成熟-成熟-流行 然后有了国际标准
1.1第一个C语言程序
写C代码:
(1).创建工程或者新建项目
(2).创建文件
C代码 .c文件-源文件 .h文件-头文件(head)
添加源文件(比如test.c)
(3).写代码
//包含一个叫stdio.h的文件
#include<stdio.h>
int main() //int是整型
//main前面的int表示main函数调用返回一个整型值
{
//这里完成任务
//在屏幕上输入hello world
//函数
printf("hello world\n");
return 0;
}
ctrl + f5 运行代码 / ctrl+fn+F5
main()函数-主函数-程序的入口
一个程序中不能没有main函数,main函数有且仅有一个。
printf-库函数-C语言本身提供给我们使用的函数
1.2 数据类型
char | 字符数据类型 |
short | 短整型 |
int | 整型 |
long | 长整型 |
long long | 更长的整型 |
float | 单精度浮点数 |
double | 双精度浮点数 |
1.2.1char 字符类型
int main()
{
char ch = 'A';//像内存申请了一块空间存放字符A
printf("%c\n",ch);//%c--打印字符格式的数据
return 0;
}
1.2.2 int 整型
int main()
{
int age = 20;
printf("%d\n",age);//%d--打印整型十进制数据
}
1.2.3 short int 短整型 long int 长整型 longlong int 更长的整型
1.2.4 float
int main()
{
float f = 5.0;
printf("%f\n",f);
return 0;
}
1.2.5 double
int main()
{
double d = 3.14;
printf("%lf\n",f);
return 0;
}
1.2.6
%d 打印整型 %c打印字符 %f 打印浮点数字-打印小数 %p 以地址的形式进行打印
1.2.7 字节
计算机中的单位
最小的单位-bit-比特位--只能存1或者0--一个比特位用来存放一个二进制位
byte-字节-一个字节是8个比特位
kb-1024个字节
mb -104个kb
gb-1024个mb
tb-1024个gb
pb-1024个pb
1.2.8大小
数据类型 | 字节大小 | 放的二进制可能性 |
char | 1 | 2^8 |
short | 2 | 2^16 |
int |
4 | 2^32 |
long | 4/8 | 2^32/2^64 |
long long | 8 | 2^64 |
float | 4 | 2^32 |
double | 8 | 2^64 |
C语言标准规定 sizeof(long)>=sizeof(int)
1.3变量
1.3.1局部变量和全局变量
全局变量:定义在代码块({})之外的变量
局部变量:定义在代码块({})内部
当局部变量和全局变量的名字建议不要相同-容易误会产生bug
当局部变量和全局变量相同时-局部变量会优先
1.3.2变量的使用
int main()
{
//计算两个数的和
int num1 = 0;
int num2 = 0;
int sum = 0;
//输入数据-使用函数scanf
scanf("%d%d",&num1,&num2);//&取地址符号
// C语言规定,变量要定义在当前代码快的最前面
sum = num1 + num2;
printf("sum = %d\n",sum);
return 0;
}
scanf是C语言提供的
scanf_s不是标准C语言提供的,是VS编译器提供的。
1.3.3变量的作用域和生命周期
局部变量的作用域是变量所在的局部范围
全局变量的作用域是整个工程
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期是:整个程序的生命周期。
1.3.4 #define_CRT_SECURE_NO_WARNINGS 1
加载源文件的第一行
我们将它添加在如下文件中
之后打开之后就会带有默认这句话
1.4常量
1.4.1C语言中的常量有以下几种:
(1).字面常量
(2).const 修饰的常变量
#include<stdio.h>
int main()
{
int num = 4;
printf("%d\n",num);
num = 8;
printf("%d\n",num);
return 0;
}
那如果我想要num = 4 变为一个常量
在前面添加 const即可
const 常属性
(3).#define 定义的标识符常量
#include<stdio.h>
#define MAX 10
int main()
{
int arr[MAX] = {0};
printf("%d\n",Max);
return 0;
}
(4).枚举常量
枚举:一一列举
枚举关键 - enum
enum Sex
{
MALE,
FEMALE,
SECRET
};
int main()
{
printf("%d\n",MALE);
printf("%d\n",FEMALE);
printf("%d\n",SECRET);
return 0;
}
枚举常量不能改变
1.5字符串
字符串:由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
字符串结束标志是\0 转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。
\t 水平制表符
转义字符