重庆自考网 > 复习指导 > 自考“高级语言程序设计”经典习题及答案(6)
2014
10-15

自考“高级语言程序设计”经典习题及答案(6)

自考“高级语言程序设计”经典习题及答案(6)

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.正确的解答是④。

  “解”语句序列“x=l;y=0;z=2; y++&&++z||++x;”先使变量x的值为 1,变量y的值为0,变量Z的值为2.由逻辑与和逻辑或构成的逻辑表达式的特别计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑子表达式的结果时,就立即结束逻辑子表达式的计算,不再计算该逻辑子表达式。计算y++因y的值为0,使y++&&++z的结果为0,立即去计算++X,这次计算使变量y的值变成1,而变量Z的值本改变。接着计算++X,使X的值变为2.所以经上述语句执行后,X、y、Z的值依次为2、1、Z. 确解答为④。

  7.假定所有变量均已正确定义,下列程序段运行后X的值是( )

  a=b=c=0; x=35;

  if(!a)x——; else if(b);if(c)x=3;else x=4;

  ①34 ② 4 ③ 35 ④ 3

  “解”以变量 a,b,c的值均为 0,变量x的值为 35,语句:

  if(!a)x——;else if(b);if(c)x=3;else x=4;

  由两个证语句组成。首先执行前一个if语句“if(!a)x——;else if(b);”,因变量a的值为0,条件!a成立,执行x——使x的值变为34.接着执行后继的if语句“if(c)x=3; else X=4;”,因变量c的值为0,条件不成立而执行X=4,最终使变量X的值为4.正确解答是②。

  注意前一个if语句的else部分的成分语句只有“if(b);”,这是一个单分支if语句,且其成分语句为空语句。

最后编辑:
作者:重庆自考