C语言入门第一节-初识C语言

news2024/9/28 7:27:06

 C语言入门第一节-初识C语言

视频教程:C语言教程(全网最具有比喻形象的):持续更新ing_哔哩哔哩_bilibili 

 一.C语言的介绍

由C编写应用:Unix , Linux, MySQL都是由C編写C程序由各种令牌组成,令牌可以是关键宇,标识符,常量,字符串值,或者是一个符号;

1.特点

①.高效性
C语言具有汇编语言才具有的微调控制能力,可以根据具体情况微调程序以获取最大运行速度或最有效地使用内存;

②.可移植性
完美的可移植程序,无需修改代码可以在不同计算机系统中成功编译的程序;(许多计算机体系都可以使用C编译器,C编译器是把C代码转换成计算机内部指令的程序);

③.强大而灵活;        ④.面向程序员;

2.使用C的步骤

(1).定义程序目标(想要程序去做什么)
(2).设计程序(怎么做)
(3).编写程序
(4).编译(下面还会讲解)
编译的细节取决于编程的环境,C编译器负责把C代码翻译成特定的机器语言。其结果是,生成一个用户可以运行的可执行文件,其中包含着计算机能理解的代码。编译器还会检查C语言程序是否有效,如果C编译器发现错误,就不生成可执行文件并报错;

(5).运行程序
在常见环境(包括win命令提示符,UNIX、Linux终端)中运行程序输入可执行文件的文件名,而其他环境可能要运行命令或其他机制。最终生成的程序可通过点击或双击在操作系统中运行;

(6).测试和调试程序
调试:查找并修复错误的过程;

(7).维护和修改代码

3.C的编程机制

用C编程程序时,编写的内容被储存在文本系统中,该文件称为源代码文件,大部分C系统,包括之前提到的,要求文件名以.C为后缀。

4.C编译的基本策略

C编程的基本策略是,用程序把源代码文转换为可执行文件,典型的C实现通过编译和
链接两个步骤来完成这一过程;

编译器把源代码转换成中间代码,链接器把中间代码和其他代码合并,生成可执行文件。链接器把你编写的目标代码、系统的标准启动代码和库代码这三个部分和成一个文件,即可执行文件。对于库代码,链接器只会把程序中用到的库函数代码提取出来;

①.优点:
使用这种分而治之的方法方便对程序进行模块化,可以独立编译单独的模块,稍后再用链接器合并已编译的模块。通过这种方式,如果只更改某个模块,不必因此重新编译其他模块。

②.中间文件
中间文件有多种形式;
我们在这里描述的是最普遍的一种形式,即把源代码转换为机器语言代码,并把结果放在目标代码文件(简称目标文件)中,并不能直接运行该文件。因为目标文件中储存的是编译器翻译的源代码,这还不是一个完整的程序。目标代码文件缺失启动代码,启动代码充当着程序和操作系统之间的接口;

③目标代码和缺少库函数;
几乎所以的C程序都要使用C标准库中的函数。目标代码文件并不包含该函数的代码,它只包含了使用printf()函数指令。 printf()函数真正的代码储存在另—个被称为库的文件中。库函数中有许多函数的目标代码;

               

二.了解编译器

vs2022(Visual Studio 2022)权威指南&&C语言&&软件工程开发的方向&&技巧要领_哔哩哔哩_bilibili

1.错误:

(1).拒绝访问(没有用管理员身份运行,杀毒软件,不要放到c盘因为c盘有些文件夹不允许访问,设备加密,代码冲突,代码问题);

(2).报错,如函数(1.在include下面加
#pragma warning(disable :4996)忽略警告,2.在函数后面加上_s);

(3).错误提示(老式编译器)
实际上,有时不用把编译器报告的所以错误逐一修正,仅修正第1条或前几处错误后,错误休息就会少很多。继续这样做,直到编译器不再报错。编译器另一个常见的毛病是,报错位置比真正错误位置要靠后一行;

2.调试

(1).作用:监听变量,我想知道这个变量在执行某条语句的时候,是什么样的,每一步是怎么执行的(打断点)

(2).输出也是一个不错的调试工具

3.文件

(1).vs表示配置文件
(2).*64》Debug调试文件或Release发行
(3).源文件
(4).sln项目文件
(5).生成文件

4.初学者的代码规范

(1).代码编写规范


(2).记得随时保存
(3).一个项目只能有一个main 函数
(4).乱码如何对齐先全选,Ctr K F

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

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

相关文章

P1059 [NOIP2006 普及组] 明明的随机数————C++

目录 [NOIP2006 普及组] 明明的随机数题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 解题思路Code运行结果 [NOIP2006 普及组] 明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了…

LabVIEW与微信开发数字液压缸测控系统

针对传统煤矿液压支架控制存在的精度和直线度问题,设计了一种数字液压缸测控系统,其核心是LabVIEW软件与微信小程序的结合,以及对应的精准硬件配置。该系统使用了NI CDAQ 9189数据采集控制器、脉冲输出模块和多种传感器(MIK-P300压…

怎么提取伴奏?推荐4个好用软件

怎么提取伴奏?随着音乐在日常生活中的应用越来越广泛,人们对音乐的需求也日益增加。其中,伴奏作为音乐的重要组成部分,往往在创作、娱乐等方面起到关键作用。那么,如何从各种音乐资源中提取出伴奏呢?推荐使…

PyTorch 中的距离函数深度解析:掌握向量间的距离和相似度计算

目录 Pytorch中Distance functions详解 pairwise_distance 用途 用法 参数 数学理论公式 示例代码 cosine_similarity 用途 用法 参数 数学理论 示例代码 输出结果 pdist 用途 用法 参数 数学理论 示例代码 总结 Pytorch中Distance functions详解 pair…

N - Rightmost Digit

题目 Given a positive integer N, you should output the most right digit of N^N. 给定一个正整数 N,您应该输出 N^N 的最右边的数字。 Input The input contains several test cases. The first line of the input is a single integer T which is the number o…

看完这篇我就不信还有人不懂卷积神经网络!

看完这篇我就不信还有人不懂卷积神经网络! 前言 在深度学习大🔥的当下,我知道介绍卷积神经网络的文章已经在全网泛滥,但我还是想要写出一点和别人不一样的东西,尽管要讲的知识翻来覆去还是那么一些,但我想…

寒假思维训练计划day11

每日一题,这两天有事,断更了一天,今天补上,感觉状态也不太好,来道1500的题压压惊。 宣传一下我总结的几个构造题模型,一点个人的浅薄见解: 1、前后缀贪心,比如说观察前后缀的sum&…

关于运维·关于Zabbix监控平台的面试点

目录 引言:明人不说暗话,今天分享几个在面试的时候常被问到关于Zabbix监控平台的面试点 1、zabbix的优点 2、zabbix的缺点 3、zabbix的监控模式 4、zabbix自定义监控怎么做 5、zabbix的自动发现功能 6、zabbix分布式监控有什么特点 引言&#xff1…

QtAV:基于Qt和FFmpeg的跨平台高性能音视频播放框架

目录 一.简介 1.特性 2.支持的平台 3.简单易用的接口 二.编译 1.下载依赖包 2.开始编译 2.1克隆 2.2修改配置文件 2.3编译 三.试用 一.简介 官网地址:http://www.qtav.org/ Github地址:https://github.com/wang-bin/QtAV 1.特性 ●支持大部分…

【新书推荐】Web3.0应用开发实战(从Web 2.0到Web 3.0)

第一部分 Flask简介 第1章 安装 1.1 创建应用目录 1.2 虚拟环境 1.2.1 创建虚拟环境 1.2.2 使用虚拟环境 1.3 使用pip安装Python包 1.4 使用pipregs输出包 1.5 使用requirements.txt 1.6 使用pipenv管理包 第2章 应用的基本结构 2.1 网页显示过程 2.2 初始化 2.3 路由和视图函数…

Vue 2生命周期已达终点,正式结束使命

Vue.js是一款流行的JavaScript框架,拥有广泛的应用和开发者社区。自Vue.js 2发布以来,它在前端开发中扮演了重要角色,并且被广泛采用。然而,技术的发展是无法阻挡的,随着2024年的到来,Vue 2的生命周期也走到…

Multi-Concept Customization of Text-to-Image Diffusion——【论文笔记】

本文发表于CVPR 2023 论文地址:CVPR 2023 Open Access Repository (thecvf.com) Github官方代码地址: github.com 一、Intorduction 最近的文本到图像模型能够根据文本提示生成高质量的图像,可以覆盖广泛的物体、风格和场景。尽管这些模型…

Java方法及方法重载的详解

目录 一、方法的概念及使用 1.1 方法的概念 1.2 方法的定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 1.5 没有返回值的方法 二、方法的重载 2.1 方法重载存在的原因 2.2 方法重载的概念 一、方法的概念及使用 1.1 方法的概念 方法就是一个代码片段. 类似于 C …

6.4.1认识Amor SWF to Video Converter2

6.4.1认识Amor SWF to Video Converter2 安装完Amor SWF to Video Converter2 (本书使用Amor SWF to Video Converter2.4.9版本)后,单击【开始】|【程序】|【Amor SWF to Video Converter】|【Amor SWF to Video Converter】,启动Amor SWF to Video Con…

软件测试阶段简介_单元测试、集成测试、配置项测试、系统测试

文章目录 前言一、软件测试“V”模型二、单元测试三、集成测试四、配置项测试五、系统测试总结 前言 一般来说,按照软件的研制阶段划分,软件测试可分为单元测试、集成测试、配置项测试、系统测试等。本文将对上述各测试阶段进行逐一介绍。 一、软件测试…

K8S Informer机制原理解读 | Reflector

Reflector Informer可以对Kubernetes API Server的资源执行监控(Watch)操作,资源类型可以是Kubernetes内置资源,也可以是CRD自定义资源,其中最核心的功能是Reflector。Reflector用于监控指定资源的Kubernetes资源&…

CSS 实现卡片以及鼠标移入特效

CSS 实现卡片以及鼠标移入特效 文章目录 CSS 实现卡片以及鼠标移入特效0、效果预览默认鼠标移入后 1、创建卡片组件2、添加样式3、完整代码 0、效果预览 默认 鼠标移入后 在本篇博客中,我们将探讨如何使用 CSS 来实现卡片组件,并添加鼠标移入特效&#…

中顺洁柔宣布:年底前发出1.3亿年终奖金

1月15日,中顺洁柔在广东中山顺利举行了2023年的年度会议。会议上,该企业宣布2023年公司销售和生产条线基层员工收入增幅10%,并将发出1.3亿元的年终奖金。在年华交替之际,这一举措成为了行业瞩目的焦点。 年会上,中顺洁…

防爆气象站需要如何维护

TH-FBCQX2 在工业生产中,防爆气象站是保障安全生产的重要设备之一。由于其特殊的使用环境和功能,防爆气象站的维护保养工作显得尤为重要。 一、日常维护保养 清洁:防爆气象站的外部和内部组件需要定期清洁,以去除灰尘、油渍和杂质…

分类预测 | Matlab实现ISSA-SVM基于多策略混合改进的麻雀搜索算法优化支持向量机的数据分类预测

分类预测 | Matlab实现ISSA-SVM基于多策略混合改进的麻雀搜索算法优化支持向量机的数据分类预测 目录 分类预测 | Matlab实现ISSA-SVM基于多策略混合改进的麻雀搜索算法优化支持向量机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 基于多策略混合改进的麻…