C语言是一种非结构化的程序设计语言,C语言程序设计——姜恒远 第一章 C程序设计概述.ppt...

2023-11-02

C语言程序设计——姜恒远 第一章 C程序设计概述

姜 恒 远 第1章 C程序设计概述 1.1 程序设计语言、程序与程序设计 1.1.1 程序设计语言 CPU能理解且能直接执行的指令集合 用机器语言编写的程序形式: 用机器语言编写的程序优点: 质量高 占存储空间小 执行速度快 能由计算机直接执行 用机器语言编写的程序缺点: 依赖于具体计算机 难记忆 易出错 阅读理解困难 编程者需了解特定计算机的硬件及指令系统 汇编语言是一种符号化的机器语言,用助记符号代替指令操作码、操作数。 用汇编语言编写的程序形式: 汇编语言与机器语言有相同的特点,但要翻译成等价的指令序列后才能由计算机执行。 接近于自然语言和数学语言,在一定程度上与具体计算机无关的符号化语言。 用高级语言编写的程序形式(以C语言为例): 用高级语言编写程序的优点: 易学易用、代码易理解 易调试、修改和移植与机器无关 用高级语言编写程序的缺点: 不支持对硬件的直接操作 代码需要翻译成指令序列后才能执行 高级语言的处理方式 □解释方式(Interpreter 解释程序) 逐句扫描,逐句处理,逐句执行,直接获得 结果。不产生等价的机器语言程序 编译方式(compiler 编译程序或称编译器) 1.1.1 程序设计语言 数据成分 刻画程序所处理的数据对象的值、存储 运算成分 算术、逻辑、集合等运算 控制成分 控制程序的执行流程 传输成分 数据的输入输出 1.1.2 程序 日常生活中的程序概念 “程序”是完成事情的先后次序 计算机中的程序概念 按特定的算法,用某种计算机语言描述的完成指定任务的处理过程 1.1.2 程序 从外部表示形式看 位(bit)代码化的指令序列 符号化的指令序列 语句序列 就程序本质而言 刻画计算(数值计算与非数值计算,与处理同义)过程的处理对象(数据)与处理规则(算法)。 1.1.2 程序 1.1.3 程序设计 程序设计的内容与内涵 设计 程序编制 程序调试 程序测试 程序验证 程序设计风格 ┅┅ 1.1.3 程序设计 一种传统的程序设计方法。 本质:    功能设计 设计基本原则 :    自顶向下,逐步细化,由抽象到具体的功能分解过程 1.1.3 程序设计 S1:输入系数a,b,c S1-1:输入系数a,b,c S1-2:判别输入的a是否为0,若为0,转S1-1步重新输入系数a, b, c S2:求根计算 S2-1:计算判别式 b2-4ac → disc S2-2:计算 (-b)/(2a) → u S2-3:计算 → v S3:输出根 S3-1:如果disc=0, 计算并输出两个相同的根 x1=x2=u S3-2:如果disc>0, 计算并输出两个实根 x1=u+v ,x2=u-v S3-3:如果disc<0, 计算并输出一对共扼复根 x1=u+vi, x2=u-vi 1.1.3 程序设计 联系:目的都是为了产生没有错误的程序 区别:含义不同 1.1.3 程序设计 测试程序的目的是除了发现程序存在的错误外,还证实程序是否达到规定的功能,具有检验质量及性能评价等含义。 1.1.3 程序设计 ⑴ 规范化的程序书写格式 ⑵ 注释程序 ⑶ 选用顾名思义的标识符 ⑷ 用简明的方法表达算法 ⑸ 提供友善的输入输出界面 1.2 C语言概述 1.2.1 C语言的发展 1.2.2 C语言的特性 1.2.3 C语言程序的结构与执行 1.2.4 C语言程序例 1.2.5 C语言程序的书写 1.2.6 上机调试运行C语言程序的过程 1.2.1 C语言的发展 C语言是在BCPL和B语言的基础上发展起来的 与著名的UNIX操作系统的产生相辅相成的 最初C语言以B.W. Kernighan和D. M. Ritchie所著的《The C Programming Language》为标准,谓之K&R C 美国国家标准化协会(American National Standard Institute,ANSI)于1983年开始为C语言制定统一标准,该标准颁布于1987年,称之为87 ANSI C。 1989年,ISO为C语言制定了国际标准C89。最新的C语言国际标准是1999年颁布的C99。本书按C99标准叙述。 1.2.2 C语言的特性 C语言是一种能把高级语言的表示能力与低级语言能直接处理与硬件有关的操作能力结合起来的语言。 面向用户:方便高效地书写、修改、移植、维护应用程序 面向机器:可以实现一般只能用汇编语言才能处理的功能 C语言不依赖于任何具体机器,便于在不同的计算机系统之间移植软件; C语言编

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言是一种非结构化的程序设计语言,C语言程序设计——姜恒远 第一章 C程序设计概述.ppt... 的相关文章

  • LeetCode:用栈实现队列(纯C语言)可CV

    题目链接 232 用栈实现队列 力扣 Leetcode 还是老套路二话不说 先上代码 typedef char STDataType typedef struct Stack STDataType a int top int capacit
  • Android开发——V1及V2签名原理简析

    Android为了保证系统及应用的安全性 在安装APK的时候需要校验包的完整性 同时 对于覆盖安装的场景还要校验新旧是否匹配 这两者都是通过Android签名机制来进行保证的 本文就简单看下Android的签名与校验原理 分一下几个部分分析
  • 指路明灯,99%自动化测试从业者都该看的职业规划!

    这篇文章将从以下三个方面来给大家介绍自动化测试 其中包含自动化测试从业者需要了解的知识和一些常见的思想误区 以及自动化测试行业的前景以及如何进阶 1 自动化测试的介绍 自动化测试什么是 有哪些被称作自动化测试 自动化测试意义何在 和所有的项
  • React + Ant Design Pro项目实现keep-alive页签

    背景 PC端管理系统 采用 ant design pro 方案 它是阿里的一个管理系统框架 技术栈是react 相比vue react一个先天不足是不支持 keep alive 所以管理系统中的多页签功能难以实现 调研 由于官方不支持 只能
  • Tomcat环境变量Catalina_Home配置

    1 CATALINA HOME是TOMCAT安装路径的别名 目的是为了方便使用TOMCAT 2 计算机 gt 属性 gt 环境变量 新建环境变量 变量名为CATALINA HOME 变量值tomcat的解压目录 我电脑上的为 D apach
  • r语言barplot函数图中加标签_R语言中使用text()函数给绘图添加文字

    R语言中text 函数同abline 函数 lines 函数一样属于低水平函数 即在已有绘图中添加相关图形 text 函数的作用是在给定的x和y坐标的位置添加字符串 text 函数的默认使用格式如下 text x y NULL labels
  • HTML5 FormData 方法介绍以及实现文件上传

    XMLHttpRequest 是一个浏览器接口 通过它 我们可以使得 Javascript 进行 HTTP S 通信 XMLHttpRequest 在现在浏览器中是一种常用的前后台交互数据的方式 2008年 2 月 XMLHttpReque
  • 数据和技术驱动下的投放效率优化

    业内流行着这样一句话 用户增长三板斧 投放 push和分享 渠道投放是用户增长非常重要的一个方向 以往渠道投放更多是重商务 渠道和运营 现在已经发展成了一个通过数据和技术驱动不断优化 精益求精的领域 技术在投放 营销场景正扮演着越来越关键的
  • HTML基础标签 && CSS选择器 && JavaScript基础语法 && WebAPI_ && 页面设计 && HTTP协议

    第 1 题 简答题 题目名称 编写博客 总结 HTML 中的常用标签用法 题目内容 编写博客 总结 HTML 中的常用标签用法 第 2 题 简答题 题目名称 image 标签的 alt 和 title 属性有什么区别 题目内容 image
  • pymysql 解决pymysql自动断开 定时检查数据库连接状态

    在框架中使用Mysql 数据库存在一个问题 即连接八小时之内没有执行命令则自动断开 最简单的解决方法是重启服务 暴力解决 重启服务这显然是不友好的 还有一种方法是设置等待时间 如设置 interactive timeout 360000 w
  • Unity常用的Attribute脚本汇总

    常用一个Attribute脚本汇总 试一试就知道是什么意思 using System Collections using System Collections Generic using UnityEngine 不可重复添加 Disallo
  • Java面试:Java的特征是什么?分别解释一下?什么是面向对象?

    什么是面向对象 对象就是存在的具体实体 具有状态和行为 如汽车有牌子和大小等属性 会跑等等行为 面向对象编程就是借助对象的描述在计算机中模拟真实的世界 Java的特征是什么 封装 继承 多态 封装 把类内部的具体实现与外界隔离起来 把实现方
  • 拓扑排序算法:实现图的有向无环图遍历

    拓扑排序算法 实现图的有向无环图遍历 拓扑排序算法是一种常用于解决有向无环图 Directed Acyclic Graph 简称DAG 的排序问题的算法 该算法能够将一个包含有向边的有向图转化为线性序列 使得每条边的起始节点都位于其终止节点
  • Spring配置文件beans.xml头部配置解释

    看如下的beans xml
  • MATLAB R2018b安装教程

    目录 一 软件下载 二 软件介绍 三 安装须知 四 安装步骤 最后 个人主页 库库的里昂 CSDN新晋作者 欢迎 点赞 评论 收藏 收录专栏 MATLAB基础及应用 希望作者的文章能对你有所帮助 有不足的地方请在评论区留言指正 大家一起学习
  • sublime text 4 打不开package control

    按照这个大佬的方法操作一下就好了 ST3 4 Package Control not working on macOS Issue 1612 wbond package control GitHub 大佬的原文翻译 资源本文也绑定目前是8
  • Unittest测试框架(重点在了解思想)

    单元测试概述 什么是单元测试 白盒测试 单元测试是开发者编写的一小段代码 用于检验被测代的一个很小的 很明确的功能是否正确 通常而言 一个单元测试是用于判断某个特定条件 或者场景 下某个特定函数的行为 单元测试什么时候开始 越早介入越好 单
  • java 数组 放入 list_java中如何把List集合中的元素存入数组中呢

    qq AreYouOKMI 0 sunshiwu1984 07 23 08 53 等级 1楼 集合转数组 采用集合 toArray 方法 根据转化为数组的类型又可以分为 1 转化为Object 类型数组 Object listArray l
  • wx.uploadFile,formData携带的表单参数传不到后台

    前言 在使用小程序的上传文件时 老是报错拿不到formdata的数据 最后结局很美好 解决问题了 记录下 报错情况 1 开发环境下报错 uploadFile fail createUploadTask fail url not in dom

随机推荐

  • Java 求数字位数

    Java 求数字位数 int num 223 num num gt 0 num num System out print String valueOf num length
  • 打印 九九乘法表 九九口诀表

    题目 下面是一个完整的下三角九九口诀表 1 1 1 1 2 2 2 2 4 1 3 3 2 3 6 3 3 9 1 4 4 2 4 8 3 4 12 4 4 16 1 5 5 2 5 10 3 5 15 4 5 20 5 5 25 1 6
  • HANA Studio安装和更新-简要

    文章目录 HANA Studio是啥 支持的平台 下载 BW modeling tools的安装 HANA Studio是啥 是SAP HANA的一系列应用合集 使得技术用户能够管理HANA数据库 能创建和管理用户权限 创建新的或更改现有数
  • 大数据02 linux+下载资源  +上传资源下载+shell脚本学习

    如果虚拟机连接不上网 可以参考这边文章https blog csdn net u010522433 article details 52814567 下载资源 wget 上传资源下载 下载yum install lrzsz rz sz 上传
  • (杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(7)

    1002 Random Nim Game 只有3种情况 要么必赢 要么必输 要么从宏观角度考虑 随机的话 赢的概率就是1 2 就像抛硬币一样 随着抛的次数越来越多 正反面的概率将越来越接近1 2 当只要有一堆石头数量不是1 那么就不是必赢或
  • 27、oauth2四种授权模式认证流程

    重点 授权服务器如果同时存在WebSecurityConfigurerAdapter和ResourceServer 那么如下授权模式部分是无法使用的 所以保留WebSecurityConfigurerAdapter 假设具体参数如下 1 请
  • 【iOS】—— 离屏渲染

    文章目录 离屏渲染 UIView和CALayer关系 GPU屏幕渲染有两种方式 产生离屏渲染的原因 既然离屏渲染这么耗性能 为什么有这套机制呢 什么情况会离屏渲染 既然离屏渲染这么不好 为什么我们还要强制开启呢 如何避免离屏渲染 1 圆角的
  • 利用qt实现截图窗体或者某个控件

    一 需要添加头文件 include
  • 还原网站上压缩的js代码

    还原网站上压缩的js代码 我们经常可以看到一些网站 把所需的javascript代码压缩成一行 就像下图这样 这种代码浏览器能读懂 但正常人是没法阅读的 既然浏览器能读 浏览器当然也能还原这段代码 其实很简单 这里我使用的是chrome浏览
  • 接口幂等性-订单提交

    目录 一 什么是幂等性 二 哪些情况需要防止 三 什么情况下需要幂等 四 幂等解决方案 1 token 机制 2 各种锁机制 1 数据库悲观锁 2 数据库乐观锁 3 业务层分布式锁 3 各种唯一约束 1 数据库唯一约束 2 redis se
  • java有abc三边求周长语句_java 给定三个点由三个点求三角形周长和面积

    3 先创建一个Point类 然后定义Trianglele类 在Trianglele类中定义三个Point的实体来表示一个三角形的三个点 再定义一个方法setTri对这三个点进行初始化 然后定义两个方法求三角形 3 先创建一个Point类 然
  • (个人)自媒体快传号注册入驻流程

    快传号是360推出的自媒体平台 支持手机号注册 简单便捷 目前支持入驻的账号类型有 个人 媒体 企业 政府和其他组织 个人 适合个人创作者 垂直领域专家 意见领袖及自媒体人士申请 媒体 适合通讯社 报刊杂志 电视台 电台等传统媒体及有新闻资
  • Python智力问答小游戏

    Python智力问答小游戏 在这个Python智力问答小游戏中 我们将提供一系列问题 并编写代码来实现一个简单的问答游戏 玩家将被要求回答一些与Python编程相关的问题 并根据他们的回答来获得得分 让我们一起来创建这个有趣的游戏吧 首先
  • python: Call SQL Server Stored Procedure in Python

    sql script DROP TABLE InsuranceMoney GO create table InsuranceMoney ID INT IDENTITY 1 1 PRIMARY KEY InsuranceName nvarch
  • PCB中常用快捷键

    网络搜集 备份一份方便查看 PCB快速挖孔 T V B 绘制闭合区域后 直接选中所有线条 然后T V B 挖孔 AD布线 选定器件 框定到指定区域的快捷键 原理图框定指定模块后 按T S后跳到PCB自动回选中相关器件 然后按T O L划定一
  • 什么是面向对象编程?

    所有编程语言都提供抽象机制 汇编是语言是对底层机器的轻微抽象 命令式语言 FORTRAN BASIC C 是对底层机器的轻微抽象 他们所做的主要抽象仍然要求在解决问题基于计算机的结构 而不是所要解决问题的结构 程序员必须建立起机器模型和待解
  • 第三周 Python基本数据类型

    1 数字类型及操作 1 1整数类型 与数学中整数的概念一致 可正可负 没有取值范围限制 pow x y 函数 计算xy 想算多大算多大 gt gt gt 1267650600228229401496703205376 4种进制表示形式 十进
  • npm ERR network Invalid response body while trying to fetch

    问题描述 安装 vue cli 的时候持续报错 npm notice npm notice New minor version of npm available 8 5 0 gt 8 7 0 npm notice Changelog htt
  • 出现undefined reference to `forkpty' 错误解决方法

    出现undefined reference to forkpty 错误解决方法 2009 02 04 09 14 23 分类 C 举报 字号 订阅 下载LOFTER客户端 出错提示如下 usr lib lib libpython2 5 so
  • C语言是一种非结构化的程序设计语言,C语言程序设计——姜恒远 第一章 C程序设计概述.ppt...

    C语言程序设计 姜恒远 第一章 C程序设计概述 姜 恒 远 第1章 C程序设计概述 1 1 程序设计语言 程序与程序设计 1 1 1 程序设计语言 CPU能理解且能直接执行的指令集合 用机器语言编写的程序形式 用机器语言编写的程序优点 质量