C语言01
从问题到C语言程序设计
1.1计算机的问题求解方法
程序设计面向的问题
什么问题可以用程序的方法解决?
打印九九乘法表
图形变换
文件压缩问题
.......
一切可计算的问题
如何解决?
确定问题可计算
建立问题的数学模型
设计算法和数据结构
选择合适的计算机语言编写程序
调试运行程序分析结果
关于计算
什么是计算
基于规则的符号集合的变换过程,有限的步骤
可计算和不可计算
可计算:输入与输出是明确的
不可计算:旅行家问题
理论上可计算的问题,实际上不一定有解
计算的复杂性
时间复杂度:受问题规模影响(如:梅森素数)
空间复杂度(不讨论)
关于算法
什么是算法
有穷规则的集合,规则规定了解决某一特定类型的问题的运算序列(是解决问题的有限步骤)
算法的特征
有穷性:有限步骤
确定性:含义确切
有效性:有效执行
有零个或多个输入
有一个或多个输出
算法描述方法:
自然语言
程序语言
流程图----->传统方法
N-S图------->结构化程序设计方法(待补充)
PAD图
伪代码------>随意但不严谨的方法
算法优化:
减少判断次数
无效输出减少
总结:
算法是解题步骤,设计取决于人的创造
实际问题需要首先分析----抽象----建模,才能设计算法
算法的5个特征,设计时必须满足
基于计算机的问题求解和数学方法有很大不同
算法需要用工程化的方法表达
算法有很大的优化空间
结构化程序设计方法
自顶向下,逐步求精
单入口单出口
什么是好程序
可读性好
效率高
写好一个程序
三个基本结构构成(顺序,选择,循环待补充)
不用GOTO语句(原则不用,适当使用)
良好的程序设计代码特点:
正确性----正确实现功能
易读性----易于阅读和理解,便于调试、修改和扩充
健壮性----算法对交互和环境的反应或处理能力
高效率----所需时空都小
良好的程序设计风格
源程序文档化
数据说明标准化
语句规范化
输入输出格式化
总结
过程:问题---->程序---->指令序列---->结果
从问题到程序---->抽象、建模+程序设计
抽象、建模=可计算+计算复杂性
程序设计=数据结构+算法+方法
算法=问题分析+算法表达+程序实现
程序实现=语言+环境
C语言01的更多相关文章
- c语言01次作业--分支,顺序结构
C语言--第01次作业 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本章学习让我体会良多.首先,不得不承认自己是一个非常马虎的人.常见的问题就是输出格式上常因为没有与题目要 ...
- C语言 01 形参实参
之前的都在印象笔记记录 continue 结束本轮循环体,进入下一次循环.break 直接结束整个while循环 形参:定时函数时函数名后面中的参数实参:调用函数时传入的具体数据基本数据类型作为形参, ...
- C语言-01基础语法
1) 总结常见文件的拓展名 .c 是C语言源文件,在编写代码的时候创建 .o 是目标文件,在编译成功的时候产生 .out 是可执行文件,在链接成功的时候产生 2) 总结 ...
- 重学C语言---01概述
1.什么是C语言 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.计算机语言是从第二次世界大战以后,经历了戏剧性的发展过程.从机器语言到汇编语言和高级语言.C语言是与硬件 ...
- C语言 · 01背包
最近老碰到DP问题,没整过,在网上有不少资料,转载此篇自:http://blog.csdn.net/libin56842/article/details/9338841 有N件物品和一个容量为V的背包 ...
- c语言-01背包问题
01背包问题 问题:有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].求解将哪些物品装入背包可使价值总和最大. 分析: 这是最基础的背包问题,特点是:每种物品仅有一件,可以选 ...
- OC语言-01类和对象
// cc 文件名.m -framework Foundation 编译链接 #import <Foundation/Foundation.h> //枚举性别 typedef enum{ ...
- 算法实现c语言--01
打印九九乘法表 #include<stdio.h> #include<stdlib.h> int main() { , j = ; ; i <= ; i++) { ; j ...
- Django之模板语言(三)------>自定义filter
1.自定义filter: 1.在app01下面新建一个templatetags的python package包. 如果没有app01的话,可以通过命令行在manage中进行创建:python mana ...
随机推荐
- jQuery css()方法及方法
知识点一:jQuery css()方法 1.css()方法是什么? css()方法设置或返回被选元素的一个或多个样式属性. 2.返回CSS属性 1.$("p").css(" ...
- JDK1.8源码学习-HashMap
JDK1.8源码学习-HashMap 目录 一.HashMap简介 HashMap 主要用来存放键值对,它是基于哈希表的Map接口实现的,是常用的Java集合之一. 我们都知道在JDK1.8 之前 的 ...
- maven命令下载jar包
mvn install:install-file -Dfile=jar包保存的本地路径 -DgroupId=jar保存的父级路径 -DartifactId=jar包文件夹名称 -Dversion=版本 ...
- springMVC入门(六)------json交互与RESTFul风格支持
简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.由于其简单易用,目前常用来通过AJAX与后台进行交互.springMVC对于接收.发送JSON数据也 ...
- 企业级Registry仓库Harbor的部署与简介
Harbor 是Vmware公司开源的企业级Docker Registry管理项目,开源项目地址:https://github.com/vmware/harbor Harbor的所有组件都在Docke ...
- 操作系统-I/O(2)设备的分配
作业执行前对设备提出申请时,指定某台具体的物理设备会让设备分配变得简单,但如果所指定设备出现故障,即便计算机系统中有同类设备也不能运行 设备独立性:用户通常不指定物理设备,而是指定逻辑设备,使得用户作 ...
- Vue项目——Supermall移动端购物商城
一.项目描述 基于Vue全家桶构建的移动端购物商城APP.页面一共分为:首页.详情页.分类页.购物车页面.登录页面和个人信息页面. 二.使用技术 使用Vue CLI3快速搭建Vue开发环境以及对应的w ...
- Json解析方式汇总 excel vba
一. 这种方式比较复杂,因为office版本的原因,所以要加其它函数 Private Function parseScript(strJson As String) Dim objJson As Ob ...
- 华为SEO搜索引擎主管招聘内容
http://www.wocaoseo.com/thread-166-1-1.html 华为SEO搜索引擎主管招聘内容: 职位职责 1. 提出全站的SEO策略和实施计划,推动和监督计划实施:负责提升各 ...
- Qt 多语言转换
Qt QTranslator 实现多语言转换(转载) 1.在*.pro文件里面添加TRANSLATIONS += English.tsChinese.ts根据自己想要添加多少种语言和什么语言视情况 ...