C语言上机4

  • 格式:doc
  • 大小:30.50 KB
  • 文档页数:2

与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。

A.3*x**n/(2*x-1)
B.3*x^n/(2*x-1)
C.3*pow(x,n)*(1/(2*x-1))
D.3*pow(n,x)/(2*x-1)
本题的考查点是函数pow(x,y)。

函数pow(x,y)的功能是计算x的y次方的值,在C语言中没有选项A和选项B的表示方式,选项D中pow(n,x)是求n的x次方值,不合题意。

故本题答案为C。

有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是______。

if (a<3) x=3; else if (a<2) x=2; else x=1;
if (c<a) x=1; else if (b<a) x=2; else x=3;
if (a<3) x=3; if (a<2) x=2; if (a<1) x=1
if (a<b) x=b; if (b<c) x=c; if (c<a) x=a;
本题的考查点是if语句。

if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的几种操作之一。

选项A,因为前面两个条件都不满足,所以执行最后一种操作,x=3;
选项B,a<3成立,执行第一种操作,x=3;
选项C,a<3成立,执行第一种操作,x=3;a<2成立,执行第二种操作,此时x=2;a<1不成立,最后的不执行,所以执行此段程序后x=2;
选项D,a<b成立,执行x=b,此时x=2;b<c成立,执行x=c,此时x=3;c<a不成立,不执行x=a,所以执行此段程序后x=3。

故本题答案为C。

有以下程序
void f(int *x,int *y)
{ int t;
t=*x;*x=*y;*y=t; }
main()
{
int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p<q)
{ f(p,q);p++;q--;}
for(i=0;i<8;i++) printf("%d,",a[i]);
}
程序运行后的输出结果是______。

本题考查的是函数的调用。

本程序中函数f的作用是交换指针变量x和y所指向的存储单元的值。

在主函数中,能过"p=a;q=&a[7];"将指针变量p指向了数组的第一个元素,指针变量q指向了数组的最后一个元素。

通过"f(p,q)"调用函数f进行对称的数组元素的交换。

当while循环4次(即p=q)后,a数组中各元素的值分别为87654321,所以程序输出的结果为8,7,6,5,4,3,2,1,。

设x,y均为float型变量,则以下不合法的语句是y=(x%2)/10;
函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s<t时返回负值。

请填空。

mycmp( char *s,char *t)
{ while (*s==*t)
{ if (*s=='\0')return 0;
++s;++t;
}
return(______);
}
本题的考查点是比较字符串的大小。

函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组s和t的第一个字符,在while循环中,是通过s和t值的不断变化改变两个串的第一个字符,要返回s和t的第一个不同字符的ASCII码的差值,必须使用"*s-*t"得出。

故本题答案为:*s-*t。