概述
目录
一、如何学好C语言?
1、鼓励你,为你叫好。
2、挤时间学习
3、学好编程,不仅仅是学好C语言
二、初始C语言
本章目标
本章重点
1、什么是C语言?
2、第一个C语言程序
3、数据类型
4、变量、常量
1.定义变量的方法
2.变量的分类
3.变量的作用域和生命周期
4.常量
4、字符串+转义字符
1.字符串
2.转义字符
5、注释
6、选择语句
7、循环语句
8、函数
三、练习巩固题
四、结语
【声明】:第一章只是简单介绍一下C语言的大体内容,所提知识点点到为止,不做过多阐述,在后面的博文中笔者会详细介绍。在接下来的两个多月里,博主将会持续更新C语言模块,由初阶到进阶,层层递进,每篇文章的后面都会附加上专门的习题供铁汁们练习。
【大学课程现状】:大学课程主要侧重于素质教育,远远满足不了公司需求,单单是靠在学校里面学的东西很难找到一份满意的工作,可能你现在大一,或是大二,也可能你现在很迷茫,不知道从哪里学起等等,你可以看看笔者的博客,我们一起学习,一起加油,保持空杯心态,从零开始。
一、如何学好C语言?
1、鼓励你,为你叫好。
2、挤时间学习
3、学好编程,不仅仅是学好C语言
在找工作前,我们必须要学好的是:
计算机语言
数据结构和算法
操作系统
计算机网络
项目实战
二、初始C语言
本章目标
基本上了解C语言的基础知识,对C语言有一个大概的认识。
每个知识点就是简单的认识,不做详细讲解,后面的博客中都会讲到。
本章重点
- 什么是C语言
- 第一个C语言程序
- 数据类型
- 变量、常量
- 字符串+转义字符
- 注释
- 选择语句
- 循环语句
- 函数
- 数组
- 操作符
- 常见关键字
- #define定义常量和宏
- 指针
- 结构体
1、什么是C语言?
2、第一个C语言程序
#include<stdio.h>
int main()
{
printf("Hello Worldn");
return 0;
}
分析第一个程序:
工欲善其事,必先利其器:推荐铁汁们使用Visual Studio 2019编译器, 可能很多学校老师推荐使用的是Dev-C++,因为Dev-C++已经10多年没有更新了,许多功能已经远远满足不了现在的编写代码或者开发的需求,而且敲出的代码不美观,不便于好的代码风格的养成。
下面是安装Visual Studio 2019的教程,打算编写更高质量代码的铁汁们抓紧行动起来吧。
VS2019的安装和简单使用-visual studio 2019 安装教程_哔哩哔哩_bilibili
UP主是笔者学习专业课的启蒙老师,迷茫的同学赶紧关注他,强烈建议铁汁们看他B站上面的视频学习C语言,笔者可以肯定地说,他讲解的C语言是B站包括慕课等自学视频中讲解的最好、最通透、最...不信你先看他个两节课,你绝对会喜欢的,只要你好好跟着他的课学上两个月再配合笔者的博文,绝对轻轻松松超出身边同等段位的同学一大截,嘿嘿,毫不费力考个专业课第一它不香吗!
3、数据类型
char //字符数据类型
short(完整版:short int) //短整型
int //整型
long(完整版:long int) //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
问1:C语言中有没有字符串类型?
答:C语言中没有字符串类型,描述字符串的时候一般采用字符串数组的形式。
问2:为什么出现了这么多的类型?
答:存在这么多的类型,是为了更加丰富的表达生活中的各种值。而且数据类型不同,计算机的使用效率就有所不同,对于一个变量,可根据其表示的范围去选择合适的用来定义它的数据类型,避免造成空间上的浪费,因为每个数据类型占的字节数不一样,也就是说计算机在存放这些数据类型的时候所用的空间是不同的。
问3:每种类型的大小是多少?
答:
#include<stdio.h>
int main()
{
printf("%dn", sizeof(char));//1
printf("%dn", sizeof(short));//2
printf("%dn", sizeof(int));//4
printf("%dn", sizeof(long));//4(其实C语言中没有明确规定long的大小,只需要不小于int类型即可)
printf("%dn", sizeof(long long));//8
printf("%dn", sizeof(float));//4
printf("%dn", sizeof(double));//8
return 0;
}
对该代码的说明:里面1 2 4 4 8 4 8表示的是各个数据类型的大小,单位是字节,其中出现了C语言中的关键字sizeof, sizeof是用来计算类型或者是类型所创建的变量的大小,单位是字节。其中打印函数中的"%d",表示打印一个十进制的整数。
类型的使用:
#include<stdio.h>
int main()
{
//类型 类型名
char ch = 'w';//注意字符是用单引号引起来的
int weight = 120;//使用int这种整型类型创建了一个变量叫weight,并且赋值为120
//注意变量的创建是要在内存中开辟空间的
int salary = 20000;
return 0;
}
4、变量、常量
生活中有些值是不变的,比如圆周率,性别,身份证号码,血型等等;
有些值是可变的,比如年龄,体重,身高,薪资等等。
不变的值,C语言用常量来表示;可变的值,C语言用变量来表示。
1.定义变量的方法
类型 类型名
#include<stdio.h>
int main()
{
int age = 150;//定义一个整型变量age,并且给其赋值为150
//注意变量在创建的时候不初始化,是一种不好的代码风格
//当一个局部变量不初始化的时候,它的值是随机的,像这里的age和ch就是局部变量
char ch = 'w';
return 0;
}
2.变量的分类
- 局部变量
- 全局变量
注意:{ } ,就是代码块,在代码块内部定义的变量就叫局部变量,在代码块外部定义的变量叫全局变量。
#include<stdio.h>
int global = 2019;//全局变量
int main()
{
int a = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2021;//局部变量
printf("global = %dn", global);
return 0;
}
总结:
上面局部变量global的定义其实是没有什么问题!
但是为什么打印的是局部变量global的值,而不是全局变量global的值?
注意:当局部变量和全局变量同名的时候,局部变量优先使用。
所以,局部变量和全局变量最好不要重名。
3.变量的作用域和生命周期
作用域:程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效可用的。
而限制这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是局部变量所在的局部范围;
2.全局变量的作用域是整个工程。
生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
1.局部变量的生命周期:
进入局部变量所在的范围(作用域)生命周期开始,出作用于生命周期结束;
2.全局变量的生命周期:
整个程序的生命周期,也就是main函数的生命周期。
4.常量
C语言中的常量和变量的定义形式有所差异。
C语言中的常量分为以下4种:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
字面常量:如100(字面常量) 3.14(字面常量) "abc"(字符串常量) 'w'(字符常量);
const修饰的常变量:当一个变量的值不想被修改,用const“保护”起来就行了,此时的变量变成了常变量,但是其实质仍然是变量,常量的某些性质仍然不具备。
#define定义的标识符常量:如#define MAX 100 --->此后在程序中出现MAX就代表了100,如果需要将程序中100数值全部改变,一个一个改太不方便,而用了#define MAX 100 ,只需要将MAX后面的100改成你想要的数字,后面程序中都会改变,这样就方便多了。
枚举常量:在下面的例子中介绍
#include<stdio.h>
enum Sex
{
//枚举这种类型的可能取值,就是枚举常量,如括号中的MALE,FEMALE,SECURT
MALE, //男
FEMALE,//女
SECURT //未知
};
int main()
{
//字面常量演示
3.14;//字面常量
100;//字面常量
//const修饰的常变量
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14;//会报错,是不能修改的,因为用const保护起来了
//#define定义的标识符常量演示
#define MAX 100
printf("%dn", MAX);//100
//枚举常量演示
printf("%dn", MALE);//0
printf("%dn", FEMALE);//1
printf("%dn", SECURT);//2
//注意之所以依此打印出0 1 2,是因为枚举常量默认是从0开始,一次向下递增1的
return 0;
}
对const的使用唠叨一下:上面例子上的pai被称为const修饰的常变量,const修饰的常变量在C语言中只是在语法层面限制了变量pai不能直接被改变,但是pai本质上还是一个变量,所以才叫做常变量。
4、字符串+转义字符
1.字符串
"hello world.n"
这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
注意:字符串的结束标志是一个 的转义字符,在计算字符串长度的时候 是结束标志,不算作字符串内容。
#include<stdio.h>
int main()
{
//下面这段代码,打印的结果是什么,为什么?(突出'