C语言程序设计习题(5)

2019-08-30 22:30

二、填空题

[7.8] 以下程序的输出结果是________. unsigned fun6(unsigned num) { unsigned k=1; do

{ k=*=num; num/=10; } while(num); return k; }

main()

{ unsigned n=26;

printf(\ }

[7.9] 以下程序的输出结果是________.

double sub(double x,double y,double z) { y-=1.0; z=z+x;

return z; }

main()

{ double a=2.5,b=9.0;

printf(\ }

[7.10] 以下程序的输出结果是________. 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; }

main()

{ int x=11,y=19;

printf(\ }

[7.11] 下面pi函数的功能是,根据以下公式返回满足精度要求的的值.请填空. pi/2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9+... double pi(double eps) { double s=0.0,t=1.0; int n;

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

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

return (2.0*_____); }

[7.12] 以下函数用以求x的y次方.请填空. double fun(double x,int y) { int i; double z=1; for(i=1; i_____; i++) z=_____; return z;

} n

[7.13] 以下程序的功能是计算S= ? K!.请填空. long f(int n) K=1 { int i; long s; s=_____;

for(i=1; i<=n; i++) s=_____; return s; }

main()

{ long s; int k,n; scanf(\ s=_____;

for(k=0; k<=n; k++)s=s+_____; printf(\ }

三、程序调试和编程题

[7.14] 以下fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正. fun(int n)

{ int k,yes;

for(k=2; k<=n/2; k++) if(n%k==0) yes=0; else yes=1; return yes; }

[7.15] 编写函数 int mymod ( int a, int b)用以求a被b除之后的余数. [7.16] 编写程序求:1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n [7.17] 编写函数,根据整型形参m的值,计算如下公式的值.

t=1-1/2*2-1/3*3-...-1/m*m

例如,若m=5,则应输出0.536389.

[7.18] 编写函数用以求表达式x*x-5*x+4,x作为参数传送给函数,调用此函数求: y1=2*2-5*2+4

y2=(x+15)*(x+15)-5*(x+15)+4 y3=sinx*sinx-5*sinx+4

第八章 指针

一、 选择题

[8.1] 若有定义:int x,*pb;则在以下正确的赋值表达式是 A) pb=&x B) pb=x C) *pb=&x D) *pb=*x [8.2] 以下程序的输出结果是

A)因变量无定义输出不定值 B) 0 C) -1 D) 1

#include \ main()

{ printf(\

[8.3] 以下程序的输出结果是

A) 5,2,3 B) -5,-12,-7 C) -5,-12,-7 D) 5,-2,-7

void sub(int x,int y,int *z) { *z=y-x; } main()

{int a,b,c;

sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(\ }

[8.4] 以下程序的输出结果是

A) 4 B) 6 C) 8 D) 10

main()

{ int k=2,m=4,n=6;

int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(\ }

[8.5] 已知指针P的指向如图8.5所示,则表达式*P++的值是 A) 20 B) 30 C) 21 D) 31

a[0] a[1] a[2] a[3] a[4]

10 20 30 40 50

P

图8.5

[8.6] 已知指针P的指向如图8.5所示,则表达式*++P的值是 A) 20 B) 30 C) 21 D) 31

[8.7] 已知指针P的指向如图8.5所示,则表达式++*P的值 A) 20 B) 30 C) 21 D) 31 [8.8] 以下程序的输出结果是

A) 23 B) 24 C) 25 D) 26

void prtv(int *x)

{ printf (\ main()

{ int a=25; prtv(&a); }

[8.9] 以下程序的输出结果是

A) 运行出错 B)100 C)a的地址 D)b的地址 main ()

{int **k, *a, b=100; j=&b;k=&a;

printf(\ }

[8.10] 以下程序的输出结果是

A) 4,3 B)2,3 C) 3,4 D) 3,2

void fun(float *a,float *b) {float w; *a=*a+*a; w=*a; *a=*b; *b=w; }

main()

{float x=2.0, 7=3.0; foaat *px=&x,*p7=&y; fun(px,py);

printf(\ }

[8.11] 以下程序的输出结果是

A) 9.000000 B) 1.500000 C) 8.000000 D) 10.500000

void sub(float x,float *y,float *z) {*y=*y-1.0; *z=*z+x; }

main()

{ float a=2.5,b=9.0,*pa,*pb; pa=&a; pb=&b; sub(b-a,pa,pa); printf(:%f\\n\ }

[8.12] 以下四个程序中不能对两个整型值进行交换的是 A) main()

{int a=10,b=20; swap(&a,&b);


C语言程序设计习题(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:GIS组合电器概述

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

马上注册会员

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