




已阅读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的值, 结构化程序设计 自顶向下,逐步细化 根据总要求和完成功能逐步细分成若干相对独立 的模块和子模块 清晰第一,效率第二 程序要清晰易读,包括采用有意义的变量名和作 必要的注释 书写规范,缩进格式 统一标准的格式书写程序,用分层缩进的写法显 示嵌套结构的层次或区分每一结构 基本结构,组合而成 程序用顺序、选择、循环三种基本结构组成,3. C语言概述, C语言简史 1972年 Bell实验室D.M.Ritchie在B语言基础上设计 1973年 和Thompson合作用以改写 UNIX 1978年 B.W.Kernighan和D.M.Ritchie (简称K&R) 合著The C Programing Language 称为标准 C 1983年 美国国家标准化协会制定发表 ANSI C 1987年 美国国家标准化协会制定发表 87 ANSI C,1989年 美国国家标准化协会制定发表最终版 C89 1990年 国际标准化组织(ISO)批准了同一标准, 称为C90,本教材以此版本为基础 1999年 ANSI和ISO联合制订了新标准,称为C99 C语言最初是为了编写UNIX操作系统而推出的, 1978年后,C语言先后移植到大、中、小、微型机 上,成为应用最广泛的计算机语言之一, C语言特点 面向过程的结构化语言,包含丰富的数据类型和 运算符,适用于一般解题和科学计算等各种领域 讲究效率,书写格式简洁自由,编译生成的代码 质量非常高。指针类型等能直接控制系统的各种 资源,因此可以最大限度地提高程序的灵活性。 但源程序的语法检查相对不太严格 最接近于汇编语言,是汇编语言最好的替代工具 内核部分相当小,编译器容易实现,容易推广到 各种不同的平台上,通过非常丰富的库函数和自 己扩充函数,可以编写出各种功能强大的程序, C语言字符集 大小写英文字母: az AZ 数字字符: 09 27个特殊字符: + - * / = : ; ? | ! # % & () _ , . “ 空格 C语言标识符 标识符:是指用来标识程序中用到的变量名、函 数名、类型名、数组名以及符号常量名等的有效 字符序列 标识符组成: 标识符必须由字母或下划线开头, 后跟字母或下划线或数字,字母区分大小写, 标识符长度:有效字符个数无统一规定,随C 编 译系统而定 ,一般只能识别前8个字符,TC 2.0 支持最长为32个字符 选择标识符时,提倡使用有意义的英文单词,注 意做到“见名知义” 关键字是由语言规定的具有特定意义的字符串, 通常也称为保留字 ,不允许作标识符(见附录), 简单的C程序 例1: main ( ) /*主函数*/ /*函数体*/ printf(“This is a c program.n“); /*调用输出函数*/ /*“字符串“*/ /* 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位系统),除基取余法:,十进制整数转二进制 除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.5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海新上铁实业发展集团有限公司合肥分公司招聘1人考前自测高频考点模拟试题及参考答案详解1套
- 2025年辉南县补录1名乡镇、街道派驻消防文员考前自测高频考点模拟试题带答案详解
- 2025北京第五实验学校招聘38人考前自测高频考点模拟试题参考答案详解
- 2025年丽水市直事业单位公开选聘人员24人考前自测高频考点模拟试题及参考答案详解
- 2025河南周口市中医院招聘117人模拟试卷及答案详解(有一套)
- 2025杭州青少年活动中心招聘工勤岗位工作人员20人模拟试卷附答案详解(突破训练)
- 2025年河北唐山芦台经济开发区事业编制教师人员2名模拟试卷及完整答案详解一套
- 一级注册消防工程师(消防安全技术实务)综合能力测试题及答案(商丘2024年)
- 2025年青海海东一级注册消防工程师考试模拟题及答案(消防安全技术综合能力)
- 2024年二级注册消防工程师(消防安全技术综合能力)考前冲刺试题及答案一
- 2025年营造林监理工程师试题
- (正式版)DB15∕T 3227-2023 《集中供热单位产品能耗限额》
- 空乘盘发课件
- 中建土建劳务招标标准清单编制参考
- 土地调查评估服务方案(3篇)
- 小学生英语水果课件下载
- 湖北省老年教育管理办法
- 人教新版(PEP)四年级上册单元测试卷 Unit1 Helping at home (含听力音频听力原文及答案)
- DGTJ08-66-2016 花坛花境技术规程
- 法律明白人课件
- 洗衣房衣物洗涤操作规范
评论
0/150
提交评论