C语言程序设计 第六章 函数 试题及答案(2)

2019-01-07 17:48

for(i=0;i<3;i++) printf(\}

int f(int a) {int b=0;

static int c=3; b++;c++;

return(a+b+c); }

A) 7 7 7 B) 7 10 13 C) 7 9 11 D) 7 8 9 参考答案:D

*6.30 以下程序的正确运行结果是 。

#include main()

{int k=4,m=1,p;

p=func(k,m); printf(\ p=func(k,m); printf(\}

func(int a,int b) {static int m=0,i=2; i+=m+1; m=i+a+b; return(m); }

A)8,17 B)8,16 C)8,20 D)8,8 参考答案:A

2 填空题

6.31 C语言规定,可执行程序的开始执行点是【 】。 参考答案:main函数

6.32 在C语言中,一个函数一般由两个部分组成,它们是【1】和【2】。 参考答案:【1】函数声明 【2】函数体

*6.33 若输入的值是-125,以下程序的执行结果是 。

#include main() {int n;

scanf(\ printf(\ if(n<0) printf(\ n=abs(n); fun(n); }

fun(int n) {int k,r;

for(k=2;k<=sqrt(n);k++) {r=n%k; while(r==0)

{printf(\ n=n/k;

if(n>1)printf(\ r=n%k; } }

if(n!=1) printf(\}

参考答案:-125=-5*5*5

参考分析:本程序用来将整数分解为素数因子的乘积。

6.34 下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是【1】;改正后为【2】。

void add(float a,float b) {float c; c=a+b; return c; }

参考答案:【1】void add(float a,float b) 6.35 以下程序的运行结果是 。

main()

{int i=2,x=5,j=7; fun(j,6);

printf(\}

fun(int i,int j) {int x=7;

printf(\}

参考答案: i=7;j=6;x=7 i=2;j=7;x=5

6.36 以下程序的运行结果是 。

main()

{increment(); increment(); increment(); }

increment() {int x=0; x+=1;

printf(\}

参考答案:1 1 1

6.37 以下程序的运行结果是 。

#include main()

{int a=1,b=2,c; c=max(a,b);

printf(\}

max(int x,int y) {int z;

z=(x>y)?x:y;

2】float add(float a,float b) 【 return(z); }

参考答案:max is 2

6.38 以下程序的功能是根据输入的\与\,在屏幕上分别显示出\与\。请填空。

#include void YesNo(char ch) {switch(ch) {case 'y':

case 'Y':printf(\【1】; case 'n':

case 'N':printf(\ } }

main() {char ch;

printf(\ ch=【2】;

printf(\ YesNo(ch); }

参考答案:【1】break 【2】getchar()

6.39 以下Check函数的功能是对value中的值进行四舍五入计算,若计算后的值与ponse值相等,则显示\,否则显示计算后的值。已有函数调用语句Check(ponse,value);请填空。

void Check(int ponse,float value) {int val; val=【1】;

printf(\计算后的值:%d\

if(【2】) printf(\

else printf(\}

参考答案:【1】value+0.5 【2】ponse==val 6.40 以下程序的功能是 。

#include f(int n) {int i,j,k;

i=n/100;j=n/10-i*10;k=n;

if (i*100+j*10+k==i*i*i+j*j*j+k*k*k) return n; else return 0; }

main() {int n,k;

printf(\

for(n=100;n<1000;n++) {k=f(n); if(k!=0)

printf(\ }

printf(\}

参考答案:输出所有的水仙花数。

6.41 以下程序的功能是用二分法求方程2x3-4x2+3x-6=0的根,并要求绝对误差不超过0.001。请填空。

#include float f(float x)

{return (2*x*x*x-4*x*x+3*x-6);} main()

{float m=-100,n=90,r; r=(m+n)/2;

while(f(r)*f(n)!=0) {if(【1】) m=r; else n=r;

if(【2】) break; r=(m+n)/2; }

printf(\方程的解是%6.3f\\n\}

参考答案:【1】f(r)*f(n)<0或f(r)*f(m)>0【2】n-m<0.001 6.42 若输入一个整数10,以下程序的运行结果是 。

int sub(int a) {int c; c=a%2; return c; }

main()

{int a,e[10],c,i=0;

printf(\ scanf(\ while(a!=0) {c=sub(a); a=a/2; e[i]=c; i++; }

for(;i>0;i--) printf(\}

参考答案:1010

6.43 以下程序的功能是计算下面函数的值。请填空。

sin(x) sin(y) sin(z)

F(x)= + + sin(x-y)*sin(x-z) sin(y-z)*sin(y-x) sin(z-x)*sin(z-y)

#include #include float f(float,float,float); main()

{printf(\

scanf(\ sum=【1】;

printf(\}

float f(float a,float b,float c)

{float value; value=【2】; return(value); }

参考答案:【1】f(x,y,z)+f(y,z,x)+f(z,x,y) 【2】sin(a)/sin(a-b)/sin(a-c) 参考分析:本题答案非常不严谨,完全可以写成多种方式,比如 【1】f(x,x-y,x-z)+f(y,y-z,y-x)+f(z,z-x,z-y) 【2】sin(a)/sin(b)/sin(c)

【1】f(x,y,z) 【2】sin(a)/sin(a-b)/sin(a-c)+sin(b)/sin(b-c)/sin(b-a)+sin(c)/sin(c-a)/sin(c-b) 6.44 已有函数pow,现要求取消变量i后pow函数的功能不变。请填空。 修改前的pow函数:

int pow(int x,int y) {int i,j=1;

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

修改后的函数:

int pow(int x,int y) {int j;

for(【1】;【2】;【3】) j=j*x; return j; }

参考答案:【1】j=1【2】y>0或y>=1【3】y--或--y 6.45 以下程序的运行结果是输出如下图形。请填空。

* *** ***** ******* ***** *** *

#include void a(int i) {int j,k;

for(j=0;j<=7-i;j++) printf(\ for(k=0;k<【1】;k++) printf(\ printf(\}

main() {int i;

for(i=0;i<3;i++) 【2】; for(i=3;i>=0;i--) 【3】; }

参考答案:【1】2*i+1 【2】a[i] 【3】a[i] 参考说明:最长的一行前面有5个空格。

6.46 以下程序的功能是求三个数的最小公倍数,请填空。

#include int max(int x,int y,int z) {if(x>y&&x>z) return(x); else if(【1】) return(y); else return(z);


C语言程序设计 第六章 函数 试题及答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版高一语文2018上学期期中考试模拟题(附答案)

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

马上注册会员

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