c语言cythe头文件,第5章 C语言序的基本结构.doc
第5章 C语言序的基本结构
第5章 C语言程序的基本结构
C语言程序是由若干个函数单元组成的,每个函数都是完成某个特殊任务的子程序段。组成一个程序的若干个函数可以保存在一个源程序文件中,也可以保存在几个源程序文件中,最后再将它们连接在一起。C语言程序的扩展名为“.c” ,如“test.c” 等。为了使初学者能彻底弄明白,我们通过实例进行引导,由浅入深。
5.1 用函数调用方式完成LED1~LED8这8个二极管实现D0、D2、D4、D6及D1、D3、D5、D7的交替点亮的实验,周期约1秒
5.1.1 源程序文件
在D盘建立一个文件目录(CS5-1),然后建立CS5-1.uv2的工程项目,最后建立源程序文件(CS5-1.c)。输入下面的程序:
#include //1
/*=====================2================*/
void delay(void)//3
{//4
unsigned int i,j;//5
for(i=0;i<500;i++)//6
{//7
for(j=0;j<121;j++)//8
{;}//9
}//10
}//11
//=====================12============
void light1(void)//13
{//14
P1=0xaa;//15
}//16
//=====================17============
void light2(void)//18
{//19
P1=0x55;//20
}//21
/*=====================22============*/
void main(void)//23
{//24
while(1)//25
{//26
light1();//27
delay();//28
light2();//29
delay();//30
}//31
}//32
编译通过后,试验板接通5V稳压电源,将生成的CS5-1.hex文件下载到51 MCU DEMO试验板上的单片机89S51中,注意,标示“LED”的双排针应插上8个短路块。我们看到D0~D7这8个二极管中的D0、D2、D4、D6及D1、D3、D5、D7的交替点亮,周期差不多为1S。图5-1为keil C51软件进行仿真时的界面。
图5-1 keil c51软件进行仿真时的界面
5.1.2 程序分析解释
序号1:包含头文件REG51.H。
序号2:程序分隔或注释,在“/*”及“*/”之间的内容,程序不会去处理,因此通常可进行文字注释,能增加程序的可读性,当然也可作为程序语句模块之间的分隔。
序号3:定义函数名为delay的延时子函数。
序号4:delay延时子函数开始。
序号5:定义两个无符号整形变量i,j。
序号6~10:两个for语句循环体,作用是延时,由于我们还未学习for语句,因此这里可暂不理会。
序号11:delay的延时子函数结束。
序号12:程序分隔或注释,在“//”之后的内容,程序也不会去处理,因此也可进行文字注释,能增加程序的可读性,当然也能作为程序模块之间的分隔。但应注意,这种风格的注释,只对本行有效,所以在只需要一行注释的时候,往往采用“//……”这种格式。而“/*……*/”风格的注释,既可用于一行,也可用于多行。
序号13:定义函数名为light1 的子函数,该子函数用于点亮D0、D2、D4、D6四个LED。
序号14:light1 子函数开始。
序号15:向P1口送数0xaa(0xaa为16进制数,相当于汇编语言中的AAH,前缀加0x为C51的风格),这条语句的目的是点亮D0、D2、D4、D6四个LED。
序号16:light1 子函数结束。
序号17:程序分隔。
序号18:定义函数名为light2 的子函数,该子函数用于点亮D1、D3、D5、D7四个LED。
序号19:light2子函数开始。
序号20:向P1口送数0x55,目的是点亮D1、D3、D5、D7四个LED。
序号21:light2子函数结束。
序号22:程序分隔。
序号23:定义函数名为main的主函数。
序号24:main的主函数开始。
序号25:while循环语句,这里进行无限循环。
序号26:while循环语句开始。
序号27:调用light1子函数模块。
序号28:调用延时子函数模块。
序号29:调用light2子函数模块。
序号3
c语言cythe头文件,第5章 C语言序的基本结构.doc相关推荐
- c语言寄存器头文件共用重复定义,C语言头文件的使用
让我们的思绪乘着时间机器回到大学一年级.C原来老师正在讲台上讲着我们的第一个C语言程序: Hello world! 文件名 First.c main() { printf("Hello wo ...
- 两种语言的html文件,2. 第二章 HTML语言(一)(33页)-原创力文档
;;;2.1 HTML基本语法2.2 HTML文档基本结构2.3 HTML文档头部相关标签2.4 段落与文本格式化2.5 列表2.6 超链接 ;2.1 HTML基本语法HTML是一种标签式语言,通过使 ...
- c语言二叉树的头文件叫什么,西安交大朱站立数据结构——使用C语言》头文件系列——二叉树.doc...
西安交大朱站立数据结构--使用C语言>头文件系列--二叉树 本文为二叉链存储结构的二叉树操作实现,实现了二叉树的定义.插入数据.删除数据.撤销以及二叉树的打印.前序遍历.中序遍历.后序遍历等.本 ...
- C语言中头文件怎么写?(本文来源网络,由黑乌鸦进一步完善)
c语言头文件怎么写?我一直有这样的疑问,但是也一直没去问问到底咋回事:所以今天一定要把它弄明白! 其实学会写头文件之后可以为我们省去不少事情,可以避免书写大量的重复代码.有利于整理思路.使代码脉络更加 ...
- c语言程序头文件作用,C语言头文件
C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...
- 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 头文件定义 | 头文件导入限制 | 兼容 C++ 语言 | 函数形参输入输出属性注释)
文章目录 一.头文件定义 1.头文件导入限制 2.兼容 C++ 语言 3.函数形参输入输出属性 4.代码示例 一.头文件定义 1.头文件导入限制 头文件导入限制 : 防止头文件多次导入 , 将头文件的 ...
- C语言的头文件和库文件(函数库)
C语言的头文件和库文件(函数库) 分类: Unix环境高级编程 2011-04-17 14:37 2576人阅读 评论(1) 收藏 举报 语言cgcclinuxunix 在C语言中,头文件提供对常量的 ...
- c语言的所有头文件,C语言所有头文件.doc
C语言所有头文件 C语言所有头文件 stdlib.h包含了很多标准函数和标准宏定义,比如NULL, EXIT_SUCCESS等. ctype.h包含了很多类型定义 string.h包含了字符串操作相关 ...
- 在c语言中怎么返回引用参数,C语言函数 函数的声明 C语言的头文件 #include的用法 形参和实参 函数的返回值 - 猫扑天空...
C语言函数 一.是什么? 是指编程中对一块功能代码的封装,可以理解一个程序片段 二.有什么用? 可以封装代码,方便调用,提高复用性 三.怎么用? 定义: 返回值类型 函数名(形参类型 参数名1-. ...
最新文章
- java token认证机制,OAuth认证协议原理分析及使用方法
- python高级开发面试题_python面试的100题(16)
- 算法-----前 k 个出现次数最多的单词
- valgrind 看内存泄漏
- 线程:volatile关键字
- BigDecimal相除异常
- Vue.js 事件处理
- Python第三、四种数据类型——List(列表) and Tuple(元组)
- ai如何旋转画布_「AI教程」使用AI制作3D立体文字效果
- qt调用html里面的函数吗,QT和JS的互相调用例子
- CentOS7.4 搭建ngrok 内网穿透
- 不是python文件处理seek()方法的参数是_python文件操作seek()偏移量,读取指正到指定位置操作...
- java面试中jvm执行子系统详细分析(三)
- 前端学习(1317):静态资源2
- 转载——开阔自己的视野,勇敢的接触新知识
- 关于音频PCM数据2字节(16位)byte与64位double之间的转换
- c语言调用Windows自定义消息,VC自定义消息postmessage用法(消息响应函数)
- Markdown:继续编号列表
- ❤️Mybatis开发中什么是多对一处理、一对多处理?
- DVWA中学习PHP常见漏洞及修复方法
热门文章
- tensorflow学习笔记(四十五):sess.run(tf.global_variables_initializer()) 做了什么?
- LeetCode简单题之单值二叉树
- 使用Jittor实现Conditional GAN
- 在NVIDIA A100 GPU中使用DALI和新的硬件JPEG解码器快速加载数据
- 如何估算各种物体的重心
- Django 验证码4.4
- 浅谈MySQL中utf8和utf8mb4的区别
- error:CLEARTEXT communication to api.help.bj.cn not permitted by network security policy
- Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(andro
- TableLayout 表格布局,FrameLaout 帧布局 ,AbsoluteLayout绝对布局的分析