您的位置:自考365 > 复习指导 > 笔记串讲 > 工学 > 自考“高级语言程序设计”习题答案详解(7)

自考“高级语言程序设计”习题答案详解(7)

2007-09-04 09:35   【 】【我要纠错

  8.下面的程序段所表示的数学函数关系是( )

  y=-l;

  if( x!= 0)if(x>0)y=l; else y=0 ;

  1(x<0) 1(x<0)

  ① y= { 0(x= 0) ② y={-l(X=0)

  1(X>0) 0(X>0)

  o(X< 0) -l(X< 0)

  ③ y= {-1(x= 0) ④ y={ 1(X= 0)

  1(X> 0) 0(X> 0)

  「解」程序段首先置变量y的值为一l,接着按变量x值的不同情况重置变量y的值。重置的首要条件是x!=0,若变量x的值为0,则不再重置变量y的值,所以在X值为0情况下,y的值是-l.在变量X的值不等于0的条件下,若X的值大于0,重置变量y的值为1;若变量X的值小于0,重置变量y的值为0.所以程序段实现当变量x的值为0时,变量y的值为-1;当变量X的值大于0时,置变量y的值为1;当变量X的值小于0时,置变量y的值为0.正确解答为③。

  9.下列语句中,句法错误的是(不考虑语义)( )

  ① while(x=y)5 ; ② do x++ while(x==10) ;

  ③while(0); ④do 2;while(a==b);

  「解」 while语句的一般形式是:

  while(表达式) 语句

  这里的表达式可以是任何合理的表达式,语句可以是任何语句,包括空语句,或表达式语句。可能书写的while语句没有任何意义,如供选择的①while(x=y)5;和③while(0);,但这两个语句的句法没有任何错误。do-While语句的一般形式是:

  do语句while(表达式);

  其中的成分语句也可以是任何语句,但供选择答案②do x++while(x==10) ;中的代码x++是一个表达式,不是语句,所以是错误的。正确解答是②。

  10,循环语句“for(x=0, y=0;(y!=123)||( x<4);x++);”的循环执行( )

  ①无限次 ②不确定次 ③4次 ④3次

  「解」for循环语句的初始化部分置变量x和y的初值为0,循环条件是(y!=123)||(x<4),每次循环后变量X的值增1.由于循环过程中变量y的值本被修改过,循环条件又是一个逻辑或,其左分量(y!=123)永远成立,也就是循环条件永远成立。所以该循环语句将循环执行无限次。正确解答是①。

  11.若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是( )

  for( i=5; i; i——)

  for(j= 0; j<4;j++){……}

  ①20 ② 24 ③ 25 ④ 30

  「解」问题所给的程序段的外循环是一个阶循环语句,它的初始化部分置变量i的初值为5,循环条件简写成i,即i!=0,每次循环后变量i的值减1.所以外循环共控制5次循环。内循环也是一个for循环语句,它的初始化部分置变量j的初值为0,循环条件是j<4,每次循环后变量j的值增1.所以内循环共控制4次循环。这样,如内循环的体内未曾对变量i和j有修改,在内、外循环一起控制下,内循环的体共被重复执行20次。正确解答是①。

  12.假定a和b为int型变量,则执行以下语句后b的值为( )

  a=1; b=10;

  do b-=a; a++;

  }while<(b——<0);

  ①9 ②-2 ③-1 ④8

  「解」在这个程序段中,循环开始前变量a的值为1,b的值为10,每次循环从变量b减去a,并让a增1,并在循环条件判定时,又让b减去1.第一次循环后,变量b的值变成9,变量a的值变为2,循环判断时,因b的值大于0,循环条件不成立,结束循环。但在循环判断时,让b减去了1,所以循环结束时,变量b的值为8.正确的解答是④。

本文转载链接:自考“高级语言程序设计”习题答案详解(7)

分享到:
  • 站内搜索
  • 课程搜索
  • 试题搜索

热门搜索:教材 报名 查分 免考 考试计划