77范文网 - 专业文章范例文档资料分享平台

C语言程序设计基础教程 - 习题答案(4)

来源:网络收集 时间:2019-01-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

A) 由主程序与子程序构成 B) 由多个主函数与多个子函数构成 C) 由主函数与子函数构成 D) 由一个主函数与多个子函数构成 7.1.2 C语言在程序开始执行时,其正确的描述是(B )

A) 由编写程序语句的顺序格式执行 B) 在主函数main()开始处执行 C) 在第一个子函数处执行 D) 由人随机选择执行 7.1.3 下列有关函数错误的描述是(A )

A) C语言中允许函数嵌套定义 B) C语言中允许函数递归调用 C) 调用函数时,实参与形参的个数、类型需完全一致 D) C语言函数的缺省数据类型是int类型

7.1.4 在C语言中,各个函数之间具有的关系是(D )

A) 不允许直接递归调用,也不允许间接递归调用 B) 允许直接递归调用,不允许间接递归调用 C) 不允许直接递归调用,允许间接递归调用 D) 允许直接递归调用,也允许间接递归调用 7.1.5 在C语言中,函数的返回值的类型是由(D )

A) C语言的编译程序,在程序编译时决定 B) 由调用该函数的主调函数所决定

C) 由return语句的表达式的类型所决定 D) 由定义该函数时指定的函数类型所决定

7.1.6 当调用函数时,如果实参是一个数组名,则向函数传送的是(B )

A) 数组的首元素 B) 数组的首地址

C) 数组每个元素的地址 D) 数组每个元素中的值 7.1.7 对于以下程序,不正确的叙述是(A )

#include

void f(int n); /*函数说明*/ void main()

{ void f(int n); /*函数说明*/ f(5); }

void f(int n)

{ printf(\ }

A) 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B) 要求函数f无返回值,所以可用void将其类型定义为无值型

C) 在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调

用函数f

D) 对于上面程序的说明,编译时系统会提示出错信息:提示对f函数重复说明 7.1.8 以下程序的输出结果是(A )。

long fun( int n) { long s;

if(n==1 || n==2) s=2; else s=n-fun(n-1); return s;} void main()

{ printf(\

A) 1 B) 2 C) 3 D) 4 7.1.9 有以下程序执行后输出的结果是(C )。

int f1(int x,int y)

{ return x>y?x:y; } int f2(int x,int y)

{ return x>y?y:x; } main()

{int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e;

printf(\}

A)3,4,5 B)5,3,4 C)5,4,3 D)3,5,4 7.1.10 设有以下函数;

f(int a) { int b=0; static int c=3; b++;c++;

return(a+b+c); }

如果在下面的程序中调用该函数,则输出结果是(A )。 void main() { int a=2, i;

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

a) b) c) d) 7 7 7 7 8 9 10 7 9 11 13 7 A)a) B)b) C)c) D)d) 7.1.11 以下程序的输出结果是(C )。

int x=3; void main() { int i;

for(i=1;i

incre()

{ static int x=1; x*=x+1;

printf(\}

A)3 3 B)2 2 C)2 6 D)2 5

以下程序中的函数reverse的功能是将a所指数组中的内容进行逆置。程序运行后的输出结果是(A )。 void reverse(int a[],int n) {int i,t;

for(i=0;i

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} }

void main()

{int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8);

for(i=6;i<10;i++) s+=b[i]; printf(\}

A)22 B)10 C)34 D)30 7.1.13 程序运行后的输出结果是(C )。

#include void f(char p[][10],int n) { char t[20]; int i,j; for(i=0;i

{ strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} }

void main()

{char p[][10]={\ f(p,5); printf(\}

A)6 B)4 C)5 D)3

7.2 填空题

7.2.1 在C语言中,除主函数外,其子函数分为 标准库函数、自定义函数 两类。 7.2.2 变量在程序使用中,其作用域可分为 全局 变量和 局部 变量。 7.2.3 以下函数用以求x的y次方,请补充填空。

double fun ( double x , int y ) { int i; double z;

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

7.2.4 以下程序的功能是计算 s?long f(int n)

{ int i; long s; s= 1 ; 7.1.12

?k!,请补充填空。

k?0n

for(i=1; i<=n; i++) s= s*i ; return s; main()

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

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

习题八

8.1 选择题 8.4.1 下面各语句行中,能正确进行赋字符串操作的语句行是 ( C)

A) char s[4][5]={ \ B) char s[5]={?a?,?b?,?c?,?e?,?f?}; C) char *s; s=\ D) char *s=; scanf(“%s”,s); 8.4.2 正确的数组定义语句为 (D )

A) int A[“a”]; B) int A[3,5]; C) int A[ ][ ]; D) int *A[3]; 8.4.3 若有以下说明和语句,对c数组元素的正确引用是(D)

int c[4][5], (*cp)[5]; cp=c;

A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2) 8.4.4 执行下列语句后,其输出结果为 (B )

#include void main()

{ int **k, *j, i=100; j=&i; k=&j;

printf(\}

A) 运行错误 B) 100 C) i的地址 D) j的地址 8.4.5 设有如下的程序段:

char str[ ]=\char *ptr;ptr=str;

执行上面的程序段后,*(ptr+5)的值为( B )

A) 'o' B) '\\0' C) 不确定的值 D) 'o'的地址 8.4.6 若有说明:long *p,a;

则不能通过scanf语句正确给输入项读入数据的程序段是(A)。 A)*p=&a;scanf(\ B)p=(long *)malloc(8);scanf(\

C)scanf(\ D)scanf(\8.4.7 下面函数的功能是(B )

sss(s, t) char *s, *t;

{ while((*s)&&(*t)&&(*t++==*s++)); return(*s-*t);}

A) 求字符串的长度 B) 比较两个字符串的大小

C) 将字符串s复制到字符串t中 D) 将字符串s接续到字符串t中 8.4.8 请选出以下程序的输出结果(B )

#include sub(x,y,z) int x, y, *z; { *z=y-x; } void main() { int a, b, c;

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

A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7 8.4.9 下面函数的功能是(A)

int fun1(char*x) { char *y=x; while(*y++); return(y-x-1); }

A)求字符串的长度 B)比较两个字符串的大小 C)将字符串x复制到字符串y D)将字符串x连接到字符串y后面 8.2 填空题

8.2.1 在指针的概念中,“*”表示的含义是所指对象的内容,而“&”表示的含义是 取变量的地址 。

8.2.2 如果p是一个指针,那么*&p表示的含义是 P ,而&*p表示的含义是

P 。

8.2.3 统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请

填空。

#include #include void main( ) { int num[26],i; char c,*pc=&c;

for(i=0; i<26; i++) num[i]=0;

while( (c(或者*pc)=getchar()) !='#') /*统计从终端输入的大写字母个数*/

if( isupper(*pc)) num[*p-65]+=1;

for(i=0; i<26; i++) /*输出大写字母和该字母的个数*/ if(num[i]) printf(“%c: %d\\n”, i+?A?, num[i] );

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计基础教程 - 习题答案(4)在线全文阅读。

C语言程序设计基础教程 - 习题答案(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/415110.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: