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

作业本_《C程序设计Ⅱ》答案(4)

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

6.下面程序执行FOR循环时,j的初值是 3 ,终值是 0 。 #include “stdio.h” #define BOT (-2) #define TOP (BOT+5) #define PRI(arg) printf(“%d\\n”,arg) #define FOR(arg) for(;(arg);(arg)--) void main() { int i=BOT,j=TOP; FOR(j) switch(j) { case 1: PRI(i++); case 2: PRI(j); break; default: PRI(i); } }

7.下面程序的运行结果是 1 12 123 1234

TABLE 。

#include “stdio.h” #define PRI printf #define NL “\\n” #define D “%d” #define D1 D NL #define D2 D D NL #define D3 D D D NL #define D4 D D D D NL #define S “%s” void main() { int a,b,c,d; char string[]=“TABLE”; a=1; b=2; c=3; d=4; PRI(D1,a); PRI(D2,a,b); PRI(D3,a,b,c); PRI(D4,a,b,c,d);

15

PRI(S,string); }

8.设有以下程序,为使之正确运行,请填入应包含的命令行。 /* a.c */ #include #include “myfile.txt” void main() { try_me();} /* 函数调用 */ /* myfile.txt */ 注:try_me()函数在myfile.txt中有定义 void try_me() { char c; if((c=getchar())!=‘\\n’) try_me(); putchar(c); }

9.以下程序的运行结果是 c=2 。 #include “stdio.h” #define DEBUG void main() { int a=20,b=10,c; c=a/b; #ifndef DEBUG printf(“a=%o,b=%o,”,a,b); #endif printf(“c=%d\\n”,c); }

10.以下程序的输出结果为 c language 。 #include “stdio.h” #define LETTER 0 void main() { char str[20]=“C Language”,c;

int i=0;

while((c=str[i++])!=‘\\0’) { #if LETTER if(c>=‘a’&&c<=‘z’) c=c-32; #else if(c>=‘A’&&c<=‘Z’) c=c+32; #endif printf(“%c”,c);

16

}

}

三、编程题(共20分,每题10分)

1.输入两个整数,求它们相除的余数。用带参的宏来编程实现。

2.试定义一个带参的宏swap(x,y),以实现两个整数之间的交换,并利用它将一维数组a和b的值

进行交换。

17

1.

#define MOD(x,y) ((x)%(y)) #include \void main() {

int a,b,c;

scanf(\,&a,&b); c=MOD(a,b);

printf(\,a,b,c); }

2.

#define swap2(x,y){int s=x;x=y;y=s;} #include

void main() { int a1[3]={1,2,3}; int a2[3]={11,12,13}; int i;

printf(\交换前 a1:\\n\); for (i=0;i<3;i++)

printf(\,a1[i]);

printf(\);

printf(\交换前 a2:\\n\); for (i=0;i<3;i++)

printf(\,a2[i]);

printf(\);

for(i=0;i<3;i++) { swap2(a1[i],a2[i]); }

printf(\交换后 a1:\\n\); for (i=0;i<3;i++)

printf(\,a1[i]);

printf(\);

printf(\交换后 a2:\\n\); for (i=0;i<3;i++)

printf(\,a2[i]);

printf(\); }

18

第九部分 指 针

一、选择题(共20分,每题1分)

1.若已定义:int *p,a;,则语句p=&a;中的运算符“&”的含义是 D 。

A.位与运算 B.逻辑与运算 C.取指针内容 D.取变量地址 2.若有定义int a[10],*p=a; ,则p+5表示 A 。

A.元素a[5]的地址 B.元素a[5]的值 C.元素a[6]的地址 D.元素a[6]的值

3.若有定义int a[5],*p=a; ,则对a数组元素的正确引用是 D 。

A.*&a[5] B.a+2 C.*(p+5) D.*(a+2) 4.下列选项中正确的语句组是___D___。

A.char s[8]; s={\.char *s; s={\C.char s[8]; s=\.char *s; s=\

5.若有说明:int i, j=2,*p=&i; ,则能完成i=j赋值功能的语句是 B 。

A.i=*p; B.*p=j; C.i=&j; D.i=&p;

6.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是 D 。

A.a,point,*&a B.&*a,&a,*point C.*&point,*point,&a D.&a,&*point ,point

7.若有定义:int a[2][3], 则对a数组的第i行j列元素地址的正确引用为 D 。

A.*(a[i]+j) B.(a+i) C.*(a+j) D.a[i]+j 8.有以下函数,该函数的返回值是 C 。

int fun(int *p) { return *p;}

A.不确定的值 B.形参p中存放的值 C.形参p所指存储单元中的值 D.形参p的地址值

9.若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;

其中 0

A.a[p-a] B.*(&a[i]) C.p[i] D.a[10]

10.定义一个函数实现交换x和y的值,并将结果返回。能够实现此功能的是 C 。

A.void swapa(int x,int y) B.void swapb(int *x,int *y)

{ int temp; { int temp;

temp=x;x=y;y=temp; temp=x;x=y;y=temp; } }

C.void swapc(int *x,int *y) D.void swapd(int *x,int *y)

{ int temp; { int *temp;

temp=*x;*x=*y;*y=temp; temp=x;x=y;y=temp; } }

19

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库作业本_《C程序设计Ⅱ》答案(4)在线全文阅读。

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