C语言 第一章 认识C语言

news/2025/2/26 21:38:22

目录

C语言的发展史

为什么要学习C语言

常用的IDE工具

Dev-C++

Microsoft Visual Studio

CLion

第一个编程程序

C语言的程序运行机制

C语言的程序结构


C语言的发展史

  • 1960年,ALGOL 60语言诞生,它的块结构、数据类型等概念为C语言奠定了基础。
  • 1969年,美国贝尔实验室的肯·汤普森在开发UNIX系统时,为了克服汇编语言编程的不便,基于BCPL语言开发了B语言,这是C语言的前身。
  •  1972年,丹尼斯·里奇在B语言基础上进行了改进和扩充,在UNIX系统上开发出了C语言,它保留了B语言的简洁性和高效性,同时引入了数据类型、指针等重要概念。
  •  1973年,UNIX系统的内核用C语言重写,这使得C语言与UNIX紧密结合,随着UNIX的广泛应用,C语言也得到了推广。 

C语言之父—丹尼斯·里奇(1941年9月9日-2011年10月12日)

   C语言之父、Unix操作系统的关键开发者。贝尔实验室特别人员奖美国计算机协会(ACM)的图灵奖、汉明勋章、计算机先驱奖、计算机历史博物馆研究员、哈罗德·潘德奖…
   计算机历史学家Paul E.Ceruzzi说:里奇不被人们知道,他的名字一点都不家喻户晓,但是如果你有一台显微镜,能在电脑里看到他的作品,你会发现处处都是他的作品。

  • 此后,这种语言快速流传,广泛用于各种操作系统和系统软件的开发。如UNIX、MS-DOS、Microsoft Windows及Linux等。
  • 1983年,美国国家标准协会(ANSI)成立了专门委员会,开始制定C语言的标准。 
  • 1989年,ANSI发布了C语言的标准版本,即ANSIC,也称为C89,它为C语言的进一步发展和推广提供了统一规范,C语言在操作系统、编译器、数据库等领域广泛应用。

    为什么要学习C语言

1、C语言具有可移植性好、跨平台的特点,用C编写的代码可以在不同的操作系统和硬件平台上编译和运行。
2、C语言在许多领域应用广泛:
 

  • 操作系统:C广泛用于开发操作系统,如Unix、Linux和Windows。
  • 嵌入式系统:C是一种用于开发嵌入式系统(如微控制器、微处理器和其他电子设备)的流行语言。
  •  系统软件:C用于开发设备驱动程序、编译器和汇编器等系统软件。 
  • 网络:C语言广泛用于开发网络应用程序,例如 服务器、网络协议和网络驱动程序。

3、C 语言能够直接对硬件进行操作、管理内存、跟操作系统对话,这使得它是一种非常接近底层的语言,非常适合写需要跟硬件交互、有极高性能要求的程序。
4、学习C语言有助于快速上手其他编程语言,比如C++(原先是C语言的一个扩展,在C语言的基础上嫁接了面向对象编程)、C#、Java、PHP、Javascript等。这些语言都继承或深受C语言的影响和启发。


常用的IDE工具
 

Dev-C++

  • Dev-C++是Windows环境下的一个轻量级C/C++集成开发环境(IDE)。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,适合于在教学中供C/C++语言初学者使用,也适合于非商业级普通开发者使用。

Microsoft Visual Studio

  • Visual Studio(简称VS)是由微软公司发布的集成开发环境。
  • Visual Studio支持C/C++、C#、VB等多种程序语言的开发和测试,可以用于生成Web应用程序,也可以生成桌面应用程序,功能十分强大。但下载和安装很可能耗时数小时,还可能会塞满磁盘。
  • Visual Studio有三种版本:社区版(免费),专业版(第一年1199美元/799美元续订)和企业版(第一年5999美元/2569美元续订)。企业版拥有面向架构师的功能、高级调试和测试等功能。

目前最新版本为Visual Studio 2023。
官网地址:https://visualstudio.microsoft.com


CLion

  • CLion是一款由JetBrains推出的跨平台C/C++集成开发环境(IDE),它具有智能编辑器、CMake构建支持、调试器、单元测试、代码分析等功能,可以极大提高C/C++开发效率。

官网地址:https://www.jetbrains.com/clion

第一个编程程序

eg.hellow  world !

# include "stdio.h"//导入标准库,头文件
viod mian{  // 启动程序的函数
 printf("hellow,world!\n") // 向控制台打印输出
}

C语言的程序运行机制

  • 编辑- - - - - -程序员
  • 编译- - - - - -底层编译器(对源文件进行语法和逻辑结构检查)
  • 链接/连接(将目标程序,库函数或其他目标程序连接成一个可以执行文件)
  • 运行

C语言的程序结构

  1.  程序有一个或多个函数组成
  2.  必须有且只能有一个主函数main()
  3. 程序执行从mian开始,在main()中结束,其它函数通过嵌套函数调用得以执行
  4. c语言由语句组成,用“;”作为语句终止符

实例:

#include <studio.h>
int main{
int a = 5;
int b = 10;
int sum = a+ b;
printf("a+b=%d",sum);
return 0;//main 函数的类型为int类型,返回值也必须为int类型
}


http://www.niftyadmin.cn/n/5869185.html

相关文章

DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级

在近两年由AI引发的生产力革命的背后&#xff0c;一场关乎数字世界秩序的攻防战正在上演&#xff1a;AI生成的深度伪造视频导致企业品牌声誉损失日均超千万&#xff0c;批量生成的侵权内容使版权纠纷量与日俱增&#xff0c;黑灰产利用AI技术持续发起欺诈攻击。 与此同时&#…

C++ openssl AES/CBC/PKCS7Padding 256位加密 解密示例 MD5示例

C openssl AES/CBC/PKCS7Padding 256位加密 解密示例 加密 为了确保 AES 加密使用 AES/CBC/PKCS7Padding&#xff0c;我们需要确保在加密过程中正确处理填充。OpenSSL 的 AES_cbc_encrypt 函数并不自动处理填充&#xff0c;因此我们需要手动实现 PKCS7 填充。 以下是更新后…

一文掌握Splash的详细使用

文章目录 1. 安装与启动 Splash1.1 使用 Docker 安装1.2 直接安装 2. 基本用法2.1 访问 Splash 界面2.2 使用 Splash 渲染页面2.3 使用 Lua 脚本 3. 高级用法3.1 处理 JavaScript3.2 截图与 PDF3.3 处理 AJAX 请求3.4 设置请求头3.5 处理 Cookies 4. 与 Scrapy 集成4.1 安装 Sc…

日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(11): 助动词使用 なります&なりました:復習(ふくしゅう)

日语学习-日语知识点小记-构建基础-JLPT-N4&N5阶段(11): 助动词使用 & なります&なりました:復習(ふくしゅう)  1、前言(1)情况说明(2)工程师的信仰2、知识点(1)基本助词复习(2)なります&なりました:復習(ふくしゅう)3、单词(1)日语单词(2)…

git常用命令(时常更新)

Git基础 添加&#xff06;提交 分支管理 远程仓库 版本回退 处理冲突 暂存改动 git stash 其他常用Git命令 日常git流程&#xff1a; 日常使用 git init # 初始化仓库 git remote add origin <远程地址> # 绑定远程仓库 git checkout -b dev # 创建并切换分支 git a…

优选算法大集合(待更新)

1.双指针 1.1.移动零 leetcode链接&#xff1a;283. 移动零 - 力扣&#xff08;LeetCode&#xff09;​​​​​​ 移动零的问题我们可以将它归类为数组划分的问题&#xff0c;我们将数组划分为非零部分和零部分。我们会使用到双指针的算法&#xff0c;在这里&#xff0c;我…

【PyQt】图像处理系统

@[toc]pyqt实现图像处理系统 图像处理系统 1.创建阴影去除ui文件 2.阴影去除代码 1.创建阴影去除ui文件 UI文件效果图: 1.1QT Desiger设置组件 1.两个Pushbutton按钮 2.两个label来显示图像 3.Text Browser来显示输出信息 1.2布局的设置 1.先不使用任何Layout,把所…

从电子管到量子计算:计算机技术的未来趋势

计算机发展的历史 自古以来人类就在不断地发明和改进计算工具,从结绳计数到算盘,计算尺,手摇计算机,直到1946年第一台电子计算机诞生,虽然电子计算机至今虽然只有短短的半个多世纪,但取得了惊人的发展吗,已经经历了五代的变革。计算机的发展和电子技术的发展密切相关,…