⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c51运算符和表达式.htm

📁 单片机教程 用c语言实现编程 可以大大缩短我们的开发周期
💻 HTM
📖 第 1 页 / 共 3 页
字号:
	   }
	   return true;
}
function top_joined(value)
{
	if (value != "")
	{
		var action;
		action = value.split("_");
		if (action[0] == "league")
		{
			window.location.href="/league/index.php?gid=" + action[1];
		}
		if (action[0] == "acti")
		{
			window.location.href="/league/activity/acti_mana_index.php?t_id=" + action[1];
		}

	}
}

function copyurl(url)
{
	try{
		clipboardData.setData('Text',url);
		showAlert('已经把该社团网址复制到系统剪贴板,您可以使用(Ctrl+V或鼠标右键)粘贴功能,通过其他软件记录或发送给您的朋友。')
	}
	catch(e){}
}
function add_favorite(uid, url, name)
{
	window.open("/personal/favorite/add.php?member_id="+uid+"&url="+url+"&name="+name,'_blank','width=400,height=220,toolbar=0,locationbar=0,menubar=0,statbar=0'); 
	return false;
}

// 提示登录
function alertlert_login()
{
	showAlert('对不起,您目前没有权限,请先登录!');
	document.login_form1.account.focus();
}


//申请加入社团
function con_join(con_gid)
{
	showConfirm("您确认加入本社团吗?","window.location.href='/league/apply.php?g_id="+con_gid+"';","");
}


//退出本社团
function con_quiet(con_gid,con_uid)
{
	showConfirm("您确认退出本社团吗?","window.location.href='/league/member/quiet_member.php?g_id="+con_gid+"&q_uid="+con_uid+"';","");
}

</SCRIPT>
<!-- 回复框 -->
<DIV id=background style="DISPLAY: none"></DIV>
<DIV id=postbox 
style="DISPLAY: none; Z-INDEX: 50; LEFT: 769px; WIDTH: 600px; POSITION: absolute; TOP: 271px">
<FORM name=reply_comment action=/league/comment/index.php?gid=514465 method=post 
target=hidden_frame><INPUT id=act type=hidden value=add name=act> <INPUT id=r_id 
type=hidden name=r_id> <INPUT id=t_id type=hidden name=t_id> <INPUT id=f_uid 
type=hidden name=f_uid> 
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
  <TBODY>
  <TR>
    <TD height=13>&nbsp;</TD></TR>
  <TR>
    <TD class=box_common height=26>&nbsp;<SPAN 
      class=font_common_title>回复评论</SPAN></TD></TR></TBODY></TABLE>
<TABLE class=box_common01 cellSpacing=0 cellPadding=0 width="70%">
  <TBODY>
  <TR>
    <TD>
      <TABLE cellSpacing=8 cellPadding=0 width="100%" bgColor=#ffffff 
        border=0><TBODY>
        <TR>
          <TD class=font_common vAlign=top align=right height=63>内容:</TD>
          <TD class=font_common vAlign=top><TEXTAREA class=input_box01 id=input_area name=input_area rows=6 cols=48></TEXTAREA></TD></TR>
        <TR>
          <TD class=font_common vAlign=top align=right width="15%">原文:</TD>
          <TD class=font_common style="LINE-HEIGHT: 18px" vAlign=top 
            width="85%"><SPAN class=gray id=past_type></SPAN></TD></TR>
        <TR>
          <TD class=font_common vAlign=top align=middle colSpan=2><INPUT class=btn01 onclick=javascript:hidden_reply();submit_post(document.reply_comment); type=button value=发表 name=queding> 
            &nbsp;&nbsp; <INPUT class=btn01 onclick=hidden_reply(); type=reset value=取消> 
        </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM></DIV><!-- 回复框 -->
<DIV id=mainBox>
<DIV id=mainBoxBg>
<TABLE class=module_title cellSpacing=0 cellPadding=0 border=0>
  <TBODY>
  <TR>
    <TD class=corner_left></TD>
    <TD class=corner_center><A 
      href="http://www.5jia1.com/league/?gid=514465">首页</A>&nbsp;&gt;&nbsp;<A 
      href="http://www.5jia1.com/league/blog/blog_index.php?gid=514465">社团文集</A>&nbsp;&gt;&nbsp;<A 
      href="http://www.5jia1.com/league/blog/show_comm.php?bid=361290">第六课 
      C51运算符和表达式</A></TD>
    <TD class=corner_right></TD></TR></TBODY></TABLE>
<DIV class=module_content>
<DIV class=module_content_line>
<DIV class=bg>
<TABLE cellSpacing=10 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD align=middle>
      <TABLE class=box_common cellSpacing=1 cellPadding=5 width="100%" 
        border=0><TBODY>
        <TR class=box_common_title>
          <TD colSpan=2>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD width="35%"><B>第六课 C51运算符和表达式</B></TD>
                <TD align=right width="65%">作者: <A 
                  href="http://www.5jia1.com/personal/?member_id=505887" 
                  target=_blank>张文俊</A> &nbsp;&nbsp;2007-08-14 
                  16:51:06&nbsp;&nbsp; </TD></TR></TBODY></TABLE></TD></TR>
        <TR class=box_content>
          <TD vAlign=top align=middle width="10%"><A 
            href="http://www.5jia1.com/personal/?member_id=505887" 
            target=_blank><IMG class=box01 height=98 
            src="6.files/s_0_personal_photo_505887.jpg" width=98 vspace=5 
            border=0></A><BR><IMG height=14 src="6.files/icon_boy.gif" width=14 
            border=0>&nbsp; <A 
            href="http://www.5jia1.com/personal/?member_id=505887" 
            target=_blank>张文俊</A> </TD>
          <TD>
            <TABLE class="font_content  autowrap" cellSpacing=12 cellPadding=0 
            width="100%" border=0>
              <TBODY>
              <TR>
                <TD class=line_h20 style="WIDTH: 790px">
                  <DIV style="OVERFLOW-X: auto; WIDTH: 100%">
                  <TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" 
                  cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TH vAlign=center align=middle height=32>
                        <H1>第六课 C51运算符和表达式</H1></TH></TR>
                    <TR>
                      <TD align=middle bgColor=#f7f7f7 
                        height=25>作者:佚名&nbsp;&nbsp;&nbsp;&nbsp;来源:本站原创&nbsp;&nbsp;&nbsp;&nbsp;点击数: 
                        142&nbsp;&nbsp;&nbsp;更新时间:2007年07月17日&nbsp;&nbsp;</TD></TR></TBODY></TABLE>
                  <P>上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧。这个语句就是 
                  typedef,这是个很好用的语句,但我却不常用它,通常我定义变量的数据类型时都是使 
                  用标准的关键字,这样别人能很方便的研读你的程序。如果你是个DELPHI 
                  编程爱好者或是DELPHI程序员,你对变量的定义也许习惯了DELPHI 的关键字,如 int 
                  类型常会用关键字Integer来定义,在用&nbsp;单片机c语言时你还想用回这个的话,你能这样写:</P>
                  <P>typedef &nbsp;int &nbsp;integer;</P>
                  <P>integer &nbsp;a,b;</P>
                  <P>这两句在编译时,其实是先把 integer 定义为 int,在以后的语句中遇到 integer 就用 int 
                  置换,integer 就等于 int,所以 a,b 也就被定义为 int。typedef 不能直接用来定义变量,它 
                  只是对已有的数据类型作一个名字上的置换,并不是产生一个新的数据类型。下面两句就是一个错误的例子:</P>
                  <P>typedef &nbsp;int &nbsp;integer;</P>
                  <P>integer &nbsp;= &nbsp;100;</P>
                  <P>使用 typedef 能有方便程序的移植和简化较长的数据类型定义。用 typedef 还能定义结 
                  构类型,这一点在后面详细解说结构类型时再一并说明。typedef 的语法是</P>
                  <P>typedef &nbsp;已有的数据类型&nbsp;&nbsp; &nbsp;新的数据类型名 
                  运算符就是完成某种特定运算的符号。运算符按其表达式中与运算符的关系可分为单目</P>
                  <P>运算符,双目运算符和三目运算符。单目就是指需要有一个运算对象,双目就要求有两个运 
                  算对象,三目则要三个运算对象。表达式则是由运算及运算对象所组成的具有特定含义的式 子。C 
                  是一种表达式语言,表达式后面加“;”号就构成了一个表达式语句。</P>
                  <P>赋值运算符</P>
                  <P>对于“=”这个符号大家不会陌生的,在 C 中它的功能是给变量赋值,称之为赋值运算 
                  符。它的作用不用多说大家也明白,就是但数据赋给变量。如,x=10;由此可见利用赋值运 
                  算符将一个变量与一个表达式连接起来的式子为赋值表达式,在表达式后面加“;”便构成 
                  了赋值语句。使用“=”的赋值语句格式如下:</P>
                  <P>变量 &nbsp;= &nbsp;表达式; 示例如下</P>
                  <P>a &nbsp;= &nbsp;0xFF; &nbsp;//将常数十六进制数 FF 赋于变量 a</P>
                  <P>b &nbsp;= &nbsp;c &nbsp;= &nbsp;33; &nbsp;//同时赋值给变量 b,c d 
                  &nbsp;= &nbsp;e; &nbsp;//将变量 e 的值赋于变量 d</P>
                  <P>f &nbsp;= &nbsp;a+b; &nbsp;//将变量 a+b 的值赋于变量 f 
                  由上面的例子能知道赋值语句的意义就是先计算出“=”右边的表达式的值,然后将得到 
                  的值赋给左边的变量。而且右边的表达式能是一个赋值表达式。</P>
                  <P>在一些朋友的来信中会出现“==”与“=”这两个符号混淆的错误原码,问为何编译报 错,一般就是错在 if 
                  (a=x)之类的语句中,错将“=”用为“==”。“==”符号是用来进行相 等关系运算。</P>
                  <P>算术,增减量运算符</P>
                  <P>对于 a+b,a/b 这样的表达式大家都很熟悉,用在 C 语言中,+,/,就是算术运算符。单片机c语言 
                  中的算术运算符有如下几个,其中只有取正值和取负值运算符是单目运算符,其它则都是双 目运算符:</P>
                  <P>+&nbsp;&nbsp; &nbsp;加或取正值运算符</P><BR 
                  style="PAGE-BREAK-BEFORE: auto" clear=all>
                  <DIV class=Section26>
                  <P>-&nbsp;&nbsp; &nbsp;减或取负值运算符</P>
                  <P>*&nbsp;&nbsp; &nbsp;乘运算符</P>
                  <P>/&nbsp;&nbsp; &nbsp;除运算符</P>
                  <P>%&nbsp;&nbsp; &nbsp;取余运算符 算术表达式的形式:</P>
                  <P>表达式 1&nbsp;&nbsp; &nbsp;算术运算符&nbsp;&nbsp; &nbsp;表达式 2 
                  如:a+b*(10-a), &nbsp;(x+9)/(y-a)</P>
                  <P>除法运算符和一般的算术运算规则有所不一样,如是两浮点数相除,其结果为浮点数,如</P>
                  <P>10.0/20.0 所得值为 0.5,而两个整数相除时,所得值就是整数,如 7/3,值为 2。像别的语 言一样 C 
                  的运算符与有优先级和结合性,同样可用用括号“()”来改变优先级。这些和我们 
                  小时候学的数学几乎是一样的,也不必过多的说明了。</P>
                  <P>++&nbsp;&nbsp; &nbsp;增量运算符</P>
                  <P>--&nbsp;&nbsp; &nbsp;减量运算符</P>
                  <P>这两个运算符是 C 语言中特有的一种运算符。在 VB,PASCAL 等都是没有的。作用就是 对运算对象作加 1 和减 
                  1 运算。要注意的是运算对象在符号前或后,其含义都是不一样的,虽 然同是加 1 或减 
                  1。如:I++,++I,I--,--I。</P>
                  <P>I++(或 I--)&nbsp;&nbsp; &nbsp;是先使用 I 的值,再执行 I+1(或 I-1)</P>
                  <P>++I(或--I)&nbsp;&nbsp; &nbsp;是先执行 I+1(或 I-1),再使用 I 
                  的值。增减量运算符只允许用于变量的运算中,不能用于常数或表达式。 
                  先来做一个实验吧。学习运算符和另外一些知识时,我们还是给我们的实验板加个串行</P>
                  <P>接口吧。借助电脑转件直观的看<A href="http://www.51hei.com/" 
                  target=_blank><U><FONT 
                  color=#800080>单片机</FONT></U></A>的输出结果,如果你用的是成品实验板或仿真器,那你就能跳过这一段了。</P>
                  <P>在制作电路前我们先来看看要用的 &nbsp;MAX232,这里不去具体讨论它,只要知道它是&nbsp;TTL和 
                  RS232 
                  电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,能省一点,效 
                  果也不错 (如有兴趣能查看<A 
                  href="http://www.5jia1.com/league/blog/"><U><FONT 
                  color=#800080></FONT></U></A> 网站中的相关资料)。下图就是 MAX232 
的基本接线图。</P>
                  <P><IMG style="CURSOR: pointer" alt=点此在新窗口浏览图片 
                  src="6.files/20077170791408782.gif" width=258 border=0 
                  &111nload="function anonymous()&#13;&#10;{&#13;&#10;resizepic(this)&#13;&#10;}" 
                  &111nclick="function anonymous()&#13;&#10;{&#13;&#10;window.open(this.src);&#13;&#10;}" 
                  &111nmousewheel="function anonymous()&#13;&#10;{&#13;&#10;return bbimg(this)&#13;&#10;}"></P>
                  <P>图 6-1&nbsp;&nbsp; &nbsp;MAX232</P>
                  <P>在上两课的电路的基础上按图 6-3 加上 MAX232 就能了。串行口座用 DB9 的母头,这样 就能用买来的 PC 
                  串行口延长线进行和电脑相连接,也能直接接到电脑 com 口上。</P></DIV><BR 
                  style="PAGE-BREAK-BEFORE: auto" clear=all>
                  <DIV class=Section27>
                  <P><IMG style="CURSOR: pointer" alt=点此在新窗口浏览图片 
                  src="6.files/20077177144792836.jpg" width=197 border=0 
                  &111nload="function anonymous()&#13;&#10;{&#13;&#10;resizepic(this)&#13;&#10;}" 
                  &111nclick="function anonymous()&#13;&#10;{&#13;&#10;window.open(this.src);&#13;&#10;}" 
                  &111nmousewheel="function anonymous()&#13;&#10;{&#13;&#10;return bbimg(this)&#13;&#10;}"></P>
                  <P>图 6-2&nbsp;&nbsp; &nbsp;DB9 接头</P>
                  <P>图 6-3&nbsp;&nbsp; &nbsp;加上了 MAX232 的实验电路 做好后,就先用回前面的“Hello 
                  World!”程序,用它来和你的电脑说声 Hello!把程序</P>
                  <P>烧到芯片上,把串行口连接好。嘿嘿,这个时候要打开你的串行口调试软件,没有就赶快到网上 DOWN 一个了。你会用 
                  Windows 的超级终端也行,不过我从不用它。我用 <A 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -