📄 chapter 2 tokens -- valvano.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://www.ece.utexas.edu/~valvano/embed/chap2/chap2.htm -->
<HTML><HEAD><TITLE>Chapter 2: Tokens -- Valvano</TITLE>
<META http-equiv=content-type content=text/html;charset=iso-8859-1>
<META content="MSHTML 5.50.3825.1300" name=GENERATOR>
<META
content="Power HD:Applications:Microsoft Office 98:Templates:Web Pages:Blank Web Page"
name=Template></HEAD>
<BODY vLink=#800080 link=#0000ff>
<P><!--Developing Embedded Software in C using ICC11/ICC12/Hiware by Jonathan W. Valvano--><B><FONT
face=Helvetica,Arial size=4>Chapter 2: Tokens </FONT></B></P>
<P><B><I><FONT face=Helvetica,Arial>What's in Chapter 2?</FONT></I></B></P>
<DIR>
<P><FONT face="Times New Roman,Times"><A
href="http://www.ece.utexas.edu/~valvano/embed/chap2/chap2.htm#ASCII">ASCII
characters</A></FONT> <FONT face=Monaco><BR></FONT><FONT
face="Times New Roman,Times"><A
href="http://www.ece.utexas.edu/~valvano/embed/chap2/chap2.htm#CONSTANTS">Literals
include numbers characters and strings</A></FONT> <FONT
face=Monaco><BR></FONT><FONT face="Times New Roman,Times"><A
href="http://www.ece.utexas.edu/~valvano/embed/chap2/chap2.htm#KEYWORDS">Keywords
are predefined</A></FONT> <FONT face=Monaco><BR></FONT><FONT
face="Times New Roman,Times"><A
href="http://www.ece.utexas.edu/~valvano/embed/chap2/chap2.htm#NAMES">Names are
user-defined </A></FONT><FONT face=Monaco><BR></FONT><FONT
face="Times New Roman,Times"><A
href="http://www.ece.utexas.edu/~valvano/embed/chap2/chap2.htm#PUNCTUATION">Punctuation
marks</A></FONT> <FONT face=Monaco><BR></FONT><FONT
face="Times New Roman,Times"><A
href="http://www.ece.utexas.edu/~valvano/embed/chap2/chap2.htm#OPERATORS">Operators</A></FONT>
</P></DIR>
<P><FONT face="Times New Roman,Times">This chapter defines the basic building
blocks of a C program. Understanding the concepts in this chapter will help
eliminate the syntax bugs that confuse even the veteran C programmer. A simple
syntax error can generate 100's of obscure compiler errors. In this chapter we
will introduce some of the syntax of the language.</FONT></P>
<P><FONT face="Times New Roman,Times">To understand the syntax of a C program,
we divide it into </FONT><I>tokens</I><FONT face="Times New Roman,Times">
separated by </FONT><I>white spaces</I><FONT face="Times New Roman,Times"> and
</FONT><I>punctuation</I><FONT face="Times New Roman,Times">. Remember the white
spaces include space, tab, carriage returns and line feeds. A token may be a
single character or a sequence of characters that form a single item. The first
step of a compiler is to process the program into a list of tokens and
punctuation marks. The following example includes punctuation marks
of</FONT><CODE> ( ) { } ;</CODE><FONT face="Times New Roman,Times"> The compiler
then checks for proper syntax. And, finally, it creates object code that
performs the intended operations. In the following example:</FONT></P>
<DIR>
<P><CODE>void main(void){ short z;<BR> z=0;
<BR> while(1){
<BR> z=z+1; <BR> }}
</CODE></P></DIR>
<ADDRESS><FONT face="Times New Roman,Times">Listing 2-1: Example of a function
call</FONT></ADDRESS>
<P><FONT face="Times New Roman,Times">The following sequence shows the tokens
and punctuation marks from the above listing:</FONT></P>
<P><CODE>void main ( void ) { short z ; z = 0 ; while ( 1 ) { z = z + 1 ; } }
</CODE></P>
<P><FONT face="Times New Roman,Times">Since tokens are the building blocks of
programs, we begin our study of C language by defining its tokens.</FONT></P>
<P> </P>
<P><B><I><FONT face=Helvetica,Arial><A name=ASCII></A>ASCII Character
Set</FONT></I></B></P>
<P><FONT face="Times New Roman,Times">Like most programming languages C uses the
standard ASCII character set. The following table shows the 128 standard ASCII
code. One or more </FONT><I>white space</I><FONT face="Times New Roman,Times">
can be used to separate tokens and or punctuation marks. The white space
characters in C include horizontal tab (9=$09), the carriage return (13=$0D),
the line feed (10=$0A), space (32=$20).</FONT></P>
<DIR>
<DIR>
<P><CODE>BITS 4 to 6 </CODE></P></DIR></DIR>
<P>
<TABLE cellSpacing=0 width=432 border=0>
<TBODY>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="10%"><CODE>0</CODE></TD>
<TD vAlign=top width="10%"><CODE>1</CODE></TD>
<TD vAlign=top width="11%"><CODE>2</CODE></TD>
<TD vAlign=top width="10%"><CODE>3</CODE></TD>
<TD vAlign=top width="11%"><CODE>4</CODE></TD>
<TD vAlign=top width="10%"><CODE>5</CODE></TD>
<TD vAlign=top width="11%"><CODE>6</CODE></TD>
<TD vAlign=top width="14%"><CODE>7</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>0</CODE></TD>
<TD vAlign=top width="10%"><CODE>NUL</CODE></TD>
<TD vAlign=top width="10%"><CODE>DLE</CODE></TD>
<TD vAlign=top width="11%"><CODE>SP</CODE></TD>
<TD vAlign=top width="10%"><CODE>0</CODE></TD>
<TD vAlign=top width="11%"><CODE>@</CODE></TD>
<TD vAlign=top width="10%"><CODE>P</CODE></TD>
<TD vAlign=top width="11%"><CODE>`</CODE></TD>
<TD vAlign=top width="14%"><CODE>p</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>B</CODE></TD>
<TD vAlign=top width="7%"><CODE>1</CODE></TD>
<TD vAlign=top width="10%"><CODE>SOH</CODE></TD>
<TD vAlign=top width="10%"><CODE>DC1</CODE></TD>
<TD vAlign=top width="11%"><CODE>!</CODE></TD>
<TD vAlign=top width="10%"><CODE>1</CODE></TD>
<TD vAlign=top width="11%"><CODE>A</CODE></TD>
<TD vAlign=top width="10%"><CODE>Q</CODE></TD>
<TD vAlign=top width="11%"><CODE>a</CODE></TD>
<TD vAlign=top width="14%"><CODE>q</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>I</CODE></TD>
<TD vAlign=top width="7%"><CODE>2</CODE></TD>
<TD vAlign=top width="10%"><CODE>STX</CODE></TD>
<TD vAlign=top width="10%"><CODE>DC2</CODE></TD>
<TD vAlign=top width="11%"><CODE>"</CODE></TD>
<TD vAlign=top width="10%"><CODE>2</CODE></TD>
<TD vAlign=top width="11%"><CODE>B</CODE></TD>
<TD vAlign=top width="10%"><CODE>R</CODE></TD>
<TD vAlign=top width="11%"><CODE>b</CODE></TD>
<TD vAlign=top width="14%"><CODE>r</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>T</CODE></TD>
<TD vAlign=top width="7%"><CODE>3</CODE></TD>
<TD vAlign=top width="10%"><CODE>ETX</CODE></TD>
<TD vAlign=top width="10%"><CODE>DC3</CODE></TD>
<TD vAlign=top width="11%"><CODE>#</CODE></TD>
<TD vAlign=top width="10%"><CODE>3</CODE></TD>
<TD vAlign=top width="11%"><CODE>C</CODE></TD>
<TD vAlign=top width="10%"><CODE>S</CODE></TD>
<TD vAlign=top width="11%"><CODE>c</CODE></TD>
<TD vAlign=top width="14%"><CODE>s</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>S</CODE></TD>
<TD vAlign=top width="7%"><CODE>4</CODE></TD>
<TD vAlign=top width="10%"><CODE>EOT</CODE></TD>
<TD vAlign=top width="10%"><CODE>DC4</CODE></TD>
<TD vAlign=top width="11%"><CODE>$</CODE></TD>
<TD vAlign=top width="10%"><CODE>4</CODE></TD>
<TD vAlign=top width="11%"><CODE>D</CODE></TD>
<TD vAlign=top width="10%"><CODE>T</CODE></TD>
<TD vAlign=top width="11%"><CODE>d</CODE></TD>
<TD vAlign=top width="14%"><CODE>t</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>5</CODE></TD>
<TD vAlign=top width="10%"><CODE>ENQ</CODE></TD>
<TD vAlign=top width="10%"><CODE>NAK</CODE></TD>
<TD vAlign=top width="11%"><CODE>%</CODE></TD>
<TD vAlign=top width="10%"><CODE>5</CODE></TD>
<TD vAlign=top width="11%"><CODE>E</CODE></TD>
<TD vAlign=top width="10%"><CODE>U</CODE></TD>
<TD vAlign=top width="11%"><CODE>e</CODE></TD>
<TD vAlign=top width="14%"><CODE>u</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>0</CODE></TD>
<TD vAlign=top width="7%"><CODE>6</CODE></TD>
<TD vAlign=top width="10%"><CODE>ACK</CODE></TD>
<TD vAlign=top width="10%"><CODE>SYN</CODE></TD>
<TD vAlign=top width="11%"><CODE>&</CODE></TD>
<TD vAlign=top width="10%"><CODE>6</CODE></TD>
<TD vAlign=top width="11%"><CODE>F</CODE></TD>
<TD vAlign=top width="10%"><CODE>V</CODE></TD>
<TD vAlign=top width="11%"><CODE>f</CODE></TD>
<TD vAlign=top width="14%"><CODE>v</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>7</CODE></TD>
<TD vAlign=top width="10%"><CODE>BEL</CODE></TD>
<TD vAlign=top width="10%"><CODE>ETB</CODE></TD>
<TD vAlign=top width="11%"><CODE>'</CODE></TD>
<TD vAlign=top width="10%"><CODE>7</CODE></TD>
<TD vAlign=top width="11%"><CODE>G</CODE></TD>
<TD vAlign=top width="10%"><CODE>W</CODE></TD>
<TD vAlign=top width="11%"><CODE>g</CODE></TD>
<TD vAlign=top width="14%"><CODE>w</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>T</CODE></TD>
<TD vAlign=top width="7%"><CODE>8</CODE></TD>
<TD vAlign=top width="10%"><CODE>BS</CODE></TD>
<TD vAlign=top width="10%"><CODE>CAN</CODE></TD>
<TD vAlign=top width="11%"><CODE>(</CODE></TD>
<TD vAlign=top width="10%"><CODE>8</CODE></TD>
<TD vAlign=top width="11%"><CODE>H</CODE></TD>
<TD vAlign=top width="10%"><CODE>X</CODE></TD>
<TD vAlign=top width="11%"><CODE>h</CODE></TD>
<TD vAlign=top width="14%"><CODE>x</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>O</CODE></TD>
<TD vAlign=top width="7%"><CODE>9</CODE></TD>
<TD vAlign=top width="10%"><CODE>HT</CODE></TD>
<TD vAlign=top width="10%"><CODE>EM</CODE></TD>
<TD vAlign=top width="11%"><CODE>)</CODE></TD>
<TD vAlign=top width="10%"><CODE>9</CODE></TD>
<TD vAlign=top width="11%"><CODE>I</CODE></TD>
<TD vAlign=top width="10%"><CODE>Y</CODE></TD>
<TD vAlign=top width="11%"><CODE>i</CODE></TD>
<TD vAlign=top width="14%"><CODE>y</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>A</CODE></TD>
<TD vAlign=top width="10%"><CODE>LF</CODE></TD>
<TD vAlign=top width="10%"><CODE>SUB</CODE></TD>
<TD vAlign=top width="11%"><CODE>*</CODE></TD>
<TD vAlign=top width="10%"><CODE>:</CODE></TD>
<TD vAlign=top width="11%"><CODE>J</CODE></TD>
<TD vAlign=top width="10%"><CODE>Z</CODE></TD>
<TD vAlign=top width="11%"><CODE>j</CODE></TD>
<TD vAlign=top width="14%"><CODE>z</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"><CODE>3</CODE></TD>
<TD vAlign=top width="7%"><CODE>B</CODE></TD>
<TD vAlign=top width="10%"><CODE>VT</CODE></TD>
<TD vAlign=top width="10%"><CODE>ESC</CODE></TD>
<TD vAlign=top width="11%"><CODE>+</CODE></TD>
<TD vAlign=top width="10%"><CODE>;</CODE></TD>
<TD vAlign=top width="11%"><CODE>K</CODE></TD>
<TD vAlign=top width="10%"><CODE>[</CODE></TD>
<TD vAlign=top width="11%"><CODE>k</CODE></TD>
<TD vAlign=top width="14%"><CODE>{</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>C</CODE></TD>
<TD vAlign=top width="10%"><CODE>FF</CODE></TD>
<TD vAlign=top width="10%"><CODE>FS</CODE></TD>
<TD vAlign=top width="11%"><CODE>,</CODE></TD>
<TD vAlign=top width="10%"><CODE><</CODE></TD>
<TD vAlign=top width="11%"><CODE>L</CODE></TD>
<TD vAlign=top width="10%"><CODE>\</CODE></TD>
<TD vAlign=top width="11%"><CODE>l</CODE></TD>
<TD vAlign=top width="14%"><CODE>|</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>D</CODE></TD>
<TD vAlign=top width="10%"><CODE>CR</CODE></TD>
<TD vAlign=top width="10%"><CODE>GS</CODE></TD>
<TD vAlign=top width="11%"><CODE>-</CODE></TD>
<TD vAlign=top width="10%"><CODE>=</CODE></TD>
<TD vAlign=top width="11%"><CODE>M</CODE></TD>
<TD vAlign=top width="10%"><CODE>]</CODE></TD>
<TD vAlign=top width="11%"><CODE>m</CODE></TD>
<TD vAlign=top width="14%"><CODE>}</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>E</CODE></TD>
<TD vAlign=top width="10%"><CODE>SO</CODE></TD>
<TD vAlign=top width="10%"><CODE>RS</CODE></TD>
<TD vAlign=top width="11%"><CODE>.</CODE></TD>
<TD vAlign=top width="10%"><CODE>></CODE></TD>
<TD vAlign=top width="11%"><CODE>N</CODE></TD>
<TD vAlign=top width="10%"><CODE>^</CODE></TD>
<TD vAlign=top width="11%"><CODE>n</CODE></TD>
<TD vAlign=top width="14%"><CODE>~</CODE></TD></TR>
<TR>
<TD vAlign=top width="7%"> </TD>
<TD vAlign=top width="7%"><CODE>F</CODE></TD>
<TD vAlign=top width="10%"><CODE>S1</CODE></TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -