概述
【前言】
本篇文章为初始C语言部分,C语言是编程的入门语言,所以也说是编程入门;
学好C语言的入门内容,才能真正的入门编程,而C语言的学习对于刚入门的同学还是有一些难度的,需要踏踏实实的自己去理解。
在此之前,我了解到有些计算机专业的同学不知道自己学什么,感到很迷茫,其实真正的迷茫来自自己,感到迷茫的时候可以去学一些基础、理解起来简单的内容;此刻的你如果实在不知道学什么,就来和博主一起学习C语言吧!
1.什么是C语言?
1.1 C语言
C语言是一门通用的计算机编程语言,广泛应用于底层开发(Linux操作系统就是C语言写的)。C语言的设计目标是提供一种能够以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言是母体语言,是人体交互接近底层的桥梁;
近50年间,在TIOBE排行榜中,C/C++位置长期霸占前三名,没有丝毫寒冬,可谓经典永不过时!
1.2 如何学好C语言?
1.鼓励自己,为自己叫好。
学习知识,一定要有自信,坚信自己能够学好,能够熟练掌握。
2.挤时间学习
欲戴王冠,必承其重。
如果你总和别人走一样的路怎么才能保证超越别人,那就要付出不一样的努力。
3.拒绝做伸手党
遇到问题,先尝试自己解决。
4.利用好学习资源
现在网上有很多的学习资源,像B站(被称为哔哩哔哩大学)、还有一些语言的官网,都是可以进行学习的。
2.第一个C语言程序
#include <stdio.h>
int main()
{
printf("hello worldn");
return 0;
}
> 第一个C语言程序的分析:
> main函数是程序的入口,一个程序main函数有且仅有一个;
> printf是一个库函数,专门用来按照某种格式来打印文件;库函数的使用需要包含对应的头文件 -> #include<stdio.h>
> std i o分别对应 标准 输入 输出
3.数据类型
> char //字符型
> short //短整型
> int //整型
> long //长整型
> long long //更长的整型
> float //单精度浮点型
> double //双精度浮点型
接下来我们思考两个问题:
- 为什么出现这么多类型?
- 每种类型的大小是多少?
> C语言由于需要描述不同类型的数字或者字符等,所以出现了多种多样的数据类型。
> 要想了解每种类型的大小,需要我们借助一个程序;
#include<stdio.h>
int main()
{
printf("%dn",sizeof(char));
printf("%dn",sizeof(short));
printf("%dn",sizeof(int));
printf("%dn",sizeof(long));
printf("%dn",sizeof(long long));
printf("%dn",sizeof(float));
printf("%dn",sizeof(double));
return 0;
}
4.变量 &常量
生活中有些值是不变的(比如:圆周率,性别,身份证号码,血型等等),有些值是可变的(比如:年龄,体重,薪资等等);
不变的值,C语言中用常量的概念来表示,变量的值C语言中用变量来表示。
4.1 定义变量的方法
int age = 150;
float weight = 45.5f;
char ch = 'w';
4.2 变量的分类
- 局部变量
- 全局变量
看下面这段程序,输出结果是什么?
int a = 2021;
int main()
{
int a = 2022;
printf("%dn", a);
return 0;
}
注意:局部变量a的定义其实没有什么问题;只是局部变量和全局变量同名的时候,局部变量优先使用。
4.3 变量的使用
关于变量的使用,我们同样使用一段程序来更好的理解:
int main()
{
int a, b;
printf("请输入两个操作数:>");
//从键盘读取两个数存入num1和num2的地址中
scanf("%d %d", &a, &b);
int sum = a + b;
printf("sum = %dn", sum);
return 0;
}
分析这个程序:
> %d 表示十进制的数字,用于格式化输出
> scanf函数是一个输入函数
> 输入的%d -> &num1和&num2(&是一个取地址操作符)
> 程序执行:从键盘输入两个数字 -> 打印两个数字之和
4.4 变量的作用域和生命周期
作用域:通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
- 局部变量的作用域是变量所在的局部范围
- 全局变量的作用域是整个项目工程
生命周期:变量的创建到变量的销毁之间的时间段。
- 局部变量的生命周期是:进入作用域周期开始,出作用域生命周期结束。
- 全局变量的生命周期是:整个项目工程的生命周期。
看下面一段程序:
int main()
{
{
int a = 10;
printf("%dn", a);
}
printf("%dn", a);
return 0;
}
定义和初始化变量a的时候在{ }作用域内,出了作用域之后,不能再使用。
而全局变量在{ }作用域内和作用域外且main函数中都是可以使用的。
int a = 10;
int main()
{
{
printf("%dn", a);
}
printf("%dn", a);
return 0;
}
4.5 常量
C语言中的常量分为以下几种:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
3.14;//字面常量
const float pai = 3.14f; //const修饰的常变量
#define MAX 100 //#define定义的标识符常量
//枚举常量
enum Sex
{
MALE,
FEMALE,
SECRET
};
注意:const 修饰的常变量只是在语法层面限制了变量不能直接被修改,但是本质上还是一个变量,所以叫常变量。
5.字符串 &转义字符
5.1 字符串
字符串:由双引号引起来的一串字符。
"hello worldn"
"hello C语言n"
注意:字符串结束的标志是" ", 在计算字符串长度的时候也是以" "结束。
下面通过一段代码来更好的理解:”
int main()
{
char arr1[] = "bit";
char arr2[] = { 'b', 'i', 't' };
char arr3[] = { 'b', 'i', 't', '