PTA理论考部分(共86页)_第1页
PTA理论考部分(共86页)_第2页
PTA理论考部分(共86页)_第3页
PTA理论考部分(共86页)_第4页
PTA理论考部分(共86页)_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HW021-3#include ;是编译预处理命令。(1分)T F1-5任何一个程序都必须有而且只能有一个main()函数。(1分)T F1-6C语言程序是从源文件的第一条语句开始执行的。(1分)T F1-7C语言中的所有语句都必须以分号结束。(1分)T F1-10以下程序段符合C语言语法。k = 1;int k; (1分)T F1-11C程序中定义的变量,代表内存中的一个存储单元。(1分)T F1-12在C语言中,单目运算符需要2个操作数。(1分)T F1-13若变量定义为int fahr;,则5(fahr-32)/9是符合C语言语法的表达式。(1分)T F1-14若变量定义为double

2、x;,则x % 2是符合C语言语法的表达式。(1分)T F1-15若变量定义为int n;,当n的绝对值大于1时,则表达式1/n的值恒为 0。(1分)T F1-17若变量定义为int x, y;,则x + y = 22是符合C语言语法的表达式。(1分)T F1-18假设赋值运算符的优先级比算术运算符高,执行以下程序段后,n的值为10。int n; n = 10 + 2;(1分)T F HW031-4如果变量已经正确定义,则执行以下程序段后,x的值不变。if (x = 20) y = 1; else y = 0; (1分)T F1-7执行以下程序段,输入10,输出10.00。double x;

3、scanf(%d, &x); printf(%.2f, x); (1分)T F1-8执行以下程序段,输入20,输出20.00。double x; scanf(%f, &x); printf(%.2f, x); (1分)T F1-9执行以下程序段,输入30,输出30.00。double x; scanf(x=%lf, &x); printf(%.2f, x); (1分)T F1-11执行以下程序段,输入1001 3 0.025,输出1001#3#0.025。int money, year; double rate; scanf(%d %lf %d , &money, &year, &rate);

4、 printf(%d#%d#%.3f, money, year, rate); (1分)T F1-14如果变量已经正确定义,则表达式fahr +与fahr + 1等价。(1分)T F1-15for语句的一般形式如下,其中的表达式1只执行一次。for (表达式1; 表达式2; 表达式3) 循环体语句 (1分)T F1-16for语句的一般形式如下,若表达式2的值为“假”,则结束循环。for (表达式1; 表达式2; 表达式3) 循环体语句 (1分)T F1-18C程序中,用一对大括号括起来的多条语句称为复合语句,复合语句在语法上被认为是一条语句。(1分)T F1-19循环体如包括有一个以上的语句

5、,则必须用一对大括号括起来,组成复合语句,复合语句在语法上被认为是一条语句。(1分)T F1-20在C语言中,仅由一个分号(;)构成的语句称为空语句,它什么也不做。(1分)T F1-21执行以下程序段,sum的值是55。int i, sum;for (i = 1; i = 10; i+) sum = sum + i;(1分)T F1-22以下程序段的功能是计算20的阶乘。int i;double product;product = 0;for (i = 1; i = 20; i+) product = product * i;(1分)T F1-23执行以下程序段,sum的值是1.5。int i

6、, sum;sum = 0;for (i = 1; i = 2; i+) sum = sum + 1.0/i;(1分)T F1-24执行以下程序段,sum的值是0.75。int i;double sum;sum = 0;for (i = 2; i = 4; i = i + 2) sum = sum + 1/i;(1分)T F2-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,

7、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)

8、;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

9、;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 -

10、 32) / 9.0; /* 语句 */ printf(%4d%6.1fn, fahr, celsius); /* 语句 */语句执行了(1分)次语句执行了(1分)次循环体语句共执行了(1分)次当循环结束时,变量fahr的值是(1分)HW041-1if-else语句的一般形式如下,其中的语句1、语句2只能是一条语句。if (表达式) 语句1else 语句2 (1分)T F1-4为了检查以下省略else的if语句的分支是否正确,至少需要设计3组测试用例,即grade的取值至少有三组(小于、大于、等于60)。if(grade 60) printf(Failn); (1分)T F1-7如果变量已经正

11、确定义,则执行以下程序段后,x的值不变。x = 4; if (x mynumber ) printf(Too big!n);else printf(Too small!n);(1分)T F1-9为了检查以下else-if语句的三个分支是否正确,至少需要设计5组测试用例,即x的取值至少有五组(小于0的数、0、大于0且小于15的数、15和大于15的数)。if (x 0) y = 0;else if (x = a & ch = A & ch = 0 & ch 0x=0x 0) y = 1;C. else if(x = 0) y = 0;D. else y = -1;E.F. y = 0;G. if(

12、x 0) y = 1;H. else 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) s = s + 1; if(a b) t = s + t; else if(a = b) t = 5; else t = 2 * s; printf(t=%dn,t); return 0;A. abB. ab0C. 0aab3-

13、1C语言中,以下( )是合法的字符常量。(2分)A. AB. zC. 0D. $E. aSwitch 后的常量表达式必须为整型或字符型,不能是浮点型3-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

14、(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设变量已正确定义,以下()是合法的switch语句。(2分)A.B. switch(op)C. default: pr

15、intf(Errorn); break;D. E.switch(op) case *: printf(%dn, value1 * value2); break; case +: printf(%dn, value1 + value2); break; case -: printf(%dn, value1 - value2); break; case *: printf(%dn, value1 * value2); break; default: printf(Errorn); break;F.switch(/) case *: printf(%dn, value1 * value2); bre

16、ak; case -: printf(%dn, value1 - value2); break; case +: printf(%dn, value1 + value2); break; default: printf(Errorn); break;G. 对的!switch(op+1) default: printf(Errorn); break; case *: printf(%dn, value1 * value2); break; case +: printf(%dn, value1 + value2); break;H.switch(op) case op = +: printf(%d

17、n, value1 + value2); break; default: printf(Errorn); 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;swi

18、tch(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

19、 - 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); print

20、f(%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+; bre

21、ak; 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 = 0 & ch = 9) digit +;else other +;L.switch (ch) case 0 : case 1 : case 2 : case 3 : case 4 : case -: minus+; break;

22、case 5 : case 6 : case 7 : case 8 : case 9 : digit +;break; default: other +; break; 3-7设变量已正确定义,选项( )与以下程序段不等价。(2分)if (x 2) 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.

23、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

24、 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%3不能在常量表达式区域出现3-10判断ch是数字字符的C语言表达式是( ) 。(2分)A.B. 0 = ch = 0 & ch = 1 & ch = 10G.H. ! (ch 9)3-11设变量已正确定义,以下程序段( ) 的功能是交换变量x和y的值。(2分)A.B. temp = x; x = y; y =temp;C.

25、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 mynumber ) printf(Big);else printf(Small);输入20,输出(1分)输入50,输出(1分)输入38,输出(1分)4-6C语言中,数字字符1的值(ASCII码)就是数字字符0的值加(1分)。请注意,直接填数字,前后不要加空格等任何其他字符。4

26、-7C语言中,小写字母z的值(ASCII码)就是小写字母a的值加(1分)。请注意,直接填数字,前后不要加空格等任何其他字符。4-8C语言中,大写字母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;

27、 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;

28、default: price = 0.0; printf(%0.1f, price); 输入1,输出(1分)输入3,输出(1分)输入10,输出(1分)4-12写出以下程序段的运行结果。请注意,直接填数字、单词或者两者的组合,前后不要加空格等任何其他字符。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);

29、输入11+1,输出(1分) 12Error10输入14-5,输出(1分)输入10$100,输出(1分) Error-90break 是大坑!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 -: minus+; break; case 5 :

30、 case 6 : case 7 : case 8 : case 9 : digit +;break; default: other +; break; 输入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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论