C语言是面向过程的计算机编程语言;是人机(计算机)用于交互的语言
一、C语言介绍
C语言学习包含:C语言程序、数据类型、变量 常量、字符串+转义字符+注释、选择语句、循环语句、函数、数组、操作符、常见关键字、define定义常量和宏、指针、结构体
编辑器常用:GCC、MSVC(VS)
1、C代码:.c 为源文件(如test.c)、.h (head)为头文件
#include <stdio.h> //指包含一个stdio.h的文件
//std:标准standard i-input o-output
int main() //主函数-程序的入口,main函数有且只有一个
//int:整型,main前面的int表示main函数调用返回一个整型值
{
printf("hello world\n"); //打印
//这里是完成任务
//函数:print function-printf:打印函数
//库函数:C语言本身提供给我们使用的函数
别人的东西需要打招呼,所以需要在main函数上面写入
#
return 0;//返回
}
执行编程语言快捷键:ctrl+Fn+F5
二、数据类型
(向内存申请空间)字符 单位:字节
1、char
(1字节)char //字符数据类型 eg:A、a、b
分配一个字节
char ch='A'; //ch表示内存
printf("%c\n",ch); //%c:打印字符格式的数据
2、short
(2字节)short //短整型 eg:short age=20:;//向内存申请2个字节=16bit位,用来存放20
分配2个字节
3、int
(4字节)int //整型
int age=20;
printf("%d\n",age); //%d:打印整型十进制数据
4、long
(4或8字节)long //长整型
5、long long
(8字节)long long //更长的整型
6、float
(4字节)float //单精度浮点数 eg:5.0 (一位小数)
7、double
(8字节)double //双精度浮点数 eg:5.00(两位小数)——小数点位数更多,表示更精确 %lf:后6个小数位
%+字母介绍:(打印)
%d——打印整型 %ld——打印长整型、
%c——打印字符 %s——打印字符串、
%f——打印浮点数字(小数)-后包含5个小数位 %lf:——打印双精度浮点数-后6个小数位
%p——以地址形式打印、%x——打印16进制数字 ......(%0、%s)
c语言标准规定:sizeof(long)>=sizeof(int)
8 ~ 4
—————————————————————————————
计算机中单位介绍:
bit——比特位
byte(字节)——1字节=8bit
kb——1kb=1024byte=210
mb——gb——tb——pb
123十进制数字: 010二进制数字:
1*102+2*101+3*100 0*22+1*21+0*20
如二进制数字有16位,那该数字组成有216种为:0~216-1,最大数为216-1
三、变量、常量
变量
变量分为 局部变量、全局变量
{}内的为 局部变量
全局可以用于局部,局部不能用于全局
int num2=20;//全局变量定义在代码块{}之外的变量
int main()
{
int num1=10;//局部变量;
return 0;
}
*局部变量和全局变量的名字建议不要相同——容易误会,产生bug
当局部变量和全局变量的名字相同时,局部变量优先
eg:计算2个数的和:
int num1=0;
int num2=0;
int sum=0; //c语言语法规定,变量要定义在当前代码块的最前面
//输入数据使用scanf函数
scanf("%d%d",&num1,&num2); //取地址符号:&
sum=num1+num2;
printf("sum=%d\n",sum);
return 0;
c语言语法规定,变量要定义在当前代码块的最前面
输入数据使用scanf函数,eg:scanf("%d%d",&num1,&num2);
——————————————
变量的作用域和生命周期:
1、作用域:
全局变量适用于整个工程;
局部变量的作用域是变量所在的局部范围
两个源文件:一个调用另一个源文件的变量——这个是可以实现的
但需要声明:
//未声明的标识符
//声明 extern 外部符号 extern int g-val(外部符号);
1、局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束
全局变量的生命周期:整个程序的生命周期
main的生命周期:指程序的生命周期
scanf函数:该函数是C语言提供的
scan_f 不是标准c语言提供的是VS编译器提供的,该函数没有跨平台/可移植性
scanf 如果在VS中报错,就需要在源文件第一行加入#define (警告中的内容 1) :#define _CRT_SECURE_NO_WARNINGS 1
//scanf、strcpy、strlen、....在VS中提示不安全,加入#define _CRT_SECURE_NO_WARNINGS 1 就不会再告警
在每个创建的源文件中都加入相同的内容:找到VS所在目录的news++file.cpp文件(该文件所在位置/vc/vcprojectitems)中加入内容(需要管理员模式,最好下载Notepad++打开编辑),之后新建文件总会存在添加的内容
常量
常量分为:
1、字面常量
eg:3;
2、const修饰的常变量
//const常属性
const int num=4; //num为具有常属性的变量
3、#define定义的标识符常量
#define MAX 10
int main()
{
int arr[MAX]={0};
printf("%d/n",MAX);
return 0;
}
4、枚举常量
枚举关键——enum
enum Sex
{
MALE, //male
FEMALE, //female
SECRET //secret
}; //大括号内的为枚举常量,不能修改
int main()
{
printf("%d\n",MALE); //0
printf("%d\n",FEMALE); //1
printf("%d\n",SECRET);//2
enum Sex sex=MALE;
sex=FEMALE; //这样是可以的
MALE=4; //❌