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

📄 xt2.htm

📁 有关C++程序设计的复习资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
                  程序的三种基本控制结构是什么?<BR>答:程序的三种基本控制结构是:顺序程序结构、分支程序结构、循环结构程序结构。</P>
                  <P class="xt12 style1">2.20 
                  C++语言中的语句分哪几类?<BR>答:C++语言中的语句分为6类,即:说明语句、控制语句、函数调用语句、表达式语句、空语句、复合语句。</P>
                  <P class="xt12 style1">2.21 
                  怎样区分表达式和语句?<BR>答:表达式与语句的区别是:表达式不需要用分号结尾,而语句必须以分号结尾。</P>
                  <P class="xt12 style1">2.22 
                  程序的多路分支可通过哪二种语句来实现?说出用这两种语句实现多路分支的区别。<BR>答:程序的多路分支可用if语句与switch语句来实现。switch语句只能用于条件表达式的值为整型或字符型的场合,而if语句可用于条件表达式为任意类型值的场合。</P>
                  <P class="xt12 style1">2.23 使用switch 
                  开关语句时应注意哪些问题?<BR>答:使用switch 
                  开关语句应注意:<BR>(1)必须用break才能退出当前case语句;<BR>(2)表达式值与常量值只能是整型或字符型;<BR>(3)每个case后面的常量表达式的值必须互不相同;<BR>(4)case后可有多个语句,而不必用花括号。<BR>2.24 
                  用于实现循环结构的循环语句有哪三种? 
                  分别用于实现哪二种循环结构?这三种循环语句在使用上有何区别?<BR>答:实现循环结构的循环语句有while 、do 
                  while、for三种语句。while、for语句分别用于实现当型循环结构。do 
                  while用于实现直到型循环结构。while、for语句用于先判断循结束后执行循环体场合,而do 
                  while用于先执行循环体后判断循环结束的场合。</P>
                  <P class="xt12 style1">2.25 
                  分支程序与循环程序常用于解决哪些实际问题?<BR>答:能够用分支与循环结构程序解决的实际问题有:累加和、连乘积、求一批数的和及最大值与最小值、求数列的前n项、判素数、求两个整数的最大公约数和最小公倍数、用迭代法求平方根、用穷举法求不定方程组的整数解、打印图形等等。</P>
                  <P class="xt12 style1">2.26 
                  continue语句与break语句均用于循环结构,在使用上有何区别?<BR>答:break语句只能用在循环语句和switch语句中,其功能是终止循环语句和switch语句的执行。continue语句只能用在循环语句中,其功能是结束本次循环,重新开始下一次循环。</P>
                  <P 
                  class="xt12 style1">2.27程序的正常终止与异常终止有何区别,分别用什么函数来实现?使用这些函数时应包含什么头文件?<BR>答:程序的正常终止用exit()函数来完成,此时系统要做终止程序执行前的收尾工作,如关闭该程序打开的文件。释放变量所占用的存储空间(不包括动态分配的存储空间)等。<BR>程序的异常终止用abort 
                  ()函数来完成,系统不做结束程序前的收尾工作,直接终止程序的执行。<BR>使用这两个函数时应包含stdlib.h头文件。</P>
                  <P class="xt12 style1">2.28 写出下列程序的运行结果:<BR>#include 
                  &lt;iostream.h&gt;<BR>void main(void)<BR>{ int 
                  a=2,b=-1,c=2;<BR> if (a&lt;b)<BR> if (b&lt;0) c=0;<BR> else 
                  c=c+1;<BR> cout&lt;&lt;c&lt;&lt;endl;<BR>}<BR>解:运行结果:2</P>
                  <P class="xt12 style1">2.29写出下列程序的运行结果:<BR>#include 
                  &lt;iostream.h&gt;<BR>void main(void)<BR>{ int 
                  i=10;<BR> switch (i)<BR> { case 9:i=i+1;<BR>  case 
                  10:i=i+1;<BR>  case 11:i=i+1;<BR>  default 
                  :i=i+1;<BR> }<BR> cout&lt;&lt;i&lt;&lt;endl;<BR>}<BR>解:运行结果:13</P>
                  <P class="xt12 style1">2.30 
                  设计一个程序,判断从键盘输入的整数的正负性和奇偶性。<BR>解:<BR># include 
                  &lt;iostream.h&gt;<BR>void main()<BR>{ int 
                  i;<BR> cout&lt;&lt;"请输入一个整数:";<BR> cin&gt;&gt;i;<BR> if 
                  (i&gt;0) <BR>  if (i % 2==0)<BR>   cout&lt;&lt;i&lt;&lt;" is 
                  positive even 
                  number"&lt;&lt;endl;<BR>  else<BR>   cout&lt;&lt;i&lt;&lt;" is 
                  positive odd number"&lt;&lt;endl;<BR> else if (i % 
                  2==0)<BR>   cout&lt;&lt;i&lt;&lt;" is negative even 
                  number"&lt;&lt;endl;<BR> else<BR>  cout&lt;&lt;i&lt;&lt;" is 
                  negative odd number"&lt;&lt;endl;<BR>} </P>
                  <P class="xt12 style1">2.31 
                  什么是枚举类型?如何定义枚举类型?枚举类型中元素的默认序号值是如何确定的?序号值是否一定要惟一?用枚举类型定义的枚举变量只能进行哪二种运算?枚举变量能否用cin输入元素值?能否用cout输出枚举变量的值?若能则输出的内容是什么?<BR>答:<BR>(1)枚举类型是某类数据可能取值的集合;<BR>(2)定义枚举类型<BR>enum 
                  &lt;枚举类型名&gt; <BR>{ &lt;枚举元素表&gt; 
                  };<BR>(3)默认序号从0开始依次加1;<BR>(4)序号值不要求惟一;<BR>(5)用枚举类型可定义枚举变量或枚举数组,枚举变量可进行赋值运算与比较运算。<BR>(6)枚举变量不能用cin输入枚举元素值或序号值,只能用赋值运算符将枚举元素值赋给枚举变量。<BR>(7)用cout可以输出枚举变量,但输出的是其序号而不是元素值。</P>
                  <P class="xt12 style1">2.32 
                  定义一个描述学生成绩等级的枚举类型{A,B,C,D,E},成绩等级与分数段的对应关系为A:90~100 ,B:80~89 
                  ,C:70~79 ,D:60~69 ,E:0~59。 
                  在主函数中定义全班学生成绩枚举类型数组,输入全班学生的分数,并转换成等级赋给枚举数组元素。最后输出全班学生的成绩等级。<BR>解:<BR># 
                  include &lt;iostream.h&gt;<BR># define N 5<BR>enum 
                  grade<BR>{A,B,C,D,E};<BR>void main(void)<BR>{ grade g[N]; 
                  <BR> int i,score;<BR> for(i=0;i&lt;N;i++)<BR> { 
                  cout&lt;&lt;"Input 
                  score["&lt;&lt;i&lt;&lt;"]=";<BR>  cin&gt;&gt;score;<BR>  if 
                  (score&gt;100 || score&lt;0 )<BR>  { cout&lt;&lt;"enter score 
                  error!"&lt;&lt;endl;<BR>   i--;<BR>  }<BR>  else<BR>  switch 
                  (score/10)<BR>  { case 9:;<BR>   case 10: 
                  g[i]=A;break;<BR>   case 8: g[i]=B;break;<BR>   case 7: 
                  g[i]=C;break;<BR>   case 6: g[i]=D;break; 
                  <BR>   default:g[i]=E;<BR>  }<BR> }<BR> cout&lt;&lt;"Student 
                  score:"&lt;&lt;endl;<BR> for(i=0;i&lt;N;i++)<BR> { switch 
                  (g[i])<BR>  { case A : cout &lt;&lt;"G["&lt;&lt;i&lt;&lt;"]=A" 
                  ; break;<BR>   case B : cout 
                  &lt;&lt;"G["&lt;&lt;i&lt;&lt;"]=B" ; break;<BR>   case C : 
                  cout &lt;&lt;"G["&lt;&lt;i&lt;&lt;"]=C" ; break;<BR>   case D 
                  : cout &lt;&lt;"G["&lt;&lt;i&lt;&lt;"]=D" ; break;<BR>   case 
                  E : cout &lt;&lt;"G["&lt;&lt;i&lt;&lt;"]=E" ; 
                  break;<BR>  }<BR> cout&lt;&lt;'\n';<BR> }<BR>}</P>
                  <P class="xt12 style1">2.33 
                  从A、B、C、D四个字母中任取3个不同的字母,共有多少种取法?编写程序,输出所有取法中字母排列。<BR>解:<BR># 
                  include &lt;iostream.h&gt;<BR>enum 
                  letter<BR>{A,B,C,D};<BR>void show(letter c)<BR>{ 
                  switch(c)<BR> { case A : cout&lt;&lt;"A";break; <BR>  case B : 
                  cout&lt;&lt;"B";break;<BR>  case C : 
                  cout&lt;&lt;"C";break;<BR>  case D : 
                  cout&lt;&lt;"D";break;<BR> }<BR> cout&lt;&lt;'\t';<BR>}<BR>void 
                  main(void)<BR>{ letter c1,c2,c3;<BR> for(c1=A 
                  ;c1&lt;=D;c1=letter(int (c1) +1))<BR> for(c2=A 
                  ;c2&lt;=D;c2=letter(int (c2) +1))<BR> for(c3=A 
                  ;c3&lt;=D;c3=letter(int (c3) +1))<BR> { if (c1!=c2 &amp;&amp; 
                  c1!=c3 &amp;&amp; c2!=c3)<BR>  { 
                  show(c1);<BR>   show(c2);<BR>   show(c3);<BR>   cout&lt;&lt;'\n';<BR>  }<BR> }<BR>}</P>
                  <P class="xt12 style1">2.34 
                  定义学生档案结构体,描述一个学生的档案信息有:学号、姓名、性别、年龄、家庭地址、邮政编码、电话号码。<BR>解:<BR>struct 
                  student<BR>{ int no ;<BR> char name[8];<BR> char sex;<BR> int 
                  age;<BR> char addr[20];<BR> int post;<BR> char 
                  photo[15];<BR>};</P>
                  <P 
                  class="xt12 style1">2.35定义学生成绩结构体,描述学生成绩信息有:学号、英语、数学、物理、总分、名次。<BR>解:<BR>struct 
                  grade<BR>{ int no ;<BR> float eng,math,phy;<BR> float 
                  total;<BR> int order;<BR>};</P>
                  <P 
                  class="xt12 style1">2.36用习题8.4中的学生档案结构体定义一个学生的档案结构变量。用初始化方式输入学生档案内容,并输出学生档案。<BR>解:<BR># 
                  include &lt;iostream.h&gt;<BR>struct student<BR>{ int no 
                  ;<BR> char name[8];<BR> char sex;<BR> int age;<BR> char 
                  addr[20];<BR> int post;<BR> char photo[15];<BR>};<BR>void 
                  main(void)<BR>{ student 
                  s={101,"Zhou",'M',23,"wuxi",214073,"0510-5414727"};<BR> cout&lt;&lt;"学号:"&lt;&lt;s.no&lt;&lt;'\n';<BR> cout&lt;&lt;"姓名:"&lt;&lt;s.name&lt;&lt;'\n';<BR> cout&lt;&lt;"性别:"&lt;&lt;s.sex&lt;&lt;'\n';<BR> cout&lt;&lt;"年龄:"&lt;&lt;s.age&lt;&lt;'\n';<BR> cout&lt;&lt;"地址:"&lt;&lt;s.addr&lt;&lt;'\n';<BR> cout&lt;&lt;"邮编:"&lt;&lt;s.post&lt;&lt;'\n';<BR> cout&lt;&lt;"电话:"&lt;&lt;s.photo&lt;&lt;'\n';<BR>}</P>
                  <P class="xt12 style1">2.37 
                  用习题8.5中的学生成绩结构体定义班级成绩结构体数组。编写四个函数分别用于: 
                  (1)输入全班学生的学号、英语、数学、物理成绩。<BR>(2)计算每一个学生的总分。<BR>(3)按总分降序排序,并给每个学生填入名次。<BR>(4)输出全班学生的学号、三门课成绩、总分、名次。<BR>在主函数中定义学生成绩数组,调用四个函数完成输入、计算总分、排名、输出工作。<BR>解:<BR># 
                  include &lt;iostream.h&gt;<BR># include &lt;iomanip.h&gt;<BR># 
                  define N 5<BR>struct grade<BR>{ int no ;<BR> float 
                  eng,math,phy;<BR> float total;<BR> int order;<BR>};<BR>void 
                  input(grade s[],int n)<BR>{ int i;<BR> cout&lt;&lt;"Input 
                  Score:"&lt;&lt;endl;<BR> for(i=0;i&lt;n;i++)<BR> cin&gt;&gt;s[i].no&gt;&gt;s[i].eng&gt;&gt;s[i].math&gt;&gt;s[i].phy;<BR>}<BR>void 
                  sum(grade s[],int n)<BR>{ int 
                  i;<BR> for(i=0;i&lt;n;i++)<BR> s[i].total=s[i].eng+s[i].math+s[i].phy;<BR>}<BR>void 
                  sort(grade s[],int n)<BR>{ int i,j,k;<BR> grade 
                  temp;<BR> for(i=0;i&lt;n-1;i++)<BR> { k=i;<BR>  for 
                  (j=i+1;j&lt;n;j++)<BR>  if (s[k].total&lt;s[j].total) 
                  k=j;<BR>  if (k!=i)<BR>  { 
                  temp=s[i];s[i]=s[k];s[k]=temp;}<BR> }<BR> for(i=0;i&lt;n;i++)<BR> s[i].order=i+1;<BR>}<BR>void 
                  output(grade s[],int n)<BR>{ int 
                  i;<BR> cout&lt;&lt;setw(6)&lt;&lt;"No"&lt;&lt;setw(6)&lt;&lt;"Eng"&lt;&lt;setw(6)&lt;&lt;"Math"&lt;&lt;setw(6)&lt;&lt;"Phy"<BR> &lt;&lt;setw(6)&lt;&lt;"Total"&lt;&lt;setw(6)&lt;&lt;"Order"&lt;&lt;'\n'; 
                  <BR> for(i=0;i&lt;n;i++)<BR> cout&lt;&lt;setw(6)&lt;&lt;s[i].no&lt;&lt;setw(6)&lt;&lt;s[i].eng&lt;&lt;setw(6)&lt;&lt;s[i].math&lt;&lt;<BR> setw(6)&lt;&lt;s[i].phy&lt;&lt;setw(6)&lt;&lt;s[i].total&lt;&lt;setw(6)&lt;&lt;s[i].order&lt;&lt;'\n';<BR>}<BR>void 
                  main(void)<BR>{ grade 
                  stu[N];<BR> input(stu,N);<BR> sum(stu,N);<BR> sort(stu,N);<BR> output(stu,N);<BR>}</P>
                  <P class="xt12 style1">2.38 
                  定义描述复数类型的结构体变量,编写减法函数Sub()与乘法函数Mul()分别完成复数的减法与乘法运算。在主函数中定义四个复数类型变量c1、c2、c3、c4,输入c1、c2的复数值,调用Sub()完成c3=c1-c2 
                  操作,调用Mul( )完成 c4=c1*c2操作。 最后输出c3、c4复数值。<BR>解:<BR># include 
                  &lt;iostream.h&gt;<BR># include &lt;iomanip.h&gt;<BR>struct 
                  complex<BR>{ float r;<BR> float i;<BR>};<BR>complex 
                  Sub(complex c1,complex c2)<BR>{ complex 
                  c;<BR> c.r=c1.r-c2.r;<BR> c.i=c1.i-c2.i;<BR> return 
                  c;<BR>}<BR>complex Mul(complex c1,complex c2)<BR>{ complex 
                  c;<BR> c.r=c1.r*c2.r-c1.i*c2.i;<BR> c.i=c1.r*c2.i+c1.i*c2.r;<BR> return 
                  c;<BR>}<BR>void main(void)<BR>{ complex 
                  c1,c2,c3,c4;<BR> cout&lt;&lt;"c1=";<BR> cin&gt;&gt;c1.r&gt;&gt;c1.i;<BR> cout&lt;&lt;"c2=";<BR> cin&gt;&gt;c2.r&gt;&gt;c2.i;<BR> c3=Sub(c1,c2);<BR> c4=Mul(c1,c2);<BR> cout&lt;&lt;"c3="&lt;&lt;c3.r&lt;&lt;"+("&lt;&lt;c3.i&lt;&lt;")i"&lt;&lt;'\n';<BR> cout&lt;&lt;"c4="&lt;&lt;c4.r&lt;&lt;"+("&lt;&lt;c4.i&lt;&lt;")i"&lt;&lt;'\n';<BR>}</P>
                  <P><SPAN class="xt12 style1">2.39 
                  定义描述矩形的结构体类型,该结构体类型的数据成员为矩形的左上角坐标(x1,y1)与右下角(x2,y2)。编写函数Area()计算出矩形的面积。在主函数中定义矩形结构体变量,输入矩形的左上角坐标与右下角坐标,调用Area()计算出矩形面积,并输出矩形面积。<BR>解:<BR># 
                  include &lt;iostream.h&gt;<BR># include 
                  &lt;math.h&gt;<BR>struct Rectangle<BR>{ float x1,y1;<BR> float 
                  x2,y2;<BR>};<BR>float Area(Rectangle a)<BR>{ float 
                  area;<BR> area=abs((a.x1-a.x2)*(a.y1-a.y2));<BR> return 
                  area;<BR>}<BR>void main(void)<BR>{ Rectangle 
                  Rect;<BR> cout&lt;&lt;"Ipunt 
                  Rect(x1,y1):";<BR> cin&gt;&gt;Rect.x1&gt;&gt;Rect.y1;<BR> cout&lt;&lt;"Ipunt 
                  Rect(x2,y2):";<BR> cin&gt;&gt;Rect.x2&gt;&gt;Rect.y2;<BR> cout&lt;&lt;"Area="&lt;&lt;Area(Rect)&lt;&lt;endl;<BR>}<BR></SPAN></P></TD></TR></TBODY></TABLE><!-- InstanceEndEditable --></TD></TR></TBODY></TABLE></TD></TR>
  <TR vAlign=center bgColor=#eeeeee>
    <TD colSpan=3 height=28>
      <DIV align=center><A 
      onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.nuist.edu.cn')" 
      href="http://www.nuist.edu.cn/JSJ/syjx/xt/xt2.htm#"><SPAN 
      class=mb14>设为首页</SPAN></A><STRONG>|</STRONG><A class=mb14 
      href="javascript:addme()">加入收藏</A><STRONG>|</STRONG><A 
      href="http://www.nuist.edu.cn/"><SPAN 
      class=mb14>学校首页</SPAN></A><STRONG>|</STRONG><A 
      href="http://www.nuist.edu.cn/jsj"><SPAN 
    class=mb14>计科系首页</SPAN></A></DIV></TD></TR>
  <TR>
    <TD class=mb14 vAlign=top bgColor=#176bab colSpan=2 height=88>
      <DIV align=center><BR><FONT color=#ffffff>Copyright&copy; 2004-2005 Depart of 
      Computer Science &amp; Technology Nuist</FONT></DIV></TD>
    <TD width=15 bgColor=#176bab>&nbsp;</TD></TR>
  <TR>
    <TD height=1></TD>
    <TD width=581></TD>
    <TD></TD></TR></TBODY></TABLE><MAP name=Map><AREA shape=RECT coords=9,9,75,25 
  href="http://www.nuist.edu.cn/JSJ/syjx/index.htm"><AREA shape=RECT 
  coords=86,9,150,26 href="http://www.nuist.edu.cn/JSJ/syjx/jxdg.htm"><AREA 
  shape=RECT coords=157,9,220,27 
  href="http://www.nuist.edu.cn/JSJ/syjx/skja.htm"><AREA shape=RECT 
  coords=230,9,310,26 href="http://www.nuist.edu.cn/JSJ/syjx/dmt.htm"><AREA 
  onclick="MM_goToURL('parent','../xt.htm');return document.MM_returnValue" 
  shape=RECT coords=320,10,397,26 
  href="http://www.nuist.edu.cn/JSJ/syjx/xt.htm"><AREA 
  onclick="MM_showHideLayers('Layer1','','hide','Layer2','','show')" shape=RECT 
  coords=405,10,469,25 href="http://www.nuist.edu.cn/JSJ/syjx/xt/xt2.htm#"><AREA 
  onclick="MM_showHideLayers('Layer1','','show','Layer2','','hide')" shape=RECT 
  coords=476,10,538,26 href="http://www.nuist.edu.cn/JSJ/syjx/xt/xt2.htm#"><AREA 
  shape=RECT coords=549,10,612,26 
  href="http://www.nuist.edu.cn/JSJ/syjx/ckwx.htm"><AREA shape=RECT 
  coords=620,9,684,26 
href="http://www.nuist.edu.cn/JSJ/syjx/zlxz.htm"></MAP></CENTER><!-- InstanceEnd --></BODY></HTML>

⌨️ 快捷键说明

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