好文档 - 专业文书写作范文服务资料分享网站

C语言第七八章补充作业 答案

天下 分享 时间: 加入收藏 我要投稿 点赞

[3] #include <> #include <> main() {

char a[80], b[] = “ab”, max; int i = 1, j;

printf(“Input a string\\n”); gets(a); puts(a); max = a[0];

while (a[i] != ‘\\0') {

if (a[i] > max) {

max = a[i]; j = i; } i++; }

for (i=strlen(a)+2; i>j; i--) a[i] = a[i-2]; a[i+1] = ‘a'; a[i+2] = ‘b'; puts(a); }

第八章 函数补充作

【题1】以下正确的说法是 B 。

建立函数的目的之一是 A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存

【题2】以下正确的说法是 B 。

A) 用户若需调用标准库函数,调用前必须重新定义

B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C) 系统根本不允许用户重新定义标准库函数

D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

【题3】若调用一个函数,且此函数中没有return语句,则正确的说法是 D 。 该函数 A)没有返回值 B)返回若干个系统默认值

C)能返回一个用户所希望的函数值 D)返回一个不确定的值

【题4】以下不正确的说法是 D 。

C语言规定 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以为任意类型

D)形参应与其对应的实参类型一致 【题5】以下正确的说法是 C 。

A) 定义函数时,形参的类型说明可以放在函数体内 B) return后边的值不能为表达式

C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 D) 如果形参与实参的类型不一致,以实参类型为准

【题6】以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空。 sub(int k,int n) {

int a1,a2;

a2=【1】; (为:C) a1=k-【2】; (为:A)

if((k%3==0&&a2==5)||(k%3==0&&a1==5)) {

printf(“%d”,k); n++; return n; }

else return -1; } main() {

int n=0,k,m; for(k=10;k<=99;k++) {

m=sub(k,n); if(m!=-1) n=m;

}

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

【1】 A)k*10 B)k_x0010_ C)k/10 D)k*10_x0010_ 【2】 A)a2*10 B)a2 C)a2/10 D)a2_x0010_

【题7】折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数binary的作用是应用折半查找法从存有10个整数的a数组中对关键字m进行查找,若找到,返回其下标值;返回-1。请选择填空。 binary(int a[10],int m) {

int low=0,high=9,mid; while(low<=high) {

mid=(low+high)/2;

if(ma[mid]) 【2】; (为:B) else return(mid); }

return(-1); }

【1】 A)high=mid-1 B)low=mid+1 C)high=mid+1 D)low=mid-1 【2】 A)high=mid-1 B)low=mid+1 C)high=mid+1 D)low=mid-1

【题8】以下程序的正确运行结果是 D 。 #define MAX 10 int a[MAX],i; main() {

printf(“\\n”); sub1(); sub3(a); sub2(); sub3(a); } sub2() {

int a[MAX],i,max; max=5;

for(i=0;i

for(i=0;i

sub3(int a[]) { int i;

for(i=0;i

A) 0 2 4 6 8 10 12 14 16 18 0 1 2 3 4 B) 0 1 2 3 4

0 2 4 6 8 10 12 14 16 18 C) 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4

D) 0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18

【题9】以下程序的功能是用递归方法计算五位学生的年龄,请填空。 递归公式如下:

10(n?1)?age(n)? ?age(n?1)?2(n?1)? #include <>

age(int n) { int c;

if(n==1) c=10; else c=【1】; return(c); } main() {

int n=5;

printf(“age:%d\\n”,【2】); }

【1】age(n-1)+2 【2】age(5)

【题10】以下search函数的功能是利用顺序查找法从数组a的10个元素中对关键字m进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字比较,

直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若仍未找到,则返回值-1。请填空。 #include <>

int search(int a[10],int m) { int i;

for(i=0;i<=9;i++) if(【 1】) return(i); return(-1); } main() {

int a[10],m,i,no; …

);【2】 no=search( nOK FOUND!%d”,no+1);】) printf(“ if(【3\\ \\ else printf(“nSorry Not Found!”); } 3 【】no>=0a,m 1 【】a[i]==m 【2】 。 【题11】以下程序的运行结果是 #include <> int k=1; main() { int i=4; fun(i);

n”,i,k);printf(“(1) %d,%d \\ } fun(int m) {

m+=k; k+=m; { char k=‘B';

-‘A');n”,kprintf(“(2) %d \\ } \\n”,m,k);printf(“(3) %d,%d } (2)1 (3)5,6 (1)4,6

】以下程序的运行结果是12【题 。 int n=1; main() {

static int x=5; int y; y=n;

printf(“MAIN:x=- y=- n=-\\n”,x,y,n); func();

printf(“MAIN:x=- y=- n=-\\n”,x,y,n); func(); } func() {

static int x=4; int y=10; x=x+2; n=n+10; y=y+n;

printf(“FUNC:x=- y=- n=-\\n”,x,y,n); }

MAIN:x=5 y=1 n=1 FANC:x=6 y=21 n=11 MAIN:x=5 y=1 n=11 FANC:x=8 y=31 n=21

C语言第七八章补充作业 答案

[3]#include#includemain(){chara[80],b[]=“ab”,max;inti=1,j;printf(“Inputastring\\n”);gets(a);puts(a);max=a[0];wh
推荐度:
点击下载文档文档为doc格式
2wmr79qcih4yj364q360565jb3urvy010xy
领取福利

微信扫码领取福利

微信扫码分享