从0到1 拿下C语言——绪论(计算机的组成、进制转换、算法表示、程序结构、C语言基本词汇)

C语言中进制转换与函数 进制转换: 为什么使用二进制、八进制、十六进制? 由于现在的CPU只能识别高低两种电平,只能使用二进制数据进行计算 二进制虽然能够被计算机直接计算,但是不方便书写、记录,因此将数据以八进制方式为了更方便记录在文件中 随着CPU位数不断增加,八进制不能满足需求,所以发展出了十六进制来表示数据, 由于历史原因八进制还不能退出历史舞台 十进制转二进制:(十进制转其他进制) 求余法: 用2对数据求余,然后再继续对商求余,知道商为0结束,过程中产生的余数就是该数据的二进制(逆序) n %2 余... 阅读详情

在这里插入图片描述

关注一下阿酱趴!😃😃😃

前言:
🙆‍♂️ 作者简介:一碗黄豆酱 🙆‍♂️ 给大家带来快乐的就是阿酱我!
🎈 CSDN 勤写标兵!、上兰村编程小能手!
👨🏻 座右铭:成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。
🧙 由于知识储备有限,如果文章内出现问题,请大家指正!thanks!
🤖如果喜欢阿酱的文章可以给个三连嘛🤗🤗🤗 或者时常来看看阿酱趴🥺

系列索引:

系列名称链接
绪论(计算机的组成、进制转换、算法表示、程序结构)绪论

从0开始学习c语言,关注我,不迷路!


前言

博主从0开始进行C语言的剖析,生动形象的引导读者进行c语言的学习,不生搬硬套!🧙‍♀️🧙‍♂️🧙

大家一起快乐的学习C!

在这里插入图片描述


一、绪论

1.1计算机基础知识

1.1.1 计算机的组成

在这里插入图片描述

计算机是一台能存储程序和数据,并能自动执行程序的机器。计算机能对各种数字化的信息进行处理,协助人们获取信息、处理信息、存储信息和传递信息。

构成计算机的结构: 控制器、运算器、存储器、输入设备、输出设备。运算器与控制器合称为CPU(中央处理器)。

控制器: 计算机的控制、管理核心部件,主要用于控制计算机各个部件之间协同工作。(通俗的来说就是大脑)

运算器: 计算机中处理数据的核心部件,主要用来完成各种算数运算于逻辑运算。(通俗的来说就是神经元)
ps:往往控制器于运算器是集成在一个同一个芯片上,即为中央处理器(CPU)

存储器: 用来存放输入的程序和数据。(通俗的来讲就是存放的记忆)

输入/输出设备: 就是我们日常中的鼠标键盘等等外设。(通俗的讲就是四肢)

那么接下来说一下计算机各部分之间的联系。(其实就是大脑通过记忆然后在神经元的帮助下控制四肢进行运动)🤺🤺🤺

上图像!

在这里插入图片描述

从图像中我们可以看出经由控制器进行总调配,借助运算器进行运算,从存储器中获得程序指令以及运算所需要的数据,然后由输入输出设备进行操作。

此前我们所使用的一直是冯·诺依曼存储程序的工作原理。

冯·诺依曼是20世纪最杰出的数学家之一,于1945年提出了“程序内存式”计算机的设计思想。这一卓越思想为电子计算机的逻辑结构设计奠定了基础,成为计算机设计的基本原则。由于他在计算机逻辑结构设计上的伟大贡献,被誉为“计算机之父”。

其原理为:

①二进制:任何信息都必须用二进制表示。
能被计算机处理的数值、文字、语音、图形和图象等统称信息。信息必须数字化编码(变为二进制),才能传送、存储和处理。
②存储程序控制:
将需要解决的问题用程序设计语言写成程序,与处理问题所需的原始数据一起通过输入设备送给计算机的内存,即存储程序;
然后,控制器按照程序规定的运算步骤或用户提出的要求向计算机的有关部件发布命令并控制它们执行相应的操作,对数据进行处理,即程序控制。

1.2程序设计基础

1.2.1 计算机在实际问题中应用

我们都是如何利用计算机解决实际问题的呢?

  1. 分析问题
  2. 确定处理方案
  3. 确定具体操作步骤
  4. 编写程序
  5. 上机调试
  6. 整理资料

在实际分析问题的过程中,我们需要确定已知和未知。将数据类型确定好后,建立合适的数学模型,去确立解决方案。

1.2.2 算法的概念

概念:

算法(algorithm):为解决某一实际问题而设计的确定的、有限的操作步骤。

从内容上,算法就是包括从什么地方入手、经过哪些处理步骤、何时结束的整个处理过程等。

特性:

  1. 确定性(不能含糊其词,不能产生歧义有穷性)
  2. 有穷性(计算机可以执行)
  3. 输入(零个或多个)
  4. 输出(一个或多个)
  5. 可行性
1.2.3 算法的表示方法
自然语言表示法

用自然语言叙述一个问题的求解过程。自然语言描述的算法明确、详细,是人们常用的描述解决问题的步骤的一般方法。

缺点是有一定的歧义性,而且表示的比较冗长。

传统流程图表示法

在这里插入图片描述

传统流程图用一些图框表示各种操作及流程的走向,具有直观形象,易于理解的优点。

下面阿酱引入一些经典例题

例题1:鸡兔同笼

  1. 首先将流程图画出来:
    在这里插入图片描述

  2. 分析

    我们可以根据流程图看出,我们的数据类型是整型,然后定义变量heads和feet,通过建立数学模型写出鸡(cocks)和兔子(rabbits)的与heads和feet的关系,我们可以计算出鸡和兔子的数量。

例题2:输入一百个数,求其绝对值

利用循环结构进行求解,因为我们需要对100个数字进行绝对值处理

  1. 流程图
    在这里插入图片描述

  2. 分析

    首先我们令计数器的值为1,然后输入一个数x,对其进行判断,如果是正数直接输出,如果是负数则取反后输出。然后将计数器的值加一,每次在循环末端判断计数值是否大于100,如果不大于继续循环,大于100即结束循环。

1.3c语言概述

1.3.1 c语言简介

C语言是一种中间语言,即具备高级语言结构化的特点,有具备低级语言直接访问计算机硬件的特点。

1.3.2 c语言的基本词汇

介绍:
汉字,是有横、竖、撇、捺折构成,汉语有自身的语法规则。
C语言作为一门人与计算机交流的语言,也必然有一套基本的词汇和一套严格的语法规则。按照语法规则将词汇组成语言的各种成分(如表达式、语句、定义和说明等)。

一个C程序也可以看成是由C语言的基本字符按一定的规则组成的一个序列。C语言中使用的基本字符包括:

1.英文字母:A~Z, a~z(52个,严格区分大小写)
2.数字:0~9(10个)
3.特殊符号:(主要构成一些运算符)(29个)
~!#%^* (_) -+={& }[]<>? : / , \“‘l;.
4.空白字符:空格符、换行符、制表符等
注意:一些常用数学符号,例如a β ....不属于c的基本字符集。

保留字:

具有特殊含义,专门用作语言组成成分的标识符。包括关键字和特定字两大类。
关键字:由系统预先定义的有固定含义的标识符,共有32个。

类型关键字
数据类型12个char,double,enum,float,int,long,short, signed,struct,union,unsigned,void
控制语句12个break,case,continue,default,do,else,for,goto,if,return,switch,while
存储类型auto,extern,register, static
其它const,sizeof,typedef,volatile

特定字:

1.特定字:由系统预先定义的有特定含义的标识符,包括编译预处理命令和C编译系统提供的库函数名。
2.编译预处理命令(使用时前面加#)
define undef include ifdef ifndef endif
3.注意:保留字全部小写main
(视为关键字对待)

标识符:

1.标识符:程序设计者自己定义的,具有一定含义的名字,用来标识变量、常量、类型、函数、语句等程序成分对象。
2.标识符命名规则:
由字母、数字和下划线构成首字符必须是字母或下划线。
sum, s_12,abc,_flag,max,min,x1,x2,9temp,w.S.Piter,number 5,x*y,fn+1,int大小写字母是有区别的,例a和A,ABC、Abc.AbC和abc是互不相同的标识符;
3.不能与保留字重名

注意事项:
1.ANSI C标准了标识符的长度(8个字符)。
2.定义标识符时应做到“见名知意”,以增加程序的可读性。
3.通常变量名、函数名用小写,而符号常量用大写。尽可能避免使用易混淆的字符,如:
4.0(数字)—o(大写字母)—o(小写字母)1(数字)—(小写字母L)—I(大写字母i)2(数字)—z(小写字母)—Z(大写字母)
例如: no和n0,11和I1等极易造成混淆和错误。

总结

此文为第一章,主要就是为了为大家进行C语言系统学习进行一个引入。这一章节内容以了解为主。

我认为学习一门编程语言最重要的是练习以及思考,我们需要在日常中多思考,多练习才可以达到一定的高度!

加油! 猿友们!
在这里插入图片描述

C语言中的进制转换:从二进制到十六进制 C语言中,进制转换是一个非常实用的技能。通过内建的格式化输出(如%o%x)和字符串转换函数(如strtol),我们可以方便地在二进制、八进制、十进制和十六进制之间进行转换。如何将十进制数转换为二进制、八进制和十六进制。如何将二进制、八进制、十六进制字符串转换为十进制数。进制转换在计算机编程中的实际应用。通过掌握这些技巧,您将能更高效地处理各种低级别的数据操作,提升编程能力!🚀。 阅读详情

相关推荐

C语言进制转换算法源码分析与实现

自定义函数可以针对特定需求进行优化,从而提供更好的性能。它们还可以减少不必要的内存复制和函数调用开销。// 自定义转换函数str++;// 使用自定义函数转换return 0;自定义函数避免了atoi可能进行的不必要的字符集检查和类型转换,因此在某些情况下可能会更快。

weixin_42181686的博客 660

小菜版考试系统——“C”

诶嘿

weixin_74957752的博客 3758

掌握C语言中的进制转换技巧

本文还有配套的精品资源,点击获取 简介:本文详细介绍了C语言中不同进制(二进制、八进制、十进制、十六进制)之间的转换方法和技巧。包括进制的基本概念、转换方法、C语言中的转换函数以及实际应用案例。掌握这些技巧对于编程和理解计算机内部运作非常关键。 1. C语言中的进制转换概述 在现代计算机科学中,数据的表示方法是多样化的。不同的进制系统在计算机的内部处理、数据...

weixin_34374684的博客 1265

农场主问题-鸡兔同笼问题---分析与解决--Python

目的: 最近参与助教工作,遇到一些有趣的问题,在此做些记录。 问题: 农场主问题:一位农场主有鸡和羊若干,这些动物共有 26 个头, 64 只脚。请设计一个程序,计算出鸡和羊的数量。 思路: 这是一道数学题,列个2元一次方程组也可以很容易解决了,但是采用编程会更快。 编程中用到的2个参数a、b分别代表鸡和羊,2个参数的和就是鸡和羊的总数(26 个头),鸡有2只脚、羊有4只脚,故有如下方...

一位媛的修炼之路 2万+

c语言代码 鸡兔同笼

用c语言编写的程序 解决鸡兔同笼问题 代码简单易于理解

C语言 第一章绪论

C语言 第一章绪论

Python 用自然语言/流程图描述算法并实现(以鸡兔同笼问题为例)

算法的定义及作用 一、导入:编程解决问题的步骤 分析问题 划分边界 设计算法 #importance 编写程序 调试测试 后期维护 二、生活中的算法问题:饮料换杯 两个杯子,一杯装可乐,一杯装雪碧,怎样才能让装可乐的杯子装雪碧,装雪碧的杯子装可乐? 再拿一个杯子。 设计算法: t=a #第一步 a=b #第二步 b=t #第三步 编写代码: >>> a="可乐" >>> b="雪碧" >>> t=a >>&g

yinaiyinai1212的博客 1万+

一口气看完TransformerXL详细解释带代码一:相对位置编码

相对位置编码(Relative Position Encoding)是Transformer模型中用于捕捉序列元素间相对位置关系的一种方法,与绝对位置编码(如BERT中的固定位置嵌入)不同,它直接建模元素之间的相对距离,从而更灵活地处理长序列或不同长度的序列。1. 为什么需要相对位置编码?​。

m0_73426548的博客 1421

C语言绪论

C语言绪论

littleprince009的博客 407

激光可燃气体传感器:核心技术环节分析

激光可燃气体传感器核心技术涵盖七个维度:1)TDLAS光谱吸收与调制技术(检测下限ppm级);2)DFB激光器与双闭环温控系统(波长稳定性±0.0036nm);3)微弱信号处理技术(信噪比提升60dB);4)环境补偿算法(温压补偿误差<±1%);5)本质安全防爆设计(ExiaIICT4Ga等级);6)智能边缘计算(STM32L476芯片);7)多重性能验证(响应时间<1秒)。通过微型化、多气体检测等创新,该技术已在工业安全等领域替代传统方案,实现高精度检测。(149字)

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 1024

使用autodl服务器运行CasMVSNet以及使用colmap产生的数据

MVSNet学习

qq_44708206的博客 3269

从0到1 拿下C语言——绪论(计算机的组成、进制转换、算法表示

C语言是一种中间语言,即具备高级语言结构化的特点,有具备低级语言直接访问计算机硬件的特点。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2401_84181108的博客 432

数字图像处理第九章笔记

目录一、腐蚀与膨胀1、腐蚀2、膨胀3、对偶性4、开操作与闭操作二、一些基本的形态学算法1、边界提取2、孔洞填充3、连通分量提取4、凸壳5、细化6、粗化7、骨架8、形态学重建三、灰度级形态学1、腐蚀和膨胀2、开运算和闭运算3、灰度级形态学算法 一、腐蚀与膨胀 1、腐蚀 腐蚀可以去除图像的某些部分。 2、膨胀 膨胀可以连接裂缝。 3、对偶性 膨胀和腐蚀彼此关于集合求补运算和反射运算是对偶的 4、开操作与闭操作 开操作:B对A先腐蚀,再进行膨胀 可以平滑物体轮廓,断开较窄的狭颈并消除较细的突出物。 闭操作

方悔读书迟 1366

C语言之进制转换

进制转换非常简单,但又非常重要,在初学过程中是必须掌握的基础知识

weixin_65334260的博客 3万+

一文解释电路中常用电子元器件应用和选型01

电容和二极管是电路中最常用的两个电子元器件,种类和系列众多,这里简单总结一下应用场景和选型方式 电容(Capacitor) 电容的种类(20种以上)和应用非常广泛,但是我经常遇到的无非就是下面这几种: 应用 1.隔直流。 2.旁路(去耦) 3.耦合 4.滤波 5.温度补偿 6.计时 7.调谐 8.整流 9.储能 种类 1. 陶瓷电容 2. 云母电容 3. 铝电解电容 4. 钽

weixin_43904073的博客 2233

别再手动敲代码了!用STM32CubeMX+FreeRTOS图形化配置,5分钟搞定多任务通信框架

本文详细介绍了如何利用STM32CubeMX和FreeRTOS快速搭建多任务通信框架,大幅提升嵌入式开发效率。通过图形化配置工具,开发者可在5分钟内完成任务调度、时钟配置和内核对象生成,特别适合物联网设备开发。文章还提供了代码优化和调试技巧,帮助开发者轻松应对复杂应用场景。

weixin_30363285的博客 288

2024年C C++最新从0到1 拿下C语言——绪论(计算机的组成、进制转换、算法表示,C C++界面开发基础

C语言是一种中间语言,即具备高级语言结构化的特点,有具备低级语言直接访问计算机硬件的特点。

2401_84976434的博客 320

【WRF-Urban数据集】中国60个城市的1 km分辨率城市冠层参数(UCPs)

中国60个城市的1 km分辨率城市冠层参数(UCPs)

WW、forever的博客 1054

☀️光天化日学C语言☀️(06)- 进制转换入门 | 生活中随处可见的进制,你学废了吗?

生活中随处可见的进制,你学废了吗?

英雄哪里出来 5351

YOLOv11【第二章:核心模块进阶篇·第28节】DynamicHead动态检测头设计!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

进制转换及C语言中进制转换方法

0.25 × 2 &= 0.5 \quad \ \ \text{取整} \ 0 \。0.5 × 2 &= 1.0 \quad \ \ \text{取整} \ 1 \。12 ÷ 2 &= 6 \ \ \ \text{余} \ 0 \。6 ÷ 2 &= 3 \ \ \ \text{余} \ 0 \。3 ÷ 2 &= 1 \ \ \ \text{余} \ 1 \。1 ÷ 2 &= 0 \ \ \ \text{余} \ 1 \。25 ÷ 2 &= 12 \ \text{余} \ 1 \。

正经话的博客 1624

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【C语言】进制转换汇总,超详细!建议收藏★

我们经常能听到2进制、8进制、10进制、16进制这样的讲法,那是什么意思呢?其实2进制、8进制、10进制、16进制是数值的不同表示形式。比如:数值15的各种进制的表示形式:15的2进制:111115的8进制: 01715的10进制:1515的16进制:0xF学习这篇文章,相信对进制转换会有更深刻的理解。

2401_82666224的博客 3697

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计算机组成原理之数据的表示和运算(一)

小厂看应用,大厂看基础,计算机基础既是敲门砖,也是硬通货。帮在校生顺利通过考试和校招,帮“野路子”程序员系统补课!

XAMO Lab|代码、调试与复盘笔记 1448

计算机组成原理第二章:数据的表示和运算

二进制转8进制和16进制:分别3位,4位一组,拆开组数反过来8进制和16进制转二进制也是拆开数字转换十进制小数转二进制并不是每个十进制小数都能用二进制小数表述,但任意一个二进制小数都可以用十进制小数表述整数部分正常转小数部分乘基取整,乘积为1.0时结束比如123.6875。

m0_59571950的博客 927

c语言十六进制占位符,C语言之进制转换

/*语言中进制表示:二进制表示:在二进制数字前面加上0b;八进制表示:在八进制数字前面加上0;十六进制表示:在十六进制前面加上0x;进制转换;将其他进制转换成八进制:在printf函数中以%o占位;将其他进制转换成十六进制:在printf函数中以%x占位;在C语言中,没有占位符可将其他进制转换成二进制;将其他进制转换成十进制:在printf函数中以%i或%d占位;进制转...

weixin_33448555的博客 3131
上一篇: 考研数学小知识点(积化和差、几何平均数、质心、梯度、旋度、散度)
下一篇: LabView---信号发生器
一碗黄豆酱
一碗黄豆酱 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄6年 3万+粉丝 52原创
评论 26
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一碗黄豆酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值