📄 ls05.php
字号:
<P>int k = 120;</P>
<P>char j = 120;</P>
<P>cout << "k(int) = " << k << " j(char) = " << j
<< endl;</P>
<P> </P>
<P>char l = 'A';</P>
<P>char m = l + 1;</P>
<P>cout << "l = " << l << " m = " << m <<
endl;</P>
<P> </P>
<P>getchar();</P>
<P>......<BR></P>
<P>输出结果,l为 'A',而 m 为 'B',想一想,为什么?学完后面内容就有答案。</P>
<P> </P>
<P>单引号本身也是一个字符,如何表示单引号呢?是否用 ''' 来表示?看明白下面的常用字符ASCII码表以后再说。</P>
<P> </P>
<P>(ASCII是指:American Standard Code for Information Interchange,<A
name=美国信息交换标准码>美国信息交换标准码</A>。)</P>
<TABLE height=352 width="100%" border=1>
<TBODY>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>值</TD>
<TD width="12%" height=19>符号</TD>
<TD width="12%" bgColor=#c0c0c0 height=19>值</TD>
<TD width="12%" height=19>符号</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>值</TD>
<TD width="13%" height=19>符号</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>0</TD>
<TD width="12%" height=19>空字符</TD>
<TD width="12%" bgColor=#c0c0c0 height=19>44</TD>
<TD width="12%" height=19>,</TD>
<TD width="13%" bgColor=#c0c0c0 height=21>91</TD>
<TD width="13%" height=19>[</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>32</TD>
<TD width="12%" height=19>空格</TD>
<TD width="12%" bgColor=#c0c0c0 height=19>45</TD>
<TD width="12%" height=19>-</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>92</TD>
<TD width="13%" height=19>\</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>33</TD>
<TD width="12%" height=19>!</TD>
<TD width="12%" bgColor=#c0c0c0 height=19>46</TD>
<TD width="12%" height=19>.</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>93</TD>
<TD width="13%" height=19>]</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>34</TD>
<TD width="12%" height=19>"</TD>
<TD width="12%" bgColor=#c0c0c0 height=19>47</TD>
<TD width="12%" height=19>/</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>94</TD>
<TD width="13%" height=19>^</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>35</TD>
<TD width="12%" height=19>#</TD>
<TD width="12%" bgColor=#c0c0c0 height=19>48 ~ 57</TD>
<TD width="12%" height=19>0 ~ 9 </TD>
<TD width="13%" bgColor=#c0c0c0 height=19>95</TD>
<TD width="13%" height=19>-</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>36</TD>
<TD width="12%" height=19>$</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>58</TD>
<TD width="12%" height=19>:</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>96</TD>
<TD width="13%" height=19>`</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>37</TD>
<TD width="12%" height=19>%</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>59</TD>
<TD width="12%" height=19>;</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>97 ~ 122</TD>
<TD width="13%" height=19>a ~ z</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>38</TD>
<TD width="12%" height=19>&</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>60</TD>
<TD width="12%" height=19><</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>123</TD>
<TD width="13%" height=19>{</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>39</TD>
<TD width="12%" height=19>'</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>61</TD>
<TD width="12%" height=19>=</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>124</TD>
<TD width="13%" height=19>|</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=21>40</TD>
<TD width="12%" height=21>(</TD>
<TD width="13%" bgColor=#c0c0c0 height=21>62</TD>
<TD width="12%" height=21>></TD>
<TD width="13%" bgColor=#c0c0c0 height=19>125</TD>
<TD width="13%" height=21>}</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>41</TD>
<TD width="12%" height=19>)</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>63</TD>
<TD width="12%" height=19>?</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>126</TD>
<TD width="13%" height=19>~</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>42</TD>
<TD width="12%" height=19>*</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>64</TD>
<TD width="12%" height=19>@</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>127</TD>
<TD width="13%" height=19>DEL (Delete键)</TD></TR>
<TR>
<TD width="12%" bgColor=#c0c0c0 height=19>43</TD>
<TD width="12%" height=19>+</TD>
<TD width="13%" bgColor=#c0c0c0 height=19>65 - 90</TD>
<TD width="12%" height=19>A ~ Z</TD>
<TD width="13%" bgColor=#c0c0c0 height=19> </TD>
<TD width="13%" height=19> </TD></TR></TBODY></TABLE>
<P>(其中,0~31都是一些不可见的字符,所以这里只列出值为0的字符,值为0的字符称为空字符,输出该字符时,计算机不会有任何反应。我们以后会学习0字符的特殊作用。)</P>
<P> </P>
<P><B>4). 转义符的使用</B></P>
<P> </P>
<P>根据前面的说法,单引号应该表达为:</P>
<P>char c = '''; </P>
<P>但这是错误的。C、C++不认识 ''',因为它容易引起歧义。</P>
<P>另外,有一些字符属于不可见的字符,无法直接写出,比如键盘上大大的回车键,在输入文档时,用它可以输入一个回车换行,显然我们不能这样在C/C++里表示一个回车换行:</P>
<P>char c = '</P>
<P>'</P>
<P>在第一个'和第二个'之间夹了一个换行,这样的表示方法不仅不方便,C和C++也不认。</P>
<P>类似这样的问题还有制表符(键盘上的Tab键)等等。</P>
<P>解决的方法是使用<B>转义符.</B>C/C++使用反斜杠'\'作为转义符。如:</P>
<P>'\'' : 表示单引号;</P>
<P>'\"' : 表示双引号;</P>
<P>'\n' : 表示换行(n : line);</P>
<P> </P>
<P>下面列出常用的C、C++特殊字符:</P>
<TABLE width="100%" border=1>
<TBODY>
<TR>
<TD width="13%">字符</TD>
<TD width="13%">数值</TD>
<TD width="74%">意义</TD></TR>
<TR>
<TD width="13%">'\a'</TD>
<TD width="13%">7 </TD>
<TD width="74%">响铃(输出该字符时,屏幕无显示,但喇叭发音)</TD></TR>
<TR>
<TD width="13%">'\n'</TD>
<TD width="13%">10</TD>
<TD width="74%">换行(n: line)</TD></TR>
<TR>
<TD width="13%">'\t'</TD>
<TD width="13%">9</TD>
<TD width="74%">制表符(横向跳格)</TD></TR>
<TR>
<TD width="13%">'\r'</TD>
<TD width="13%">13</TD>
<TD width="74%">回车(return)</TD></TR>
<TR>
<TD width="13%">'\\'</TD>
<TD width="13%">92</TD>
<TD width="74%">输出转义符 '/' 本身</TD></TR>
<TR>
<TD width="13%">'\"'</TD>
<TD width="13%">34</TD>
<TD width="74%">双引号</TD></TR>
<TR>
<TD width="13%">'\''</TD>
<TD width="13%">39</TD>
<TD width="74%">单引号</TD></TR></TBODY></TABLE>
<P>这里顺便解释一下“回车换行”是什么,尽管我们对这个词耳熟得很。</P>
<P>“回车换行”是“回车”加“换行”。</P>
<P>换行好理解,但什么叫“回车”呢?它和“换行”又有什么关系?</P>
<P>原来,“回车换行”的概念源于早先的打字机。类似于现在打印机中有一个打印头,这个打印头平常停在打印机内的某一端。在打印一行时,则需要向外移动,打印一行结束后,打印头需要回到原来位置。由于打印头在英文中用“车”来表示,所以这个动作就称为“回车”,用金山词霸的中的解释就是:“将打印或显示位置移到同行起始位置的运动。”</P>
<P>所以对于打印机,假设有两行字,两行之间若光有“回车”,那么这两行字将重叠在一起(对于控制台程序的屏幕,则将回到行首)。如果光有“换行”,则第二行将不从起始位置打起,样子如下:</P>
<P> </P>
<P>这是第一行</P>
<P> 这是第二行。</P>
<P> </P>
<P>只有既输出“回车”又输出“换行”,才是我们常见的换行结果。当然,对于当今的大都软件,往往都把单独的回车或换行直接解释于二者的结合。</P>
<P> </P>
<P><B>转义符的另外一种用法是直接接数值。</B>但必须采用8进制或16进制。这里暂不讲解。</P>
<P> </P>
<P>如果需要使用数值表示,最直接的还是使用类似: c = 120; 的方法。比如要让变量c的值为单引号,我们至少可以有以下2种方法:</P>
<P>char c = '\''; //使用转义符</P>
<P>char c = 39; //直接赋给字符的ASCII的值。</P>
<P> </P>
<P>转义符的内容,看上去怪怪的?不过,多用几次我们就会明白。</P>
<P> </P>
<P>/////////////////char
类型///////////////////////////////////////////////////</P>
<P>int k = 120;</P>
<P>char j = 120;</P>
<P>cout << "k(int) = " << k << " j(char) = " << j
<< endl;</P>
<P> </P>
<P>char l = 'A';</P>
<P>char m = l + 1;</P>
<P>cout << "l = " << l << " m = " << m <<
endl;</P>
<P> </P>
<P><B>/////////////////转义符//////////////////////////////////////////////////////</B></P>
<P><B>cout << "TAB:" << '\t' << "AA" <<
endl;</B></P>
<P><B>cout << "换行:" << '\n' << "AA" <<
endl;</B></P>
<P><B>cout << "回车:" << '\r' << "AA" <<
endl;</B></P>
<P> </P>
<P><B>cout << "听到BEEP声了吗?" << '\a' << endl;</B></P>
<P><B>cout << '\'' << endl;</B></P>
<P><B>cout << '\"' << endl;</B></P>
<P><B>cout << '\\' << endl;</B></P>
<P> </P>
<P>getchar();</P>
<P>......<BR></P>
<P>在执行之前,有必要稍作解释。</P>
<P>首先那是“AA"做什么用。因为制表符、回车、换行等特殊字符,其输出效果是改变光标位置,所以我们需要一些上下文来显示出光标位置改变效果,这里就随便写个“AA”了事。</P>
<P>然后是在cout语句中,平常我们叫是使用双引号输出一行话,但如果当前要输出只是一个字符,我们也可以使用单引号。</P>
<P>至于所谓“BEEP”声,你可别抱太多期望,它只是计算机内置的小喇叭短促一个声音,听起来并不美妙。</P>
<P> </P>
<P>现在来看结果(请只关心转义符部分):</P>
<P> </P>
<P><IMG height=303 src="教学--第五章 变量和常量_files/ls05.h2.jpg" width=404
border=0></P>
<P> </P>
<P>关于输出结果的几点说明:</P>
<P> </P>
<P>1、需要注意的是 '\t'
在控制台窗口的输出效果,如果前面的字符长度已超过一个制表位,那么后面的第一个'\t'将是没有效用的。(要理解这一点,你可以将代码中“TAB”加长一点,如"TABTAB")。</P>
<P>2、“AA车” 的输出结果是怎么来的呢?请大家考虑考虑。</P>
<P> </P>
<P>试验程序在这里结束。</P>
<H3><B><A name=5.2>5.2</A> 变量与内存地址</B></H3>
<P>前面讲到“白马、黑马”时,我们说一匹白马和一匹黑马具有共同的数据类型“马”,但二者是相对独立的个体。现在我们以更熟悉的“人”来继续这个话题,最终引出变量与内存地址的关系。</P>
<P> </P>
<P><B><FONT color=#ff0000>......[此处内容不发表在网页,请报名的学员使用</FONT><A
href="http://www.bcbschool.com/noused/v4_xiazai.htm"
target=_blank>课程下载器</A><FONT color=#ff0000>下载完整课程]......</FONT></B></P>
<P> </P>
<P>既然变量只不过是内存地址的名称,所以:</P>
<P>4、对变量的操作,等同于对变量所在地址的内存操作。</P>
<P>第五点是反过来说:</P>
<P>5、对指定内存地址的内存操作,等同对相应变量的操作。</P>
<P>尽管这简直就是在重复。但这一条却是我们今后理解C、C++语言相对于其它很多高级语言的,最灵活也最难学的“指针”概念的基石。</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -