C语言基础以及流水灯的实现_第1页
C语言基础以及流水灯的实现_第2页
C语言基础以及流水灯的实现_第3页
C语言基础以及流水灯的实现_第4页
C语言基础以及流水灯的实现_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第三章C语言基础以及流水灯的实现,C51数据类型,C51定义了标准C语言的所有数据类型;同时对标准C语言进行了扩展,更加注意对系统资源的合理利用,如表所示。,C51基本数据类型,char字符类型长度是一个字节(8位)int整型长度为两个字节(16位)long长整型长度为四个字节(32位)float浮点型长度为四个字节(32位)*指针型指针型本身就是一个变量,在这个变量中存放的是指向另一个数据的地址。这个指针变量要占据一定的内存单元,在C51中它的长度一般为13个字节。,C语言的变量类型及范围,C语言常量与变量,常量是在程序运行过程中不能改变的,而变量是可以在程序运行过程中不断变化的。变量的定义可以使用所有C51编译器支持的数据类型,而常量的数据类型只有整型、浮点型、字符型、字符串型和位变量。,常量,常量可用在不必改变值的场合,如固定的数据表,字库等。常量的定义方式有几种,下面来加以说明。#difineFalse0 x0;/用预定义语句可以定义常量#difineTrue0 x1;/这里定义False为0,True为1程序中用到False和True,在编译时,False替换为0,True替换为1。unsignedintcodea=100;/用code把a定义在程序存储器中并赋值constunsignedintc=100;/用const定义c为无符号int常量并赋值以上两句它们的值都保存在程序存储器中,而程序存储器在运行中是不允许被修改的,所以如果在这两句后面用了类似a=110,a+这样的赋值语句,编译时将会出错。,变量,变量就是一种在程序执行过程中其值能不断变化的。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。定义一个变量的格式如下:存储种类数据类型存储器类型变量名表在定义格式中除了数据类型和变量名表是必要的,其它都是可选项。,C51运算符、表达式及其规则,1C51最基本的五种算术运算符+加法运算符,或正值符号-减法运算符,或负值符号*乘法运算符/除法运算符%模(求余)运算符。,算术表达式、优先级与结合性,算术表达式用算术运算符和括号将运算对象连接起来的式子称为表达式。其中的运算对象包括常量、变量、函数、数组和结构等。,优先级指当运算对象两侧的都有运算符时,执行运算的先后次序。按运算符优先级别的高低顺序执行运算。结合性指当一个运算对象两侧的运算符的优先级别相同时的运算顺序。,2.Cx51提供六种关系运算符,关系运算符的优先级,关系表达式:用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式及字符表达式等)连接起来的式子,称为关系表达式。关系表达式的结果:由于关系运算符总是二目运算符,故它作用在运算对象上产生的结果为一个逻辑值,即真或假。C语言1代表真,以0代表假。,关系运算符的优先级低于算术运算符。关系运算符的优先级高于赋值运算符。,例:若a=4,b=3,c=1,则,ab,的值为真,表达式值为1;,b+cb=c,的值为真;,3.Cx51逻辑运算符、表达式及优先级,Cx51提供3种逻辑运算符:elsemax=b;,多分支if语句,多分支if语句的基本形式为:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3elseif(表达式m)语句melse语句n,if语句的嵌套,当if语句中的语句体又包含一个或多个if语句,称为if语句的嵌套。其一般形式如下:if(表达式)if(表达式1)语句11else语句12elseif(表达式2)语句21else语句22应当注意if与else的配对关系,C语言规定:else总是与它上面的最近的if配对,表达式为真,表达式1为假;执行?表达式为真,表达式1为真;执行?表达式为假,表达式2为真;执行?表达式为假,表达式2为假;执行?,swich语句,Switch的一般形式如下:switch(表达式)case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句ndefault:语句n+1当表达式的值与某一个case后面的常量表达式相等时,就执行此case后面的语句;若所有的case中的常量表达式的值都没有与表达式值匹配的,就执行default后面的语句;每一个case的常量表达式的值必须不相同;各个case和default的出现次序不影响执行结果。,swich语句特别说明,执行完一个case后面的语句后,并不会自动跳出switch,转而去执行其后面的语句;通常在每一段case的结束加入“break;”语句,使程序退出switch结构,即终止switch语句的执行。如:switch(x)case1:y=1;case2:y=2;case3:y=0;假如x的值是1,y=?,循环结构控制语句,在一个实用的程序中,循环结构是必不可少的。循环是反复执行某一部分程序行的操作。通过下面C语言程序,来看如何利用这些循环语句编写循环程序。voidDelay()voidmain()unsignedchari,j;while(1)for(i=0;i255;i+);这段程序中有两处用到了循环语句,首先是主程序使用了:while(1)这样的循环语句写法,在中的所有程序将会不断地循环执行,直到断电为止;其次是延时程序,使用了for循环语句的形式。,while语句,当型循环,即当给定的条件成立时,执行循环体部分,执行完毕回来再次判断条件,如果条件成立继续循环,否则退出循环。其一般形式如下:while(表达式)循环体语句当表达式为非0值(真)时,执行while语句中的内嵌语句。其特点是:先判断表达式,后执行语句。,例:累加运算,求sum=1+2+3+4+5+99,main()intsum=0,i=1;while(i100)sum=sum+i;i+;,开始,i100,sum=sum+ii+,初始化,Y,结束,N,do-while语句,直到型循环,即先执行循环体,然后判断给定的条件,只要条件成立就继续循环,直到判断出给定的条件不成立时退出循环。其一般形式如下:do循环体语句while(表达式)do-while语句特点是先执行循环体,然后判断循环条件是否成立。对同一个问题,既可以用while语句处理,也可以用do-while语句处理,但是这两个语句是有区别的。,for语句,C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况。for语句的一般形式为:for(表达式1;表达式2;表达式3)循环体语句执行步骤如下:(1)先求解表达式1;(2)求解表达式2,其值为真,则执行for语句中指定的内嵌语句(循环体),然后执行第(3)步,如果为假,则结束循环;(3)求解表达式3;(4)转回第2步继续执行。,表达式1:给循环控制变量赋初值。表达式2:循环条件,是一个逻辑表达式,它决定什么时候退出循环;表达式3:循环变量增值,规定循环控制变量每循环一次后按什么方式变化。这三部分之间用“;”分开。,例:累加运算,求sum=1+3+5+7+9+99,main()intsum=0,i;for(i=1;i2左移,最低位填0补充;右移,最高位填0补充0 xf01110000001111000按位取反符号取反后1变成0,0变成10 x0F取反后成为0 xF0,即00001111-11110000,作业,1、熟练掌握二进

温馨提示

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

最新文档

评论

0/150

提交评论