C语言介绍

news2024/12/23 13:28:45

C语言的简洁

C语言仅有32个关键字、9种控制语句、34种运算符即可实现无数的功能。

关键字

可省略的关键字:auto、extern、signed.
复合类型的关键字:enum、struct、union.

include

include表示导入,include可以导入任意的文件。
比如#include <stdio.h>表示导入stdio.h这个头文件(PS: std表示标准,io是inputoutput的缩写,所以stdio表示标准的输入输出库)。

include后面可以跟<>也可以跟""<>表示导入系统文件,""表示导入自定义文件。

函数

main函数是程序的主函数,有且仅有一个。

return出现在main函数中表示程序结束,出现在其它函数中表示函数结束。

system函数可以启动一个外部应用程序。参数可以是cmd命令(如:calc、mspaint等),也可以是应用程序的exe文件的绝对路径(路径分隔符为/\\)。

分布编译

  1. 预处理:宏定义展开、头文件展开、条件编译、去掉注释,不检查语法;
  2. 编译:检查语法,若语法正确,将预处理后的文件生成汇编文件;
  3. 汇编:将汇编文件生成目标文件(机器语言,即二进制文件);
  4. 链接:将依赖库链接到最终的可执行程序中;
编译步骤命令
预处理gcc -E hello.c -o hello.i
编 译gcc -S hello.i -o hello.s
汇 编gcc -c hello.s -o hello.o
链 接gcc hello.o -o hello
选项含义
-E只进行预处理
-S(大写)只进行预处理和编译
-c(小写)只进行预处理、编译和汇编
-o file指定生成的输出文件名为 file
文件后缀含义
.cC 语言文件
.i预处理后的 C 语言文件
.s编译后的汇编文件
.o编译后的目标文件

在这里插入图片描述

程序执行过程

在这里插入图片描述

IDE(Visio Studio)

断点与调试

断点:在选中行按F9,或在最左侧鼠标单击,如下所示。
在这里插入图片描述
调试

  1. 断点
  2. “调试”–“开始调试(F5)”
  3. “调试”–“窗口”–“反汇编”
  4. 逐句调试或逐过程调试
    逐句调试:当调试到调用的函数时可以进入该函数的函数体调试;
    逐过程调试:当调试到调用的函数时不进入该函数的函数体调试,直接跳到下一行代码调试;
    在这里插入图片描述

快捷键

补全语法:Ctrl+J弹出提示,选择语法,点击tab键可以补全语法
格式化代码:Ctrl+K,Ctrl+F
注释选中行:Ctrl+K,Ctrl+C
取消选中行的注释:Ctrl+K,Ctrl+U
逐语句执行:F11
逐过程执行:F10
跳出过程:Shift+F11
停止调试:Shift+F5

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

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

相关文章

Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息

上一章节中我们带大家编写了第一个Windows程序&#xff0c;并且带大家学习了注册窗口&#xff0c;创建窗口&#xff0c;这一章中我们来学习Windows消息&#xff0c;学习对消息循环处理的原理&#xff0c;并且带领大家学习一些常见的消息。 文章目录 一.消息基础1.消息概念及其作…

AOF 持久化详解

文章目录 AOF 相关配置AOF 文件的修复AOF 文件格式RESP 协议查看 AOF 文件清单文件 AOF RewriteRewrite 策略手动Rewrite自动Rewrite AOF 持久化过程AOF优缺点AOF与RDB混合持久化 AOF (Append Only File) 是把所有对内存进行修改的指令&#xff08;写操作&#xff09;以独立日志…

《花雕学AI》用AI创造清晨的美好:ChatGPT+DALL-E 2 生成“早上好”的场景图

早晨是一天中最美好的时刻&#xff0c;也是最适合与AI对话的时刻。想象一下&#xff0c;当你醒来&#xff0c;打开手机&#xff0c;就能看到一个AI为你生成的“早上好”的场景图&#xff0c;是不是很温馨&#xff1f;这就是ChatGPTDALL-E 2&#xff08;新Bing&#xff09; 的魅…

Elevate:全世界最小的介入泵,融资五千万美金

近日&#xff0c;以色列医疗器械公司Magenta Medical宣布完成5500万美元的C轮融资&#xff0c;该公司主要产品Elevate是目前全球最小的心脏介入泵&#xff0c;主要用于治疗急性心力衰竭患者和高危PCI的辅助。该泵采用了创新的设计和材料&#xff0c;可以通过桡动脉插入&#xf…

哪款远程控制软件可以远程玩游戏?

远程控制软件可以让你在不同设备之间进行远程控制。许多人可能会想知道&#xff0c;哪款远程控制软件可以在远程玩游戏时享受更好的游戏体验。 首先&#xff0c;在寻找适合远程游戏的远程控制软件之前&#xff0c;我们需要知道什么是远程游戏和远程控制。 远程游戏是一种允许玩…

第十二章_Redis单线程 VS 多线程

Redis为什么选择单线程&#xff1f; 是什么 这种问法其实并不严谨&#xff0c;为啥这么说呢? Redis的版本很多3.x、4.x、6.x&#xff0c;版本不同架构也是不同的&#xff0c;不限定版本问是否单线程也不太严谨。 1 版本3.x &#xff0c;最早版本&#xff0c;也就是大家口口相…

一文读懂 DNS 解析

导读 文章为“一文读懂域名与网站系列”第二篇&#xff0c;上篇文章主要介绍了域名的注册、建站和管理&#xff0c;通过本文你可以了解以下几个问题&#xff1a; 域名的结构、常用解析记录的类型 DNS 解析的过程 DNS 解析拓展知识 众所周知&#xff0c;互联网中的地址其实是…

想让行车记录仪协助道路病害自动化检测?可以!

针对【RGB3DS道路表观病害信息智慧检测系统】&#xff0c;我们着重介绍过其与道路检测车做集成预装或者处理道路检测车数据的极大便利&#xff0c;其中之一便是可高效输出带有道路检测车桩号标记的病害报表&#xff0c;这是因为道路检测车数据本身具有规范性。 那么如果使用道…

Linux(类Unix)系统可执行程序ELF文件格式详解

我们知道一个Linux程序饱和程序代码和初始数据&#xff0c;那么这些程序二进制代码和初始数据在可执行程序文件中是怎么进行存储呢&#xff1f;这便是ELF文件格式要解决的问题。 一个Linux执行程序的内存结构粗略可划分为 代码段、数据段、BSS、堆、栈&#xff0c;如下图所示&…

Golang Gin 使用路由分类处理请求

在前面已经学习了gin框架如何处理请求&#xff0c;解析请求&#xff0c;返回数据。 在实际的项目当中&#xff0c;项目往往是以模块化来进行划分和开发的&#xff0c;所谓的模块化就是按照功能来划分&#xff0c;比如会有产品模块&#xff0c;会有用户模块&#xff0c;会将用户…

如何用ChatGPT协助搭建品牌视觉体系(VI)?

该场景对应的关键词库&#xff08;18个&#xff09;&#xff1a; VI体系、品牌、目标市场、品牌DNA、人群特征、设计理念、标志设计、配色方案、字体选择、图形元素、价值观、形象、客户经理、需求、品牌定位、目标受众、主色调、辅助色 提问模板&#xff08;2个&#xff09;&…

并发编程09:ThreadLocal

文章目录 9.1 ThreadLocal简介9.1.1 面试题9.1.2 是什么&#xff1f;9.1.3 能干吗&#xff1f;9.1.4 API介绍9.1.5 永远的helloworld讲起9.1.6 总结 9.2 ThreadLocal源码分析9.2.1 源码解读9.2.2 Thread、ThreadLocal、ThreadLocalMap关系9.2.3 总结 9.3 ThreadLocal内存泄漏问…

基于html+css的图展示53

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

网络:TCP协议三次握手与四次挥手

一、理解TCP报文 TCP报文格式_TCP报文包含哪些内容&#xff1a; TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。 TCP在发送数据前必须在彼此间建立连接&#xff0c;这里连接意思是&#xff1a;双方需要内保存对方信息&#xff08;例如&…

leecode100_第7题接雨水_双指针

1 题目 2 分析 简述&#xff1a;两个指针分别指向两端&#xff0c;通过判断柱子的升降趋势来判断是否可以接水。 思路如下&#xff1a; 变量l_max,r_max分别记录当前时刻&#xff0c;左右遍历过的柱子的最高的高度&#xff0c;因为它奠定了水能积多高。分情况判断&#xff1a…

2437. 有效时间的数目

2437.有效时间的数目 给你一个长度为 5 的字符串 time &#xff0c;表示一个电子时钟当前的时间&#xff0c;格式为 “hh:mm” 。最早 可能的时间是 “00:00” &#xff0c;最晚 可能的时间是 “23:59” 。 在字符串 time 中&#xff0c;被字符 ? 替换掉的数位是 未知的 &am…

【Python三方库】使用tle2czml库将tle数据转为czml数据

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 一、安装tle2czml二、tle2czmlc创建czml三、tle转成czml1.字符串2.文件&#xff08;网络文件&#xff09; 四、czml参数修改 一、安装tle2czm…

【PWN · ret2syscall】[Wiki] ret2syscall

初次接触到ret2syscall&#xff0c;而ret2syscall的题目目前没有在各大平台的题目类型筛选中找到&#xff0c;所以还是刷一刷Wiki的经典题目吧&#xff01;过程中遇到很多问题&#xff0c;包括偏移量的计算、ret2syscall原理的理解等等。尝试以萌新的视角&#xff0c;来分享、解…

网页版的 Redis 可视化工具来了,已开源

介绍 轻量级Redis缓存图形化管理工具&#xff0c;包含redis的5种数据类型的CRUD操作 软件架构 后端 springboot 2.2.2.RELEASE JDK 1.8 jedis 3.2.0 commons-lang3 3.5 hutool-core 5.1.1 fastjson 1.2.62 h2database 1.4.200 前端 vue-admin 1.0.5 axios 0.15.3 …

【Linux】exec函数族

目录 1、exec函数族的介绍2、exec相关函数 1、exec函数族的介绍 2、exec相关函数 #include <unistd.h> int execl(const char *pathname, const char *arg0, ... /* (char *)0 */ ); /* - path 需要指定的执行的文件的路径或者名称&#xff0c;相对路径or绝对路径- arg …