C语言环境搭建(Win)

news2024/12/22 22:45:54

一、C语言简介

1、 C语言简介

C语言是一门通用的、面向过程式的编译型语言,它的运行速度极快,仅次于汇编语言。

C语言是计算机产业的核心程序设计语言,操作系统、硬件驱动、关键组件、数据库等都离不开C语言,广泛应用于底层开发。

C语言诞生于20世纪70年代,当前最新的 C语言标准为 C18 ,在它之前的 C 语言标准有 C89、C99…C11等。

百度百科-C语言发展历史:https://baike.baidu.com/item/c%E8%AF%AD%E8%A8%80/105958?fr=ge_ala

2、C语言程序框架

一个 C语言程序,可以是 3行,也可以是数百万行,它可以写在一个或多个扩展名为 “.c” 的文本文件中,你可以使用 “vi”、“vim” 或任何其他文本编辑器来编写=你的 C语言程序。

一个简单完整的程序如下(hello.c文件):

#include <stdio.h>
 
int main()
{
    /* 我的第一个 C 程序 */
    printf("Hello, World! \n");
 
    return 0;
}

第 1-3 行、第 5-6 行是固定的,所有C语言源代码都必须有这几行。

实例解析:

  • main函数:所有的 C语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。
  • /* … */: 用于注释说明。
  • printf() :用于格式化输出到屏幕。printf() 函数在 “stdio.h” 头文件中声明。
    • stdio.h:是一个头文件 (标准输入输出头文件) ,
    • #include:是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
  • return 0; 语句:终止 main() 函数,并返回值 0。

3、什么是源文件

在开发软件的过程中,我们需要将编写好的代码(Code)保存到一个文件中,这样代码才不会丢失,才能够被编译器找到,才能最终变成可执行文件。这种用来保存代码的文件就叫做源文件(Source File)。
每种编程语言的源文件都有特定的后缀,以方便被编译器识别,被程序员理解。源文件后缀大都根据编程语言本身的名字来命名,例如:

  • C语言源文件的后缀是.c;
  • C++语言(C Plus Plus)源文件的后缀是.cpp;
  • Java 源文件的后缀是.java;
  • Python 源文件的后缀是.py;
  • JavaScript 源文件后置是.js。

源文件其实就是纯文本文件,它的内部并没有特殊格式。

源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。

二、Windows上安装 C编译器

写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。

C 语言编译器用于把源代码编译成最终的可执行程序。C语言编译器的分类:图来自网络

在这里插入图片描述

1、安装 MinGW

为了在 Windows 上安装 GCC,需要安装 MinGW。

1.1 下载安装

官方网址:https://www.mingw-w64.org/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这里下载 GCC 12.3.0 + LLVM/Clang/LLD/LLDB 16.0.4 + MinGW-w64 11.0.0 (UCRT) - 64位。

从官网可知,下载好的 zip文件,只需要解压就可以开始使用 mingw64\bin中的程序了。

在这里插入图片描述

将 mingw64文件夹放到你常用的安装目录中。

在这里插入图片描述

1.2 配置环境变量

将 mingw64\bin 添加到 path环境变量中。

在这里插入图片描述

1.3 检查gcc版本

在 cmd窗口中输入 gcc -v 查看版本信息。如图所示则添加环境变量成功。

在这里插入图片描述

2、运行 hello.c源文件

(1)编写 hello.c文件

#include <stdio.h>
 
int main()
{
    /* 我的第一个 C 程序 */
    printf("Hello, World! \n");
 
    return 0;
}

(2)编译 c文件

输入命令将 c文件编译成 exe可执行文件。

gcc hello.c -o hello.exe

(3)运行 exe文件

在当前目录下会生成 hello.exe的可执行文件,然后输入 hello.exe 就可以执行了。

D:\TempFiles>gcc hello.c -o hello.exe

D:\TempFiles>hello.exe
Hello, World!

D:\TempFiles>

– 求知若饥,虚心若愚。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1044676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10CQRS

本系列包含以下文章&#xff1a; DDD入门DDD概念大白话战略设计代码工程结构请求处理流程聚合根与资源库实体与值对象应用服务与领域服务领域事件CQRS&#xff08;本文&#xff09; 案例项目介绍 # 既然DDD是“领域”驱动&#xff0c;那么我们便不能抛开业务而只讲技术&…

SigFit—光-机-热耦合分析工具

美国Sigmadyne公司的SigFit软件是光机热耦合分析工具&#xff0c;可以将有限元分析得到的光学表面变形等结果文件通过多项式拟合或插值转化为光学分析软件的输入文件&#xff0c;还可实现动态响应分析、光程差分析、设计优化、主动控制/自适应控制光学系统的促动器布局及优化等…

美篇作文网教学资源源码-自带作文数据

非常漂亮的UI设计和页面排版&#xff01; 自适应手机pc端 页面内容均支持自定义 可以用来做网站矩阵&#xff0c;或者增强你其他网站板块&#xff0c;或者单独运营都可以。 可以通过广告方式变现&#xff0c;或者引流等等 友好的seo&#xff0c;更容易被浏览器收录 关注青狐…

软件测试面试题 —— 整理与解析(5)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

5153. 删除

题目&#xff1a; 样例1&#xff1a; 输入 3454 输出 YES 344 样例2&#xff1a; 输入 10 输出 YES 0 样例3&#xff1a; 输入 111111 输出 NO 思路&#xff1a; 这道题就三个条件 关键条件是 能够被 8 整除。 而能被 8 整除的有一个重要的性质是 能够被 8 整除的重要…

MySQL - 全表分组后,获取组内排序首条数据信息

性能 不详!!! 不详!!! 不详!!! 请谨慎使用!!!环境 MySQL服务: 8.0版本;思路 使用8.0版本的新函数特性: row_number(): 序号函数; 顾名思义, 就是给每组中的元素从1开始按顺序加上序号;over(): 其中两个语法如下 partition: 按某字段分组;order by: 按某字段排序;注意: 两函数详…

【深度学习实验】前馈神经网络(final):自定义鸢尾花分类前馈神经网络模型并进行训练及评价

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 构建数据集&#xff08;IrisDataset&#xff09; 2. 构建模型&#xff08;FeedForward&#xff09; a. __init__(初始化) b. forward(前向传播) 3.整合训练、评估…

Json文件反序列化读取

Json文件 [{"name":"清华大学","location":"北京","grade":"1"},{"name":"北京大学","location":"北京","grade":"2"} ] 安装包 代码 Program.c…

Redis应用(8)——Redis的项目应用:结合SpringBoot如何在Redis里面存对象 RedisUtil工具类的封装 遇到的问题

前言 Redis作为一款优秀的开源、高效的内存数据库&#xff0c;在各种项目中都能见到其身影&#xff0c;熟练使用Redis是程序员必备的技能之一。本系列博客结合应用场景&#xff0c;阐述Redis从安装到使用的&#xff0c;从入门到进阶的相关内容。 本篇博客介绍在Spring项目中&…

免费AI人工智能,人工智能写文章软件

在当今信息爆炸的时代&#xff0c;内容创作已经成为了无处不在的需求。从博客、新闻报道到广告宣传&#xff0c;人们对于高质量的文本内容的需求愈发迫切。然而&#xff0c;面对繁忙的生活节奏和不断增长的写作任务&#xff0c;许多创作者感到焦头烂额。 从博客作者到广告写手&…

系统集成|第十六章(笔记)

目录 第十六章 信息&#xff08;文档&#xff09;和配置管理16.1 文档管理16.2 配置管理 上篇&#xff1a;第十五章、采购管理 下篇&#xff1a;第十七章、变更管理 第十六章 信息&#xff08;文档&#xff09;和配置管理 16.1 文档管理 信息系统项目相关信息&#xff08;文档…

记录一次错误---想让U-net网络输入大小不一致的图片

最近在看Deeplab系列的论文&#xff0c;文中提到了语义分割领域的一个难题是&#xff1a;将图片输入网络之前需要resize成统一大小&#xff0c;但是resize的话会造成细节信息的损失&#xff0c;所以想要网络处理任意大小的图片输入。我之前训练的U-net网络都是resize成224*224大…

基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(三)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; ruoyi-nbcio: nbcio-boot的若依版本,基于ruoyi-flowable-plus和flowable6.7.2&#xff0c;目前处于移植功能阶段&#xff0c;目标是打造一个最好的若依平台上flowable流程管理系统开源版本&#xff0c…

【项目】Http服务器

【项目】Http服务器 项目简介 背景&#xff1a; http协议被广泛使用&#xff0c;从移动端&#xff0c;pc端浏览器&#xff0c;http协议无疑是打开互联网应用窗口的重要协议&#xff0c;http在网络应用层中的地位不可撼动&#xff0c;是能准确区分前后台的重要协议。 描述&a…

MD5 绕过第一式:弱比较绕过

文章目录 参考环境MD5韧性脆弱性md5() 隐式类型转换字符串连接数学运算布尔判断相等运算符 科学计数法科学计数法前缀 0E 与 0e PHP8 与 PHP 其他版本下字符串转化为数值的具体规则PHP8数值字符串优化 其他版本更为详细的讲解 字符串与字符串的弱比较字符串与数值的弱比较0e215…

git查看自己所在的分支

很多时候可能大家不太想切换其他工具&#xff0c;又不知道自己是否在自己需要操作的分支 可以直接终端执行 git branch此时 他就会在终端将所有的本地分支输出出来 并特殊标注自己所在的分支 这样我们就可以进一步去做自己想要做的操作了 当然 随着各种编辑器的发展 这个命令…

视频剪辑软件哪个好? 2023年最新功能解析

如今聊到视频的话题&#xff0c;大家可能都注意到近年来火爆的抖音短视频。从图片到动画&#xff0c;从动画到视频。时代在发展&#xff0c;技术在更新。到了近几年小视频也火了&#xff0c;其实不乏缺有视频剪辑软件的功劳。现在不少朋友在业余时间都喜欢剪辑视频来丰富自己的…

支撑电动汽车规模化,特来电智能化升级群充产品

9月26日&#xff0c;中国领先的充电网生态运营商特来电重磅发布智能群充4.0产品&#xff0c;标志着特来电群充产品体系进一步升级&#xff0c;充电行业迎来更高质量、更高性能的设备与系统&#xff0c;充电网基础设施将更好地支撑大规模电动汽车的发展。 群充技术路线引领充电…

音频处理基础的一些笔记碎片

感谢 B 站上关于 EQ 扫盲视频分享 &#x1f50a;声音变好听-让均衡器改变你的音色|均衡器怎么调&#xff1f;&#xff08;adobe audition 2020基础教程&#xff09; 简要内容 a. 人耳能够听到的频率 20HZ-20000HZ&#xff1b; b. 人耳普遍认为低于 80HZ 是噪声&#xff1b; c. …

华为智能企业上网行为管理安全解决方案(1)

华为智能企业上网行为管理安全解决方案&#xff08;1&#xff09; 课程地址方案背景需求分析企业上网行为概述企业上网行为安全风险分析企业上网行为管理需求分析 方案设计组网架构设备选型设备简介行为管理要点分析方案功能概述 课程地址 本方案相关课程资源已在华为O3社区发…