初步认识C语言

文章目录

  • 一、开端
  • 二、一个C语言程序
    • 1、编程环境
    • 2、写代码
    • 3、修改代码
  • 三、编译运行
    • 1、编译
    • 2、运行
  • 四、为什么要搭建本地环境
  • 五、下载 Dev C++
  • 六、安装 Dev C++
    • 1、语言选择
    • 2、我接受
    • 3、下一步
    • 4、选择安装位置
    • 5、看他装完
  • 七、配置
    • 1、选择语言
    • 2、选择配色
  • 八、写一段代码
    • 1、新建文件
    • 2、写代码
    • 3、保存文件
    • 4、编译运行
  • 九、变量
    • 1、变量的定义
    • 2、变量的赋值
    • 3、变量的初始化
    • 4、变量的由来
    • 5、多变量的定义
    • 6、变量间的赋值
  • 十、数据类型
    • 1、内置数据类型
    • 2、数据的大小
    • 3、整数的表示范围
  • 十一、变量名
    • 1、标识符
    • 2、关键字
    • 3、命名规则
  • 粉丝专属福利

一、开端

在这里插入图片描述

  • C语言是一种高级语言,运行效率仅次于汇编,支持跨平台,所以被广泛的应用于软件开发、系统开发、嵌入式系统、游戏开发等场景。

点我呀 获取 粉丝专属 《算法和数据结构》源码,以及获取博主的联系方式。

二、一个C语言程序

在这里插入图片描述

1、编程环境

  • ( 1 ) (1) (1) 百度搜索 “c语言在线编译”,如图四-1-1所示:

图四-1-1

  • ( 2 ) (2) (2) 任意选择一个在线编译工具,我选择的是菜鸟工具,如图四-1-2所示:
    图四-1-2

2、写代码

在这里插入图片描述

  • 先给出代码,然后根据行尾的标号,一行一行进行解释;
#include                // (1)
int main()                       // (2)
{
     
   /* 我的第一个 C 程序 */       // (3)
   printf("Hello, World! \n");   // (4)
   return 0;                     // (5)
}

这段代码只做了一件事情,就是向屏幕上输出一行字:Hello, World!
( 1 ) (1) (1) stdio.h是一个头文件 (标准输入输出头文件) , #include是一个预处理命令,用来引入头文件。当编译器遇到 printf()函数时,如果没有找到 stdio.h头文件,就会发生编译错误。
( 2 ) (2) (2) main()作为这个程序的入口函数,代码都是从这个函数开始执行的。
( 3 ) (3) (3)/**/包围起来的代表注释,是给人看到,不进行代码的解析和执行。
( 4 ) (4) (4) printf代表将内容输出到控制台上。其中\n代表换行符。
( 5 ) (5) (5) 作为函数的返回值。
在这里插入图片描述

  • 你可能对 头文件、预处理命令、函数、换行符、返回值 这些都没有概念,没有关系,刚开始我们不去理解这些概念,你只需要知道:通过改一些代码以后,能够看到想要看到的结果 就行。

3、修改代码

  • 我们把 Hello, World 改成 光天化日学C语言 后,再来看看效果:
#include                 // (1)
int main()                        // (2)
{
     
   /* 我的第一个 C 程序 */        // (3)
   printf("光天化日学C语言! \n"); // (4)
   return 0;                      // (5)
}

三、编译运行

1、编译

  • 编译就是把高级语言变成计算机可以识别的二进制语言,因为计算机只认识 1 和 0,你需要把一大堆复杂的语言词法、语法全部转换成 0 和 1。

2、运行

  • 运行就是执行可执行程序啦。就是我们通常 Windows 上的双击 exe 干的事情。

在这里插入图片描述


四、为什么要搭建本地环境

在这里插入图片描述

  • 1)联网:在线编译环境毕竟涉及到联网,如果没有网的情况下,我们就不能写代码了,真是听者伤心,闻者流泪啊;
  • 2)定制化:写代码是一辈子的事情,界面当然要搞得赏心悦目才能持久,本地环境可以配置字体和背景,支持定制化,觉得什么界面好看就配成什么样的;
  • 3)代码补全:字体高亮,代码补全 这些好用的功能,能够帮助你减少很多不必要编码错误;
  • 4)多文件:当代码量比较大以后,涉及到多个文件时,在线编译环境就无能为力了;

五、下载 Dev C++

  • Dev C++ 是一个轻量级的 C/C++ 集成编译环境,正因为是轻量级,所以还是有很多不太好用的地方,不过不用担心,对于教学来说已经足够了。
  • 相比 Visual Studio 20XX 来说,安装快了不少,所以我打算用这个工具来进行后续文章的讲解。
  • 可以选择以下任何一个链接进行下载,下载后解压出 DevCpp_v6.5.exe 即可。

百度网盘下载

  • 链接:C语言轻量级编译调试工具 Dev C++ v6.5
  • 提取码:dd22

CSDN下载

  • 链接:C语言轻量级编译调试工具 Dev C++ v6.5

六、安装 Dev C++

1、语言选择

  • 双击 DevCpp 的 exe 文件,会跳出如下对话框,初学者建议直接用中文。如图五-1所示:

图五-1

2、我接受

  • 同意安装,如图五-2所示:

图五-2

3、下一步

  • 点击下一步,如图五-3所示:

图五-3

4、选择安装位置

  • 选择一个你钟意的安装路径,点击安装,如图五-4所示:

在这里插入图片描述

图五-4

5、看他装完

  • 看他安装完,大概 7 秒左右,如图五-5-1所示:

图五-5-1

图五-5-2

七、配置

1、选择语言

  • 选择一个你钟意的语言,推荐用中文,强我国威,壮我河山!点击 Next,如图六-1所示:

图六-1

2、选择配色

  • 选择一个你看着舒服的配色方案,推荐 VS Code,如图六-1所示:

在这里插入图片描述

图六-1

八、写一段代码

1、新建文件

  • 点击界面左上角的 【新建】 按钮,选择【源代码】菜单栏,如图七-1所示;
    图七-1

2、写代码

  • 把我们第一章中写过的代码,写到这个文件中。建议自己一行一行写哦,复制粘贴 和 自己敲出来的感觉是不一样的。
#include 
int main() {
     
    printf("光天化日写C语言!\n");
    return 0;
}

3、保存文件

  • 点击菜单栏的【保存】按钮,或者 Ctrl + S 快捷键保存文件。

在这里插入图片描述

图七-3

4、编译运行

  • 点击菜单栏的【编译运行】或者 F11 按钮,就会跳出一个控制台,如图七-4所示:

图七-4


九、变量

在这里插入图片描述

1、变量的定义

对于一个变量而言,有三部分组成:
  1)变量类型;
  2)变量名;
  3)变量地址;

  • 在C语言中,我们可以通过如下的方式定义一个变量:
    int Iloveyou;

1)变量类型

  • int表示变量类型,是英文单词 Integer 的缩写,意思是整数。

在这里插入图片描述

2)变量名

  • Iloveyou表示变量名,也可以叫其它名字,例如:WhereIsHeroFromILoveYou1314等等。
  • 这个语句的含义是:在内存中找一块区域,命名为Iloveyou,用它来存放整数。
  • 需要注意的是,最后有一个分号,int Iloveyou表达了一个语句,要用分号来结束。需要注意的是,最后有一个分号,int Iloveyou表达了一个语句,要用分号来结束。

在这里插入图片描述

3)变量地址

在这里插入图片描述

2、变量的赋值

  • C语言中可以用以下语句把 520 520 520 这个整数存储到Iloveyou这个变量里:
    Iloveyou = 520;

在这里插入图片描述

  • =在数学中叫 “等于号”,例如 1 + 1 = 2,但在C语言中,这个过程叫做变量的赋值,简称赋值。赋值是指把数据放到内存的过程。

3、变量的初始化

  • 把上面的两个语句连起来,得到:
    int Iloveyou;
    Iloveyou = 520;
  • 当然,我们也可以写成如下形式:
    int Iloveyou = 520;

在这里插入图片描述

  • 两段代码的执行结果相同,都是把Iloveyou的值变成 520 520 520

在这里插入图片描述

4、变量的由来

  • 如果我们需要,可以随时改变它的值,如下代码所示:
    int Iloveyou = 520;
    Iloveyou = 521;
    Iloveyou = 522;
    Iloveyou = 523;
  • 代码执行完毕以后,它的值以最后一次赋值为准,正因为可以不断修改,是可变的,所以才叫变量。

  • 简单总结一下就是:数据是放在内存中的,变量是给这块内存起的名字,有了变量就可以找到并使用这份数据。

5、多变量的定义

  • 如果几个变量的类型一致,我们可以写在一行上进行定义,如下:
    int x, y, z = 5;
  • 这段代码代表一次性定义了三个整型类型的变量,并且将z初始化为 5,等价于如下代码:
    int x; 
    int y;
    int z = 5;

6、变量间的赋值

  • 变量不能赋值给数字,但是变量可以赋值给变量。
    int a, b;
    520 = a;  // 错误
    a = b;    // 正确

【例题1】给出如下代码,求输出结果是什么。

#include 
int main()
{
     
    int a = 1314, b = 520;
    b = a;
    a = b;
    printf("a=%d b=%d\n", a, b);
    return 0;
}

十、数据类型

在这里插入图片描述

  • 接下来我们展开来讲一下变量类型,更加确切的讲,应该叫数据类型,C语言中有如下一些系统内置数据类型。

1、内置数据类型

  • 从上面这个表,我们可以看到,有表示字符的,有表示整数的,也有表示浮点数的。

在这里插入图片描述

  • 先来简单看下每种内置类型是如何进行定义的:
    char a = 'a';
    short b, c, d = 1314, e, f;
    int g = 5201314;
    long long h = 123456789;
    float i = 4.5;
    double j = 4.50000;

2、数据的大小

在这里插入图片描述

  • 字节是计算机中的一种基本单位,英文名为 Byte,计算机中所有的数据都是由字节组成的。
  • 我们通常在计算机中看到的文件单位 B 、K、M 、G、T 和字节的关系如下:

  • 一个字节在计算机里面是有 8 个位组成,一个位有 0 和 1 两种状态,所以一个字节能表示的状态数就是 2 8 = 256 2^8 = 256 28=256。如图四-2-1,代表的是一个字节的状态,白色代表0,灰色代表1,它的二进制表示就是 ( 00001101 ) 2 (00001101)_2 (00001101)2
    图四-2-1

3、整数的表示范围

  • 这样一来,上面提到的几种整数类型,能够表示的整数就显而易见了,假设字节数为 n n n,那么能够表示的整数个数就是能够表示的状态个数,即: 2 8 n 2^{8n} 28n
  • 由于我们需要表示负数 和 零,实际的每种整数数据类型能够表示的数字范围如下表所示:

十一、变量名

1、标识符

  • 定义变量时,我们使用了诸如 loveIloveyou这样的名字,为了表达变量的作用,这就叫 标识符,即 Identifier。
  • 标识符就是程序员自己起的名字,除了变量名,后面还会讲到函数名、常量名、宏名、结构体名等,它们都是标识符。

2、关键字

  • 关键字(Keywords)是由C语言规定的具有特定意义的字符串,通常也称为保留字,例如 intcharlongintunsigned int等。
  • 程序自己定义的标识符不能与关键字相同,否则会出现错误。
  • 后续会对各个关键字进行一一讲解。

3、命名规则

  • ( 1 ) (1) (1) 必须由字母、数字 或者下划线构成,如 _aaa123_都是合法的变量,?*a a#、都是非法的变量;
  • ( 2 ) (2) (2) 不能以数字开头,如123abc不是一个合法的变量名;
  • ( 3 ) (3) (3) 大小写敏感,即大小写看成不同,即oO不是同一个变量;
  • ( 4 ) (4) (4) 不能将变量名和C语言的语法保留关键字同名;
  • ( 5 ) (5) (5) C语言虽然不限制标识符的长度,但是它受到 编译器 和 操作系统 的限制。例如在某个编译器中规定标识符前 256 位有效,当两个标识符前 256 位相同时,则被认为是同一个标识符。
  • ( 6 ) (6) (6) 标识符命名时还是最好遵循 min-length-max-infomation 的原则,即以最小的长度表达最全的信息,不过这个是规范上的,语言层面是不会做过多的限制的。

【例题2】给出一段程序,请回答这段程序的运行结果。

#include 

int main()
{
     
	int IloveYou = 0;
	ILoveYou = 1314;
	ILoveYou = ILoveYou;
	ILoveYou = 520;
	printf("%d\n", ILoveYou);
    return 0;
}
  • 建议先看代码,心里想着一个答案,然后再去 光天化日学C语言(01)- 第一个C语言程序 中提到的在线编译环境中将代码一行一行敲出来,看看和你自己想的结果是否一致。

让天下没有难学的算法

C语言免费动漫教程,和我一起打卡!
光天化日学C语言

入门级C语言真题汇总
C语言入门100例

几张动图学会一种数据结构
画解数据结构

组团学习,抱团生长
算法入门指引

竞赛选手金典图文教程
夜深人静写算法

粉丝专属福利

语言入门:《光天化日学C语言》(示例代码)
语言训练:《C语言入门100例》试用版
数据结构:《画解数据结构》源码
算法入门:《算法入门》指引
算法进阶:《夜深人静写算法》算法模板

  

验证码 可通过搜索下方 公众号 获取

你可能感兴趣的:(c语言,数据结构,c++,C/C++,算法)