HW021-3#includestdio.h;是编译预处理命令。(1分)TF1-5任何一个程序都必须有而且只能有一个main()函数。(1分)TF1-6C语言程序是从源文件的第一条语句开始执行的。(1分)TF1-7C语言中的所有语句都必须以分号结束。(1分)TF1-10以下程序段符合C语言语法。k=1;intk;(1分)TF1-11C程序中定义的变量,代表内存中的一个存储单元。(1分)TF1-12在C语言中,单目运算符需要2个操作数。(1分)TF1-13若变量定义为intfahr;,则5(fahr-32)/9是符合C语言语法的表达式。(1分)TF1-14若变量定义为doublex;,则x%2是符合C语言语法的表达式。(1分)TF1-15若变量定义为intn;,当n的绝对值大于1时,则表达式1/n的值恒为0。(1分)TF1-17若变量定义为intx,y;,则x+y=22是符合C语言语法的表达式。(1分)TF1-18假设赋值运算符的优先级比算术运算符高,执行以下程序段后,n的值为10。intn;n=10+2;(1分)TFHW031-4如果变量已经正确定义,则执行以下程序段后,x的值不变。if(x=20){y=1;}else{y=0;}(1分)TF1-7执行以下程序段,输入10,输出10.00。doublex;scanf(%d,&x);printf(%.2f,x);(1分)TF1-8执行以下程序段,输入20,输出20.00。doublex;scanf(%f,&x);printf(%.2f,x);(1分)TF1-9执行以下程序段,输入30,输出30.00。doublex;scanf(x=%lf,&x);printf(%.2f,x);(1分)TF1-11执行以下程序段,输入100130.025,输出1001#3#0.025。intmoney,year;doublerate;scanf(%d%lf%d,&money,&year,&rate);printf(%d#%d#%.3f,money,year,rate);(1分)TF1-14如果变量已经正确定义,则表达式fahr++与fahr+1等价。(1分)TF1-15for语句的一般形式如下,其中的表达式1只执行一次。for(表达式1;表达式2;表达式3)循环体语句(1分)TF1-16for语句的一般形式如下,若表达式2的值为“假”,则结束循环。for(表达式1;表达式2;表达式3)循环体语句(1分)TF1-18C程序中,用一对大括号{}括起来的多条语句称为复合语句,复合语句在语法上被认为是一条语句。(1分)TF1-19循环体如包括有一个以上的语句,则必须用一对大括号{}括起来,组成复合语句,复合语句在语法上被认为是一条语句。(1分)TF1-20在C语言中,仅由一个分号(;)构成的语句称为空语句,它什么也不做。(1分)TF1-21执行以下程序段,sum的值是55。inti,sum;for(i=1;i=10;i++){sum=sum+i;}(1分)TF1-22以下程序段的功能是计算20的阶乘。inti;doubleproduct;product=0;for(i=1;i=20;i++){product=product*i;}(1分)TF1-23执行以下程序段,sum的值是1.5。inti,sum;sum=0;for(i=1;i=2;i++){sum=sum+1.0/i;}(1分)TF1-24执行以下程序段,sum的值是0.75。inti;doublesum;sum=0;for(i=2;i=4;i=i+2){sum=sum+1/i;}(1分)TF2-1以下程序段()的功能是计算序列1+1/2+1/3+...的前N项之和。(2分)A.inti,n,sum;scanf(%d,&n);sum=0;for(i=1;i=n;i++){sum=sum+1.0/i;}B.inti,n;doublesum;scanf(%d,&n);for(i=1;i=n;i++){sum=sum+1.0/i;}C.inti,n;doublesum;scanf(%d,&n);sum=0;for(i=1;i=n;i++){sum=sum+1.0/i;}D.E.inti,n;F.doublesum;G.scanf(%d,&n);H.sum=0;I.for(i=1;i=n;i++){J.sum=sum+1/i;K.}L.M.inti,n;N.doublesum;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.inti,n;doubleproduct;scanf(%d,&n);product=0;for(i=1;i=n;i++){product=product*i;}B.inti,n,product;scanf(%d,&n);product=1;for(i=1;i=n;i++){product=product*i;}C.inti,n;doubleproduct;scanf(%d,&n);for(i=1;i=n;i++){product=product*i;}D.inti,n;doubleproduct;scanf(%d,&n);product=1;for(i=1;i=n;i++){product=product*i;}4-2执行以下程序段,并回答下列问题。请注意,直接填数字,前后不要加空格等任何其他字符。intfahr;doublecelsius;for(fahr=91;fahr=100;fahr++)celsius=5.0*(fahr-32)/9.0;/*语句①*/printf(%4d%6.1f\n,fahr,celsius);/*语句②*/语句①执行了10(1分)次语句②执行了1(1分)次循环体语句共执行了10(1分)次当循环结束时,变量fahr的值是101(1分)HW041-1if-else语句的一般形式如下,其中的语句1、语句2只能是一条语句。if(表达式)语句1else语句2(1分)TF1-4为了检查以下省略else的if语句的分支是否正确,至少需要设计3组测试用例,即grade的取值至少有三组(小于、大于、等于60)。if(grade60){printf(Fail\n);}(1分)TF1-7如果变量已经正确定义,则执行以下程序段后,x的值不变。x=4;if(x0){y=-1;}elseif(x=0){y=0;}else{y=1;}(1分)TF1-8为了检查以下嵌套的if语句的三个分支是否正确,至少需要设计3组测试用例,即yournumber的取值至少有3组(大于、小于、等于mynumber)。if(yournumber==mynumber){printf(GoodGuess!\n);}elseif(yournumbermynumber){printf(Toobig!\n);}else{printf(Toosmall!\n);}(1分)TF1-9为了检查以下else-if语句的三个分支是否正确,至少需要设计5组测试用例,即x的取值至少有五组(小于0的数、0、大于0且小于15的数、15和大于15的数)。if(x0){y=0;}elseif(x=15){y=4*x/3;}else{y=2.5*x-10.5;}(1分)TF1-10C语言中的字符常量指单个字符,用一对单引号及其所括起的字符来表示。(1分)TF1-11C语言中,字符型数据的值就是其在ASCII字符集中的次序值,即ASCII码。(1分)TF1-12C语言中,每个字符型数据在ASCII字符集中都有一个惟一的次序值,即ASCII码。(1分)TF1-13C语言中,数字字符'1'的值(ASCII码)就是数字1。(1分)T1-14C语言中,数字字符'0','1','2',…,'9'的ASCII码按降序连续排列。(1分)TF1-15C语言中,大写字母'A','B','C',…,'Z'的ASCII码按升序连续排列。(1分)TF1-17C语言中,大小写字母'A','B','C',…,'Z','a','b','c',…,'z'的ASCII码按升序连续排列。(1分)TF1-18C语言中,大写字母'M'的ASCII码值比小写字母'm'的ASCII码值大。(1分)TF1-19C语言中,小写字母'a'的ASCII码值是大写字母'Z'的ASCII码值加1。(1分)TF1-20以下C语言表达式的值为“真”。'D'-'A'=='d'-'a'(1分)TF1-21C语言中不能用printf函数输出字符。(1分)TF1-22C语言中不能用scanf函数输入字符。(1分)TF1-23执行语句putchar('S');后,在屏幕上显示的输出结果是'S'。(1分)TF1-24设变量已正确定义,执行以下程序段,顺序输入三个字符'Q',则输出Q。(1分)TFch=getchar();putchar(ch);1-25设变量已正确定义,执行以下程序段,顺序输入三个字符'k',则输出k。(1分)TFscanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c”,ch2);1-26为了检查以下else-if语句的三个分支是否正确,至少需要设计63组测试用例,即ch的取值至少有63组(52个大小写英文字母、10个数字字符、其他字符)。if((ch='a'&&ch='z')||(ch='A'&&ch='Z'))letter++;elseif(ch='0'&&ch='9')digit++;elseother++;(1分)TF1-27对于如下的switch语句(使用break)的一般形式,其执行流程是:首先求解表达式,如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的相应语句段;如果表达式的值与任何一个常量表达式的值都不相等,则执行default后的语句段,最后执行break语句,跳出switch语句。switch(表达式){case常量表达式1:语句段1;break;case常量表达式2:语句段2;break;…case常量表达式n:语句段n;break;default:语句段n+1;break;}(1分)TF1-28在switch语句中,每一个的case常量表达式的值可以相同。(1分)TF1-29在switch语句中,必须使用default。(1分)TF1-30设变量已正确定义,以下是合法的switch语句。switch(choice){casechoice==1:price=3.0;break;casechoice==2:price=2.5;break;casechoice==3:price=4.0;break;casechoice==4:price=3.5;break;default:price=0.0;break;}(1分)TF1-31对于如下switch语句(不使用break)的一般形式,其执行流程是:首先求解表达式,如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的所有语句段,如果表达式的值与任何一个常量表达式的值都不相等,则执行default后的所有语句段。switch(表达式){case常量表达式1:语句段1;case常量表达式2:语句段2;…case常量表达式n:语句段n;default:语句段n+1;}(1分)TF1-32case语句后如没有break,顺序向下执行。(1分)TF1-33在switch语句中,可以根据需要使用或不使用break语句。(1分)TF2-1设变量已正确定义,为了检查以下else-if语句的分支是否正确,至少需要设计()组测试用例。if(op=='+'){printf(=%.2f\n,value1+value2);}elseif(op=='-'){printf(=%.2f\n,value1-value2);}elseif(o