ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:30.24KB ,
资源ID:3635021      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3635021.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第6章习题及解答0315Word文件下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第6章习题及解答0315Word文件下载.docx

1、 B 双向值传递 C 单向值传递D 地址传递10实参用数组名,则传递给对应形参的是( )。 A数组的地址 B数组的长度 C数组中每一个元素的地址 D数组中每一个元素的值【答】A11下列关于函数调用的描述中,错误的是( )。 A在函数调用中,形参是变量名,实参可以是变量、常量和表达式 B在函数调用中,形参是指针时,实参必须是地址值C在传址调用方式中,可以在被调用函数中改变调用函数的参数值D在传值调用方式中,可以在被调用函数中改变调用函数的参数值12下列关于函数返回值的论述中,错误的是( )。 A函数返回值能够实现函数间的数据传递 B函数返回值是由return实现的 C函数返回的值和值的类型是由返

2、回语句中表达式的值和类型决定的 D一个函数可有多条返回语句,但只可有一个返回值 【答】C13函数返回值的类型由( )。 A调用该函数的函数类型决定 Breturn语句中表达式的类型决定 C主函数决定 D该函数的函数类型决定14下列关于函数的论述中正确的是( )。A不允许函数嵌套定义,但允许函数嵌套调用B不允许函数嵌套调用,但允许函数嵌套定义C函数的定义和调用都允许嵌套D函数的定义和调用都不允许嵌套15下列关于函数调用的论述中不正确的是( )。A函数间允许嵌套调用 B函数间允许间接递归调用 C函数间允许直接递归调用 D函数间不允许直接递归调用16以下说法不正确的是( )。A所有的形式参数都是局部

3、变量B不同函数中允许说明并使用相同名字的变量C函数内定义的变量其有效范围不超出该函数D函数内的复合语句中说明的变量在该函数范围内有效17在本程序中能被所有函数使用的变量,其存储类别是( )。Aauto(自动) Bstatic(静态) Cregister(寄存器) Dexern(外部)【答】 D18在函数中未说明存储类别的局部变量,其隐含的存储类别是( )。19下列关于变量的论述中,不正确的是( )。A外部变量定义与外部变量声明,两者的含义不同B外部变量与静态外部变量的存储类型不同(即它们被分配的存储区不同)C在同一函数中,既可使用本函数中的局部变量又可使用与局部变量不同名的全局变量D在同一程序

4、中,外部变量与局部变量同名时,则在局部变量作用范围内外部变量不起作用【答】 B 20运行以下程序, 其输出结果是( )。void swap28(int n0,int n1) int temp;temp=n0;n0=n1;n1=temp;void swapl4(int n) int temp; temp=n0; n0=n1; n1=temp; void main() int a2=2,8,b2=1,4;swap28(a0,a1); swapl4(b); printf(“d d d dn”,a0,a1,b0, b1);A2814 B2841 C8241 D8214【答】 B二、填空题1若自定义函数

5、要求返回一个值,则在该函数体中应有一条 【1】 语句;若自定义函数要求不返回值,则在该函数说明时加一类型说明符 【2】 。【答案】【1】带有表达式的return【2】void2函数调用时的实参与对应的形参都是数组时,参数传递方式为 【1】 ;都是普通变量时,参数传递方式为 【2】 。【1】传地址【2】传值3静态局部变量的作用域是 【1】 。【1】定义它的函数或复合语句的内部4函数形参的作用域是 【1】 。全局的外部变量与函数体内定义的局部变量同名时,在函数体内, 【2】 变量起作用。【1】整个函数体内【2】局部5下列函数sub( )的功能是求两个参数的差,并将差值返回调用函数。该函数中错误的部

6、分是 【1】 ,改正后应为 【2】 。void sub(double x, double y) double z;z= x y;return z;【1】void sub(double x, double y)【2】double sub(double x, double y)6. 为了使下面程序能够正确运行,程序的第2行应填写的内容是 【1】 ,当输入的数值为66和99时,该程序输出的结果是 【2】 。#include 【1】 main() double x1,x2; scan(“lf,lf”,&x1,&x2) ;printf(“%lfn”,max(x2,x1) ;getch( ) ;doubl

7、e max(double y1,double y2)return(y1y2 ? y1y2 : y2-y1);【1】double max(double ,double ) ;【2】 33.000000 7. 下面程序,在函数sum( ) 中求(m + n)3 + (m - n)3的值,在主函数中为m、n输入10、7,并输出计算结果,请填空。int m,n;printf(“Please input m,n:”);scanf(“d,d”, 【2】 );printf(”The sum=dn”,sum(m,n);int sum(int i,int j)int k;k= 【3】 ;return k;【1】

8、int sum( );【2】&m,&n【3】(i+j)3+(i-j)3 8. 下面程序功能是求两个浮点数的和,程序内容如下, 请填空。double add(double x,double y,double p)p=x+y; double a=55.44, b=44.55 ; double k; add(a,b, 【2】 );printf(“2lfn”,k);【1】return(p);【2】k 注:输出的k值是不确定的!9下面程序的运行结果是 【1】 。void func(int br) int i=1; while(bri=10) printf(%5d,bri); i+; int ar=2,4

9、,8,10,8,4,11,9,7; func(ar + 1);n); getch();【1】 8 10 8 410. 函数acopyb将整型数组aarra的内容逆序复制到整型数组barra中(-32768作为数组元素值的结束标志),请填空。void acopyb(int aa ,int ba ) int i=0,j=0; while(aaj!=-32768) j+; baj=aaj; j-; while(aai!=-32768) 【2】 static int aarra=1,3,5,7,9,2,4,6,8,10,-32768; int barra20; int i=0; acopyb( 【1】

10、 ); while(barrai!=-32768)%3d, 【3】 );printf(【1】aarra ,barra 【2】baj=aai;【3】barrai+11. 在 【1】 处填写适当内容,使下面程序的输出结果为264。int func(int m, int n) return (m * n); int a=3,b=11,c=8,d; d=func(func( 【1】 ),c);%dn,d);【1】a ,b或者b , a12下面程序的输出结果为 【1】 。#include #define N 10void output(int *p,int n) int i; for(i=0;in; i

11、+),*p+); int xN,i, *q;N;i+) xi=2*i; q=x;output(q,N);for(i=0; i+) printf(,xi);【1】0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 1813. 函数small()从5x5矩阵(即从5行、5列二维数组)中,找出主对角线上元素的最小值。在主函数中为数组输入数据。请填写适当内容。int small(int a55) int i,vm; vm = a00; for(i =1;i aii) vm = 【1】 return(vm);int i,j,vmin; int array55;

12、for(i = 0;i+) for(j = 0;j max)【2】 =arrayij;return(max);【1】max_value(a)【2】max15下面程序的功能是调用选择排序法函数select( ),对数组中的整数按从小到大的顺序排列,请填写适当内容。void main( )void select(int a,int n); int b10,i;Input 10 numbers: 10; scanf(%d, 【1】 );select( 【2】 ,10);,bi); void select(int a,int n) int i,j,k,temp; n - 1;k = i; for(j

13、= i+1; n; if(aj ak) k=j; if(k 【3】 i)temp = ak; ak = 【4】 ; ai = temp;【1】&bi【2】b【3】!=【4】ai16下面程序的运行结果是 【1】 ,函数sort( )采用的算法是 【2】 。#define M 5#define N 6void sort(int a,int n)int i, j,temp;n-1; for (j=i+1;j if(ai aj) temp = ai; ai = aj; aj = temp;,ai);int i;int x=7,3,9,5,1;int y=46,55,91,64,82,73;sort(x

14、,M);sort(y,N);M;,yi);【1】 9 7 5 3 1 91 82 73 64 55 46 9 7 5 3 1【2】函数sort( )采用的是冒泡排序法。17下面程序的功能是利用函数的递归调用求1!+2!+3!+ +9!,请填写适当内容。long int fracsum(int n)if(n=1)return ( 1 );elsereturn (n* 【1】 ); int i=1;long int sum;sum= 【2】 while(i=9) sum+= 【3】 ;i+;%ldn,sum );【1】fracsum( n-1)【2】0【3】fracsum(i)18下面程序的功能是

15、 【1】 ,程序运行结果是 【2】 。 int fib(int n);10; if(i%5=0) printf() ;%10d,fib(i);int fib(int n) if(n=0 | n=1) return n; else return fib(n-2)+fib(n-1);【1】计算斐波那契(Fibonacci)数列前10项的值。【2】 0 1 1 2 35 8 13 21 3419运行下面程序,函数func( )中输出的结果是 【1】 ,主函数中输出的结果是【2】 。int n=10;int func(int p)n += p;p += n;%d,%dn,p,n);return (n)

16、; int m=6, pand=8; pand=func(m);n%d,%d,%dn,m,pand,n);【1】22 16【2】6 16 1620运行下面程序,输出的结果是 【1】 。int m,n;int fun( ) m=88; n=99; return ( n); int m=55, n=66;n%d,%d,%d,%dn,m, fun( ), m, n);【1】 55,99,55,6621运行下面程序,输出的结果是 【1】 。int m=9;int func(int a, int b ) int m=1;n%dn,+m); return (a*b-m); int x=2, y=35;,f

17、unc(x,y)/m);【1】2 和 722运行下面程序,函数fun( )中输出的结果是 【1】 ,主函数中输出的结果是【2】 。void fun(int s) static int i=0;int j; do si+=si+1;while( +i3 );for(j=0;5;j+) printf(,sj); int i,a10=0,1,2,3,4; for(i=1;3;i+) fun(a);i+) printf(【1】13534 13574【2】1357423运行下面程序,输出的结果是 【1】 。int n=98;int fun() static int n=1; n+=2; return (

18、n);n%d, %dn,+n,fun() );,n+,fun() );【1】101, 3 101, 5三、程序设计题1 输入任意3个整数,利用函数的嵌套调用,求出3个数中的最小值。参考程序代码如下: int mintwo(int, int); /*函数声明 */ int minthree(int,int,int); /*函数声明 */ int x,y,z,min;nPlease input three integer:%d,%d,%d,&x,&y,&z); min=minthree(x,y,z);nMin is %d,min);int mintwo(int a,int b) return(ab?a:b); /*使用条件表达式,并将计算结果返回 */int minthree(int a,int b,int c) int z; z=mintwo(a,b); /*嵌套调用函数mintwo()*/ z=mintwo(z,c); return(z);2 由键盘输入两个整数,编写两个函数,分别求这两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。long int gcd(long int,long int); /* 函数声明 */lo

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2