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

举报
一碗黄豆酱 发表于 2022/07/19 13:59:06 2022/07/19
【摘要】 从0开始学习c语言,关注我,不迷路!计算机是一台能存储程序和数据,并能自动执行程序的机器。计算机能对各种数字化的信息进行处理,协助人们获取信息、处理信息、存储信息和传递信息。构成计算机的结构: 控制器、运算器、存储器、输入设备、输出设备。运算器与控制器合称为CPU(中央处理器)。

在这里插入图片描述

关注一下阿酱趴!😃😃😃

前言:
🙆‍♂️ 作者简介:一碗黄豆酱 🙆‍♂️ 给大家带来快乐的就是阿酱我!
🎈 上兰村编程小能手!
👨🏻 座右铭:成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。
🧙 由于知识储备有限,如果文章内出现问题,请大家指正!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语言系统学习进行一个引入。这一章节内容以了解为主。

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。