初识C语言———C语言基础入门
目录
一.什么是C语言
二.第一个C语言程序
三.数据类型
四.常量、变量
1.常量
2.变量
2.1定义变量的方法:
2.2变量的分类:
2.3变量的作用域和生命周期
五、字符串+转义字符+注释
1.字符串
2.转义字符
3.注释
六、选择语句
七、循环语句
八、函数
九、数组
1.数组定义
3.数组的使用
十、操作符
1.算术操作符
2.移位操作符
3.赋值操作符
4.单目操作符
5.关系操作符
6.逻辑操作符
7.条件操作符
8.逗号表达式
9.下标引用、函数调用和结构成员
十一、关键字
1.关键字typedef
2.关键字static
3.关键字register
4.#define定义常量和宏
一.什么是C语言
c语言是一门通用的计算机编程语言,广泛用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级储存器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
就像人与人之间的交流语言中文、英文一样,C语言就是人和计算机进行交流的语言。有关C语言的介绍还有很多,这里就不再做一一介绍,大家可以自行查阅。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。我用的是Visual Studio 2019.
我们安装好,就打开来写第一个程序吧!
二.第一个C语言程序
#include <stdio.h>
int main()
{
printf("hello heiyu\n");
printf("heiyu\n");
return 0;
}
这就是我们写的第一个程序啦!我们来Ctrl+F5运行一下。
这就是运行结果了!可以看到,我们成功的打印出了想要的内容,但是很多人都跟我一开始一样,这些都是写的什么?怎么运行出来的,感觉一头雾水。下边我们来说一下这些代码都是什么作用。
第一行#include <stdio.h>
include称为文件包含命令,意思是把<>或""内指定的文件包含到本程序中。被包含的文件通常是由系统提供的,扩展名为.h,还有一部分是自己编写的.h文件。
stdio:standard input output.意为C语言的头文件中包括了各个标准库函数的函数原型。
第二行 int main(){}
这句代码是主函数,main就代表主函数,是程序的入口,这个函数返回类型是int,一个函数中main函数有且只有一个。
标准的主函数写法
int main()
{
return 0;
}
第三、四行
printf("hello heiyu\n");
printf("heiyu\n");
这两行代码的意思是在屏幕上打印输出想要的内容,输出用printf,\n是换行的意思,如果我们把第一个后边的\n去掉,就会发现他们输出到了一行。
第五行 return 0;
这句代码的意思就是函数返回0;上边提到int是返回类型,但是参数是空的,所以这里返回个0,就行了,大家不理解也没关系,后边我们还会提到,大家先记住就可以了。
三.数据类型
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
我们不禁要问,为什么会有这么多数据类型?
存在这么多的类型,可以给我们在使用C语言时更加准确,更加丰富的表示生活中的各种值,例如名字、体重、薪水等等。
char ch = 'heiyu';
int weight = 120;
int salary = 20000;
那么每种数据类型的大小是多少呢?
可以运行下边这段代码试试
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
return 0; }
运行完毕,我们就可以看到各种数据类型的大小了。这里的sizeof的作用是返回一个对象或者类型所占的内存字节数,我们下边会详细提到。
四.常量、变量
常量就是不变的量,像圆周率,性别,血型等等;
变量就是会变化的量,像身高、体重等等。
1.常量
常量分为四种:
①字面常量
//字面常量演示
3.14;//字面常量
1000;//字面常量
②const 修饰的常变量
//const 修饰的常变量
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14;//是不能直接修改的!
上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在 C 语言中只是在语法层面限制了变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。
③#define 定义的标识符常量
//#define的标识符常量 演示
#define MAX 100
printf("max = %d\n", MAX);
define就是定义一个常量,即定义MAX是一个数值为100的常量.
④枚举常量
#include <stdio.h>
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
//枚举常量演示
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
//注:枚举常量的默认是从0开始,依次向下递增1的
}
enum是一个关键字,枚举关键字,以后我们会学习关键字的时候学习到;
2.变量
2.1定义变量的方法:
int age = 150;
float weight = 45.5f;
char ch = 'w';
2.2变量的分类:
①局部变量
②全局变量
举个例子来说
#include <stdio.h>
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global);
return 0;
}
global = 2019就是全局变量,而下边的 local = 2018;和global = 2020是局部变量,通俗一点来理解,定义在{}之外的变量就是全局变量,定义在{}之内的变量就是局部变量。此外在代码中我们也提到了一个问题,global被定义了两次,那这样子会不会有问题呢?其实这样子是没有问题的,当局部变量和全局变量名字冲突时,局部变量优先,当然黑域在这里还是不建议各位这样子写的,毕竟看起来也很容易混乱,我们还是怎么简单怎么来比较好。
下边我们来写一个代码,计算2个整数的和
#include <stdio.h>
//写一个代码,计算两个整数的和
int main()
{
int num1 = 0;
int num2 = 0; //初始化
//输入两个整数
scanf("%d %d", &num1, &num2);
//求和
int sum = num1 + num2;
//输出
printf("%d\n", sum);
return 0;
}
对变量初始化是为了防止编译器报警告,而且如果不初始化的话,编译器会给他一个随机值,所以我们初始化一下。
printf 函数是输出函数,而我们这里要输入,就要用到另一个输入函数sacnf,scanf("%d %d", &num1, &num2);我们是要把输入的两个反馈给变量 num1和num2,所以我们对他们取地址用&,让计算器知道输入的数是对应的这两个变量。然后我们需要再创建一个变量sum去计算num1和num2的和,最后我们输