第七章 11洗择期 ,以下正确的说法是()B B.提高程序的可读性 C减少得序的篇幅 D成少程序文件所占内右 2C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()B A.float B.int型 C.1ong生 D.double型 3.C语言规定,函数返回值的类型是由( )D A.return语句中的表达是类型所决定 B.调用该函数时的主刁悍书类型所决定 安函数时所指定的函数类型所决 4.若调用一个函数,且此函数中没有return语句,则正确的说法是()D 该函数是: A.没有返回值 B返回若干系统认 C.能返回一个拥护所希望的函数值 返回一个不确定的值 2.2编程 1.已有变量第一和函数调用语句:intx=57,isprime(x函数isprime(()用来判断一个整型数 a是否为素数,若是素数,函数返回1,否则返回0。请绵写程序。 2.写两个函数,分别求两个整数的最大公约数和最小公倍书,用主函数调用这两个函数, 并输出结果,两个整数由键盘输入。 3写一函数,用“起泡法”对输入10个字符按由小到大顺序排列。 4.编写一个函数,计算下面算式的100项之值,并将计算结果返回到主调函数。 S=1+3-5+-9+ 3.3阅读程序,写出程序运行结果 程序一int f(intn) if(n==1) return 1. else return f(n-1)+1; main() int n
第七章 1.1 选择题 1.建立函数的目的之一是,以下正确的说法是( ) B A.提高程序的执行效率 B.提高程序的可读性 C.减少程序的篇幅 D.减少程序文件所占内存 2.C 语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )B A.float 型 B. int 型 C.long 型 D.double 型 3.C 语言规定,函数返回值的类型是由( )D A.return 语句中的表达是类型所决定 B.调用该函数时的主刁悍书类型所决定 C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定 4.若调用一个函数,且此函数中没有 return 语句,则正确的说法是( )D 该函数是: A. 没有返回值 B. 返回若干系统默认值 C. 能返回一个拥护所希望的函数值 D. 返回一个不确定的值 2.2 编程题 1.已有变量第一和函数调用语句:int x=57;isprime(x;函数 isprime( )用来判断一个整型数 a 是否为素数,若是素数,函数返回 1,否则返回 0。请编写程序。 2.写两个函数,分别求两个整数的最大公约数和最小公倍书,用主函数调用这两个函数, 并输出结果,两个整数由键盘输入。 3.写一函数,用“起泡法”对输入 10 个字符按由小到大顺序排列。 4.编写一个函数,计算下面算式的 100 项之值,并将计算结果返回到主调函数。 S=1+3-5+-9+. 3.3 阅读程序,写出程序运行结果 程序一 int f(int n) { if (n==1) return 1; else return f(n-1)+1; } main() { int n;
n=6, printf("%d"f(n)); 执行结果是 程序二float fun((intx inty) return(x+y) main() inta-2,b-5.c-8 printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); 执行结果是 程序三int) (static inti=0. ints=1: S+=i,i++ Return(s): main() inti,-0 for(i=0:i<5;i++) a+=f)方 printf("%dn”,a
n=6; printf("%d",f(n)); } 执行结果是 。 程序二 float fun(int x, int y) { return (x+y); } main( ) { int a=2,b=5,c=8; printf("%3.0f \n",fun((int ) fun(a+c,b) ,a-c)); } 执行结果是 。 程序三 int f( ) {static int i=0; int s=1; S+=i;i++; Return (s); } main( ) { int i,a=0; for (i=0; i<5;i++) a+=f( ); printf(“%d \n”,a);
} 执行结果是 程序四#includen2)m-nl: else m=n2. returnm
} 执行结果是 。 程序四 # include main ( ) {int k=4,m=1,p; p=func(k,m); printf(“%d”,p); p=func(k,m); printf(“%d\n”,p); } func(int a, int b) { static int m=0 ,i=2; i+=m+1; m=i+a+b; return(m); } 执行结果是 。 上机实验 1.目的和要求 ⑴掌握函数的定义和调用 ⑵掌握变量的使用 ⑶理解内部函数和外部函数 2.实验内容 ⑴ 定义一个函数,分别用现代风格和传统风格求两个数中的最大数。 程序如下: ①现代风格: int max(int n1 ,int n2) { int m; if (n1>n2)m=n1; else m=n2; return m;
②传统风格: int max(n1,n2) int nl.n2. int m; if(nl>n2) m=nl; else m-n2 return m. 要求: 1,比较两种风格,有什么区别 2把程序补充完整并运行程序。 3.Return可以有多个吗? (2)编一函数,求x的n次方的值,其中n是整数。 程序如下: double power(doublex,intn) inti=0; doublep=1.0. while(i<n) {p=p*x.i++.) returnp; #include<stdio.h main() doublex.f
} ②传统风格: int max(n1,n2) int n1,n2; { int m; if (n1 >n2) m=n1; else m=n2; return m; } 要求: 1.比较两种风格,有什么区别? 2.把程序补充完整并运行程序。 3.Return 可以有多个吗? ⑵编一函数,求 x 的 n 次方的值,其中 n 是整数。 程序如下: double power(double x, int n) { int i=0; double p=1,0; while (i main ( ) { double x,f;
intn; double power9double,int) printf("enter the number:x,n(int )!n"). scanf(%if,%d”,&x,&n, f-power (x,n); printf("value=%6.2f In"f); 要求: 1.调试运行程序。 2.把while循环语句换成for循环语句
int n; double power 9double,int); printf(“enter the number :x,n(int )!\n”); scanf(“%if,%d”,&x,&n); f=power (x,n); printf(“value=%6.2f \n”,f); } 要求: 1. 调试运行程序。 2. 把 while 循环语句换成 for 循环语句