请C语言高手帮忙解答一下下列各题的标准答案。此题是我的重要复习题,不知道的请不要给错误的答案,谢谢

1. 若有定义:int a,b;char x,y;并有以下输入数据: 14 22 XxYy (回车)
 则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是________.
A) scanf(“%d %d”,&a,&b);
  x=getchar();y=getchar();
B) scanf(“%d%d %c %c”, &a, &b,&x,&x,&y,&y);
C) scanf(“%d %d %c%c%c %c”, &a,&b,&x,&x,&y,&y);
D) scanf(“%d%d %c %c”, &a, &b,&x,&y);
2. 下列转义字符不正确的是_______.
  A)'\\' B)'\' C)'\053' D)'\0'
3. 下列选项可作为C语言赋值语句的是_______.
A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);
4. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是_______.
A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b;
5. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_______.
A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100
C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*100
6. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c>d) 后m,n的值为______.
A) 2,2 B) 2,0 C) 0,2 D) 0,0
7. 语句printf(“%d\n”,strlen(“asd\n\x12\1\\”));的输出结果是______.
A) 9 B) 11 C) 7 D) 8
8. 语句:printf(“%d”, !9);的输出结果是______.
A) 0 B)1 C) 有语法错误 ,不能执行 D) -9
9. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是______.
if(x<y)z=x;x=y ;y=z;
A) x=4,y=5,z=6 B) x=4,y=6,z=6
C) x=4,y=5,z=5 D) x=5,y=6,z=4
10. 下列选项中属于正确的switch语句的是______.
A)switch(1.0) B)swicth(1)
{ case 1.0 :printf(“A\n”); { case 1 :printf(“A\n”);
case 2.0 :printf(“B\n”); } case 2 :printf(“B\n”);}
C)switch((int)(1.0+2.5)) D)switch(“a”);
{ case 1 :printf(“A\n”); { case “a” :printf(“A\n”);
case 1+2 :printf(“B\n”);} case “b” :printf(“B\n”);}
11. 若k为int型变量,以下语句段执行后的输出结果是______.
k=-3;
if(k<=0) printf(“####”)
else printf(“****”);
A) #### B) **** C) ####**** D) 有语法错误 ,不能执行
12. 有以下程序段:
int n=0,p;
do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是_____.
A)p的值不等于12345并且n的值大于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或n的值大于等于3
13. 在下述程序中,if (i>j) 语句共执行的次数是_____.
main()
{ int i=0,j=10,k=2,s=0;
for(;;)
{ i+= k ;
if(i>j)
{ printf(“%d”,s);
break ;
}
s+=i ;
}
}
A)4 B)7 C)5 D)6
14. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。
  main()
  { int n,k;float score,ave;
  ave=0.0;
  for(n=1;n<=10;n++)
  { for(k=1;k<=4;k++)
  { scanf(“%f”,&score);
  ave+=score/4 ;}
  printf(“NO%d:%f\n”,n,ave);}
  }造成程序计算结果错误的语句行是_____.
  A)ave=0.0; B)for(n=1;n<=10;n++)
  C)ave+=score/4 ; D)printf(“NO%d:%f\n”,n,ave);

C语言老手为你解答:
CBCCC
CCAC(C)
DDDA 。
第1题已确定选C,不必怀疑,(只有新手才会错选D);
第10题如果是你无意漏掉了C的分号,那么原题选C,如果原题就没分号,那么原题没有答案;
第14题出的不太好,因为这个程序的错误有多种纠正方法(纠正的位置不同),因此关于它出错的地方也可以有多种说法。
哪一题不懂问我。追问

您的qq是多少 我想请教您

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-08
bcdcd ccacd ccdc
第2个回答  2011-06-09
第一题绝对是D…他们怎么都乱回答啊??
第3个回答  2011-06-09
我也觉得是D
第4个回答  2011-06-10
AAACC CCACB DBDC这是我的回答,呵呵。看看对不对?
第5个回答  2011-06-11
1------------------
#include <stdio.h>

double fun (int n)
{
double f1 = 1.0, f2 = 1.0, f = 2.0, tmp;
double sum = 0.0;
int i;

for (i = 0; i < n; ++i)
{
sum += f2/f;
tmp = f1;
f1 = f2;
f = f + f2;
f2 = f1+tmp;
}
return sum;
}

int main(void)
{
int n;
printf("Enter number:");
scanf("%d", &n);
printf("%f\n", fun(n));
return 0;
}
2-----------------------------------
#include <stdio.h>
#include <string.h>

void invert(char str1[])
{
int a, b;
char c;
for (a=0, b=strlen(str1);a<b;a++,b--)
{
c=str1[a];
str1[a]=str1[b-1];
str1[b-1]=c;
}
printf("%s\n", str1);
}
int main(void)
{
char str[128];

printf("INPUT:");
scanf("%s", str);
invert(str);
printf("%s\n", str);
return 0;
}
3----------------------------
#include <stdio.h>

int fun(int n)
{
int i = n;
int sum = 1;

for (; i > 0; --i)
sum*=i;
return sum;
}
int main(void)
{
int i;
double sum = 1.0;

for (i = 2; i <= 10; ++i)
{
if (i%2==0)
sum += (-1)*(1.0/fun(i));
else
sum += (1.0/fun(i));
}
printf("%f\n", sum);
return 0;
}
相似回答