帮帮忙啊 急啊! 关于C语言程序设计的考试!!!帮忙给下正确答案啊

24. 设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是
A)if(x++); B)if(x>y&&y!=0);
C)if(x>y) x- - D)if(y<0) {;}
else y++; else x++;
25. 以下选项中,当x为大于1的奇数时,值为0的表达式
A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0
26. 在一个C程序中
  A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现
  C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置
27. 下列叙述中正确的是
  A) C语言中既有逻辑类型也有集合类型
  B) C语言中没有逻辑类型但有集合类型
  C) C语言中有逻辑类型但没有集合类型
  D) C语言中既没有逻辑类型也没有集合类型
28. 下列关于单目运算符++、--的叙述中正确的是
  A) 它们的运算对象可以是任何变量和常量
  B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量
  C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量
  D) 它们的运算对象可以是char型变量、int型变量和float型变量
29. 以下选项中非法的表达式是
  A)0<=x<100 B)i=j==0
  C)(char)(65+3) D)x+1=x+1
30. 有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
  A)11 12<回车> B)11, 12<回车>
  C)11,12<回车> D)11,<回车>,12<回车>
31. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
  A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;
  C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;
32. 有以下程序
  main()
  { int s=0,a=1,n;
  scanf("%d",&n);
  do
  { s+=1; a=a-2; }
  while(a!=n);
  printf("%d\n",s);
  }
  若要使程序的输出值为2,则应该从键盘给n输入的值是
  A)-1 B)-3 C)-5 D)0
33. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
  s=a;
  for(b=1;b<=c;b++) s=s+1;
  则与上述程序段功能等价的赋值语句是
  A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;
34. 已定义ch为字符型变量,以下赋值语句中错误的是
  A)ch='\'; B)ch=62+3; C)ch=NULL; D)ch='\xaa';
35. 假定x和y为 double型,则表达式x=2,y=x+3/2的值是
A) 3.500000 B) 3 C) 2.000000 D) 3.000000
36. 以下合法的赋值语句是
A) x=y=100 B) d--; C) x+y; D) c=int(a+b);
37. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是
pprintf(”%d,%d\n”,x--,--y);
A) 10,3 B) 9.3 C) 9.2 D)10.2
38. 设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为
A) 0 B) 1 C)2 D) 3
39. 假定w、x、y、z、m均为int型变量,有如下程序段:
w=1; x=2; y=3; z=4;
m=(w<x)?w; x; m=(m<y)?m;y; m=(m<z)?m; z;
则该程序运行后,m的值是
A) 4 B) 3 C) 2 D) 2
40. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是
  A)6.500000 B)6 C) 5.500000 D) 6.000000
41. 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是
  A)printf(“x=%d\n”,x); B) printf(“x=%1d\n”,x);
  C)printf(“x=%8dL\n”,x); D)printf(“x=%LD\n”,x);
二、填空题
1. 当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行 次。
#include <stdio.h>
main()
{char ch;
While((ch=getchar())==’0’) printf(“#”);
}
2. 以下程序的运行结果是 。
int k=0;
void fun(int m)
{ m+=k; k+=m; printf(“m=%d\n k=%d ”,m,k++);}
main()
{ int i=4;
fun(i++); printf(“i=%d k=%d\n”,i,k);
}
3. 若有程序
  main()
  { int i,j;
   scanf("i=%d,j=%d";&i,&j);
   printf("i=%d,j=%d\n",i,j);
  }
  要求给i赋10,给j赋20,则应该从键盘输入 。
4. 以下程序运行后的输出结果是 。
  main()
  { int p=30;
  printf("%d\n",(p/3>0 ? p/10 : p%3));
  }
5. 以下程序运行后的输出结果是 。
  main()
  { char m;
  m='A'+32; printf("%c\n",m);
  }
我没多少分 拜托大家了!

第1个回答  2009-12-27
最笨的办法,填空题把它弄到环境中 一运行不就出来了...还保证正确
第2个回答  2009-12-27
晕,这些东西自己在百度里一题一题的都能找到的
第3个回答  2009-12-29
24)A 25)D 26)B 27)A 28)D 29)A 30)A 31)D 32)-3 33)B 34)B 35)D 36)D 37)D
40)D 41)D
二1)1
2)m=4
k=4 i=5 k=5
3)i=10,j=20
4)3
5)a本回答被提问者采纳
相似回答