2015C习题集(1)(8)

2020-04-18 04:10

}

3.以下程序的输出结果是 4 。 fun1(int a, int b) { int c;

a += a; b += b; c = fun2(a, b); return c * c;

}

fun2(int a, int b)

{ int c;

c = a * b % 3; return c;

}

void main()

{ int x = 11, y = 19;

printf(“%d\\n”, fun1(x, y));

}

4.下面pi函数的功能是,根据以下公式返回满足精度eps要求的π的值。请填空。

double pi ( double eps) { double s = 0.0, t = 1.0;

int n;

for( n=1 ; t > eps); n++) { s += t;

t = n * t / (2* n +1); }

return (2.0 * s ); }

5.以下函数用以求x的y次方。请填空。 double fun( double ,x double y) { int i; double z=1.0;

for( i = 1; i <=y ; i++) z = z*x ; return z;

} n6.以下程序的功能是计算 s?。请填空。k!k?0 long f(int n) { int i; long s;

s = 1L ; for(i = 1; i <= n; i++) s = s*i ; return s;

}

?31

void main()

{ long s; int k, n;

scanf(“%d”, &n); s = 0 ; for(k = 0; k <= n; k++) s = s + f(k) ; printf(“%d\\n”, s);

}

7.以下程序的输出结果是 7 。

fun( int x ) { int p;

if( x == 0 || x ==1)

return (3);

p = x - fun(x - 2); return p; }

void main()

{ printf(“%d\\n”, fun(9) ); }

8.以下程序的输出结果是 2,5,1,2,3,-2 。

void main()

{ int a = 3, b = 2, c = 1; c -= ++b; b *= a + c;

{ int b = 5, c = 12; c /= b * 2;

a -= c;

printf(“%d, %d, %d, ”, a, b, c ); a += --c; }

printf(“%d, %d, %d\\n”, a, b, c); }

9.以下程序的输出结果是 2 4 6 。

void fun( )

{ static int a = 0;

a += 2; printf(“%d “, a); }

void main() { int i;

for( i = 1; i < 4; i++)

fun(); printf(“\\n” ); }

10.下列程序的执行结果是 8 4 。

32

int d = 1; fun(int p) { int d = 5; d += p++;

pritnf(“%d “, d); }

void main() { int a = 3; fun(a); d += a++;

printf(“%d\\n”, d); }

11.若输入3个整数3 2 1, 则以下程序的输出结果是 2721 。 void sub( int n, int uu[]) { int t;

t = uu[n --]; t += 3 * uu[n]; n ++;

if( t >= 10)

{ uu[n++] = t / 10; uu[n] = t % 10; }

else uu[n] = t;

}

void main()

{ int i, n, aa[10] = {0};

scanf(“%d%d%d”, &n, &aa[0], &aa[1]);

for( i = 1; i < n; i++) sub(i, aa);

for( i = 0; i <= n; i++) printf(“%d”, aa[i]);

printf(“\\n”);

}

12. 以下findmax返回s中最大元素的下标,数组中元素的个数由t传入。请填空。

fndmax( int s[], int t) { int k, p;

for(p = 0, k = p; p < t; p++) if(s[p] > s[k] )

k=p ; return k ; }

13. 以下程序的输出结果是 itis 。

#include “string.h” #include “ctype.h”

33

void fun(char str[]) { int i, j;

for(i = 0, j = 0; str[i]; i++) if(isalpha(str[i]) )

str[j ++] = str[i];

str[j] = ‘\\0’; }

void main()

{ char ss[80] = “it is!”; fun(ss);

printf(“%s\\n”, ss); }

14. 以下fun函数的功能是将一个字符串的内容逆置。请填空。

#include “string.h” void fun( char str[]) { int i, j, k;

for(i = 0, j = strlen(str)-1 ; i < j; i++, j-- ) { k = str[i] ;

str[i] = str[j]; str[j] = k; }

}

第八章 善于利用指针

A1. 下面程序的输出结果是

void main() {

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\\n\(p+2)); }

A)3 B)4 C)1 D)2 B2.以下程序的输出结果是 void main()

{ int a[] = {1, 2, 3, 4}, i, x = 0;

for(i = 0; i < 4; i++)

{ sub(a, &x); printf(“%d ”, x); } pritnf(“\\n”);

}

sub(int *s, int *y) { static int t = 3;

*y = s[t]; t--;

}

A)1 2 3 4 B)4 3 2 1 C)0 0 0 0 D)4 4 4 4 D3. 若已有定义:

34

int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a, i;

其中0≤i≤9,则对a数组元素的引用不正确的是

A)a[p - a] B)*(&a[i]) C)p[i] D)*(*(a+i)) A4. 以下程序的输出结果是

void main()

{ int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p = a; printf(“%d\\n”, *(p+2) ); }

A)3 B)4 C)1 D)2 C5.以下程序的输出结果是

void main()

{ int a[] = {2, 4, 6, 8, 10}, y = 1, x, *p; p = &a[1];

for(x = 0; x < 3; x++)

y += *(p + x); printf(“%d\\n”, y); }

A)17 B)18 C)19 D)20 A6.以下程序的输出结果是

void main()

{ int a[] = {2, 4, 6, 8}, *p = a, i; for(i = 0; i <4; i++)

a[i] = *p++; printf(“%d\\n”, a[2]); }

A)6 B)8 C)4 D)2 C7.以下程序的输出结果是

fun( int *s, int n1, int n2) { int i, j, t; i = n1; j = n2; wile(i < j)

{ t = *(s + i); *(s + i) = *(s + j); *(s+ j) = t; i ++; j --; } }

void main()

{ int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, i, *p = a; fun(p, 0, 3); fun(p, 4, 9); fun(p, 0, 9)

for(i = 0; i < 10; i++)

printf(“%d”, *(a+i)); }

A)0987654321 B)4321098765 C)5678901234 D35

)0987651234


2015C习题集(1)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:世界人种基因图谱

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: