西安交通大学15春学期《程序设计基础》离线作业

发布时间 : 星期五 文章西安交通大学15春学期《程序设计基础》离线作业更新完毕开始阅读

《程序设计基础》

1.下面关于表达式:int i,*ip=&i说法正确的是( ) A.此表达式写法错误

B.此表达式表示用&i对ip进行初始化 C.此表达式表示用&i对*ip进行初始化 D.此表达式表示用&i分别对*ip和i进行初始化 2.关于指针,下列说法错误的是( ) A.指针变量是用来存放内存地址的 B.&表示取变量地址运算

C.*表示取指针变量所指向的变量内容的运算 D.可以将整数赋给指针变量 3.对于如下的表达式: int a[3][4],*p; p=*a;

执行p++操作之后,*p表示取( )的内容. A.a[0][0]

B.a[1][0]

C.a[1][1]

D.a[0][1]

4.以下说法错误的是( )

A.int (*p)( ) ; 表示p被定义为一个指向返回值为整数的函数的指针 B.使用指向函数的指针是结构化程序设计的一种有效手段. C.char **p相当于char *(*p)

D.指针数组的元素补仅能存放地址,还可以存放其他数组的元素.

三、问答题

1.用指针设计一个可以计算字符串长度的程序.

- 21 -

《程序设计基础》

2.编写一个可以实际交换两个变量数值的函数.

3.想输出a数组10个元素,用以下程序行不行?为什么?请修改程序使之能实现题目要求. #include void main() {

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

printf(\; } }

- 22 -

《程序设计基础》

4.写出下面2个程序的运行结果. (1) #include int max(int x ,int y) {

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

void main() {

int a=10,b=12; int (*p)(); p=max;

printf(\}

(2) #include void main() {

char *ps=\ int n=10; ps+=n;

printf(\}

(3) #include void main() {

- 23 -

《程序设计基础》

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

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

int j;

for(j=0;j<3;j++)

{printf(\ printf(\ } }

5.写一个程序,求一个字符串的长度,在main函数中输入字符串,并输出其长度.

- 24 -

联系合同范文客服:xxxxx#qq.com(#替换为@)