C语言程序的特点及设计思想
在自学了组成原理和汇编语言之后,重新复习了一下C和C++的一些知识,总结了一下自己对程序的认识。
欢迎大家在评论区留言交流。
C语言的一些特点:
1、采用结构化的控制语句,是完全模块化和结构化的语言。
2、数据类型丰富,具有现代语言的各种数据结构
3、语法限制不太严格,程序设计自由度大,同时也意味着容错性差。
4、允许直接访问屋里内存,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作,兼有高级和低级语言的特点。
5、目标代码质量高,程序执行效率高(比汇编程序生成的目标代码低10%-20%)
6、允许在编译之前使用预处理命令,提高编程效率。
7、以内存使用为核心
C程序的设计思想:
1、程序是由函数构成的,这使程序容易实现模块化。
2、函数又可以称为子程序,子模块等,
本质上,函数名就是一个标号,在目前大多数编程语言中,参数和返回值都通过栈空间来进行传送。
3、结构化程序设计
采用三种基本结构来完成算法设计。设计的基本思路是把每一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。
4、结构化程序设计的方法:
自顶向下-> 逐步细化 -> 模块化设计 -> 结构化编码
5、关于模块化:
基本思想就是把一个问题的解决步骤分为很多个小步骤,每个小步骤就是一个子模块。另外划分子模块的时候应注意模块的独立性,也就是如果把程序分为主模块和子模块,子模块应尽量不依赖于其他子模块来工作,或者子模块之间的交流要尽量少,独立性和弱关联系也就是常说的高内聚、低耦合
6、在编译之前,可以使用预处理命令处理。
7、对于一些经常使用的数据,应该定义为宏,这样可以避免频繁修改带来的麻烦。但是需要确定宏定义的正确性。宏替换程序不会进行相关的正确性检查,只会进行替换。
C语言程序的特点及设计思想相关推荐
- c语言程序课程设计问题,矩形问题-C语言程序课程设课程设计(论文).doc
矩形问题-C语言程序课程设课程设计(论文) PAGE PAGE \* MERGEFORMAT 20课程设计(论文)题 目 名 称 矩形问题 课 程 名 称 C语言程序课程设计 学 生 姓 名 xxx ...
- 单片机c语言三种经典程序结构,单片机C语言程序的结构和设计精选.docx
单片机C语言程序的结构和设计精选 实验五 单片机C语言程序的结构和设计一.实验目的1. 掌握单片机C语言的程序结构:2. 掌握单片机C语言程序的编写和调试方法:3. 掌握MSP430FG2553基本I ...
- 程序设计方法主要有两种 其中C 语言程序,程序设计方法主要有两种,其中C++语言程序设计所采用的设计方法是( ) 程序设计。...
程序设计方法主要有两种,其中C++语言程序设计所采用的设计方法是( ) 程序设计. 更多相关问题 如图,向量A.B.C在一条直线上,且,则()A. B. C. D. 下列各项中,()是行政处罚的形式. ...
- 机械原理c语言程序,机械原理课程设计心得体会范文
课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决 实际问题的重要教学环节,是对三年所学知识的复习和巩固.下面是小编整理的机械原理课程设计心得体会,欢迎大家参考! [1]机械原理课程设计心 ...
- c语言程序 数字时钟的设计,数字时钟C语言设计
#include #include unsigned char data dis_digit; unsigned char key_s, key_v; unsigned char code dis_c ...
- c语言教工工资管理系统课程设计
序 言 借助现代信息技术和管理理论,建立学校管理信息系统势在必行.对学校而言,全面开发和应用计算机管理信息系统就是有必要的.在学校管理中,教师是学校的宝贵资源,也是学校的"生命线" ...
- C语言软件分层的方法,单片机程序分层设计思想
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如今C语言已经成为单片机程序设计公认的语言.我用C语言进行单片机程序设计也有两年多的时间了,C语言程序的特点使我对单片机开发更加感兴趣.让我从一个了解单片 ...
- c语言程序设计课程设计心得体会,C语言程序课程设计心得体会
在科技高度发展的今天,计算机在人们之中的作用越来越突出,学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要. 在这个星期里,我们专业的学生在专业老师的带领下进行了c ...
- 文件的记录c语言程序,c语言程序学生籍贯信息记录簿设计.docx
c 语言程序学生籍贯信息记录簿设计 学生籍贯信息记录簿 课程设计报告书 班 级: 方 0909-1 学 号:姓 名: 苑 小 叶 指导教师 : 康 亚 男 石家庄铁道大学四方学院 2010年 07月 ...
最新文章
- 【Ubuntu】ubuntu设置GUI程序自启动
- 重新认识笔记本锂电池的保养
- STM32 LWIP TCP 数据包分包后合并,超过591字节后分会分包问题
- iOS -- SKScene类
- 三分钟Docker-镜像、容器实战篇
- 关于源文件用不同的编码方式编写,会导致执行结果不一样的现象及解决方法
- plsql连mysql数据库12541_启动plSql时候报ORA-12541:TNS:tns:无法解析指定的连接标识符的解决办法(org11)...
- 【英语学习】【WOTD】sentient 释义/词源/示例
- acdream 1042: Classification of the species 抽象无根树并查集
- ExpandListView onChildClickListener 失效
- memcached全面剖析–5. memcached的应用和兼容程序(转)
- django -orm操作总结
- 洛克菲勒的38封信pdf下载_洛克菲勒写给儿子的38封信:要有竞争的决心
- 你真应该再多了解些Handler机制
- 矩阵分解(LU分解)C语言实现
- python中文乱码如何处理、如何处理跨域_解决Python发送Http请求时,中文乱码的问题...
- ipv6的127位掩码如何表示_IPv4地址、子网掩码、详细讲解
- 别踩白块儿游戏代码html,别踩白块儿HTML版的第二天
- 瑞科生物通过聆讯:9个月亏损超5亿 君联与红杉是股东
- POJ 3713 枚举 + Tarjan 割点
热门文章
- Matlab一个错误引发的血案:??? Error using == str2num Requires string or character array input....
- 什么样的微信头像最撩人?
- 模具怎么报价?快速报价的计算方法
- Python + seleniume 清除chrome浏览器历史记录
- 2022 上半年 FDA 小分子药物盘点 - MedChemExpres
- uniapp easycom教程
- 易智联LM401模块学习(一)——初识Lora
- 写一个抖音协议 价格你定
- 抖音Vlog怎么去拍摄,Vlog拍摄赚线吗?
- 下载(导出)pdf模板文件(比如:审批单)