单片机技术及应用--第九章 C51程序设计及应用.ppt_第1页
单片机技术及应用--第九章 C51程序设计及应用.ppt_第2页
单片机技术及应用--第九章 C51程序设计及应用.ppt_第3页
单片机技术及应用--第九章 C51程序设计及应用.ppt_第4页
单片机技术及应用--第九章 C51程序设计及应用.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

单 片 机 技 术 与 应 用 实 践 第9章 C51程序设计及应用 单片机技术与应用实践 教学提示 本章主要介绍绍了C51程序设计设计 基础础知识识,包 括C语语言的数据类类型、运算符、各种语语句、数组组 与函数等知识识,使大家具有单单片机C语语言程序设设 计计的能力。 教学目标标 了解C51与ASM51的区别别。 掌握C51程序设计设计 基础础知识识。 掌握C51的函数与数组组的使用方法。 学会用C语语言编编写简单单简单单 片机程序。 单片机技术与应用实践 9.1 C51程序设计设计 基础础知识识 9.2 C51的函数与数组组 9.3 实实践训练训练 单片机技术与应用实践 9.1 C51程序设计设计 基础础知识识 9.1.1 C51特点 9.1.2 C51编程的例 子 9.1.3 C51的标识符和保留字 9.1.4 C51的数据类型 9.1.5 C51的常量 9.1.6 变量 9.1.7 C51的常用运算符 9.1.8 C51的输入输出 9.1.9 C51的基本语句 单片机技术与应用实践 9.1 C51程序设计设计 基础础知识识 9.1.1 C51特点 (1)对单片机的指令系统不要求了解,仅要求对51系列单片机的 存贮器结构有初步了解; (2)寄存器分配、不同存贮器的寻址及数据类型等细节可由编译 器管理; (3)程序有规范的结构,可分成不同的函数,这种方式可使程序 结构化; (4)提供的库包含许多标准子程序,具有较强的数据处理能力; (5) 由于具有方便的模块化编程技术,使已编好程序可容易地移 植; (6)生成的目标代码的效率略低于汇编语言程序。 C51与ASM51相比,主要具有如下特点 : 单片机技术与应用实践 9.1.2 C51编程的例 子 【例9-1】 编程使接在P1.0引脚上的LED发光。 #include “reg51.h“ sbit P1_0=P10; void main() P1_0=0; /* P1.0 灯亮*/ 这个程序的作用是让接在P1.0引脚上的LED点亮 单片机技术与应用实践 1. 编译预处理部分 程序的第一行是一个“文件包含”处理。程序中包含reg51.h 文件的目的是为了要使用P1这个符号,即通知C编译器,程序 中所写的P1是指80C51单片机的P1端口而不是其他变量。 可根据不同的编程需要选择不同的头文件,一般情况下若 只用简单控制,只需要下面3个头文件: #include “reg51.h“/*寄存器说明头文件*/ #include “stdio.h“ /*输入/输出说明头文件*/ #include “intrins.h“ /*部分特殊指令说明头文件*/ 在C语言里,如果直接写P1.0,C编译器并不能识别,而 且P1.0也不是一个合法的C语言变量名,所以需给它另起一个 名字,这里使用了Keil C的关键字sbit来定义。 2. 说明与定义部分 单片机技术与应用实践 函数是C51程序的基本单位,一个C51程序至少有一个主函 数main(),也可以由一个主函数main()和若干个其他函数构成。 函数由函数说明部分和函数体两部分构成。 (1) 函数说明部分由函数名、函数类型、函数属性、函数参 数(形参)名和形式参数类型组成。 一个函数名后面必须跟一对圆 括号,即便没有任何参数也是如此。 (2) 函数体,即函数说明部分下面的大括号“”内的部分。 函数体一般包括: 声明部分:在这部分中定义所用到的变量. 执行部分:由若干个语句组成。 说明: void Delay() /*这是一个空函数,什么也不做,但它是合法的*/ 3. 函数 单片机技术与应用实践 (1)每个变量必须先定义后使用。 (2)变量名由英文字母、数字和下划线构成,具体使用细则见 9.1.3小节。 (3)C语言书写的格式自由,可以在一行写多个语句,也可以把 一个语句写在多行。没有行号(但可以有标号),对书写的缩进 没有要求。但是建议读者自己按一定的规范来写,可以给自己 带来方便。 (4)每个语句的最后必须有一个分号“;”,分号是C语句的必要 组成部分,此点尤其要注意与汇编语言区分。空语句可以只用 一个分号表示,在分号前什么也不写,最好用花括号把分号括 起来,即;,表示什么也不做但要耗费一定的时间,作用类 似于汇编语言中的空操作指令NOP。 4. 语句组成规则 单片机技术与应用实践 可以用/*/的形式为C程序的任何一部分做注释,在“/*”开 始后,一直到“*/”为止的中间的任何内容都被认为是注释。 注意:Keil C也支持C+风格的注释,就是用“/”引导的后面的语 句是注释. 例: P1_0=!P1_0; /取反P1.0 这种风格的注释只对本行有效,而且书写比较方便,所以在 只需要一行注释时,往往采用这种格式。 5.C51的注释 单片机技术与应用实践 C51程序结构如下: 译预处理部分 #include #define 标识符 字符串说明与定义部分 sbit P1_0=P10; /*变量定义*/ void delay(void); /*函数声明*/ void main() /*主函数说明*/ 声明部分 执行部分 void delay(int a) /*子函数说明*/ 声明部分 执行部分 译预处理部 分 说明与定义 部分 主函数定义 函数体 子函数定义 函数体 单片机技术与应用实践 9.1.3 C51的标识符和保留字 标识符用于标识语句、数据类型、函数、变量、数组、 存储方式等对象,也就是这些对象的名字。在C语言中,标识 符严格区分大小写。在C51编译器中,支持标识符的前32位 为有效标识,如果超长,则超长部分被舍弃。 注意:变量名只能由字母、数字、下划线组成,且只能由字母 和下划线开头。变量不能是C语言的保留字(或称关键字),即 不能使用C语言系统已经有固定含义的单词。 单片机技术与应用实践 表9-1 C语言32个保留字 表9-2 C51扩展13个保留字 autobreakcasecharconstcontinuedefault dodoubleelseenumexternfloatfor gotoifintlongregisterreturnshort signedstaticsizofstructswitchtypedefunion unsignedvoidvolatilewhile bitsbitsfrsfr16databdataxdata codeinterrupt reentran usingidatapdata 单片机技术与应用实践 9.1.4 C51的数据类型 数据在计算机内存中的存放情况由数据结构决定。C语言的 数据结构是由数据类型决定的,C51的数据类型分为基本数据类 型和组合数据类型,组合数据类型是由基本数据类型构造而成的 。情况与标准C中的数据类型基本相同,标准C语言中基本的数 据类型为char、int、short、long、float和double。组合数据类 型有数组类型、结构体类型、共同体类型、枚举类型、指针类型 和空类型。 注意:在C51编译器中int和short相同,float和double相同。另外 ,C51中还有专门针对MCS-51单片机的特殊功能寄存器类型和 位类型。 单片机技术与应用实践 表9-3 C51基本数据类型 基本数据类型长 度取值范围 unsigned char1B0255 signed char1B-128+127 unsigned int2B065535 signed int2B-32768+32767 unsigned long4B04294967295 signed long4B-2147483648+2147483647 float4B1.175494E-383.402823E+38 bit1b0或1 sbit1b0或1 sfr1B0255 sfr162B065535 单片机技术与应用实践 1字符型char 长度为一个字节,用于存放一个单字节的数据。可以分 为以下两种: (1) signed char:用于定义带符号字节数据,其字节的最高位 为符号位,“0”表示正数,“1”表示负数,用补码表示,所能表 示的数值范围是-128+127。 (2) unsigned char:用于定义无符号字节数据或字符,可以存 放一个字节的无符号数,其取值范围为0255。可以用来存 放无符号数,也可以存放西文字符,一个西文字符占一个字 节,在计算机内部用ASCII码存放。 默认为signed char。 单片机技术与应用实践 2int整型 长度均为两个字节,用于存放一个双字节数据。可分两种: (1) signed int:用于存放两字节带符号数,用补码表示,数的范 围为-32768+32767。 (2) unsigned int:用于存放两字节无符号数,数的范围为0 65535。 默认为signed int。 3long长整型 长度均为4字节,用于存放一个4字节数据。可分以下两种: (1) signed long:用于存放4字节带符号数,用补码表示,数的范 围为-2147483648 +2147483647。 (2) unsigned long:用于存放4字节无符号数,数的范围为0 4294967295。 默认为signed long。 单片机技术与应用实践 4 float浮点型 float型数据的长度为4字节,格式符合IEEE754标准的 单精度浮点型数据,包含指数和尾数两部分,最高位为符号 位,“1”表示负数,“0”表示正数,其次的8位为阶码,最后的 23位为尾数的有效数位,由于尾数的整数部分隐含为“1”,所 以尾数的精度为24位。 5* 指针型 指针变量本身也是一个变量,在这个变量中存放的是指 向另一个数据的地址。这个指针变量要占用一定的内存单元 ,对不同的处理器其长度不一样,在C51中它的长度一般为1 3个字节。 单片机技术与应用实践 6特殊功能寄存器型 C51提供的一种扩展数据类型,用于访问MCS-51单片机 中的特殊功能寄存器数据,在C51中对特殊功能寄存器的访 问必须先用sfr或sfr16进行声明。可以分为以下两种: (1) sfr:sfr为字节型特殊功能寄存器类型,占一个内存单元, 利用它可以访问MCS-51内部的所有特殊功能寄存器。 (2) sfr16:sfr16为双字节型特殊功能寄存器类型,占用两个 字节单元,利用它可以访问MCS-51内部的所有两个字节的特 殊功能寄存器。 单片机技术与应用实践 7位类型 位类型也是C51提供的扩展数据类型,用于访问MCS-51 单片机中的可寻址的位单元,但不能定义位指针也不能定义 位数组。它们在内存中都只占一个二进制位,其值可以是“1” 或“0”。支持以下两种位类型: (1) bit型:定义的位变量在C51编译器编译时,在不同时间位 地址是可以变化的。使用它可以定义一个位变量,但不能定 义位指针,也不能定义位数组。 (2) sbit型:定义的位变量必须与MCS-51单片机的一个可以寻 址位单元或可位寻址的字节单元中的某一位(C51内部的RAM 及特殊功能寄存器中可位寻址空间)联系在一起,在C51编译 器编译时,其对应的位地址是不可变化的。 单片机技术与应用实践 说明: 在C51语言程序中,有可能会出现在运算中数据类型不一 致的情况。C51允许任何标准数据类型的自动转换,除自动 转换外,还可以通过强制类型转换符“()”对数据类型进行人为 的强制转换,例:1/2=0,而(float)1/2=0.5,此知识点在编程 时尤其需要注意。 以上所述的数据类型中只有bit与unsigned char两种数据类 型可以直接转换成机器指令。所以C语言中使用的其他数据类 型,虽然语句上很简单,但都要C51编译器用一系列机器指 令处理这些数据类型。特别是对浮点数,处理起来更加复杂 ,将明显增加程序的长度与执行时间。因此应该避免使用复 杂的数据类型。在编制C51程序时,应该尽可能使用无符号 字符变量和位变量。 单片机技术与应用实践 9.1.5 C51的常量 整型常量也就是整型常数,根据其值范围在计算机中分配不 同的字节数来存放。在C51中它可以表示成以下几种形式: (1) 十进制数。如123、-45、0等。 (2) 十六进制数。以0x开头表示,如0x12、-0x3B等。 (3) 长整型。在C51中当一个整数的值达到长整型的范围,则该 数按长整型存放,在存储器中占4字节。另外,如一个整数后面 加一个字母L,这个数在存储器中也按长整型存放,如12L在存 储器中占4个字节。 常量是指在程序执行过程中其值不能改变的量。在C51中 支持整型常量、浮点型常量、字符型常量和字符串型常量。 1整型常量 单片机技术与应用实践 2浮点型常量 字符型常量是用单引号括起的字符,如2、A、n等。可以 是可显示的ASCII字符,也可以是不可显示的控制字符。对不可显 示的控制字符须在前面加上反斜杠“”组成转义字符。利用它可以 完成一些特殊功能和输出时的格式控制。 浮点型常量也就是实型常数。有十进制表示形式和指数表示 形式。 十进制表示形式又称定点表示形式,由数字和小数点组成, 如3.14159、0.36。 指数表示又称科学记数法,常用于表示较大、较小的实型常 量,指数形式为: 数字 .数字 e 整数 如:6.021023,可表示成:6.02e+23或6.02e23。 -1.610-19,可表示成:-1.6e-19。 3字符型常量 单片机技术与应用实践 表9-4 C51转义字符及其含义 转义字符含 义转义字符含 义 n换行反斜杠线“ r回车单引号符 f换页“双引号符 t水平制表(Tab)ddd13位八进制数所代表的字符 v垂直制表xhh12位十六进制数所代表的字 符 b退格符(backspace)0空字符 单片机技术与应用实践 4字符串型常量 字符串型常量由一对双引号括起来的零个或多个字符组成, 双引号仅起定界作用,本身并不是字符串中的内容。如“0123”、 “Hello!”、“I am a student. ”、“”等。 注意:字符串常量与字符常量是不一样的,一个字符常量在计 算机内只用一个字节存放,而一个字符串常量在内存中存放时不 仅双引号内的每个字符占一个字节,而且系统会自动的在后面加 一个转义字符“0”作为字符串结束符。“0”代表空操作字符,它不 引起任何操作,也不会显示到屏幕上。 如字符串“student“在内存中的存储形式如下: student0 字符串“student“存储单元长度为8字节,字符串长度为7字节 ,需要注意的是,不能将字符串常量赋给一个字符变量,要用一 个字符数组来存放 。 单片机技术与应用实践 9.1.6 变量 变量是在程序运行过程中其值可以改变的量。一个变量 由两部分组成:变量名和变量值。 在C51中,变量在使用前必须对变量进行定义,指出变 量的数据类型和存储模式。以便编译系统为它分配相应的存 储单元。定义的格式如下: 存储种类 数据类型说明符 存储器类型 变量名1=初值, 变量名2=初值; 在定义格式中除了数据类型和变量名是必要的,其他都 是可选项。 单片机技术与应用实践 在定义变量时,必须通过数据类型说明符指明变量的数据类 型,指明变量在存储器中占用的字节数。可以是基本数据类型说 明符,也可以是组合数据类型说明符,还可以是用typedef定义的 类型别名。格式如下: typedef C51固有的数据类型说明符别名; 定义别名后,就可以用别名代替数据类型说明符对变量进行 定义,但不能作为变量使用,如: 正确用法: typedefintInteger; Integera=2; 错误用法: typedefintInteger; Integer =2; 1数据类型说明符 单片机技术与应用实践 变量名是C51区分不同变量,为不同变量取的名称。变量名 命名符合变量名命名规则。 变量名有两种:普通变量名和指针变量名。它们的区别是 指针变量名前面要带“*”号。 2变量名 (1)auto (2)extern (3)static (4)register 3存储种类 存储种类是指变量在程序执行过程中的作用范围。 单片机技术与应用实践 存储器类型是用于指明变量所处的单片机的存储器区域情况 。存储器类型与存储种类完全无关。 4存储器类型 存储器类型描 述 data直接寻址的片内RAM低128B(00H7FH),访问速度快 bdata片内RAM的可位寻址区(20H2FH),允许字节和位混合访问 idata间接寻址访问的片内RAM,允许访问 全部片内RAM(00HFFH) pdata用MOVX Ri间接访问的片外RAM的低256B(00HFFH) 表9-5 C51存储器类型 【例9-2】变量定义存储种类和存储器类型相关情况。 char datavarl; intidatavar2; bitbdatavar3; externfloatxdatavar4; 单片机技术与应用实践 在C51中,用户对特殊功能寄存器进行访问时须通过sfr或 sfr16类型说明符进行定义,定义时须指明它们所对应的片内 RAM单元的地址。格式如下: sfr或sfr16特殊功能寄存器名=特殊功能寄存器地址常数; 5特殊功能寄存器变量 【例9-3】特殊功能寄存器的定义。 sfrPSW=0xD0; sfrP1=0x90; sfrSCON=0x98; sfrIE=0xA8; sfr16 DPTR=0x82; /DPL=82H,DPH=83H sfr16 T2=0xCC;/定义8052定时器2,地址为 T2L=CCH,T2H=CDH 单片机技术与应用实践 位类型符有:bit和sbit。 bit位类型符用于定义一般的可位处理位变量。它的格式如下: bit 位变量名; 在格式中可以加上各种修饰符,但注意存储器类型只能是 bdata、data、idata,而且只能是片内RAM的可位寻址区,严格 来说只能是bdata。 6位变量 【例9-4】bit型变量的定义。 bitdataa1;/*正确*/ bitbdata a2;/*正确*/ bitpdata a3;/*错误*/ bitxdata a4;/*错误*/ 单片机技术与应用实践 sbit位类型符用于定义在可位寻址字节或特殊功能寄存器 中的位,定义时须指明其位地址,可以是位直接地址,可以是 可位寻址变量带位号,也可以是特殊功能寄存器名带位号。格 式如下: sbit位变量名=位地址; 6位变量 【例9-5】sbit型变量的定义。 unsigned char bdata ib; sbit ib7=ib7 ; sbit OV=0xd2; sfr P1=0x90; sbit P1_0=P10; 单片机技术与应用实践 1运算符 1) 赋值运算符 格式:变量=表达式; 执行时先计算出右边表达式的值,然后赋给左边的变量。 9.1.7 C51的常用运算符 学习C51运算符要注意3点:优先级、结合方向、与数学 运算符的区别。 例如: a = 0xFF;/将常数十六进制数FF赋予变量a b = c = 33;/将33同时赋值给变量b、c d = e; /将变量e的值赋予变量d f = a+b;/将变量a+b的值赋予变量f 单片机技术与应用实践 2)算术运算符 格式:表达式1 算术运算符 表达式2; +加或取正值运算符 -减或取负值运算符 *乘运算符 /除运算符 %取余运算符 + 自增运算符 - 自减运算符 单片机技术与应用实践 【例9-6】设有定义:int a = 1, b = 2, c; 则有: +i:i自增1后再参与其他运算(先增后用)。 -i:i自减1后再参与其他运算(先减后用)。 i+:i参与运算后,i的值再自增1(先用后增)。 i-:i参与运算后,i的值再自减1(先用后减)。 被执行的表达式表达式执行后a、c值 ac c= +a + b24 c= a+ + b23 c= - -a + b02 c= a- - + b03 单片机技术与应用实践 3) 关系运算符 大于 =大于等于 #include #include void main (void) unsigned int data x=0x238A; unsigned char data a,b; /*定义在内部RAM中的无符号8位字符*/ a=x8;/*取x的高8位*/ b=x/*取x的低8位*/ 整个条件表达式值为1,执行后a=1, b=7。 ( b = b + 5 ) 整个条件表达式值为0,执行后 a=1,b=7。 104 TMOD=0X20; TH1=0xF3; TR1=1; 单片机技术与应用实践 printf()函数的作用是通过串行接口输出若干任意类型的数 据。 格式: printf(“格式控制符“,输出参数表); 格式控制符可由格式字符串和非格式字符串两种组成。格 式字符串是以%开头的字符串,在%后面跟有各种格式字符, 以说明输出数据的类型、形式、长度、小数位数等。 输出参数表为待输出的一系列数据项,其个数必须与格式 化字符串所说明的输出参数个数一样多,各参数之间用“,”分开 ,且顺序一一对应。 1格式输出函数printf() 单片机技术与应用实践 表9-9 printf()格式控制符说明 说 明 符 功 能 %d 输出十进制有符号整数 %ld 输出十进制有符号长整数 %x或%X 以十六进制形式输出无符号的整数 %u 输出十进制无符号整数 %f 输出浮点数 %s 输出字符串 %c 输出单个字符 %p 输出指针值 %e或%E 输出指数形式的浮点数 %0 以八进制形式输出无符号的整数 单片机技术与应用实践 scanf()函数的作用是通过串行接口实现数据输入。 格式:scanf(“格式控制符“,地址列表); 2格式输入函数scanf() 注意点: (1)scanf()函数中没有精度控制,如scanf(“%5.2f“, 是非 法的。 (2)scanf()中要求给出变量地址,如给出变量名则会出错。 (3)在输入多个数值数据时,若“格式控制符”中没有非格式字 符作输入数据之间的间隔,则可用空格、TAB或回车作间隔 。 (4)在输入字符数据时,若“格式控制符”中无非格式字符,则 认为所有输入的字符均为有效字符。 单片机技术与应用实践 【例9-9】使用格式输入和输出函数的例子。 源程序清单如下: #include /包含特殊功能寄存器库 #include /包含I/O函数库 void main(void) /主函数 int x; float y; SCON=0x52; /串口初始化 TMOD=0x20; TH1=0XF3; TR1=1; printf(“input x,y:n“); /输出提示信息 scanf(“%d,%f“, /输入x和y的值 printf(“n“); /输出换行 printf(“%d+%f=%f“,x,y,x+y); /按十进制形式输出 while(1); /结束 单片机技术与应用实践 在表达式的后边加一个分号“;”就构成了表达式语句。注 意不能丢掉或输入为全角符号。 9.1.9 C51的基本语句 1表达式语句 空语句通常用于以下两种情况: (1)在程序中为有关语句提供标号,用以标记程序执行的位置。 例:loop:; gotoloop; (2)在用while、for语句构成的循环语句后面加一个分号,形成一 个不执行其他操作的空循环体,常用它来写等待事件发生的程序 。这种结构通常用于对某位进行判断,当不满足条件则等待,满 足条件则执行。 仅由一个分号“;”占一行形成一个表达式语句,这种语句称 为空语句。 单片机技术与应用实践 复合语句是由若干条语句组合而成的一种语句,在C51 中,用一个大括号“”将若干条语句括在一起就形成了一个复 合语句,复合语句最后不需要以分号“;”结束,但它内部的各条 语句仍需以分号“;”结束。复合语句的一般格式为: 局部变量定义; 语句l; 语句2; 2复合语句 复合语句是允许嵌套的,在执行时,其中的各条单语句 按顺序依次执行,整个复合语句在语法上等价于一条单语句。 在复合语句内部语句所定义的变量,称为该复合语句中的局部 变量,它仅在当前这个复合语句中有效。 单片机技术与应用实践 if语句是C51中的一个基本条件选择语句,它有两种格 式: (1)不带else的if语句,格式如下: if (表达式) 语句; 如果if括号内的条件成立,则执行语句块,否则跳过该if 语句,直接执行下一条语句。 (2)带else的if语句,格式如下: if (表达式) 语句1; else语句2; 当条件表达式成立时,就执行语句1,否则就执行语句 2。 3分支语句 1)if语句 单片机技术与应用实践 if语句是C51中的一个基本条件选择语句,它有两种格式: (1)不带else的if语句,格式如下: if (表达式) 语句; 如果if括号内的条件成立,则执行语句块,否则跳过该if语 句,直接执行下一条语句。 (2)带else的if语句,格式如下: if (表达式) 语句1; else语句2; 当条件表达式成立时,就执行语句1,否则就执行语句2。 3分支语句 1)if语句 注意:if- else语句允许嵌套,用来实现多方向条件分支,使 用时应注意if和else的配对使用,else不能离开if单独出现, else总是与最近的且尚未配对的if配对。 单片机技术与应用实践 3分支语句 1)if语句 图9-2 不带else的if语句结构流程图9-3 带else的if语句结构流程 单片机技术与应用实践 【例9-10】 if语句的用法。 对学生成绩划分为AD,对应不同的百分制分数,要求 根据不同的等级打印出它的对应百分数。 if(grade= =A)printf(“90100n“); else if(grade= =B ) printf(“8090n“); else if(grade= =C ) printf(“7080n“); else if(grade= =D ) printf(“6070n“); else if(grade= =E) printf(“ #include void main(void) unsigned int i = 1; unsigned int sum= 0; /设初值 SCON = 0x50;/串行口方式 1,允许接收 TMOD = 0x20;/定时器 1 定时方式 2 TCON = 0x40;/设定时器 1 开始计数 TH1 = 0xE8; TL1 = 0xE8; /11.0592MHz 1200 波特率 TI = 1;TR1 = 1;/启动定时器 while(i #include void main(void) unsigned int i = 1; unsigned int sum= 0; /设初值 SCON = 0x50;/串行口方式 1,允许接收 TMOD = 0x20;/定时器 1 定时方式 2 TCON = 0x40;/设定时器 1 开始计数 TH1 = 0xE8; TL1 = 0xE8; /11.0592MHz 1200 波特率 TI = 1;TR1 = 1;/启动定时器 do sum += i;/累加 printf (“%d sum=%dn”,i,sum); /输出结果,最后运行结果是 SUM=55 i+; while(i #include void main(void) unsigned in

温馨提示

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

评论

0/150

提交评论