C语言 选择题急急急

(7)要求以下程序的功能是计算:s=1+
main ()
{
int n ; float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf (“%6.4f\n”,s);
}
程序运行后输出结果错误,导致错误结果的程序行是()
A)s=1.0; B)for(n=10;n>1;n--)
C) s=s+1/n; D)printf (“%6.4f \n”,s);
(8)已定义c为字符型变量,则下列语句中正确的是()
A)c=’97’; B)c=”97”;
C)c=97; D)c=”a”;
(9)设有定义:float a=2,b=4,h=3;以下C语言表达式中与代数式 (a+b)h 计算结果不相符的是 ()
A)(a+b)*h/2 B)(1/2)*(a+b)*h
C)(a+b)*h*1/2 D)h/2*(a+b)
(10) 有以下程序
main()
{ int x=102,y=012;
printf (“%2d,%2d\n”,x,y);
}
执行后输出结果是()
A)10.01 B)02,12, C)102,10 D)02,10
(11)以下4个选项中,不能看做一条语句的是()
A){;} B)a=0,b=0,c=0;
C)if(a>0); D)if(b==0)m=1;n=2;
(12)以下程序段中与语句 k=a>b?(b>c?1:0):0;功能等价的是()
A)if ((a>b)&&(b<c))k=1; B)if((a>b)=||(b<c))k=1;
else k=0 else k=0
C) if (a<=b) k=0; D)if (a>b) k=1;
else if(b<=c) k=1; else if (b>c) k=1
else k=0;
(13)有以下程序
main()
{ char k; int i;
for (i=1;i<3;i++)
{ scanf (“%c”,&k);
switch(k)
{ case ’0’: printf (“another\n”);
case ‘1’: printf(“number\n”);}
}
}
程序运行时,从键盘输入:0 1<回车>,程序执行后的输出结果是()
A)another B)another C)another D)number
number number number number
another number

第1个回答  2012-01-08
热心网友有几个是错的。。。
第七题是C,由于n是整形所以 1/n得出的结果被转化为整形,也就一直是0了。
第八题是C,对于一个字符,可以直接赋字符,但是要加单引号,或者直接赋ASC值,如C=97,其实相当于C=‘a’;
第九题是B,原理和第七题一样。
第十题是C,x不用说了,y在定义时由于头一位是0,就表示它是8进制数,8进制的12就是10了。
第十一题是D,理论上if是不用在括号后面加分号的,但可以理解为条件成立则执行空语句,D 是两条语句,不是一条。
第十二题没有答案,四个都不正确。
第十三题是C,因为case‘0’最后没有break,所以执行完 (“another\n”);后 还会继续往下执行。
第2个回答  2012-01-08
7.C
8.A
9.B
10.C
11.D
12.D
13.A
第3个回答  2012-01-08
abcdefghijklmnopqrstuvwxyz本回答被提问者采纳
相似回答