计算机二级C语言.ppt_第1页
计算机二级C语言.ppt_第2页
计算机二级C语言.ppt_第3页
计算机二级C语言.ppt_第4页
计算机二级C语言.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计 教材 参考书与课时安排 教材C程序设计谭浩强编著清华大学出版社参考书C语言程序设计教程谭浩强高等教育出版社C高级实用程序设计王士元清华大学出版社 第一章C语言概述 1 1C语言发展历史程序设计语言的发展 CPU指令系统 由0 1序列构成的指令码组成如 10000000加10010000减 用助记符号描述的指令系统如ADDA B 面向机器的语言 程序设计是数据被加工的过程 客观世界可以分类 对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系 程序设计关键是定义类 并由类派生对象 C语言程序设计第一章C语言概述 Ada ALGOL60 ALGOL68 Pascal Modula 2 CPL BCPL B C C Java LISP PROLOG COBOL FORTRAN77 FORTRAN PL 1 Simula67 Smalltalk80 BASIC ANSI BASIC QBASIC VB FORTRAN90 C语言发展过程产生背景产生过程时间 1972 1973地点 美国贝尔实验室目的 UNIX操作系统设计人 Ken Thompson和Dennis M RitchieC标准标准C K R合著 TheCProgrammingLanguage ANSIC 1983年87ANSIC 1987年1990年国际标准的ANSIC C语言程序设计第一章C语言概述 1 2C语言特点语言简洁 紧凑 灵活运算符和数据类型丰富程序设计结构化 模块化生成目标代码质量高可移植性好 C语言程序设计第一章C语言概述 32个关键字 由系统定义 不能重作其它定义 autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile C语言程序设计第一章C语言概述 9种控制语句 if else for while do while continuebreakswitchgotoreturn C语言程序设计第一章C语言概述 例C语言与Pascal语言比较C语言Pascal语言含义 BEGIN END复合语句if e s IF e THENs条件语句inti VARi INTEGER定义i为整型变量inta 10 VARa ARRAY 1 10 OFINTEGER定义整型数组aintf FUNCTIONf INTEGER定义f为返值整型的函数int p VARp INTEGER定义p为指向整型变量的指针i 2 i i 2赋值i 2 ii i i i 1i自增值结论 C比Pascal简练 源程序短 C语言程序设计第一章C语言概述 34种运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 及其扩展条件运算符 逗号运算符 指针运算符 求字节数 sizeof强制类型转换 类型 分量运算符 下标运算符 其它 C语言程序设计第一章C语言概述 C语言程序设计第一章C语言概述 1 3C程序格式和结构特点例1 1第一个程序Hello World example1 1ThefirstCProgram includemain printf Hello World C语言程序设计第一章C语言概述 输出 Hello World 例1 2 example1 1calculatethesumofaandb include Thisisthemainprogram main inta b sum a 10 b 24 sum add a b printf sum d n sum Thisfunctioncalculatesthesumofxandy intadd intx inty intz z x y return z 运行结果 sum 34 C语言程序设计第一章C语言概述 格式特点习惯用小写字母 大小写敏感不使用行号 无程序行概念可使用空行和空格常用锯齿形书写格式 C语言程序设计第一章C语言概述 main main inti j sum sum 0 for i 1 i 10 i for j 1 j 10 j sum i j printf d n sum 优秀程序员的素质之一 使用TAB缩进 对齐有足够的注释有合适的空行 结构特点函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main 程序执行从main开始 在main中结束 其它函数通过嵌套调用得以执行 程序语句C程序由语句组成用 作为语句终止符注释 为注释 不能嵌套不产生编译代码 例 Thisisthemain ofexample1 1 编译预处理命令 C语言程序设计第一章C语言概述 1 4C程序的上机步骤C程序开发步骤 file exe C语言程序设计第一章C语言概述 程序代码的录入 生成源程序 c 语法分析查错 翻译生成目标程序 obj 与其它目标程序或库链接装配 生成可执行程序 exe TurboC集成开发环境配置要求UNIX PC DOS MS DOS UCDOS操作系统硬盘容量约2M 448KRAM运行空间安装TurboC创建子目录Install若不是可安装盘 将文件拷贝到对应的目录下 C语言程序设计第一章C语言概述 进入TurboCD TC TC exe 主控菜单文件操作FILE NewLoadSaveWriteto编辑操作EDIT 插入 修改块查找 替换编译链接COMPILELINKMAKE执行RUN退出TurboCAlt xAlt F Q帮助HelpF1Ctrl F1 C语言程序设计第一章C语言概述 基本操作 F10 调用主菜单F2 存盘F3 打开Alt F9 CompileCtrl F9 RunAlt F5 UserScreen 常用热键 文本编辑 移动光标PgUp PgDn 上下翻页Ctrl PgUp Ctrl PgDn 文件首尾HomeEndDdeleteInsertBkspace 块操作 Ctrl KB 块开始标记Ctrl KK 块结束标记Ctrl KC 块拷贝Ctrl KV 块移动Ctrl KY 块删除Ctrl KH 块隐藏 程序调试 F8 StepoverF7 TraceintoF4 GotoCursorCtrl F7 AddWatchCtrl F8 ToggleBreakpointCtrl F2 ProgramReset 窗口操作 F5 窗口缩放F6 窗口切换 C语言程序设计第一章C语言概述 预备知识 DOS DiskOperatingSystem 基础DOS基本概念对计算机系统软硬件资源进行控制与管理是用户和计算机间的接口MS DOS和PC DOSDOS的组成引导程序I O设备管理程序 IO SYS或IBMBIO COM文件管理和功能调用程序 MSDOS SYS或IBMDOS COM命令处理程序 COMMAND COM C语言程序设计第一章C语言概述 DOS文件文件概念 存储在磁盘上的一组相关信息文件名 文件标识符 扩展名 文件名中的通配符用途 指定文件组 避免重复操作 与 最长8个字符可用字符 英文字母数字0 9其它字符 空格DOS设备名 CONLPT1PRNAUXCOMNULA Z 例磁盘上有如下文件 ABCD XYZCBCD XYZABCT XYZABTTS XYZABID XYZTEXTS TXTABYD TXTABCD BAS1 B D XYZ2 AB XYZABCD XYZABCD XYZABID XYZABCT XYZCBCD XYZABID XYZABTTS XYZ3 TXTABYD TXTTEXTS TXT4 所有文件 可省略1 3个字符表示文件类型 DOS中常用扩展名及其表示文件类型 COM系统程序文件 EXE可执行文件 BAT批处理文件 BAK备份文件 TXT文本文件 SYS系统文件 OBJ目标文件 LIB库文件 DAT数据文件 CC源程序文件 C语言程序设计第一章C语言概述 DOS目录用途 对文件进行有效组织管理树型目录结构 根目录 子目录 例绝对路径 USER ZHAO DOC ch1 doc 例若当前目录为TC相对路径INCLUDE stdio h C语言程序设计第一章C语言概述 常用的内部命令 DIR显示磁盘文件目录COPY拷贝文件TYPE显示文本文件RENAME更改文件名DEL删除磁盘文件DATE显示和设置日期TIME显示和设置时间CLS清除显示屏幕 常用的外部命令 FORMAT磁盘格式化DISKCOPY软盘间拷贝XCOPY拷贝目录和文件PRINT打印文件FDISK硬盘分区 DOS命令内部命令 在COMMAND COM中 驻留内存 外部命令 以文件形式驻留在磁盘 com exe bat DOS命令格式 命令名 参数 选择项 例A FORMATA S V格式化A驱软盘 将DOS系统文件存入 并为其加上卷标 常用DOS命令 系统服务命令 DATE显示和设置日期TIME显示和设置时间CLS清屏幕 目录操作命令 DIR显示目录清单例C DIRA C PMD建立子目录例C MD WINZIPCD改变当前目录例C CD TCRD删除子目录例C RD USER WANGTREE显示目录结构例C TREEC F 文件操作命令 TYPE显示文件内容例C TYPEA HELLO CREN更改文件名例C RENC TXT TMPDEL删除文件例C DELA COPY复制文件例C COPYC TC CA XCOPY复制子目录及文件例C XCOPY USERA S 磁盘操作命令 FORMAT磁盘格式化例A FORMATA SDISKCOPY复制软盘例A DISKCOPYA B C语言程序设计第一章C语言概述 第二章数据描述 预备知识数据类型常量与变量不同类型数据间的转换运算符和表达式 2 0预备知识计算机中数的表示及进制转换数码 基与权数码 表示数的符号基 数码的个数权 每一位所具有的值数制 各种进制之间的转换二进制 八进制 十六进制转换成十进制方法 按权相加 各种进制之间的转换 整数 二进制 八进制 十六进制转换成十进制方法 按权相加 十进制转换成二进制 八进制 十六进制原理 方法 连续除以基 从低到高记录余数 直至商为0 二进制与八进制之间的转换二进制转换成八进制 从右向左 每3位一组 不足3位左补0 转换成八进制八进制转换成二进制 用3位二进制数代替每一位八进制数 例 1101001 2 001 101 001 2 151 8 例 246 8 010 100 110 2 10100110 2 000 0001 1010 2011 3100 4101 5110 6111 7 二进制与十六进制之间的转换二进制转换成十六进制 从右向左 每4位一组 不足4位左补0 转换成十六进制十六进制转换成二进制 用4位二进制数代替每一位十六进制数 例 11010101111101 2 0011 0101 0111 1101 2 357D 16 例 4B9E 16 0100 1011 1001 1110 2 100101110011110 2 0000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F 字节和位内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成每个二进位的值是0或1 数值的表示方法 原码 反码和补码原码 最高位为符号位 其余各位为数值本身的绝对值反码 正数 反码与原码相同负数 符号位为1 其余位对原码取反补码 正数 原码 反码 补码相同负数 最高位为1 其余位为原码取反 再对整个数加1 9 5 49 7 16 14 12 负数补码转换成十进制数 最高位不动 其余位取反加1 例补码 11111001取反 10000110加1 10000111 7 2 1数据类型数据类型总表 数据类型决定 1 数据占内存字节数2 数据取值范围3 其上可进行的操作 基本数据类型 整型 字符型 实型 有 无 说明 数据类型所占字节数随机器硬件不同而不同 上表以IBMPC机为例 2 2常量与变量标识符定义 用来标识变量 常量 函数等的字符序列组成 只能由字母 数字 下划线组成 且第一个字母必须是字母或下划线大小写敏感不能使用关键字长度 最长32个字符命名原则 见名知意不宜混淆如l与I o与0 例 判断下列标识符号合法性sumSumM D JohndayDate3daysstudent name 33lotus 1 2 3chara b above 123 M D John 3days 33 char 123 a b 一般用大写字母是宏定义预处理命令 不是C语句直接常量 整型常量实型常量字符常量字符串常量 如 definePRICE30 常量定义 程序运行时其值不能改变的量 即常数 分类 符号常量 用标识符代表常量定义格式 define符号常量常量 例符号常量举例 ch2 1 c definePRICE30main intnum total num 10 total num PRICE printf total d total 运行结果 total 300 整型常量 整常数 三种形式 十进制整数 由数字0 9和正负号表示 如123 456 0八进制整数 由数字0开头 后跟数字0 7表示 如0123 011十六进制整数 由0 x开头 后跟0 9 a f A F表示 如0 x123 0Xff 例12与12L 例30000为int型65536为longint型 整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L 认为它是longint型常量 问题 0123 100 x123 100Xff 10 实型常量 实数或浮点数 表示形式 十进制数形式 必须有小数点 如0 123 123 123 0 0 0 123 指数形式 e或E之前必须有数字 指数必须为整数 如12 3e3 123E2 1 23e4 e 5 1 2E 3 5 实型常量的类型默认double型在实型常量后加字母f或F 认为它是float型 字符常量定义 用单引号括起来的单个字符或转义字符 字符常量的值 该字符的ASCII码值 如 101 A 012 n 376 x61 a 60 0 483 例 A 101 x41 65 如 A 65 a 97 0 48 n 10 如 a A n 101 转义字符 反斜线后面跟一个字符或一个代码值表示 例转义字符举例 ch2 001 c ch2 004 c main printf 101 x42C n printf Isay Howareyou n printf CProgram n printf Turbo C 运行结果 屏幕显示 ABCIsay Howareyou CProgram Turbo C 例main printf Y b n 运行结果 屏幕显示 打印机输出 字符常量与字符串常量不同 字符串常量定义 用双引号 括起来的字符序列存储 每个字符串尾自动加一个 0 作为字符串结束标志 例 charch ch A 变量概念 其值可以改变的量变量名与变量值变量定义的一般格式 数据类型变量1 变量2 变量n 变量初始化 定义时赋初值 例 inta b c floatdata 决定分配字节数和数的表示范围 合法标识符 例 inta 2 b c 4 floatdata 3 67 charch A intx 1 y 1 z 1 intx y z 1 变量的使用 先定义 后使用 例1intstudent stadent 19 Undefinedsymbol statent infunctionmain 例2floata b c c a b Illegaluseoffloatingpointinfunctionmain 变量定义位置 一般放在函数开头 Ch2 005 c 整型变量占字节数随机器不同而不同 一般占一个机器字short int long可用sizeof 类型标识符 测量 实型变量float 占4字节 提供7位有效数字double 占8字节 提供15 16位有效数字 字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算 例floata a 111111 111 a 111111 1 doubleb b 111111 111 b 111111 111 例a D a 68 x A 5 x 65 5 s G s 33 71 没有字符串变量 用字符数组存放 Ch2 006 c 例 ch2 003 c definePRICE12 5main intnum 3 floattotal charch1 ch2 D total num PRICE ch1 ch2 A a printf total f ch1 c n total ch1 运行结果 total 37 500000 ch1 d 2 3不同类型数据间的转换隐式转换什么情况下发生运算转换 不同类型数据混合运算时赋值转换 把一个值赋给与其类型不同的变量时输出转换 输出时转换成指定的输出格式函数调用转换 实参与形参类型不一致时转换运算转换规则 不同类型数据运算时先自动转换成同一类型 显式转换 强制转换 一般形式 类型名 表达式 例 int x y int x y double 3 2 int 3 6说明 强制转换得到所需类型的中间变量 原变量类型不变 例main floatx inti x 3 6 i int x printf x f i d x i 结果 x 3 600000 i 3 精度损失问题 Ch2 007 c Ch2 008 c 2 4运算符和表达式 学习运算符应注意 运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型 算术运算符和表达式基本算术运算符 结合方向 从左向右优先级 2 3 4 说明 可为单目运算符时 右结合性两整数相除 结果为整数 要求两侧均为整型数据 例5 2 5 2 0 例5 2 5 2 1 10 5 1 5 5 2 例5 2 2 5 2 0 2 5 例5 2 1 5 2 11 10 15 1 05 5 2 自增 自减运算符 作用 使变量值加1或减1种类 前置 i i 先执行i 1或i 1 再使用i值 后置i i 先使用i值 再执行i 1或i 1 例j 3 k j j 3 k j j 3 printf d j j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b k 4 j 4 k 3 j 4 4 3 c 20 a 4 c 15 a 4 自增 自减运算符 作用 使变量值加1或减1种类 前置 i i 先执行i 1或i 1 再使用i值 后置i i 先使用i值 再执行i 1或i 1 说明 不能用于常量和表达式 如5 a b 结合方向 自右向左优先级 2 3 4 例 i i i 3 printf d i 3 例 i i 3 printf d i Ch2 009 c 赋值运算符和表达式简单赋值运算符符号 格式 变量标识符 表达式作用 将一个数据 常量或表达式 赋给一个变量 复合赋值运算符种类 含义 exp1op exp2 exp1 exp1opexp2 例a 3 d func c d 2 说明 结合方向 自右向左优先级 14左侧必须是变量 不能是常量或表达式 赋值表达式的值与变量值相等 且可嵌套 赋值转换规则 使赋值号右边表达式值自动转换成其左边变量的类型 例3 x 2 y a b 3 例floatf inti i 10 f i 则f 10 0 例inti i 2 56 结果i 2 例 a b c 5a b 5 a 5 c 6 a b 4 c 6 a b 10 c 2 表达式值为5 a b c值为5 b 5 a 5 表达式值11 c 6 a 11 表达式值10 a 10 b 4 c 6 表达式值5 a 5 b 10 c 2 说明 结合方向 自右向左优先级 12左侧必须是变量 不能是常量或表达式 赋值表达式的值与变量值相等 且可嵌套 赋值转换规则 使赋值号右边表达式值自动转换成其左边变量的类型 例 a 12 a a a a 例 inta 2 a 4 1 a a a a 3 a 264等价于a a a a a a a 0等价于a a a a a a a a 3 逗号运算符和表达式形式 表达式1 表达式2 表达式n结合性 从左向右优先级 15逗号表达式的值 等于表达式n的值用途 常用于循环for语句中 例a 3 5 a 4a 3 5 a 4 a 5例x a 3 6 3 x a 3 6 a例a 1 b 2 c 3 printf d d d a b c printf d d d a b c b c a 15 表达式值60 a 15 表达式值20 赋值表达式 表达式值18 x 18 逗号表达式 表达式值18 x 3 1 2 3 3 2 3 逗号运算符和表达式形式 表达式1 表达式2 表达式n结合性 从左向右优先级 15逗号表达式的值 等于表达式n的值用途 常用于循环for语句中 例 ch2 6 c includemain intx y 7 floatz 4 x y y 6 y z printf x d n x 运行结果 x 3 关系运算符和表达式关系运算符种类 结合方向 自左向右作用 用于比较左 右两个运算对象的大小关系优先级别 例c a b c a b a b c a b ca bc a b

温馨提示

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

评论

0/150

提交评论