c语言及算法设计 课件,【2017年整理】C语言程序设计课件.ppt

【2017年整理】C语言程序设计课件

第一单元 C语言概述 课程内容 第一章 C语言程序设计概述 第二章 算法及算法设计简介 第三章 数据描述与基本操作 第四章 选择结构程序设计 第五章 循环结构程序设计 第六章 数组与指针 第七章 函数与模块化程序设计方法 程序与计算机语言 程序设计过程 (1)问题的提出,要达到的要求; (2)确定数据结构和所采用的算法; (3)编制程序; (4)调试程序; (5)整理并写出文档; C语言的特点 简单的C语言程序示例 C程序的上机步骤 C语言的基本词法-标识符 定义:在程序中使用的变量名、函数名、标号等统称为 标识符。除库函数的函数名由系统定义外,其余的都由用户自己定义。 C语言的基本词法-关键字 定义:关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应该与关键字相同。 分类:C语言的关键字分为以下3类: (1)类型说明符 用于定义和说明变量、函数或其它数据结构的类型。如int,double,float,long,short,auto,signed,static,struct,unsigned,char,enum,extern,register和union等。 C语言的基本词法-其它 运算符 ?C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。 C语言的字符集 ? (1)字母 小写字母a~z共26个,大写字 母A~Z共26个。 (2)数字0~9共10个。 (3)空格符、制表符、换行符等统称为空白符。 (4)标点和特殊字符 C语言程序设计的基本结构 本章课堂练习 (1) 以下说法中正确的是( ). A) C语言程序总是从第一个函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数 中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始 部分 第二章 算法及算法设计简介 算法的概念 算法的表示 结构化程序设计方法简介 2、设计算法:A、B两人各有一桶油,现两人要将各自桶 内的油互换。 解答:必须借助另外一个空桶,并按如下算法进行: (用Si表示第i步操作,A的桶叫A,B的桶叫B,空桶叫M) 开始: S0:将A桶中的油倒入M桶中; S1:将B桶中的油倒入A桶中; S2:将M桶中的油倒入B桶中; 3、设计算法写出求n!的算法 解答: S0:给出n的值; S1: 1=>p; S2: 2=>i; S3: p*i=>p; S4: i+1=>i; S5: 若i<=n,返回S3;否则,结束 第三章 数据描述与基本操作 3.1 C语言的数据类型 C语言中的数据类型如下图所示: 常量和变量 2.常量的分类 (1)整型常量 (2)实型常量 (3)字符常量 (4)字符串常量 (5)符号常量 常量的类型,可通过书写形式来判别。 变量有以下几个特征: 变量名、变量值、变量的数据类型、变量的地址、变量的存储类别、变量的作用域及变量的生存期等。 变量必须先定义后使用。定义变量格式如下: 数据类型关键字 ; 如int x,y,z; 变量的初始化:变量赋初值的过程就是变量初始化过程。 整型数据 整型变量 实型数据 实型常量 1.表示形式实型常量即实数,在C语言中又称浮点数,其值有两种表达形式: 实型变量 C语言的实型变量,分为两种: (1)单精度型。类型关键字为float,一般占4字节 (32位)、提供7位有效数字。 (2)双精度型。类型关键字为double,一般占8个字节、提供15~16位有效数字。 例1:字符与整数的转化 #include "stdio.h" void main() { int i; char n; n=97; i='b'; printf("n=%c\n",n); printf("i=%d\n",i); printf("i=%c\n",i); } 例2 字符参与整数运算 ? 例3 字母的大小写转换 #include "stdio.h" void main() { char n,i; n='a'; i='B'; n=n-32; i=i+32; printf("n=%c\n",n); printf("i=%c\n",i); } ? 关于变量的补充内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
算法设计与分析》目录: 第一篇引入篇 第1章算法概述1.1用计算机求解问题与算法 1.1.1用计算机求解问题的步骤 1.1.2算法及其要素和特性 1.1.3算法设计及基本方法 1.1.4从算法到实现 1.2算法描述 1.2.1算法描述简介 1.2.2算法描述约定 1.2.3一个简单问题的求解过程 1.3现代常用算法概览* 1.3.1压缩算法 1.3.2加密算法 1.3.3人工智能算法 1.3.4并行算法 1.3.5其他实用算法 第2章算法分析基础 2.1算法分析体系及计量 2.1.1算法分析的评价体系 2.1.2算法的时间复杂性 2.1.3算法的空间复杂性 2.1.4NP完全性问题 2.2算法分析实例 2.2.1非递归算法分析 2.2.2递归算法分析 2.2.3提高算法质量 第二篇基础篇 第3章算法基本工具和优化技巧3.1循环与递归 3.1.1循环设计要点 3.1.2递归设计要点 3.1.3循环与递归的比较 3.2算法与数据结构 3.2.1原始信息与处理结果的对应存储 3.2.2数组使信息有序化 3.2.3数组记录状态信息 3.2.4大整数存储及运算 3.2.5构造趣味矩阵 3.3优化算法的基本技巧 3.3.1算术运算的妙用 3.3.2标志量的妙用 3.3.3信息数字化 3.4优化算法的数学模型 3.4.1杨辉三角形的应用 3.4.2最大公约数的应用 3.4.3公倍数的应用 3.4.4斐波那契数列的应用 3.4.5递推关系求解方程 习题 第三篇核心篇 第4章基本的算法策略4.1迭代算法 4.1.1递推法 4.1.2倒推法 4.1.3迭代法解方程 4.2蛮力法 4.2.1枚举法 4.2.2其他范例 4.3分治算法 4.3.1分治算法框架 4.3.2二分法 4.3.3二分法变异 4.3.4其他分治方法 4.4贪婪算法 4.4.1可绝对贪婪问题 4.4.2相对或近似贪婪问题 4.4.3贪婪策略算法设计框架 4.5动态规划 4.5.1认识动态规划 4.5.2动态规划算法设计框架 4.5.3突出阶段性的动态规划应用 4.5.4突出递推的动态规划应用 4.6算法策略间的比较 4.6.1不同算法策略特点小结 4.6.2算法策略间的关联 4.6.3算法策略侧重的问题类型 习题 第5章图的搜索算法 5.1图搜索概述 5.1.1图及其术语 5.1.2图搜索及其术语 5.2广度优先搜索 5.2.1算法框架 5.2.2广度优先搜索的应用 5.3深度优先搜索 5.3.1算法框架 5.3.2深度优先搜索的应用 5.4回溯法 5.4.1认识回溯法 5.4.2回溯法算法框架 5.4.3应用1——基本的回溯搜索 5.4.4应用2——排列及排列树的回溯搜索 5.4.5应用3——最优化问题的回溯搜索 5.5分支限界法 5.5.1分支搜索算法 5.5.2分支限界搜索算法 5.5.3算法框架 5.6 图的搜索算法小结 习题 第四篇应用篇 第6章算法设计实践6.1循环赛日程表 6.2求3个数的最小公倍数 6.3猴子选大王 6.4最大子段和问题 6.5背包问题 6.5.1与利润无关的背包问题 6.5.2与利润有关的背包问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值