教你如何写一个简单的C语言
众所周知C语言是个基础的语言,是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。如果你学会了C语言,那么像python,jove等由C语言衍生出来的语言的学习将更加容易地去学。
话不多说,现在开始教你们
首先上图就是一个最简单的C语言程序。这个程序是每个学习C语言的程序猿都曾打过的halloword,这是入门必打的,也是最简单的程序(简称是个人都会打),那么问题来了,你们一定不懂上面的英文,这没关系。
首先我们来看上图的这个,上图的代码是指(要用到的工具),也可以说是库,通俗地说就是你要用stdio.h这里面工具,include在英文中有包含的意思,在代码里意思也差不多,都是说包含这个工具,而上图的代码的意思是需要利用stdio.h里的工具,如果你要进行数学计算就要把加#include<math.h>加到下面。
int main()是主函数的意思 int 整型函数,也是基本的整型函数,整型函数有long , short等等整型函数,除了整型函数还有很多的函数,想知道自己去查。
后面1用{}括起来的就是自己发挥的了,在这个程序中我想让电脑显示如下
printf是个输出的工具,scanf是输入的工具(这个怎么用,有机会再说)我们将我们想说的话写在printf后面,那么就可以了
还有几点要强调,1就是要用英文符号,不然会出错;2{}括号里面每一段都要用分号;3return0;可写不写,对初学者没要求;4int main()写一次就可以了,一个程序只有一个主函数
最后我讲一下C语言概括:C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。 [2]
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。 [3]
C语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。
分分钟教你如何在win10中运行第一个C语言程序
作者:极客小俊
一个把逻辑思维转变为代码的技术博主
概述
编译器,可以简单地将它理解为一种翻译器, 就类似于专门的翻译一样, 要知道,计算机只认识二进制也就是 0 和 1 组成的代码指令
而我们平常所编写和开发的的 C 、C++、java、php、Go、python等等代码计算机本身是根本无法识别的,只有将这些程序代码中的每条语句翻译成对应的二进制指令,计算机才能执行, 这就是编译器的核心作用!
GCC 全称 GNU Compiler Collection 是由GNU开发的编程语言编译器 所以说 GCC就是C语言的翻译器
那么GNU又是一个什么鬼? 这是一个了不起的计划 什么计划呢? 说到这个就不得不说一下历史了
在 1983 年 有一个叫理查德·斯托曼的人发起的名为GNU计划 他的目标是打造出一套完全自由也就是自由使用、自由更改、自由发布、开源的操作系统, 你可以理解为不要钱! 然后这个系统就暂定为GNU 操作系统并且也设计出了这套系统的内核并命名为The Hurd
但是这个计划还没有搞出个啥花样就横空出世了另外一个开源操作系统Linux, 这个大家都知道吧 , 所以最终经过种种事情之后(此处省略几百字) , GNU 计划选择Linux 作为 GNU 操作系统的内核, 那么GNU有了这个Linux基础之后就基于这个平台开发了许多系统的部件 其中就有一个部件叫做GCC
现在有些人叫GNU/Linux 还有些人直接就叫Linux 也就是这么来的, 所以有的时候你可以理解为GCC就是为开源系统打造的一款编译器也可以说是Linux 下的C/C++ 编译器
最初GCC 的确只是用来翻译C语言的, 随着时间的迭代不断的更新 ,不断的进步,GCC的翻译功能也得到了很大的扩展, 它不仅可以用来编译 C 语言,还可以编译 Fortran、Pascal、Objective -C、Java、Ada、Go 等多种编译语言所编写的代码
那么此时此刻的GCC功能上也已经不在单一了,而是一整套的组合拳功能, 是支持多种程序语言的编译器,算是一种编译器合集Compiler Collection 后来就被叫做 GNU编译器套件
GCC和Linux渊源极深, 目前几乎所有的 Linux 发行版默认安装有 GCC编译器
我们既然学习的是C语言,那么GCC的核心目的是将我们编写的C语言程序编译成一个二进制可执行文件
GCC编译器本身是没有界面窗口,使用它必须编写对应的gcc 命令, 所以熟悉gcc命令就显得很重要了,否则你怎么编译你的C语言程序代码呢?
当然你也可以使用集成开发环境IDE 这些通常都集成了 GCC 编译器,例如:Visual Studio 2019, 集成了GCC 编译器功能的同时,还向用户提供了友好的可视化编辑界面, 不用你去记忆那么多的gcc命令照样可以肆无忌惮的编译你的C语言程序代码, 相对而言降低了学习成本, 但个人建议GCC的基本命令还是要学一下
但不是所有的IDE都集成了GCC的, 如果没有集成GCC 那么你就可能只有通过手工来进行代码的编译操作,也就是通过GCC的命令,来执行你的C语言文件, 这个就要分人了,有些人喜欢可视化操作,有些人习惯了命令行操作用相应的 GCC命令来编译C语言或其他程序
概述
MinGW 全称是:Minimalist GNU on Windows 你可以暂时理解它是一个移植到了 windows系统平台下的极简GCC编译器
我们知道GCC是在Linux系统上自动就预装好了的编译器, 那么我们有了MinGW 就可以在windows系统中使用GCC编译器了, 也就是说可以将C语言的源代码编译生成 Windows 下的可执行程序
小提示: 官网提供的 GCC 编译器是无法直接安装到 Windows系统平台上的, 如果我们想在 Windows 平台使用 GCC 编译器,就要安装 GCC 的移植版, 也就是 MinGW 当然还有Cygwin这就不过多赘述了!
总的来说 MinGW 就是 GCC 的 Windows 版本
MinGW 是开源软件,免费使用,一些开源社区持续维护, 支持最新的 C语言 标准
题外话并且目前很多IDE里面集成有GCC, 但实际只是也就是将 MinGW 封装在这些IDE里面 ,让MinGW有图形化界面,操作简单,但内核其实就是MinGW
如果你选择的是一些IDE自带的编译器来编译C语言, 可能会自动生成一大堆杂七杂八的工程文件, 搞得新手摸不着头脑, MinGW 则只会生成一个可执行文件
所以对于初学 C语言 的朋友来说,MinGW 是一个不错的选择
总体来说MinGW 就是需要你动动手, 会一些gcc命令 等等就可以来对C语言的源代码进行编译成window下的可执行文件
而一些IDE则是通过点点按钮就自动编译了,不需要你使用gcc的一些相关命令都可以
MinGW的下载地址如下:
https://osdn.net/projects/mingw/
https://sourceforge.net/projects/mingw-w64/files/
打开地址后在其中找到 Downloads 下载链接, 单击进入稍等片刻就开始下载了
下载方式
下载完成后,会得到一个名为 mingw-get-setup.exe 的安装包,双击打开它,
可以看到如下的对话框, 直接点击Install,即可
根据你自己的需求点击change按钮可以修改安装路径,建议不要在C盘, 这里我安装在D盘, 然后点击continue
进入 MinGW 配置器下载的界面,稍等一下, 待安装完成显示 100%就可以了, 安装完成之后点击continue,会自动弹出MinGW Installer Manager配置界面
进入到 MinGW Installer Manager 的界面, 它的作用是随时根据需要修改 GCC 编译器的配置
为了同时支持编译 C 语言 和 C++我们这里只需要选择两个选项:
mingw32-base-bin这个是用来编译C语言的
mingw32-gcc-g++-bin 这个是用来编译C++语言的
如图
在指定的选项上单击鼠标左键 选择Mark for installation打上安装标记就可以了, 如果选择错误了就点选Unmark取消标记就可以了,
个人建议全部选择免得麻烦!!
选择好了之后, 在菜单栏中选择Installation —-> Apply Changes
会弹出如下对话框 ,点击Apply 然后稍等片刻,直至安装成功即可!
当安装成功之后 显示如下图, 点击close按钮关闭即可!
到此MinGW安装就完成了!
并且在我的D盘的MinGW目录下会出现以下文件夹
小提示
如果有某些组件下载失败,没关系, 可以通过之前的MinGW Installer Manager安装界面进行手动选择指定的安装包进行再次安装 ,比如说安装完成之后你会发现bin目录下没有gcc这个执行程序
那么就可以通过MinGW Installer Manager来进行再次手动的选择安装 就可以了
所以MinGW Installer这个程序新手朋友们不要删除哦 , 免得到处找都找不到~
科普一下 为什么要设置环境变量?
举个栗子
比如: 我们这里需要gcc.exe执行程序来编译C语言源代码, 那么这个gcc.exe程序文件在我电脑中的路径是D:\\MinGW\\bin下的
如图
那么如果我们要使用cmd命令行的形式来打开这个gcc.exe 是不是要使用一些基本的dos命令来进入到这个目录下对吧
如下图
通过这样子的方式来打开gcc 你不觉得很麻烦吗?但是难道我们每次要运行这个程序的时候都要先找到该.exe文件所在的路径, 然后运行,显然很蹩脚, 这时候就需要环境变量了
环境变量是在操作系统中一个具有特定名字的变量对象,它包含了一个或者多个应用程序所将使用到的信息
当要我们求操作系统来运行一个程序的时候, 但又没有告诉它程序所在的完整路径时,那么操作系统除了在当前目录下面寻找此程序外,还会自动的到环境变量中的Path路径去找 用户通过设置环境变量,来更好更加方便的来运行程序!
所以我们的gcc.exe 也应该配置到 环境变量中去,方便我们执行编译的操作!
如何手动配置gcc.exe到环境变量中?
我们依次打开 我的电脑—–>属性 —–> 高级系统设置—–> 环境变量
win10系统中有两种环境变量:用户变量和系统变量
可以配置到当前用户变量的Path里面, 也可以配置到系统变量的Path里面
系统变量配置以后,整个计算机操作系统的所有用户有效
用户变量配置以后,仅对于当前计算机用户有效。
而系统变量与用户变量的Path的意思都是告诉操作系统在找的可执行文件存放的路径,它的查找流程如下:
所以系统变量针对所有用户,而用户变量是当前用户私有的, 这个根据你自己的情况来选择就可以了
我这里就暂时配置到系统变量的Path中去, 选中Path 然后点击编辑按钮, 然后点击新建按钮
我这里的gcc.exe目录为D:\\MinGW\\bin, 那么新建之后的值就为它, 完成之后点击确定返回就可以了!
如图
到此环境变量的配置就完成了, 选中就可以编译我们的C语言程序代码了
你可以先打开cmd命令行窗口 输入以下命令先测试一下:
如果看到以下输出 说明正确配置了环境变量
卸载MinGW很简单, 找到MinGW的安装文件夹, 然后鼠标右键单击选择删除,就可以卸载了
并且把之前配置好的path环境变量的相应目录路径也删除掉!
win10下如何打开环境变量
我的电脑—–>属性——->高级系统设置—–>选择高级选项卡, 在最下面就可以看到环境变量
然后打开环境变量之后 点开, 再找到系统变量, 其中就有一个Path的变量, 点击编辑
然后找到之前配置的MinGW目录 删除就可以了!
通过以上的安装和环境变量的配置之后,我们就可以在当前 Windows 平台上编译和运行我们的 C 或者 C++源代码程序了
举个栗子我们现在要输出一个经典的Hello, World!字符串
代码如下
打开记事本程序,复制一下以上的代码
然后另存为 hello.c文件 , 我这里就暂时保存到桌面
如图
然后在桌面打开cmd 在命令行中执行如下命令:
然后就会在桌面上生成一个test1.exe的可执行文件, 再次在命令行中输出这个test1名称即可输出最终结果!
如图
概述
每次通过记事本和cmd方式单独地使用gcc编译器来输出你的C语言代码肯定不太方便对吧,那么就选择一款IDE集成开发环境来编辑你的C语言代码吧!
IDE 英文全称为: Integrated Development Environment 中文意思就是 集成开发环境
集成开发环境的的核心作用就 用来编写代码的
使用IDE的好处
- 代码还有相应的高亮颜色,便于开发者识别
- 最重要的就是有代码提示,不像你用记事本要一个字母一个字母的敲出来
- 具备代码调试的功能,方便提示出语法错误,逻辑错误 等功能
- 具备项目管理的能力,例如你项目中的文件、图片 等这些资源用一个树形结构管理器来,就跟你的window资源管理器一样,方便开发者查找
- 开发界面可以根据自己的需求进行皮肤上的美化
以上这些功能都被融入在了 集成开发环境当中!
这里在windows系统下我个人推荐CLion、Visual Studio Code、Visual Studio , 当然最好是你通过一段时间的C语言学习之后,再来使用这些IDE工具肯定会更加得心应手! 如果你是新手其实不建议一上来就使用IDE
CLion 下载地址 https://www.jetbrains.com/clion/
使用CLion 来编译C语言,你总要先下载安装吧,建议若条件允许购买正版吧,你懂的 这里就不在过多赘述了!
安装好CLion 之后打开它, 然后点击New Project
然后弹出以下对话框, 选择C Executable 之后根据你自己的需求设置项目保存路径,Language standard语言标准选择C99就行了, 完成之后点击create就可以自动生成项目了
如图
然后你就会看到自动生成好的项目的目录结构和一段基本的C语言代码
在CLion中配置MinGW
如果之前你安装了MinGW 那么最好在这里也在CLion配置一下, 方法如下
点击File菜单下的Settings选项
然后选择Build、Execution、Deployment(构建、执行、部署)选项下的Toolchains(工具链)选项
它会自动检测到MinGW的安装路径, 确保这里没有任何问题之后点击ok
最后我们就可以点击右上角绿色的的Run按钮 开始编译我们的C语言代码了
CLion控制台输出中文乱码
如果你想用printf输出中文,但是出现以下乱码的情况
如下图
解决办法:
既然是乱码 那么肯定是编码不正确导致的,所以修改一下CLion中的编码设置就可以了
首先最好保证我们整个项目的文件编码统一
点击File菜单下的Settings选项, 然后选择Editor下的File Encodings(文件编码)
把所有位置都设置为UTF-8编码 ,这是为了你在代码区编辑中文的时候 编码统一
如下图
然后点击右下角的UTF-8位置,会弹出当前输出窗口的内容编码, 这里修改为GBK编码
然后会弹出一个对话框选择Convert转换按钮就可以了
最后就可以正常输出中文字符串了!
修改控制台活动页字符集
当然如果懂一点的朋友 可以通过修改控制台代码页字符集为utf-8这样来解决CLion汉字中文乱码问题
只要在源代码中加入一行代码就可以了
代码如下
如图
这样不用在底部修改当前输出窗口的内容编码也是可以达到不会乱码的效果!
Visual Studio Code我主要是用来写前端,对于java和C这样要编译的语言来说用它来写就要做一定的配置和环境的搭建,因为默认情况下VS code不能直接对于C语言进行编译和调试的 所以虽然不是很方便,但是它免费啊!
要使用VS code来编辑和运行我们的C语言代码,前提是要下载好VS code和提前安装好集成gcc的MinGW
Vs code下载地址: https://code.visualstudio.com/
下载和安装这里就不过多赘述了,很简单 !
打开VS code 直接在插件市场中搜索以下插件:
C/C++
Code Runner
C/C++ GNU Global
C/C++ Compile Run
点击这些插件上的Install按钮, 先把这些插件都安装上!
安装完以上插件之后,随便在那个磁盘下建立一个test_c的空目录
然后选择File—->Open Folder 选择你刚才创建的空文件夹目录
如图
也可以选择Add Folder to workspace..来添加工作目录
然后在左侧就可以显示出刚才所选择的文件夹目录了,这也就是你的项目文件
接下来就新建一个.c的代码文件
如下图
我们在test_c文件夹下新建一个名为hello.c的文件,然后复制以下代码
最后点击右上角的运行按钮就可以执行C语言代码程序了!
效果如下图
概述
Visual Studio我们简称VS 是美国微软公司的集成开发环境, 可不是VS code哦这两个不一样的!, 它可以支持C、C++、C#、F#、J# SQL Python等语言的开发 还是很强大的一款IDE
Visual Studio下载地址https://visualstudio.microsoft.com/zh-hans/downloads/
个人的话建议下载社区版免费的,学习和普通开发完全足够了, 安装非常简单 就不过多赘述了!
安装的时候唯一只有一个地方要注意的就是: 使用C++桌面开发这一项要勾选上,否则可能会导致你的C或C++代码无法正常运行!
如图
VS 新建项目
安装好了之后打开VS
然后在弹出的对话框中选择c++空项目
接下来就填写项目配置了
项目名称之后生成的项目文件夹名称和工程名称都是这个, 这个目录会自动生成!
项目位置也就是选择你项目保存的目录位置
勾选解决方案和项目放在同一目录中,以后便于调试。
单击创建, 此时应该在桌面会生成一个test_c的文件夹目录
然后就也进入到VS的编辑界面了 , 接下来添加C语言代码源文件
在左侧的解决方案下方的test_c项目文件夹中,选中源文件 右键单击然后选择添加—->新建项
如图
小提示: 如果你在左侧没有看到解决方案资源管理器的话 那么可以按下键盘上的快捷键ctrl+Alt+L来进行打开
然后选择C++文件(.cpp), 把文件名称的后缀需要修改为.c 这里我新建名为hello.c的源文件
如下图
然后还是输入以下代码
接下来按下快捷键Ctrl+F5直接编译运行, 结果如下图所示
到此你已经开启C语言的学习之路了!
\”点赞\” \”评论\” \”收藏\”
大家的支持就是我坚持创作下去的动力!
如果以上内容有任何错误或者不准确的地方,欢迎在下面 留个言指出、或者你有更好的想法,欢迎一起交流学习
编写Windows的语言可不仅有C/C++
微软的Windows长期霸占80%以上的市场份额,Windows视窗界面开启了全世界绝大多数人使用电脑的启蒙之旅,更为震撼的是非洲支教小伙竟然手绘office界面教孩子们学习电脑知识。
1985年11月20日Windows系列的第一产品Windows 1.0问世,距离今天已经36年。在今天来看Windows 1.0粗糙得不能再粗糙,但是在当时Windows 1.0的诞生却相当地吸引人。
很多人没有想到操作电脑居然可以不用靠人键盘输入命令来执行,用户可以通过点击鼠标来完成绝大部分的操作,窗口可以任意缩放,还自带了日历、记事本、计算器等一些简单的应用程序。最主要的是Windows1.0允许用户同时执行多个程序,这对于仅可以敲入命令执行的DOS来说是不可想象的。
如今Windows视窗系统在最初的Windows 1.0的基础上已经发展到了Windows11,当然服务器版本也到了Windows Server 2022。Windows能获得成功可不是只因为它有视窗操作系统,而是装载Windows的兼容主机人人都能买得起,用得起。这对比于同样拥有视窗操作系统,但价格昂贵的苹果操作系统有非常大的不同,所以Windows能快速地衍生各种软件生态环境,并且雄踞市场主流的宝座。
于是很多就在想Windows是怎么开发出来的,它又是使用什么程序来编写的?貌似Windows每一个版本功能变化的并不是很大,它的核心代码是不是真的没有改变过?
Unix可以操作系统可谓是现代操作系统的鼻祖了,1969年至1973年丹尼斯·里奇和肯·汤普逊为了移植与开发Unix操作系统在贝尔实验室设计、开发了C语言。于是后来C语言编译器普遍存在于Unix、Windows、MacOS、Linux等等各种不同的操作系统中,现在许多软件都是由C语言或其影响和派生的编程语言所开发出来的,比如Oracle、Mysql、MS SQL Server、PostgreSQL等当下最为流行的数据库都是用C编码的。
Windows内核有部分是汇编的,但绝大部分是用C语言编写的,尽管Windows源代码并未公开。不过从Windows系统内核越是往用户前台我们就会发现C/C++所编写的内容越来越少,要知道只存在于故事中,实际上画一匹看得上眼的马需要各种练习,使用各种不同的手法和技巧来润色,Windows也是一样的。
如今拥有几百万个文件的Windows已经很难再说它是用哪种程序、语言来编写,就像建一座大楼需要不同的工种,不同的材料来施工。但至少可以说Windows的内核C/C++占据了绝大部分。
Windows执行体服务都建立在核心代码上,包含在文件NTOSKRNL.EXE,单核CPU和多核CPU大小有所不同。主要负责了I/O、对象管理、安全、进程管理等等。
可以说Windows内核是变化很少的一个地方,这个地方牵一发动全身。但也并不意味着它不会变,不可以变。经过了36年的发展演进,如今的Windows内核早已经不是当初的模样。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。