C语言题目谁会做?

1.为表示关系X>=y>=z,应使用C语言表达式________

2.选择题:C语言中,函数返回值的类型是:_____
A。return语句中的表达式的类型。
B。主调函数中指定的类型。
C。定义函数时所指定的函数类型。
D。函数调用时系统随机指定的类型

3.写出下面程序的运行结果。
#include <stdio.h>
main()
{ char c1,c2,c3;
c1='Y';c2='E';c3='S'
putchar(c1);putchar(c2);putchar(c3);}

4.以下程序的运行结果为________
#define x 2
main()
{printf("%d",x);}

5.有程序
int x=1;
main()
{int y,k;
y=f(3);
printf("\n%d\n%d",x.x);
}
int f(int x)
{if(x==3) return x;
else return 2;}
该程序运行后,输出的x的值为_____,y的值为____

6.下列程序的运行结果是。
#include <stdio.h
try()
{ static int x=3;
return(x++);}
main()
{ int i,x;
for(i=0;i<=1;i++) x=try();
printf("%d",x);}

7。填空
#include<stdio.h>
main()
{ int i,j;
for(i=3;i<=100;i++)
{ for(j=2;j<=i-1;j++) if(i%j=____) break;
if(j____i) printf("%4d",i);}

8.填空:下面的函数是是一个求阶乘的递归调用函数,请补充完整。
facto(int n)
{ if(n==1) return____;
else return facto(_____);}

9.填空:以下程序的作用是数组a反序存放,请在空格处填充完整。
void inv(int x[],int n)
{ int t,i,j,m=__________
for(i=0;i<m;i++)
{ j=_________;
t=x[i];______;x[j]=t
}
}
main()
{ int i,a{10}={3,7,9,11,0,6,7,5,4,2};
inv(a.10);
printf("The array has been reverted:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
print("\n");}

第一题: x>=y && y>=z
&&运算符相当于并且的意思,解释上面这个表达式就是x>=y且y>=z
第二题: C
在定义函数时,若不说明函数值的类型,则系统默认为整型,若函数值的类型与return语句中表达式的值不一致,则以函数值类型为准。函数类型决定返回值的类型。
第三题:YES
putchar()就是输出某个字符后者字符变量的值。
第四题:2
#define x 2是宏定义,在函数中运用时,只是将x所代替的原样引入,比如该题就相当于printf("%d",2);就是将x代替的2原样放到x的位置。
第五题:x为1,y为3
该题考查的是全局变量的作用范围,一般全局变量作用的范围是该变量定义后的部分,但有个例外,就是若下面函数中也有与全局变量同名的局部变量,那么在该函数中,同名的这个局部变量起作用,全局变量不起作用。故此,该题f函数中,形参变量x与全局变量同名,全局变量在此函数中,不起作用,此处x被传递的值是3,所以判断x==3成立返回x的值3,赋给y,所以y的值就是3,但在主函数中x仍然是全局变量x的作用范围,所以输出时x就是1,y就是3.
第六题:4
该题考查的是静态存储变量,静态存储变量当赋值后,凡是经过运算后的值变化直接表现在该变量中。两次进行try函数引入,先是初始化静态存储变量x为3,返回x的值后自加1,x的变为4,再次引用try函数后,初始化后变量只是引用,却不改变其值,不象赋值语句。所以返回此时x的值就是4,然后自加1,同样静态存储变量和全局变量一样,遇到一个函数中同名的变量时该函数中的变量起作用,所以输出x的值为4。
第七题: 此题所给条件过少,如果一定要个答案就用0,!=吧
第八题:1,n-1
此题有些错漏,可能是提问者抄录漏了,但就题论题,空格处应该是上述答案。
现在来进一步说一说递归方法求解乘,错漏的地方应该是else return n*facto(n-1);例如n为3,由于不等于1所以,执行此句,将2的值传入该函数,进行计算,由于也不等于1继续执行,直到n==1为止,返回1,该返回值应该是到被调用处,也就是facto(n-1),相当于3*facto(2*facto(1))。
第九题:第一空为n/2,第二空为n-1-i,第三空为x[i]=x[j]
第一空填n/2的原因是由于后面for循环中判断语句是i<m,故此m=n/2;也就是i只取0-5,这样才能实现下面语句中反序的要求,如果m=n;那么当i取5时,j取10-1-5=4,进行a[5]与a[4]的互换,显然与题目要求冲突,因为当i取4时,j取10-1-4-5,已经进行了a[4]与a[5]的互换,现在再进行互换,显然是不合理的.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-06-18
X>=y&&y>=z
C
YES
2
1 3
4
=0 == //打印素数的吧
1 n*facto(n-1)//题目可能错误 因该是 return n*facto(n-1);
n/2 n-i-1 x[i]=x[j]
第2个回答  2007-06-18
1: y>=z&&x>=y
2: C.
3: YES
4: 2
5: 1 换行 3
6: 5
7; 题干不明确
8: 第一个空:1,第二个空:n-1
9: 算了不作了
第3个回答  2007-06-18
(1) x>=y && y>=z
(2) c
(3) YES
(4) 2;
(5) x为1,y为3
(6) 4
(7) 0,!=
(8) 1,n-1
(9) n,m-i-1,x[i]=x[j]
第4个回答  2019-06-20
晕,这个不是谭浩强书中的课后题目吗?
你搜索谭浩强的C语言书籍就有了!