C程序设计基础.ppt_第1页
C程序设计基础.ppt_第2页
C程序设计基础.ppt_第3页
C程序设计基础.ppt_第4页
C程序设计基础.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、C程序设计基础 1. 二进制基础 计算机采用二进制的原因 成本更低 运算更简单 硬件上更容易实现 二、八、十、十六进制数的转换 10进制数转换成2、8、16进制数 整数部分:除基取余法 小数部分:乘基取整法 2、8、16进制数转换成10进制数 按权相加法 2进制数转换成16进制数 四位一组用16进制数代替 16进制数转换成2进制数 每位用四位2进制数代替 数据在计算机中的存储形式 位、字节和字的概念 内存单元、内存单元地址和指针的概念 整数的无符号与有符号表示 原码、反码和补码 原码:一个整数在内存中占二字节,规定高位 字节的最左边一位为最高位,表示数的符号(0 正1负),其余各位代表数本身的绝对值。 如:+8的原码 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 - 8的原码 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0的原码 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0的原码 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 反码:正数的反码与原码相同,负数的反码规定 符号位不动,其余各位对原码取反 如:- 8的反码 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 - 0的反码 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 补码:正数的补码同原码,负数的补码为它的 反码加1 如:- 8的补码 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 - 0的补码 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0的补码 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 用补码表示数时,0的代码是唯一的; 负数补码的补码是它的原码; 用补码表示数使加减法的统一 。 1111 1111 1111 1101 (-3)的补码 + 0000 0000 0000 0001 (+1)的补码 1111 1111 1111 1110 (-2)的补码 模216原则 假定用16位二进制表示一个整数,则数值范围为: 无符号数:00000000000000001111111111111111 0 216 -1 即 065535 有符号数:10000000000000000111111111111111 -215 215 -1 即 -3276832767 如果计算机进行运算时运算结果超出这16位范围, 那么将只取低16位作为结果,例如: 65534 + 3 = 65536+1 无符号 有符号 1111 1111 1111 1110 (65534) (-2) + 0000 0000 0000 0011 (3) (3) 1 0000 0000 0000 0001 (1) (1) 无符号 有符号 1000 0000 0000 0010 (32770)(-32766) + 1111 1111 1111 1101 (65533)(-3) 1 0111 1111 1111 1111 (32767)(32767) 无符号 32770+65533 = 65536+32767 有符号 -32766-3 = -32769 = -65536+32767 结论:设有两个整数a和b对216求余数(模)所得结 果相同(即两数的二进制表示中低16位完全相同), 那么计算机就认为这两数是同一个数,计算机的这 个特征称为取模原则或模216原则,即任何一个数加 上或减去65536所得结果相同。 2. 程序设计初步 程序设计语言 机器语言 计算机能直接执行的二进制指令的集合 汇编语言 用“助忆符”代替二进制形式的指令组成的指令集。 计算机不能直接执行汇编语言编写的程序,须经 “汇编程序”“翻译”成机器语言。 高级语言 更接近于人们习惯的自然语言和所用的数学公式。 计算机不能直接执行高级语言编写的源程序,须 翻译成机器语言,主要有两种方式: 一种是编译方式: “编译程序”把整个源程序翻译成机器语言的目标 程序,以后再执行该目标程序。 另一种是解释方式: “解释程序”把源程序翻译一句,执行一句,直 至结束。 程序设计的含义 算法 + 数据结构 = 程序 算法:指问题的求解过程(计算机工作的步骤) 数据结构:指对参与运算的数据的组织和安排 面向过程与面向对象 算法的表示方法 用自然语言 用流程图(传统流程图和N-S流程图) 例如:描述计算1至n累加和的流程。 用自然语言描述如下: 用传统流程图描述如下: 输入整数n 置变量s为0 置变量i为1 将变量i的值加到s中 变量i递增1 如果i n则转到步骤 输出s的值 T 开 始 输入n 1 i F in 0 s s+i s i+1 i 输出s 结 束 结构化程序设计 自顶向下,逐步细化 根据总要求和完成功能逐步细分成若干相对独立 的模块和子模块 清晰第一,效率第二 程序要清晰易读,包括采用有意义的变量名和作 必要的注释 书写规范,缩进格式 统一标准的格式书写程序,用分层缩进的写法显 示嵌套结构的层次或区分每一结构 基本结构,组合而成 程序用顺序、选择、循环三种基本结构组成 3. C语言概述 C语言简史 1972年 Bell实验室D.M.Ritchie在B语言基础上设计 1973年 和Thompson合作用以改写 UNIX 1978年 B.W.Kernighan和D.M.Ritchie (简称K ? | ! # % /*调用输出函数*/ /*“字符串“*/ /* n 换行符*/ /*句末用分号*/ 本程序的作用是输出以下一行信息: This is a c program. 例2: /* 求两个变量之和 */ main ( ) int a, b, sum; /* 变量说明 */ a=123; b=456; /* 赋值 */ sum=a+b; /* 求和计算 */ printf(“sum = %dn”, sum); /* 调用输出函数 */ 本程序的运行结果: sum = 579 几点认识: C是函数式的语言,C程序由函数构成 有且只有一个主函数(main()函数) 函数名后须有一对圆括号,括号内可有参数 函数名下至少有一对花括号,最外层花括号内是 函数体, 函数体包括变量说明和程序语句 每个程序语句以分号为结束 一行内可写多个语句,一个语句可分写在多行上 程序中可用 /*.*/ 对任何部分作注释 本章结束 数据在计算机中的存储形式(16位系统) 字节(8位) 地址 0000 0001 2000 2001 2002 2003 FFFE FFFF 64K 容量 16位变量x 指针变量p 00000000 00100000 00111001 00110000 = &x = 12345 除基取余法: 十进制整数转二进制 除2取余法 192=9 1 (低位) 92=4 1 42=2 0 22=1 0 12=0 1 (高位) (19)10=(10011)2 十进制整数转十六进制 除16取余法 999916=624 15 62416= 39 0 3916= 2 7 216= 0 2 (9999)10=(270F)16 乘基取整法: 十进制小数转二进制 乘2取整法 0.6875 2 = 1.375 0.375 2 = 0.75 0.75 2 = 1.5 0.5 2 = 1.0 (0.6875)10=(0.1011)2 十进制小数转八进制 乘8取整法 0.6875 8 = 5.5 0.5 8 = 4.0 (0.6875)10=(0.54)8 按权相加法: 二进制数转十进制数 (11010.01)2 =1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论