%工测中 C语言中的编程规范.ppt_第1页
%工测中 C语言中的编程规范.ppt_第2页
%工测中 C语言中的编程规范.ppt_第3页
%工测中 C语言中的编程规范.ppt_第4页
%工测中 C语言中的编程规范.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

C语言的基本知识 辅助训练 C语言提要 C语言的语法C语言的基本运算及流程控制语句控制系统中常用的C语言函数TC2 0环境的使用C程序的编写和要求 C语言的语法 C语言的特点 C程序的基本组成 main 变量定义执行语句组 子函数名称1 参数 变量定义执行语句组 子函数名称2 参数 C语言的语法 C语言的特点 程序以函数为单元 并且有且仅有一个主函数main 函数由函数说明和函数体两部分组成 变量的声明和定义必须在函数头部 语句必须以 结束 注释 C语言允许直接访问物理地址 可以直接对硬件进行操作 能进行位 bit 操作 C语言的语法 2 C语言的数据类型 整型 int short long 数据在内存中以2进制形式存放 字符型 char浮点型 float double指针 char int float 数组 inta 10 结构体 struct公用体 union无符号数 unsigned unsignedint unsignedchar C语言的基本运算 算术运算 C语言的基本运算 算术赋值运算 C语言的基本运算 位运算 位运算的举例 位与运算 规则 两个运算量中相应位都是1 则该位的结果为1 否则为0 例 01010101 01011010 01010000 与 x 0 x55 01010101 x 0 x5a 01011010 x y 0 x50 01010000 位运算的举例 位或运算 规则 两个运算量中相应位只要有一个是1 则该位的结果为1 否则为0 例 01010101 01011010 01011111 或 x 0 x55 01010101 x 0 x5a 01011010 x y 0 x5f 01011111 位运算的举例 位反运算 规则 一个运算量的每一位都取反 即将1变为0 0变为1 例 01010101 10101010 反 x 0 x55 01010101 x 0 xaa 10101010 位运算的举例 移位运算 规则 对整型操作数中的每一位向右或向左移动 变量一端被移出的位被舍弃 另一端空出的位则以0填补 例 01010101 00000101 移位 舍弃0101 x 0 x55 01010101 x 4 0 x05 在计算机系统中常常采用移位运算以快速实现乘法和除法的运算 每左移1位等效于乘以2 每右移1位等效于除以2 位运算的应用举例 1 方法1 先右移n位 再与 0 x01 bit byte n 00001110 1 思考 如何从一个字节byte中取出第n位 voidbyte bit int bits charbyte inti for i 0 i i voidbyte bit int bits charbyte inti for i 0 i i C语言的基本运算 关系运算 C语言的基本运算 逻辑运算 C语言的流程控制语句 选择语句if 表达式 语句1else语句2 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 学生成绩分段 90 100为A 80 89为B 60 79为C 0 59为D 输入学生成绩 然后分类输出 includeMain intx printf 请输入学生成绩 n scanf d C语言的流程控制语句 循环语句while 表达式 循环体语句do语句循环体语句while 表达式 for i 0 i N i 循环体语句 C语言的流程控制语句 转移语句break continue intn for n 10 n 100 n if n 3 0 continue printf 5d n return goto 表达式 表达式 N Y Y break continue N N Y Y N break语句退出循环 continue结束本次循环 表达式 表达式 C语言中几个常用的函数 标准输入输出 scanf d bioskey intcmd 它在Bios h头文件中进行了说明 该函数实际上调用了BIOS的INT16H中断 参数用来确定bioskey 如何操作 键盘控制 C语言中几个常用的函数 2 键盘输入 kbhit bioskey 0 返回键盘输入 while kbhit 如果没有按下任意键继续 延时 delay millisecond 延时若干毫秒sleep second 延时若干秒 TurboC2 0环境的使用 File 管理文件和目录 装入或保存程序等 Edit 进入TurboC的编辑程序 输入和修改源程序 Run 编译 连接和运行装入TurboC环境的当前程序 Compile 编译和连接装入TurboC环境的当前程序 Project 管理多文件工程 Options 设置编译程序和连接程序的各种选择项 Debug 设置各种调试选择项 Break Watch 设置断点 在调试阶段以便监视所需的变量 TurboC2 0环境 1 管理文件和目录 装入或保存程序等 进入TurboC的编辑程序 输入和修改源程序 编译 连接和运行装入TurboC环境的当前程序 编译和连接装入TurboC环境的当前程序 管理多文件工程 设置编译程序和连接程序的各种选择项 设置各种调试选择项 设置断点 在调试阶段以便监视所需的变量 TurboC2 0环境设置 TurboC2 0环境的使用 菜单栏 Alt FF10几个常用的命令打开 F3保存 F2编译连接生成EXE F9 运行 Ctrl F9 用Alt F5切换到用户窗口 调试 单步 F8不可进入函数体单步 F7可进入被调函数体断点 Ctrl F8观察变量 Ctrl F7全屏 窗口模式切换 Alt Enter编辑程序编写程序 记事本 之后在TC中打开调试 变量申明 全局变量与局部变量 作用域 intx x就是一个全局变量 main inty y就是一个局部变量 尽量少用全局变量 因为系统为其分配固定的永久存储空间 而系统为局部变量分配动态存储空间 模块化编程 在主函数中的语句尽量的清晰明了 多用子函数来完成功能模块 voidDI intchannel int DI in 模块化编程 1 voidDO intchannel int DO Out 模块化编程 2 main intDI in 6 DO out 6 i DI 0 DI in 获得光电对管被挡情况 DO 0 DO out 输出DO IntI 全局变量 main intDI in 6 DO out 6 i 局部变量 DataInput 参数 ReadPort 参数 WritePort 参数 Control 参数 DataOutput 参数 程序规范 例 屏幕输入模块 I O端口输入模块 I O端口输出模块 控制模块 屏幕输出模块 1 变量 全局变量与局部变量 2 子函数 屏幕输入 输出 I O端口输入输出控制模块3 调式方法 主程序开始 子函数一个一个编写调试4 程序注释 程序规范 程序书写风格 简洁 明了 易读缩进编写多写注释 TC下注释 调试程序 单步执行 加Watch 开关量输入程序及分析 即 Inportb port 一直在执行While kbhit inportb port 数字量输入采取一直读取得策略 main inti 0 clrscr while bioskey 1 i i 1 printf d n i return 循环控制 DI通道程序 移位取位 Num 14 00001110 00000001 00000000 DI NUM 0 0 i 0 与 i 1 右移一位 00000111 00000001 00000001 DI NUM 1 1 与 DI通道程序 设置基地址 循环 移位获取位 intBASE ADDRESS 0 x220 intcreat DI int DI NUM intnum inti 0 for i 0 i i DI通道程序 续 00000011 00000001 00000001 DI NUM 3 1 与 i 5 右移5位 00000000 00000001 00000000 DI NUM 5 0 与 00001110 i 2 右移2位 DI通道程序 续 main intDI 6 0 intDI out charc clrscr while 1 DI out inportb BASE

温馨提示

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

评论

0/150

提交评论