C语言程序设计习题(6)

2019-08-30 22:30

printf(\ }

swap(int *p,int*q); {int *t,a; t=&a;

*t=*p; *p=*q; *q=*t; }

B) main()

{int a=10,b=20; swap(&a,&b);

printf(\ }

swap(int *p,int*q); {int t;

t=*p; *p=*q; *q=t; }

C) main() {int *a,*b; *a=20,*b=20; swap(a,b);

printf(\ }

swap(int *p,int*q) {int *t;

t=p; p=q; q=t; }

D) main()

{int a=10,b=20; int *x=&a,*y=&b; swap(x,y);

printf(\ }

swap(int *p,int*q) {int t;

t=*p;*p=*q; *q=t; }

二、 填空题

[8.13] 以下程序段的输出结果是_____.

int *var,b;

ab=100; var =&ab; ab=*var+10; printf (\

[8.14] 以下程序的输出结果是_____.

int ast(int x, int y, int *cp,int *dp) {*cp=c+y; *dp=x-y; }

main()

{int a,b,c,d; a=4;b=3;

ast(a,b,&c,&d);

printf(\}

[8.15] 若有定义:char ch;

(1)使指针p可以指向变量ch的定义语句是_____. (2)使指针p可以指向变量ch的赋值语句是_____.

(3)通过指针p给变量ch读入字符的scanf函数调用语句是_____. (4)通过指针p给变量ch赋字符的语句是______. (5)通过指针p输出ch中字符的语句是_____.

[8.16] 若有图8.5所示五个连续的int类型 的 存储单元并赋值如图,且 p和s的基本类型皆为int,p已指向存储单元a[1].

(1)通过指针p,给s赋值,使其指向最后一个存储单元a[4]的语句是____. (2)用以移动指针s,使之指向中间的存储单元 a[2]的表达式是_____. (3)已知k=2,指针s已指向存储单元a[2],表达式*(S+k)的值是_____. (4)指针s已指向存储单元a[2],不移动指针s,通过s引用存储单元a[3]的 表达式是____.

(5)指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是____. (6)若p指向存储单元a[0],则以下语句的输出结果是_____.

for(i=0;i<5;i++)printf(\ printf(\

三、 编程题

[8.17] 请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,

并通过形参传送回调用函数.

[8.18] 请编写函数,对传送过来的三个数选出最大和最小数,

并通过形参传回调用函数.

第九章 数组

一、选择题

[9.1] 若已定义:

int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;

其中0<=i<=9,则对a数组元素的引用不正确的是

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

[9.2] 以下程序段数组所有元素输入数据,应在下划线填入的是

A) a+(i++) B) &a[i+1] C) a+i D) &a[++i]

main()

{ int a[10],i=0;

while(i<10) scanf(\_); . . }

[9.3] 以下程序的输出结果是

A) 3 B) 4 C) 1 D) 2

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\

[9.4] 以下程序的输出结果是

A) 不确定的值 B) 3 C) 2 D) 1

main()

{ int n[2]={0},i,j,k=2; for(i=0;i

for(j=0;i

[9.5] 以下程序的输出结果是 A)17 B)18 C)19 D)20

main()

{ int a[]={2,4,6,8,10},y=1,x,*p; p=&a[1];

for(x=0;x<3;x++) y+=*(p+x); printf(\}

[9.6] 以下程序的输出结果是

A) 6 B) 8 C) 4 D) 2

main()

{ int a[]={2,4,6,8},*p=a,i; for(i=0;ia,4;i++) a[i]=*p++; printf(\}

[9.7] 以下程序的输出结果是

A) 720 B) 120 C) 24 D) 6

f(int b[],int n) { int i,r=1;

for(i=0;i<=n;i++) r=r*b[i]; return r; }

main()

{ int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3);

printf(\}

[9.8] 以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是

A) 212 B) 204 C) 1a4 D) 1a6

main()

{ int a[]={1,2,3,4,5,6,7,8,9,0},*p; p=a;

printf(\ printf(\}

[9.9] 以下程序的输出结果是

A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234

fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i

{ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; i++; j--; } }

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a; fun(p,0,3); fun(p,4,9); fun(p,0,9); for(i=0;i<10;i++) printf(\}

[9.10] 以下程序的输出结果是

A) 4 4 B) 2 2 C) 2 4 D) 4 6

main()

{ int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p;

printf(\ printf(\

}

[9.11] 当运行以下程序时输入三行,每行都是在第一列上开始,<CR>代表Enter键; a

b cdef 则程序的输出结果是

A)abcdef B)a C)a D)a

b b b c cd cdef d e f

#include \#define N 6 main()

{ char c[N]; int i=0;

for(i=0;i

[9.12] 若有定义和语句:

int c[4][5],(*cp)[5]; cp=c; 则对C数组元素的引用正确的是

A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)

[9.13] 若已定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0]; 则能够正确表示数组元素a[1][2]的表达式是

A) *((*prt+1)[2]) B) *(*(p+5)) C) (*prt+1)+2 D) *(*(a+1)+2)

[9.14] 若有定义和语句:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p[4],i; for(i=0;i<4;i++) p[i]=a[i]; 则下能够正确表示a数组元素的表达式是

A) a[4][3] B) p[0][0] C) prt[2][2] D)(*(p+1))[1]

[9.15] 以下程序的输出结果是

A) 23 B) 26 C) 33 D) 36

main()

{ int aa[3][3]={{2},{4},{6}},i,*p=&aa[0][0]; for(i=0;i<2;i++)

{ if(i==0) aa[i][i+1]=*P+1; else ++p;


C语言程序设计习题(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:GIS组合电器概述

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: