当前位置:党团工作 > PTA理论考部分

PTA理论考部分

时间:2025-08-02 22:09:29 浏览次数:

 HW02 1-3 #include <stdio、h>; 就是编译预处理命令。

 (1 分)

 T

  F 1—5 任何一个程序都必须有而且只能有一个main()函数。

 (1 分) T

  F 1—6 C 语言程序就是从源文件得第一条语句开始执行得。

 (1 分)

 T

  F 1-7 C 语言中得所有语句都必须以分号结束。

 (1 分) T

  F 1-10 以下程序段符合 C 语言语法。

 k = 1; int k;

 (1 分) T

  F 1—11 C 程序中定义得变量,代表内存中得一个存储单元。

 (1 分)

 T

  F 1—12 在 C 语言中,单目运算符需要2个操作数。

 (1 分)

 T

  F 1-13 若变量定义为 int fahr; ,则 5(fahr-32)/9 就是符合 C 语言语法得表达式。

 (1分) T

  F 1-14 若变量定义为 double x; ,则 x % 2 就是符合 C 语言语法得表达式. (1 分) T

  F 1—15 若变量定义为 int n; ,当 n 得绝对值大于1时,则表达式 1/n 得值恒为 0. (1 分) T

  F 1—17 若变量定义为 int x, y;

 ,则 x + y = 22 就是符合C语言语法得表达式。

 (1分)

 T

  F 1-18 假设赋值运算符得优先级比算术运算符高,执行以下程序段后,n得值为 10。

 int n;

 n = 10 + 2; (1 分) T

  F

  HW03 1—4 如果变量已经正确定义,则执行以下程序段后, x 得值不变。

 if (x = 20)

 {

 y = 1; }

 else {

 y = 0; }

  (1分)

 T

  F 1-7 执行以下程序段,输入 10 ,输出 10、00 . double x;

 scanf("%d”, &x);

  printf("%、2f", x);

 (1分) T

  F 1—8 执行以下程序段,输入 20 ,输出 20、00 。

 double x;

 scanf(”%f”, &x);

  printf(”%、2f”, x);

 (1 分)

 T

  F 1-9 执行以下程序段,输入 30 ,输出 30、00 . double x;

 scanf(”x=%lf", &x);

  printf(”%、2f", x);

 (1 分)

 T

  F 1-11 执行以下程序段,输入 1001 3 0、025 ,输出 1001#3#0、025 。

 int money, year;

 double rate;

 scanf("%d %lf %d ", &money, &year, &rate);

 printf("%d#%d#%、3f", money, year, rate);

 (1分)

 T

  F 1-14 如果变量已经正确定义,则表达式 fahr ++

 与 fahr + 1 等价. (1 分) T

  F 1-15 for语句得一般形式如下,其中得表达式 1 只执行一次。

 for (表达式 1; 表达式 2; 表达式3)

 循环体语句

 (1分) T

  F 1—16 for 语句得一般形式如下,若表达式 2 得值为―假‖,则结束循环。

 for (表达式1; 表达式 2; 表达式3)

 循环体语句

 (1 分) T

  F 1-18 C程序中,用一对大括号{}括起来得多条语句称为复合语句,复合语句在语法上被认为就是一条语句。

 (1分)

 T

  F 1-19 循环体如包括有一个以上得语句,则必须用一对大括号{}括起来,组成复合语句,复合语句在语法上被认为就是一条语句. (1分)

 T

  F 1-20 在 C 语言中,仅由一个分号(;)构成得语句称为空语句,它什么也不做。

 (1 分)

 T

  F 1-21 执行以下程序段,sum 得值就是55。

 int i, sum; for (i = 1; i <= 10; i++){

  sum = sum + i; }

 (1分)

 T

  F 1-22 以下程序段得功能就是计算 20 得阶乘. int i; double product; product = 0; for (i = 1; i <= 20; i++){

  product = product * i; } (1 分)

 T

  F 1—23 执行以下程序段,sum 得值就是1、5. int i, sum; sum = 0; for (i = 1; i <= 2; i++){

  sum = sum + 1、0/i; } (1 分)

 T

  F 1-24 执行以下程序段,sum得值就是 0、75。

 int i; double sum; sum = 0; for (i = 2; i 〈= 4; i = i + 2){

  sum = sum + 1/i; } (1 分)

 T

  F 2-1 以下程序段( )得功能就是计算序列 1 + 1/2 + 1/3 + 、、、 得前N项之与. (2 分)

 A.

 int i, n, sum; scanf(”%d”, &n); sum = 0; for (i = 1; i 〈= n; i++){

  sum = sum + 1、0/i; } B.

 int i, n; double sum; scanf(”%d”, &n); for (i = 1; i 〈= n; i++){

 sum = sum + 1、0/i; } C.

 int i, n; double sum; scanf("%d”, &n); sum = 0; for (i = 1; i <= n; i++){

 sum = sum + 1、0/i; } D.

 E. int i, n; F. double sum; G. scanf(”%d", &n); H. sum = 0; I. for (i = 1; i <= n; i++){ J.

 sum = sum + 1/i; K. } L.

 M. int i, n; N. double sum; O. scanf("%d", &n); P. sum = 0; Q. for (i = 1, i <= n, i++){ R.

 sum = sum + 1、0/i; S. } 2-2 以下程序段( )得功能就是计算 n 得阶乘,假设计算结果不超过双精度范围。

 (2 分)

 A.

 int i, n; double product; scanf(”%d", &n); product = 0; for (i = 1; i 〈= n; i++){

 product = product * i; } B.

 int i, n, product; scanf(”%d”, &n); product = 1; for (i = 1; i 〈= n; i++){

 product = product * i; } C.

 int i, n; double product; scanf("%d”, &n); for (i = 1; i <= n; i++){

 product = product * i; } D.

 int i, n; double product; scanf("%d", &n); product = 1; for (i = 1; i 〈= n; i++){

 product = product * i; } 4—2 执行以下程序段,并回答下列问题.请注意,直接填数字,前后不要加空格等任何其她字符. int fahr; double celsius;

 for (fahr = 91 ; fahr <= 100; fahr++)

 celsius = 5、0 * (fahr - 32)

 / 9、0;

 /* 语句① */

  printf(”%4d%6、1f\n”, fahr, celsius);

 /* 语句② */ 语句①执行了 (1 分) 次 语句②执行了 (1 分)

 次 循环体语句共执行了 (1 分)

 次 当循环结束时,变量 fahr 得值就是 (1 分)

 HW04 1-1 if—else 语句得一般形式如下,其中得语句1、语句 2 只能就是一条语句. if (表达式)

 语句 1 else

 语句 2

  (1 分) T

  F 1—4 为了检查以下省略else 得 if 语句得分支就是否正确,至少需要设计 3 组测试用例,即 grade 得取值至少有三组(小于、大于、等于60)。

 if(grade 〈 60){ ﻩ

 printf("Fail\n”);

 } (1 分)

 T

  F 1-7 如果变量已经正确定义,则执行以下程序段后, x 得值不变. x = 4;

 if (x 〈 0){

 y = -1; }else if (x = 0){

  y = 0; }else{

 y = 1; }

  (1 分) T

  F 1-8

 为了检查以下嵌套得 if 语句得三个分支就是否正确,至少需要设计 3 组测试用例,即 yournumber 得取值至少有3组(大于、小于、等于 mynumber ). if(yournumber == mynumber){

 printf("Good Guess!\n”); }else if(yournumber > mynumber ){

  printf(”Too big!\n"); }else{

 printf("Too small!\n"); } (1 分)

 T

  F 1—9 为了检查以下 else-if 语句得三个分支就是否正确,至少需要设计5组测试用例,即 x 得取值至少有五组(小于0得数、0、大于0且小于 15 得数、15 与大于 15 得数)。

 if (x < 0){

  y = 0; }else if (x <= 15){

  y = 4 * x / 3; } else{

 y = 2、5 * x - 10、5; }

 (1 分) T

  F 1-10 C 语言中得字符常量指单个字符,用一对单引号及其所括起得字符来表示。

 (1 分)

 T

  F 1—11 C语言中,字符型数据得值就就是其在 ASCII 字符集中得次序值,即 ASCII 码。

 (1分) T

  F 1-12 C 语言中,每个字符型数据在ASCII 字符集中都有一个惟一得次序值,即 ASCII 码。

 (1 分)

 T

  F 1—13 C 语言中,数字字符 "1’ 得值(ASCII 码)就就是数字 1 . (1 分)

 T

 1-14 C 语言中,数字字符 ’0’ , '1" , "2' ,…, ’9"

 得 ASCII码按降序连续排列。

 (1分)

 T

  F 1-15 C 语言中,大写字母 "A" , ’B" , "C’ ,…, "Z" 得 ASCII 码按升序连续排列。

 (1 分) T

  F

 1- - 17

 C语言中,大小写字母 'A" , ’B" , 'C" ,…, "Z" , ’a' , "b" , "c’ ,…, ’z' 得 ASCII 码按升序连续排列。

 (1 分) T

  F 1—18 C 语言中,大写字母 ’M" 得 ASCII 码值比小写字母 'm' 得ASCII 码值大。(1 分) T

  F 1-19 C 语言中,小写字母 ’a’ 得ASCII 码值就是大写字母 "Z" 得 ASCII 码值加 1. (1 分) T

  F 1-20 以下 C 语言表达式得值为―真‖。

 ’D' — 'A' == ’d’ - 'a" (1 分)

 T

  F 1-21 C 语言中不能用 printf 函数输出字符。

 (1 分)

 T

  F 1-22 C 语言中不能用 scanf 函数输入字符。

 (1 分)

 T

  F 1-23 执行语句 putchar(’S"); 后,在屏幕上显示得输出结果就是 'S' 。

 (1 分)

 T

  F 1-24 设变量已正确定义,执行以下程序段, , 顺序输入三个字符 ’Q ' , , 则输出 Q 。

 (1 1 分) )

 T

  F ch = getchar();

 putchar(ch);

 1-25 设变量已正确定义,执行以下程序段,顺序输入三个字符 "k" ,则输出 k 。

 (1 分)

 T

  F scanf(“%c%c%c", &ch1, &ch2, &ch3);

 printf(“%c”, ch2);

 1 1 -2 2 6

 为了检查以下else-if语句得三个分支就是否正确,至少需要设计63组测试用例,即 ch 得取值至少有 63 组(52 个大小写英文字母、10 个数字字符、其她字符). if((ch 〉= 'a' && ch <= ’z' )

 || ( ch 〉= ’A" && ch <= "Z’))

  letter ++; else if(ch 〉= '0" && ch <= ’9’)

  digit ++;

 else

  ﻩ

 other ++; (1 分)

 T

  F 1-27 对于如下得 switch语句(使用 break)得一般形式,其执行流程就是:首先求解表达式,如果表达式得值与某个常量表达式得值相等,则执行该常量表达式后得相应语句段;如果表达式得值与任何一个常量表达式得值都不相等,则执行 default 后得语句段,最后执行 break 语句,跳出 switch 语句。

 switch (表达式) {

  case 常量表达式 1:

 语句段1; break;

  case 常量表达式 2:

 语句段2; break;

  …

  case 常量表达式n: 语句段 n; break;

  default:

  语句段 n+1; break; } (1 分)

 T

  F 1 1— — 28 8

 在s wit ch语句中,每一个得 cas e常量表达式得值可以相同。

 (1分)

 T

  F 1—29 在 switch 语句中,必须使用 default。

 (1 分) T

  F 1—30 设变量已正确定义,以下就是合法得switch 语句. switch(choice){

 case choice == 1:

 price = 3、0; break;

 case choice == 2:

 price = 2、5; break;

  case choice == 3:

 price = 4、0; break;

  case choice == 4: price = 3、5; break;

  default: price = 0、0; break; } (1分)

 T

  F 1-31 对于如下 switch 语句(不使用 break)得一般形式,其执行流程就是:首先求解表达式,如果表达式得值与某个常量表达式得值相等,则执行该常量表达式后得所有语句段,如果表达式得值与任何一个常量表达式得值都不相等,则执行 default 后得所有语句段。

 switch (表达式) {

  case 常量表达式 1:

 语句段 1;

 case 常量表达式2:

 语句段 2;

  …

  case 常量表达式 n: 语句段n;

 default:语句段n+1;

 } (1 分) T

  F 1-32 case 语句后如没有break,顺序向下执行。

 (1 分)

 T

  F 1-33 在switch 语句中,可以根据需要使用或不使用 break 语句。

 (1 分) T

  F 2-1 设变量已正确定义,为了检查以下 else-if语句得分支就是否正确,至少需要设计( )组测试用例. if(op == '+"){

  printf(”=%、2f\n", value1 + value2); }else if(op == '-’){

 printf("=%、2f\n", value1 - value2); }else if(op == '*’){

  printf(”=%、2f\n”, value1 * value2); }else if(op == '/"){

  if(value2 != 0){

  printf("=%、2f\n", value1 / value2);

  }else{

 printf("Divisor can not be 0!\n");

  } }else{

 printf("Unknown operator!\n"); } (2 分)

 A. 7 B. 6 C. 5 D. 4 2-2 设变量已正确定义,以下( )与其它 switch语句不等价. (2 分)

 A.

 switch(choice){

  case 1:

 price = 3、0; break;

  case 2: price = 2、5; break;

 case 3: price = 4、0; break;

 case 4: price = 3、5; break;

 default: price = 0、0; break; } B.

 switch(choice){

  default: price = 0、0; break;

 case 4:

 price = 3、5; break;

 case 3: price = 4、0; break;

 case 2:

 price = 2、5; break;

 case 1: price = 3、0; break;

  } C.

 D. switch(choice){

 E.

 case 1:

 price = 3、0; break;

 F.

 case 2: price = 2、5; break; G.

 case 3:

 price = 4、0; break; H.

 case 4:

 price = 3、5; break; I. } J.

 K. price = 0、0;

 L. switch(choice){

 M.

 case 1:

 price = 3、0; break;

 N.

 case 2:

 price = 2、5; break; O.

 case 3:

 price = 4、0; break; P.

 case 4:

 price = 3、5; break; Q. } 2—3 设变量已正确定义,以下( )与其它 switch 语句不等价. (2分) A.

 switch(op){

  case ’+":

 printf(”%d\n”, value1 + value2); break;

 case ’-': printf("%d\n", value1 - value2); break;

  case ’*’:

 printf(”%d\n", value1 * value2); break;

  default: printf(”Error\n"); break; } B.

 C. switch(op){ D.

  default:

 printf("Error\n"); break; E.

  case "*":

 printf("%d\n", value1 * value2); break; F.

  case "—': printf(”%d\n", value1 - value2); break; G.

  case ’+’:

 printf("%d\n", value1 + value2); break; H. } I.

 if(op != ’+" && op != "—' && op != "*"){

  printf(”Error\n”); }else{

  switch(op){

  case ’+’: printf("%d\n”, value1 + value2); break;

  case '—": printf("%d\n", value1 - value2); break;

  case ’*’:

 printf("%d\n", value1 * value2); break;

  } } J.

 K. switch(op){ L.

  case "+":

 printf("%d\n", value1 + value2); break; M.

  case '-’:

 printf("%d\n", value1 - value2); break; N.

  case '*": printf(”%d\n", value1 * value2); break; O. } 2-5 在嵌套使用 if 语句时,C 语言规定 else总就是(). (2 分)

 A. 与之前与其具有相同缩进位置得 if配对 B. 与之前与其最近得 if 配对 C. 与之前与其最近得且不带else得 if 配对 D. 与之前得第一个if 配对 2—6 下列叙述中正确得就是()。

 (2 分)

 A. break 语句只能用于 switch 语句 B. 在 switch 语句中必须使用 default

 C. break 语句必须与 switch 语句中得 case配对使用 D. 在 switch 语句中,不一定使用 break 语句 2-7 有一函数 y=⎩⎨⎧10−1x〉0x=0x〈0

 ,以下程序段中错误得就是()。

 (2分) A.

 B. if(x > 0) y = 1; C. else if(x == 0)

 y = 0; D. else y = -1; ﻩE.

 F. y = 0; G. if(x > 0)

 y = 1; H. else if(x < 0)

 y = -1; I.

 J. y = 0;

  K. if(x >= 0); ﻩL. if(x 〉 0)

 y = 1; ﻩM. else y = -1;

 ﻩ if(x >= 0) if(x > 0) y = 1; else y = 0; else y = -1; 2-8 下列程序段得输出结果就是()。

 (2 分) int main(void)

 {

 int

 a = 2, b = -1, c = 2;

  if(a < b)

  if(b < 0)

  c = 0;

  else

 c++;

  printf(”%d\n”,c); ﻩ

 return 0; } A. 0 B. 1

 C. 2 D. 3 2-9 下列程序段得输出结果就是 (). (2分)

 int main(void)

 {

  int x = 1, a = 0, b = 0;

  switch(x)

  {

  case 0:

  b++;

  case 1:

  a++;

  case 2:

  a++; b++; ﻩ

 }

  printf("a=%d,b=%d\n",a,b);

  return 0; } A. a a =2 2 , b= 1

 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2 2-10 在执行以下程序时,为使输出结果为:t=4,则给 a 与b输入得值应满足得条件就是(). (2 分) int main(void)

 { ﻩ

 int

 a,b,s,t;

  scanf("%d,%d",&a,&b);

  s = 1; t = 1;

  if(a > 0)

 s = s + 1;

  if(a > b) t = s + t;

  else if(a == b) t = 5;

  else t = 2 * s;

  printf("t=%d\n",t);

  return 0; } A. a>b B. a<b<0 C. 0<a〈b D. 0〉a〉b 3 3- -1 1

 C语言中,以下( )就是合法得字符常量。

 (2 分)

 A. 'A'

 B. "z'

 C. '0’

 D. "$"

 E. "a"

 S S wi tch 后得常量表达式必须为整型或字符型,不能就是 浮点型

 3 3 -2 2

 设变量已正确定义,以下()就是合法得 switch语句. (2 分) A.

 switch(choice){

  case 1:

 price = 3、0; break;

  case 2: price = 2、5; break;

 case 3: price = 4、0; break;

 case 4:

 price = 3、5; break;

 case 1:

 price = 3、0; break;

  default:

 price = 0、0; break; } B.

 switch(choice){

  case 1:

 price = 3、0; break;

  case 2+2:

 price = 3、5; break; } C.

 D. switch(9){

 E.

 case 3: price = 4、0; break; F.

 case 2:

 price = 2、5; break; G. } H.

 I. switch(choice* choice+1){

 J.

 default:

 price = 0、0; break; K.

 case 2:

 price = 2、5; break; L. } 3 3- -3 3

 设变量已正确定义,以下()就是合法得switch 语句。

 (2分)

 A.

 B. switch(op){ C.

  default:

 printf("Error\n"); break; D. } E.

 switch(op){

  case '*':

 printf(”%d\n", value1 * value2); break;

  case "+’:

 printf(”%d\n”, value1 + value2); break;

  case "—": printf(”%d\n”, value1 — value2); break;

  case "*": printf(”%d\n”, value1 * value2); break;

  default:

 printf("Error\n"); break; } F.

 switch('/’){

  case "*":

 printf(”%d\n”, value1 * value2); break;

  case ’—’:

 printf(”%d\n”, value1 - value2); break;

  case '+’:

 printf("%d\n”, value1 + value2); break;

  default: printf("Error\n”); break; } G. 对得!!! switch(op+1){

  default: printf("Error\n”); break;

  case "*":

 printf("%d\n”, value1 * value2); break;

  case "+":

 printf("%d\n", value1 + value2); break; } H.

 switch(op){

  case op == "+’:

 printf("%d\n", value1 + value2); break;

  default: printf(”Error\n”); break; } 可以改成’+’ 或者数字43

  (‘+"对应得 ASCII码)

 ‘+’与43一个样 3-4 设变量已正确定义,选项( )与以下程序段不等价。

 (2 分)

 switch(choice){

 case 1: price = 3、0;

 case 2: price = 2、5;

 default:

 price = 0、0;

 }

 A.

 switch(choice){

  default: price = 0、0;

  case 2:

 price = 2、5;

  case 1:

 price = 3、0;

 } B.

 price = 0、0; switch(choice){

  case 1:

 price = 3、0;

  case 2: price = 2、5;

 } C.

 if(choice == 1){

  price = 3、0; price = 2、5; price = 0、0; }else if(choice == 2){

  price = 2、5; price = 0、0; }else{

  price = 0、0;

 } 3—5 设变量已正确定义,选项( )与以下程序段不等价。

 (2 分)

 switch(op){

 case "+':

 printf("%d”, value1 + value2);

  default: printf("Error");

  case "-": printf("%d", value1 - value2);

 } A.

 B. if(op == ’+"){ C.

  printf("%d", value1 + value2);

 D.

  printf(”Error");

 E. }else if(op != "—"){ F.

  printf(”Error”); G. } H. printf(”%d”, value1 — value2); I.

 if(op == "+"){

  printf("%d”, value1 + value2);

 printf("Error");

  printf("%d", value1 - value2); }else if(op == ’-'){

  printf("%d", value1 - value2); }else {

  printf(”Error");

  printf("%d”, value1 — value2); } J.

 if(op == "+'){

  printf(”%d", value1 + value2);

 }else if(op == ’-’){

  printf(”%d", value1 — value2); }else {

  printf("Error”); } K.

 switch(op){

  case "+':

 printf(”%d”, value1 + value2);

 case ’—": printf("%d”, value1 — value2);

 default: printf(”Error”);

 }

 3-6 设变量已正确定义,选项( )与以下程序段等价。

 (2 分)

 switch (ch){

  case ’—’:

  minus++; break;

 case ’0’ :

 case ’1" : case ’2" : case ’3" : case "4" :

  case '5’ :

 case ’6’ :

 case "7' : case "8’ : case ’9" :

  digit ++;break;

  default:

  other ++; break;

 }

 A.

 B. if(ch == "-’){ C.

  minus++;

 D. }else if(ch 〉= ’5’ && ch 〈= ’9’){ E.

  digit ++; F. }else { G.

  other ++; H. } I.

 switch (ch){

 default:

 other ++; break;

 case "-":

 minus++; break;

  case "0’ :

 case ’1’ :

 case ’2’ :

 case ’3’ :

 case '4" :

 case ’5" : case ’6’ :

 case '7' :

 case '8’ :

 case "9' :

 digit ++;break; }

  J.

 K. if(ch == '-"){ minus++;

 }else if(ch >= "0’ && ch <= "9’){

  digit ++; }else {

  other ++; } L.

 switch (ch){

 case ’0’ :

 case '1’ :

 case '2" : case ’3" : case '4" :

 case ’-":

  minus++; break;

  case "5’ :

 case "6" :

 case '7’ :

 case "8' :

 case '9" :

  digit ++;break;

 default:

  other ++; break;

 }

 3-7 设变量已正确定义,选项( )与以下程序段不等价。

 (2 分) if (x < 2){

 if (x < 1)

 y = x + 1;

 }else

 y = x + 2; A.

 B. if(x >= 2) C.

 y = x + 2; D. else if (x < 1)

 E.

 y = x + 1;

 F.

 G. if (x < 2) H.

 if (x < 1)

 y = x + 1;

 I. else

 y = x + 2; J.

 K. if (x < 2)

 { L.

 if (x < 1){

 M.

 y = x + 1;

 N.

 }else{

  O.

 y = x + 2; P.

  } Q. } R.

 if (x < 2)

 if (x 〈 1)

  y = x + 1;

  else; else

 y = x + 2; 3—9 设变量已正确定义,以下()就是合法得 C 语句。

 (2 分) A.

 B. if ( n <= 10 );

 C.

 D. switch ( k )

 { E.

 case 1:

 printf("one”); break; F.

 case 2:

 printf(”two”); break; G.

 case 1:

 printf(”one"); break; H.

 default: printf("zero”); break; I. } J.

 K. switch ( k%2 ) { L.

 default:

 printf("zero”); break; M.

 case 1: printf("one"); N.

 case 1+1: printf("two");

 O. } P.

 n = 10; switch ( k )

 {

 case n%3: printf("one");

 case n%4:

 printf(”two”);

  default:

 printf("zero");

 } n n %3 3 不能在常量表达式区域出现

 3-10 判断ch 就是数字字符得 C 语言表达式就是( )

 。

 (2分)

 A.

 B. "0’ <= ch <= '9’

 C.

 D. ch >= ’0' && ch <= "9" E.

 F. ch 〉= "1" && ch <= ’10" ﻩG.

 H. ! (ch 〈 "0" || ch 〉 '9")

 3-11 设变量已正确定义,以下程序段( ) 得功能就是交换变量 x 与 y 得值。

 (2分)

 A.

 B. temp = x; x = y; y =temp; C.

 D. x = y; y = x; E.

 F. y = x; x = y; G.

 x = x + y; y = x — y; x = x – y; 4-3 写出以下程序段得运行结果。请注意,直接填单词、字符或者两者得组合,前后不要加空格等任何其她字符。

 double grade;

 scanf (”%lf", &grade);

 if(grade < 60); { ﻩ

 printf("Fail”);

 } printf(”?”);

 输入 50 ,输出(1 分) 输入 60 ,输出(1 分)

 输入 90 ,输出(1 分) 4-5 写出以下程序段得运行结果。请注意,直接填单词,前后不要加空格等任何其她字符。

 mynumber = 38; scanf ("%d", &yournumber);

 if(yournumber == mynumber){

 printf("Right”); } if(yournumber 〉 mynumber ){

  printf("Big"); }else{

 printf("Small”); } 输入 20 ,输出(1 分)入输ﻫ 50 ,输出(1 分)入输ﻫ 38 ,输出(1 分)

 4—6 C 语言中,数字字符 "1' 得值(ASCII 码)就就是数字字符 "0' 得值加(1分) 。

 请注意,直接填数字,前后不要加空格等任何其她字符. 4—7 C 语言中,小写字母 "z' 得值(ASCII码)就就是小写字母 'a’ 得值加(1分) 。

 请注意,直接填数字,前后不要加空格等任何其她字符。

 4—8

 C语言中,大写字母 ’D' 得值(ASCII码)就就是大写字母 'A' 得值加(1 分) . 请注意,直接填数字,前后不要加空格等任何其她字符。

 4-9 写出以下程序段得运行结果。请注意,直接填数字,前后不要加空格等任何其它字符。

 int choice; double price; scanf("%d", &choice); switch(choice){

 case 1:

 price = 3、0; break;

 case 2: price = 2、5; break;

  case 3:

 price = 4、0; break;

  case 4: price = 3、5; break;

  default:

 price = 0、0; break; } printf(”%0、1f", price);

  /0 表示宽度为 0 ,若超出则按照实际宽度/ 输入 1 ,输出(1 分)

 输入 2 ,输出(1 分)

 输入 3 ,输出(1分)

 输入 4 ,输出(1 分) 输入 10 ,输出(1分) 4—11 写出以下程序段得运行结果。请注意,直接填数字,前后不要加空格等任何其她字符. int choice; double price; scanf("%d", &choice); switch(choice){

 case 1:

 price = 3、0;

 case 2:

 price = 2、5;

 default:

 price = 0、0;

 } printf("%0、1f”, price);

 输入 1 ,输出 (1 分)

 输入 3 ,输出 (1 分)

 输入 10 ,输出 (1分) 4 4- - 12 2

 写出以下程序段得运行结果。请注意,直接填数字、单词或者两者得组合,前后不要加空格等任何其她字符. char op; int value1, value2; scanf(”%d%c%d", &value1, &op, &value2);

 switch(op){

 case '+’: printf("%d", value1 + value2);

  default:

 printf(”Error”);

  case '-’: printf("%d", value1 - value2);

 } 输入 11+1 ,输出(1 分)

  12Error10入输ﻫ 14-5 ,输出(1 分)

 输入 10$100 ,输出(1 分)

  Error—90 b b r eak 就是大坑!

 4-14 写出以下程序段得运行结果.请注意,直接填数字,前后不要加空格等任何其她字符。

 char ch; int digit, i,

 minus, other;

 digit = minus = other = 0; for(i = 1; i <= 5; i++){

  ch = getchar();

 switch (ch){

  case '0’ :

 case '1’ :

 case ’2' :

 case ’3' :

 case ’4" :

  case ’-’:

 ;kaerb ;++sunimﻩ

 case "5’ :

 case "6" : case "7" :

 case "8’ : case '9" :

  digit ++;break;

  default:

 ;kaerb ;++ rehtoﻩ

 }

 } 输入 R-e-d ,digit 得值就是(1分),minus得值就是(1 分) ,other 得值就是(1分)

 输入 1+4-5 ,digit 得值就是(1 分),minus 得值就是(1分),other 得值就是(1 分)

 输入 167or ,digit得值就是(1分) ,minus得值就是(1 分)

 ,other 得值就是(1分)

 4—15 对于如下嵌套得 if – else 语句,在空格中填上 True 或者 False 。请注意,直接填单词(区分大小写),前后不要加空格等任何其她字符。

 if(表达式 1)

  if(表达式2)语句 1;

 else

 if(表达式 3)语句 2;

  else

 语句 3;

  当 表达式 1 为(1 分)

 且 表达式 2 为(1 分)

 时,执行 语句 1 ; 当 表达式 1 为(1 分)

 且 表达式 2 为 (1 分) 且 表达式 3 为(1 分) 时,执行 语句2 ; 当 表达式 1 为(1 分)

 且 表达式 2 为(1分)

 且 表达式3 为(1 分)

 时,执行 语句 3 . 4-16

 写出以下程序段 A 与程序段 B 得运行结果。请注意,直接填字母、单词或者两者得组合,前后不要加空格等任何其她字符。

 /* 程序段 A */ for( i = 1; i < 7; i++){

  scanf("%d", &score);

  score = score/10;

  switch(score) {

  case 10:

 case 9: case 8: case 7: case 6:

 grade = "P"; break; ﻩ

 default:

 grade = ’F’; break;

  }

  putchar(grade); } printf("Thanks"); 输入 100 90 50 82 72 69 , 输出(1 分) /* 程序段 B */ for( i = 1; i 〈 7; i++){

  scanf(”%d", &score);

  score = score/10;

  switch(score)

 {

  case 10: case 9:

 case 8: case 7: case 6:

  grade = "P'; break;

  default:

  grade = "F"; break;

  putchar(grade);

  } } printf(”Thanks”); 输入 100 90 50 82 72 69 , 输出(1分) . 4 4 - 17

 写出以下程序段 A 与程序段B得运行结果。请注意,直接填字母,前后不要加空格等任何其她字符。

 /* 程序段 A */ char grade; int i, score; for( i = 1; i < 6; i++){

  scanf("%d", &score);

  score = score/10;

  switch(score)

 {

  case 10:

 case 9:

 case 8:

 grade = ’A’; break;

  case 7: grade = 'P’; break;

  default:

 grade = 'F"; break;

  }

  putchar(grade); } 输入 100 90 82 72 69 , 输出(1 分)

  AAAPF /* 程序段B */ char grade; int i, score; for( i = 1; i 〈 6; i++){

  scanf(”%d”, &score);

  score = score/10;

  switch(score)

 {

  case 10:

 case 9:

 default: grade = 'F’; break;

  case 8:

 grade = "A"; break;

  case 7:

 grade = ’P’; break;

  }

  putchar(grade); } 输入 100 90 82 72 69 , 输出输出(1分)

 FFAPF 1 1 0

 、 9 与都不就是时输出 F

  4—18 写出以下程序段 A、B、C 得运行结果.请注意,直接填单词,前后不要加空格等任何其她字符。

 /* 程序段 A */

 char gameover;

 int player;

  ;)(rahcteg = revoemagﻩ

 ;)reyalp& ,"d%”(fnacsﻩ

 ) "N’ == revoemag ( fiﻩ

 ;)"nrut yM"(ftnirp ) 1 == reyalp ( fiﻩ

 ;)"nrut ruoY"(ftnirp esleﻩ else

  ;)”REVO EMAG"(ftnirpﻩ输入 N1 ,输出(1 分)

 输入 N2 ,输出(1 分)入输ﻫ Y1 ,输出(1分) /* 程序段B */

  ;revoemag rahcﻩ

  int player;

 gameover = getchar();

 scanf("%d", &player);

 if ( gameover == "N' ) {

 ﻩ

  ;)”nrut yM”(ftnirp

 )

 1 == reyalp ( fiﻩ }

 esleﻩ

 printf(”GAME OVER”); 输入 N1 ,输出(1 分)

 输入 Y1 ,输出(1 分)

 /* 程序段C */

 char gameover;

 int player;

 gameover = getchar();

  ;)reyalp& ,"d%"(fnacsﻩ

  )

 "N" == revoemag ( fiﻩ ﻩ if ( player == 1 )

 printf(”My turn");

 esleﻩ ﻩ printf(”GAME OVER”); 输入 N1 ,输出(1 分)

 输入 N2 ,输出(1 分) 4—19 写出以下程序段得运行结果。请注意,直接填数字,前后不要加空格等任何其她字符。

  int

 a;

  scanf("%d”, &a);

  if(a 〉 50)

 printf(”%d”, a);

  if(a > 40)

 printf("%d", a);

  if(a 〉 30)

 printf(”%d”, a); ﻩ输入 32 ,输出(1分) 输入 46 ,输出(1 分)

 输入 58 ,输出(1 分)

 4 4— — 20 0

 以下程序段得运行结果就是(1 分).请注意,直接填数字,前后不要加空格等任何其她字符。

 char c = ’b’;

 int k = 4; switch(c){

  case "a': k = k + 1; break;

  case ’b’:

 k = k + 2;

  case "c’: k = k + 3; ﻩ} printf(”%d",k); ﻩ9

 br r eak

 就是大坑!! ! !

 4-21 写出执行以下程序段后变量得值。请注意,直接填数字,前后不要加空格等任何其她字符。

 int x, y; scanf("%d", &x); if (x > 0){

 y = 1; }else if (x = 0){

  y = 0; }else{

 y = -1; }

 输入 10 , x 得值就是(1 分)

 若输入 —10 ,x 得值就是(1 分)

 4-22

 以下程序段得运行结果就是(1 分) .请注意,直接填单词,前后不要加空格等任何其她字符。

 int k = 16; switch ( k%3 ) {

  case 0:

 printf("zero");

 case 1: printf(”one");

 case 2: printf("two”); } o o ne t wo

 4 4 -23 3

 写出以下程序段得运行结果。请注意,直接填数字、单词或者两者得组合,前后不要加空格等任何其她字符. if(op == ’+’){

  printf("%d", value1 + value2); } if(op == '—'){

 printf("%d”, value1 - value2); }else{

  printf("Error”); } 输入 8—5 ,则输出(1 分) 输入 3+4 ,则输出(1 分)

 7 Erro r 5—1 执行以下程序段,输入 3 ,输出 (3) 。

 char ch; (2 分)

 putchar("(");

 (2分)

 putchar(")’); 5-2 输入一个正整数 n ,再输入 n 个字符,将这些字符输出,输出时在字符之间加一个空格,最后一个字符得后面没有空格。

 输入格式:

 在第 1 行输入一个正整数 n

 在第 2 行输入 n 个字符 输出格式:

 在一行内输出 n 个字符,请注意:字符之间有一个空格,最后一个字符得后面没有空格。

 输入样例: 5 Happy 输出样例:

 H a p p y # include <stdio、h> int main()

 {

  char ch;

 ;n ,k ,1 = tsrif tniﻩ scanf("%d\n", &n);

 for(k = 1; k <= n; k++){

  (2 分)

 {) )分 2( == tsrif ( fiﻩ

  ﻩ

  ;)hc(rahctupﻩ ﻩ

 (2 分)

 } ﻩ

  {esleﻩ

 (2 分)

 putchar(ch);

 } ﻩ ﻩ }

  return 0; } 5— —3 3

 写出满足下列条件得 C 表达式。

 ch 就是空格或者回车。

 (2 分)

 编译错误 ② number 就是偶数。

 (2 分)

 ③ year

 就是闰年,即 year

 能被 4 整除但不能被 100 整除,或 year

 能被 400 整除。

 (2分)

 ⑤ -1< x ≤1 (2 分) 5-5 写出满足下列条件得 C 表达式。

 ① ch 就是大写英文字母。

 (2 分)

 ② ch 不就是小写英文字母。

 (2分) ③ ch 就是数字字符。

 (2分)

 ④ ch 就是英文字母。

 (2 分) 5-11 写出与以下 switch 语句等价得else—if 语句。

 switch (ch){

  case ’0" :

 case ’1' :

 case ’2' : case ’3' : case ’4" :

  case ’—’:

 minus++; break;

 case '5’ : case "6' : case ’7’ :

 case "8' :

 case "9' :

 digit ++;break;

  default:

  other ++; break;

 }

 if(1 分)

 {

  minus++;

 }else if(1分) {

  digit ++; }else {

  (1 分)

 }

 & & 得 优先级大于|| |

 !

 》

 单目》双目》关系得小于,小于等于》 == 或不等于》逻辑中得&& & 》逻辑中得|| | 》条件》赋值》逗号

 5-13 写出满足条件 10<x<100 或者 x<0 得得 C 表达式。

 (2分) && 高于||

 内部括号不用

 5-14 在一个三角形中,任意两边之与大于第三边.如果变量 a 、 b 、 c 代表三角形得三条边,以下就是表示 a 、 b 、 c 能构成一个三角形得 C 表达式。

 (2 分)

 5 5— — 15 5

 输入 3 个整数,输出其中最大得数。

 #include <stdio、h> int main() {

  int a, b, c, max;

  scanf(”%d %d %d”, &a, &b, &c);

  max = 0;

  if ( a > b )

 {

  if ( a > c )

 {

  (1 分)

  } else {

  (1 分)

  }

  } else {

  if (1分)

 {

  max = b;

  } else {

  (1 分)

  }

  }

  printf("%d\n”, max);

  return 0; } 两个分号!!!!

 5 5 - 16

 输入年,输出该年每个月得天数。其中 1、3、5、7、8、10、12 月有 31 天,4、6、9、11 月有 30天,2 月平年有 28 天,闰年有 29天。判断闰年得条件就是:能被 4 整除但不能被 100 整除,或者能被 400 整除。

 #include <stdio、h〉

 int main()

 {

  int day, month, year;

  scanf("%d", &year);

  for(month = 1; month <= 12; month++){

  switch (month)(1 分){

  :2 esacﻩ

 if(year%4=0&&year%100!=0||year%400=0)(1 分)

 {

 day = 29;

 }else{

  day=28(1分)

 }

 break;(1分)

  case 1: case 3: case 5: case 7: case 8: case 10: case 12:(1分)

 day = 31; break;

  case 4: case 6: case 9: case 11:(1 分)

 day = 30; break;

  }

  printf(”%d ”, day)

 ;

  }

  return 0; } 一个 分号

 赋值与等于==

  不分!!!

 5-17 输入一个正整数 n,再输入n个整数,输出其中得偶数。要求相邻数字中间用一个空格分开,行末不得有多余空格。

 # include <stdio、h〉 int main()

 {

  char ch;

  int first, k, n, x;

 scanf("%d”, &n);

  (1 分)

  for(k = 1; k <= n; k++){

  scanf("%d", &x);

 if (1分){

  if ( first == 1 ){

 printf("%d", x);

 (1 分)

  }else{

 (1分)

  }

  }

  }

  return 0; } printf(―

 %d‖,x); HW05 1-2 2

 while 语句得一般形式如下,其中得循环体语句只能就是一条语句。

 while (表达式)

  循环体语句 (1 分) T

  F 复合语句在语法上认为就是一条语句

 1-3 若变量已正确定义,以下 while 循环结束时,i 得值为 11。

 i = 1; while (i 〈= 10){

  printf(”%d\n”, i); } (1分)

 T

  F 1- -4 4

 若变量已正确定义,执行以下 while 语句将陷入死循环。

 i = 1; while (i <= 10)

 ;

  i++; (1 分) T

  F 分号 在哪里呀分号在哪里 ?

 1—5 如果for 得循环体语句中没有使用 continue 语句,则以下 for语句与 while 语句等价.

 for (表达式 1; 表达式2; 表达式 3)

 for 得循环体语句

 表达式1; while (表达式2)

 {

  for 得循环体语句;

  表达式3; } (1 分) T

  F whl il e与 f f or r 得互换

 1—7 若变量已正确定义,执行以下程序段,输入0或者负数时,循环结束。

 total = 0; scanf (”%d", &score); while(score 〉 0){

 total = total + score;

 scanf ("%d”, &score);

 } (1 分)

 T

  F 1-8 do — while 语句得一般形式如下,第一次进入循环时,首先执行循环体语句,然后再检查循环控制条件,即计算表达式,若值为―真‖,继续循环,直到表达式得值为―假",循环结束,执行do - while 得下一条语句。

 do{

  循环体语句 }while(表达式); (1分)

 T

  F 1-9 do - while语句得一般形式如下,其中得循环体语句至少执行一次。

 do{

  循环体语句 }while(表达式); (1 分) T

  F 1-10 while 语句与 do — while 语句得一般形式分别如下,其主要区别就是:while 语句先判断循环条件,只有条件满足才进入循环,如果一开始条件就不满足,则循环一次都不执行。而 do

 - while 语句先执行循环体,后判断循环条件,所以无论循环条件得值如何,至少会执行一次循环体。

 while (表达式)

 循环体语句; do{

  循环体语句 }while(表达式); (1分)

 T

  F 注意分号

 1—12 do-while 循环至少要执行一次循环语句. (1 分) T

  F 2—2 若变量已正确定义,对以下 while 循环结束条件得准确描述就是( )。

 (2 分)

 flag = 1; denominator = 1; item = 1、0; pi = 0;

 while(fabs(item)

 > 0、0001){

 item = flag * 1、0 / denominator;

 pi = pi + item;

 flag = —flag;

  denominator = denominator + 2;

 } A. item得绝对值不大于0、0001 B. item 得绝对值不小于 0、0001 C. item得绝对值等于 0、0001 D. item 得绝对值不等于 0、0001 2-4 若变量已正确定义,以下while 循环正常结束时,累加到 pi 得最后一项 item 得值满足( ). (2分)

 flag = 1;

 denominator = 1; item = 1、0; pi = 0;

 while(fabs(item)

 >= 0、0001){

 pi = pi + item;

 flag = —flag;

  denominator = denominator + 2;

 item = flag * 1、0 / denominator;

 } A. item得绝对值小于 0、0001 B. item 得绝对值大于 0、0001 C. item 得绝对值大于等于0、0001 D. item得绝对值小于等于0、0001 差别就就是先算出 item 再判断, , 加上

 O Or r 算出,加上, , 在判断

 加上与算出得顺序颠倒了 3-1 1

 以下程序段( )得功能就是:输入一批整数,用负数作为输入得结束标志,统计其中大于85 得数据个数。

 (2 分)

 A.

 int count = 0, score;

  scanf ("%d", &score);

  while(score >= 0){

 if(score 〉 85){

  count++;

 }

  scanf ("%d", &score);

 } printf("%d\n", count); B.

 int count = 0, score;

  scanf ("%d", &score);

  while(score >= 0){

  scanf ("%d”, &score);

  if(score 〉 85){

 count++;

  }

  } printf(”%d\n”, count); C.

 int count = 0, score;

  while(score >= 0){

  scanf (”%d”, &score);

  if(score > 85){

 count++;

  }

  } printf("%d\n”, count); D.

 int count = 0, score;

  while(1){

  scanf (”%d”, &score);

  if(score < 0) break;

 if(score > 85){

 count++;

  }

  } printf("%d\n”, count); A D 4— — 1

 若变量已正确定义,执行以下程序段,并回答下列问题。请注意,直接填数字,前后不要加空格等任何其她字符。

 i = 1; while (i<= 10)

  i++;

  /* 语句① */

  printf(”%d\n", i);

  /* 语句② */ 语句①执行了(1分) 次 语句②执行了(1 分) 次

 1 次 分号就是

 循环体语句共执行了(1 分)

 次 当循环结束时,变量 i 得值就是(1 分) 4-2 若变量已正确定义,写出以下程序段得运行结果。请注意,直接填数值,前后不要加空格等任何其她字符。

 scanf ("%lf", &eps); i = 0;

  flag = 1;

 denominator = 1;

 item = 1、0;

 s = 0;

  while(fabs(item) 〉= eps){

 item = flag * 1、0 / denominator;

 s = s + item;

  i++;

  flag = -flag;

 denominator = denominator + 2;

  } printf ("%、2f\n”, s); 输入 2 ,输出(1 分)

 , i 得值就是(1 分)

 输入 1 ,输出(1 分)

 , i 得值就是(1 分) 输入 0、2 ,输出(1 分)

 , i 得值就是(1分) 0 0 、66 66 666 6 6……就是四舍五入成 0 0 、 67

 4-3 若变量已正确定义,写出以下程序段得运行结果.请注意,直接填数字,前后不要加空格等任何其她字符。

 scanf ("%lf”, &eps); i = 1;

  flag = 1;

 denominator = 1;

 item = 1、0;

 s = 0;

  while(fabs(item) >= eps){

 s = s + item;

  i++;

  flag = —flag;

 denominator = denominator + 2;

  item = flag * 1、0 / denominator;

 } s = s + item; printf (”%、2f\n”, s); 输入 2 ,输出(1 分)

 , i 得值就是(1 分)

 输入 1 ,输出(1 分), i 得值就是(1 分) 输入 0、2 ,输出(1 分), i 得值就是(1 分)

 4—5 若变量已正确定义,写出以下程序段得运行结果。

 scanf ("%d", &k);

  while(k > 0){

 printf("%d#”, k);

  scanf ("%d", &k);

 } 输入 1 2 3 0 -1 ,输出(1 分) 输入 1 0 2 3 -1 ,输出(1 分)

 输入 1 2 3 -1 9 0 ,输出(1分) 4-6 若变量已正确定义,写出以下程序段得运行结果。

 scanf ("%d”, &k);

  while(k >= 0){

 scanf ("%d”, &k);

 printf("%d#", k);

  } 输入 1 2 3 0 —1 ,输出(1 分)

 输入 1 0 2 3 —1 ,输出(1 分)

 输入 1 2 3 -1 9 ,输出 (1 分) 4-7 若变量已正确定义,写出执行以下程序段后变量得值.请注意,直接填数字,前后不要加空格等任何其她字符。

 /* 程序段 A */ count = 0; scanf ("%d”, &number); t_number = number; if(t_number < 0)

 {

  t_number = -t_number;

 }

 do{

 ﻩ

 count++;

  t_number = t_number / 10; }while(t_number != 0); 执行程序段 A,输入 -1003

 count得值就是(1分)

 number 得值就是(1 分) t_number 得值就是(1 分)

 4-8 若变量已正确定义,写出执行以下程序段后变量得值.请注意,直接填数字,前后不要加空格等任何其她字符。

 /* 程序段 A */ count = 0; scanf (”%d", &number); t_number = number; if(t_number < 0)

 {

  t_number = —t_number;

 }

 do{

 count++;

  t_number = t_number / 10; }while(t_number != 0); 执行程序段 A,输入 0 ,count 得值就是(1 分) /* 程序段 B */ count = 0; scanf (”%d”, &number); t_number = number; if(t_number < 0)

 {

  t_number = -t_number;

 }

 while(t_number != 0){

  count++;

  t_number = t_number / 10; }; 执行程序段 B,输入 0 ,count 得值就是(1分) 4—9 若变量已正确定义,写出以下程序段得运行结果。

 count = 0; s = 0; new_number = 0; scanf ("%d”, &number); t_number = number; if(t_number 〈 0)

 {

  t_number = -t_number;

 }

 do{

 digit = t_number % 10;

 s = s + digit;

  new_number = new_number * 10 + digit;

  count++;

  printf("%d#%d#%d#%d\n", count, digit, s, new_number);

  t_number = t_number / 10; }while(t_number != 0); 输入 907

 第 1 行输出(1 分) 第2行输出(1 分) 第3行输出(1 分) 4-10

 若变量已正确定义,写出执行以下程序段后变量得值。请注意,直接填数字,前后不要加空格等任何其她字符。

 s = 0; scanf ("%d", &number); t_number = number; if(t_number < 0) {

  t_number = -t_number;

 }

 do{

 t_number = t_number / 10;

  digit = t_number % 10;

 s = s + digit; }while(t_number != 0); 输入 259 ,s 得值就是(1 分)

 输入 9 ,s得值就是(1分)

 5-2 请写出与以下 for 语句等价得while 语句. for (fahr = lower; fahr〈= upper; fahr++){

 celsius = (5、0 / 9、0)

 * (fahr - 32);

 printf("%4d%6、1f\n", fahr, celsius); }

  (2分)

 while (fahr<= upper){

 (2 分)

  printf("%4d%6、1f\n", fahr, celsius);

  (2 分) }

 5—3 请将程序段 B 补充完整,使其与程序段A等价. /* 程序段A */ flag = 1; denominator = 1;

 item = 1、0;

 pi = 0;

 while(fabs(item) 〉= 0、0001){

  item = flag * 1、0 / denominator;

 pi = pi + item;

  flag = -flag;

 denominator = denominator + 2; } pi = pi * 4;

 /* 程序段 B */ flag = 1;

 denominator = 1; item = 1、0;

 pi = 0; while(fabs(item)

 >= 0、0001){

  (2 分)

  flag = —flag;

 denominator = denominator + 2;

  (2 分)

 } (2 分)

 pi = pi * 4;

 不满足,额外再加上一次

 A 得 item在前面,算了直接加,在判断

 B 得item先判断,再决定就是否加上 最后一个没加,循环结束后应该加上 HW06 1-1 以下两个程序段等价,其功能就是计算 s =1+2+、、、+10 。

 /* 程序段A*/ s = 0; i = 1; while(i 〈= 10){

  s = s + i;

  i++; } /* 程序段 B */ s = 0; i = 1; while(1){

  if(i > 10){

  break;

  }

  s = s + i;

  i++; } (1 分)

 T

  F 1—2 以下程序段中,当 i 大于 10 或者 s 大于 20 时,循环结束。

 s = 0;

 i = 1; while(i <= 10){

  s = s + i;

  if(s > 20){

  break;

  }

  i++; } (1 分)

 T

  F 1-3 在循环中使用 break 语句或者 continue 语句,其作用就是相同得. (1 分) T

  F 1-4 continue 不就是结束本次循环,而就是终止整个循环得执行。

 (1 分) T

  F 作者: 王从银 单位:

 吉首大学 1—5 continue 只能用于循环体中. (1 分) T

  F 作者:

 王从银 单位: 吉首大学 1—6 执行以下while 语句,将出现死循环。

 s = 0; i = 1; while(1){

  if(i > 10){

  continue;

  }

  s = s + i;

  i++; } (1 分)

 T

  F 1-7 以下两个程序段等价,其功能就是计算 s=1+3+5+7+9 。

 /* 程序段 A*/

 s = 0; i = 0; while(i < 10){

  i++;

  if(i % 2 == 0){

  continue;

  }

  s = s + i; } /* 程序段 B */ s = 0; i = 0; while(i < 10){

  i++;

  if(i % 2 != 0){

 s = s + i;

  } } (1 分) T

  F 1-8 以下两个程序段不等价,执行程序段 B 将陷入死循环。

 /* 程序段 A*/ s = 0; for(i = 1; i <= 10; i++) {

  if(i % 2 == 0){

  continue;

  }

  s = s + i; } /* 程序段 B */ s = 0; i = 1; while(i 〈= 10){

  if(i % 2 == 0){

  continue;

  }

  s = s + i;

  i++; } (1分)

 T

  F

 1-9 在以下程序段中,若变量已正确赋值,当条件 i 〈= limit 不满足(即 i 〉 limit )或者条件 m % i == 0 满足时,循环结束。

 int i, limit, m; for(i = 2; i <= limi...

相关热词搜索: 理论 PTA