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

📄 c++基础教程 c++.htm

📁 一个好的c++教程大家可以用来作为初级学习
💻 HTM
📖 第 1 页 / 共 4 页
字号:
            <P> 例如:<BR> int b=++a;//a=a+1;b=a;<BR> int 
            b=a++;//b=a;a=a+1;<BR> int c=--a;//a=a-1;c=a;<BR> int 
            c=a--;//c=a;a=a-1;</P>
            <P>前增量(前减量)返回的值是修改后的变量值,故为左值。<BR> 后增量(后减量)返回的值是修改前的变量值,故不为左值。</P>
            <P> 例:++(a++);//×    ++(++a);//√<BR>  (a--)--;//× 
                 (a--)--;//√</P>
            <P>若有多个+或-连写时,编译总是将前面两个+或-认为是增量或减量操作符。<BR>例:c=a+b;// √<BR> c=a++b;// 
            ×<BR>  c=a+++b;// √<BR>  c=a++++b;// ×<BR>  c=a+++++b;// ×</P>
            <P>7.sizeof操作符<BR> 操作符sizeof(数据类型)可测定某数据类型所占字节长度。 
            <BR>例如:<BR>cout&lt;&lt;“size of int 
            is”&lt;&lt;sizeof(int)&lt;&lt;endl;<BR>输出为:size of int is 2</P>
            <P>8.优先级和结合性<BR>优先级:不同操作符出现在同一表达式中谁先运算的级别。<BR><BR>例:d=a+b*c;//*优先级比+高。</P>
            <P>结合性:同等优先级的操作符出现在同一表达式中谁先运算的规定。<BR>例:d=a+b-c;//左-&gt;右<BR>d=a=3;//右-&gt;左</P>
            <P>C++中表达式的书写.</P>
            <P>9. 自动类型转换和强制类型转换<BR><BR>自动类型转换方向 见图</P>
            <P><BR>自动类型转换转换方向 <BR><BR>强制类型转换<BR>  格式:(类型修饰符)表达式<BR>      
            类型修饰符(表达式)<BR><BR>例:int(3.14+i)或(int)(3.14+i)<BR>char(64.8)或(char)64.8或(char)(64.8)</P>
            <P><FONT color=#ff0000><A name=a28></A>2.8 逻辑型数据和逻辑表达式 </FONT></P>
            <P>1.基本情况<BR> 例:bool isOk,ready=true;</P>
            <P>2.关系操作符和逻辑操作符</P>
            <TABLE height=65 width="97%" border=1>
              <TBODY>
              <TR>
                <TD width="14%" height=30><FONT size=2>关系运算符</FONT></TD>
                <TD width="12%" height=30><FONT size=2>比较(==)</FONT></TD>
                <TD width="10%" height=30><FONT size=2>大于(&gt;)</FONT></TD>
                <TD width="11%" height=30><FONT size=2>小于(&lt;)</FONT></TD>
                <TD width="16%" height=30><FONT size=2>大于等于(&gt;=)</FONT></TD>
                <TD width="16%" height=30><FONT size=2>小于等于(&lt;=)</FONT></TD>
                <TD width="21%" height=30><FONT size=2>不等于(!=)</FONT></TD></TR>
              <TR>
                <TD width="14%"><FONT size=2>逻辑运算符</FONT></TD>
                <TD width="12%"><FONT size=2>与(&amp;&amp;)</FONT></TD>
                <TD width="10%"><FONT size=2>或(||)</FONT></TD>
                <TD width="11%"><FONT size=2>非(!)</FONT></TD>
                <TD width="16%"> </TD>
                <TD width="16%"> </TD>
                <TD width="21%"> </TD></TR></TBODY></TABLE>
            <P>3.比较(==)<BR>比较(==)结果为真(非0)或假(0)表示。<BR> 赋值(=)结果为=号左边表达式的值。<BR>4.复合条件<BR>子条件1&amp;&amp;子条件2:如(x&gt;=2)&amp;&amp;(x&lt;=7)<BR>子条件1||子条件2 
            :如(x&lt;2)||(x&gt;7)<BR>E1||E2||…||En<BR>E1&amp;&amp;E2&amp;&amp;…&amp;&amp;|En</P>
            <P>5.相反条件 例如:x&gt;3和x&lt;=3<BR>   若x&gt;3的值为true,则x&lt;=3必为false 
              即x&gt;3和x&lt;=3是互为相反条件<BR>6.等价条件<BR>等价条件:两个逻辑表达式在任何情况下同为true或同为false,则这两个表达式所表示的条件称为等价条件。</P>
            <P>7.永真条件:总是成立的条件称为永真条件.<BR> 例如:x&gt;0||x&lt;=0,true是永真条件<BR> 永假条件:总是不成立的条件称为永假条件。<BR> 例如:x&gt;12&amp;&amp;x&lt;5,false</P>
            <P>8.逻辑型数据与其它数据类型的关系</P>
            <P>逻辑型数据作为数值数据使用时,false被转换成0,true被转换成1。<BR>字符型、枚举型、整型、实型数据的值作为逻辑值使用时,一切0值被转换成false 
            ,一切非零值被转换成true<BR>指针值作为逻辑值使用时,空指针被换成false,非空指针被转换成true<BR><BR>总之:0即是false,非0即是true</P>
            <P>9.条件操作符和条件表达式<BR>条件操作符  ?:<BR> 使用格式:条件?表达式1:表达式2<BR>条件表达式<BR>定义:由条件操作符构成的表达式称为条件表达式<BR>表达式的值:条件成立时为表达式1的值,条件不成立时为表达式2的值<BR>例: 
            (score&gt;=60)? ”pass”:”fail”</P>
            <P>条件表达式可以嵌套<BR>例:(x&gt;y)?"great than":((x==y)?"equal to":"less 
            than")</P>
            <P>10.typedef:为一个已有类型名提供一个同义词。 <BR>定义格式:typedef 类型说明符 新类型名</P>
            <P>如: typedef int INT,integer ; INT a;//int a; typedef double 
            profit; profit d; // double d;<BR>11. 
            表达式的副作用<BR>表达式的副作用:表达式求值过程中,若参与运算的变量的值发生了改变,称此表达式是具有副作用的。</P>
            <P>例:int 
            i=1,j=2;<BR>   cout&lt;&lt;(i+j++)&lt;&lt;endl;<BR>   cout&lt;&lt;j&lt;&lt;endl;</P>
            <P>结果: 3<BR>    3<BR>表达式i+j++具有副作用。</P>
            <P>产生副作用的主要原因是引入了具有副作用的操作符。这些操作符包含:<BR>(1)赋值=<BR>(2)复合赋值(+=,-=,*=等)<BR>(3)前增1前减1(++,--)<BR>(4)后增1后减1(++,--)</P>
            <P>赋值,复合赋值,前增1和后增1的结果仍然是变量对象,即仍为左值.<BR>数值表达式,常量,后增1和后减1不能为左值.<BR>例: (p+3)-=k;// 
            × ++k*=5;// √<BR>++5;// × k++*=5;// ×<BR>100=p;// ×</P>
            <P>12.逗号表达式<BR>格式:p1,p2,……,pn(其中pi为表达式)<BR>例:int 
            a,b,c;<BR>   a=1,b=a+2,c=b+3;<BR>逗号表达式的值是其中最后一个表达式pn的值。<BR>例:int 
            a,b,c,d;<BR>   d=(a=1,b=a+2,c=b+3);<BR>   cout&lt;&lt;d&lt;&lt;endl;<BR>   结果:6</P>
            <P align=center></P>
            <P align=center><FONT color=#00ff00><B><FONT size=5><A 
            name=a3></A>第三章 C++程序的流程控制</FONT></B></FONT></P>
            <P><FONT color=#ffffff><BR><FONT 
            color=#ff0000>流程控制与程序结构</FONT></FONT></P>
            <P>1.流程控制:控制语句执行的顺序</P>
            <P>2.流程控制的方式(三种)<BR>①顺序控制<BR>②条件分支控制<BR>③循环控制</P>
            <P><FONT color=#ff0000><A name=a31></A>3.1 程序结构的分类</FONT><FONT 
            color=#ffffff><BR></FONT><BR>① 
            顺序结构<BR>②条件分支结构:由if语句和switch语句实现。<BR>③循环结构:由while语句、for语句和do…while语句实现。</P>
            <P><FONT color=#ff0000><A name=a32></A>3.2 条件分支结构</FONT><FONT 
            color=#ffffff><BR></FONT>3.2.1 if语句<BR>设p为条件表达式,s为语句<BR> 格式1:if p 
            <BR> s;</P>
            <P> 格式2:if p<BR>    s1;<BR>   else<BR>    
            s2;<BR><BR>例:#include&lt;iostream.h&gt;<BR>  void main()<BR>  {<BR>  
            int score;<BR>  cin&gt;&gt;score;<BR>  if(score&gt;=60)<BR>  
            cout&lt;&lt;“恭喜,你及格了!”;<BR>  }</P>
            <P>例:#include&lt;iostream.h&gt;<BR>   void main()<BR>   {<BR>    int 
            score;<BR>    cin&gt;&gt;score;<BR>    if(score&gt;=60)<BR>    
            cout&lt;&lt;“恭喜,你及格了!”;<BR>    else<BR>     
            cout&lt;&lt;“抱歉,等着补考吧!”;<BR>   }</P>
            <P>例如:输入两个数找出最大的一个并显示出来。<BR>#include&lt;iostream.h&gt;<BR>void 
            main()<BR>{ int i 
            ,j;<BR>cout&lt;&lt;“输入两个数:”;<BR>cin&gt;&gt;i&gt;&gt;j;<BR>cout&lt;&lt;“两个数中最大的是:”;<BR>if(i&gt;=j)<BR>cout&lt;&lt;i&lt;&lt;endl; 
            //语句1<BR>else<BR>cout&lt;&lt;j&lt;&lt;endl; 
            //语句2<BR>}<BR><BR>例:输入三个数,找出其中最大的一个并显示出来。<BR>#include 
            &lt;iostream.h&gt;<BR>void main()<BR>{ int 
            i,j,k;<BR>cout&lt;&lt;“输入三个数:”;<BR>cin&gt;&gt;i&gt;&gt;j&gt;&gt;k;<BR>cout&lt;&lt;“三个数中最大的是:”;<BR>if(i&lt;j) 
            i=j;<BR>if(i&lt;k) i=k;<BR>cout&lt;&lt;i&lt;&lt;endl;<BR>}<BR></P>
            <P>例:输入三个数,按最大到小的顺序显示出来。<BR>#include &lt;iostream.h&gt;<BR>void 
            main()<BR>{ int 
            i,j,k,p;<BR>cout&lt;&lt;“输入三个数:”;<BR>cin&gt;&gt;i&gt;&gt;j&gt;&gt;k;<BR>if(i&lt;j) 
            {p=i; i=j; j=p;}<BR>if(i&lt;k) {p=i; i=k; k=p;}<BR>if(j&lt;k) {p=j; 
            j=k; k=p;}<BR>cout&lt;&lt;i&lt;&lt;‘ ‘&lt;&lt;j&lt;&lt;‘ 
            ‘&lt;&lt;k&lt;&lt;endl;<BR>}<BR><BR>3.2.2 
            if语句的嵌套<BR>1.解决二义性<BR>例:int x=20;<BR>  if(x&gt;=0)<BR>  
            if(x&lt;50)<BR>  cout&lt;&lt;"x is ok\n";//s1<BR>  
            else<BR>   cout&lt;&lt;"x is not 
            ok\n";//s2<BR><BR>解释1//该解释为正确解释<BR>  int x=20;<BR>  if(x&gt;=0)<BR>  
            {<BR>  if(x&lt;50)<BR>   cout&lt;&lt;"x is ok\n";//s1<BR>  
            else<BR>    cout&lt;&lt;"x is not ok\n";//s2<BR>}</P>
            <P>解释2//该解释为错误解释<BR>int 
            x=20;<BR>if(x&gt;=0)<BR>{<BR>if(x&lt;50)<BR>cout&lt;&lt;"x is 
            ok\n";//s1<BR>}<BR>else<BR>cout&lt;&lt;"x is not 
            ok\n";//s2<BR><BR>因为:c++规定,else总是和其前面最近的尚未配对的且可见的if配对。</P>
            <P>2.例:输入3个数,找出其中最大的一个并显示出来。(见书)</P>
            <P>3.2.3 if多分支结构<BR>格式3:<BR> if p1 s1;<BR>  else if p2 s2; <BR> else 
            if p2 s3; <BR> …<BR> else if pn sn;<BR> [else sn+1 ]</P>
            <P>例:#include&lt;iostream.h&gt;<BR>void main()<BR>{<BR>int 
            grade;<BR>cin&gt;&gt;grade;<BR>if(grade&gt;=90) 
            cout&lt;&lt;“Excellent!”;<BR>else if(grade&gt;=80) 
            cout&lt;&lt;“Good!”;<BR>else if(grade&gt;=60) 
            cout&lt;&lt;“Pass!”;<BR>else cout&lt;&lt;“Fail!”;<BR>}</P>
            <P>3.2.4 switch语句<BR>1.格式1(不带break语句)<BR>switch (表达式)<BR>  { case 
            常量表达式1:语句1;<BR>   case 常量表达式2:语句2;<BR>…<BR> case 
            常量表达式n:语句n;<BR>[default:语句n+1;]<BR>}<BR><BR>例:switch(dayOfTheWeek)<BR>{ 
            case 0:cout&lt;&lt;“Sunday";<BR>case 1:cout&lt;&lt;“Monday";<BR>case 
            2:cout&lt;&lt;“Tuesday";<BR>case 3:cout&lt;&lt;“Wednesday";<BR>case 
            4:cout&lt;&lt;“Thursday";<BR>case 5:cout&lt;&lt;“Friday";<BR>case 
            6:cout&lt;&lt;“Saturday"; <BR>default:cout&lt;&lt;“Unknow week 
            day";<BR>}</P>
            <P>若dayOfTheWeek的值为4,则输出为 
            <BR>Thursday<BR>Friday<BR>Saturday<BR>Unknow week day</P>
            <P>2.格式2(带有break语句)</P>
            <P>switch (表达式)<BR>  { case 常量表达式1:语句1;break;<BR>   case 常量表达式2:语句2; 
            break;<BR>…<BR> case 常量表达式n:语句n; break;<BR>[default:语句n+1; 
            break;]<BR>}</P>
            <P>例:switch(dayOfTheWeek)<BR>{ case 
            0:cout&lt;&lt;“Sunday";break;<BR>case 1:cout&lt;&lt;“Monday"; 
            break;<BR>case 2:cout&lt;&lt;“Tuesday"; break;<BR>case 
            3:cout&lt;&lt;“Wednesday"; break;<BR>case 4:cout&lt;&lt;“Thursday"; 
            break;<BR>case 5:cout&lt;&lt;“Friday"; break;<BR>case 
            6:cout&lt;&lt;“Saturday"; break;<BR>default:cout&lt;&lt;“Unknow week 
            day"; break;<BR>}</P>
            <P>若dayOfTheWeek的值为4,则输出为 <BR>Thursday<BR><BR>3. 
            if多分支结构和switch语句可相互改写。</P>
            <P>例:char grade;<BR>switch(grade)<BR>{ case 
            'A':cout&lt;&lt;"85--100\n";break;<BR>case 
            'B':cout&lt;&lt;"70--84\n"; break;<BR>case 

⌨️ 快捷键说明

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