您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页实验九 指针

实验九 指针

来源:意榕旅游网
实验九 指针

(一)实验目的

1.通过实验进一步掌握指针的概念,会定义和使用指针变量; 2.能正确使用数组的指针和指向数组的指针变量; 3.能正确使用字符串的指针和指向字符串的指针变量; 4.能正确使用指向函数的指针变量;。

(二)实验内容

1.读程序

要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之,如有错误请修改。

(1) #include \"stdio.h\" main() {

int *p,a; a=2; p=&a;

printf(\"main1:a=%d\\n\ f(p);

printf(\"main2:*p=%d,a=%d\ }

f(int *x)

{ *x=10; }

(2) #include “stdio.h” main( ) {

static int a[]={1,2,3,4,5}; int *p=a;

printf(“%d”,*++p); printf(“%d”,*p++); printf(“%d”,(*p)++); printf(“%d\\n”,++*p); }

(3) 输入并调试运行以下程序,分析运行结果,理解二维数组中的行列指针的异同。

#include \"stdio.h\" main( )

{ static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int i,j,*p,(*q)[4] ; /* p为列指针变量,q为行指针变量 */ printf(\"\\n\");

for(p=a[0];p{ if((p-a[0])%4==0) printf(\"\\n\"); printf(\"%4d\

}

printf(\"\\n\\n\"); q=a;

for (i=2; i>=0; i--) { for(j=3; j>=0; j--)

printf(\"%4d\ printf(\"\\n\"); } }

2.完善程序

下面程序的功能是,输入一个阿拉伯数字序列,输出其对应的汉字大写形式.在程序的横线处填写正确的语句或表达式,使程序完整.上机调试程序,使程序的运行结果与给出的结果一致.

#include “stdio.h” main( ) {

char str1[80],*p=str1;

char *str2 [ ]={“零”,”壹”,”贰”,”叁”,”肆”,”伍”,”陆”,”柒”,”捌”,”玖”}; int i,x,len;

printf(“输入一串阿拉伯数字:\\n”); gets(p);

len=strlen(p);

for(i=0;_____________;i++) {

x=*(p+i)-48; /* 48为字符”0”的ASCII码 */ printf(“%s”,_______________); } }

运行结果:

输入一串阿拉伯数字: 135302↙ 壹叁伍叁零贰

3.将一个3X3的矩阵转置,用一函数实现之。 在主函数中用scanf函数输入以下矩阵元素: l 3 5 7 9 11 13 15 19

将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。

4.编写一个函数,将数组中n个数按反序存放。

实验步骤与要求:

(1) 在主函数中输入10个数,并输出排好序的数。

(2) 编写函数invert(int *p,int n)将10个数按反序存放。

5.编写一个函数,判断字符串是否为回文,若是返回1,否则返回0.要求形参用字符指针变量。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务