- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指针 实验
C语言程序设计实验报告
实验名称 指针 实验
实验目的
1.熟练掌握指针的说明、赋值、使用。
2.掌握用指针引用数组的元素,熟悉指向数组的指针的使用。
3.熟练掌握字符数组与字符串的使用,掌握指针数组及字符指针数组的用法。
4.掌握指针函数与函数指针的用法。
二、实验任务
1.源程序改错题
下面程序是否存在错误?如果存在,原因是什么?如果存在错误,要求在计算机上对这个例子程序进行调试修改,使之能够正确执行。
#include stdio.h
int main(void)
{
float *p;
scanf(%f,p);
printf(%f\n,*p);
return 0;
}
2.源程序完善、修改、替换题
(1)下面的程序通过函数指针和菜单选择来调用字符串拷贝函数或字符串连接函数,请在下划线处填写合适的表达式、语句、或代码片段来完善该程序。
#include stdio.h
#include string.h
int main(void)
{
char a[80],b[80],c[160],*result=c;
int choice,i;
do{
printf(\t\t1 copy string.\n);
printf(\t\t2 connect string.\n);
printf(\t\t3 exit.\n);
printf(\t\tinput a number (1-3) please!\n);
scanf(%d,choice);
}while(choice1 || choice5);
switch(choice){
case 1:
p=strcpy;
break;
case 2:
p=strcat;
break;
case 3:
goto down;
}
getchar();
printf(input the first string please!\n);
i=0;
printf(input the second string please!\n);
i=0;
result= (a,b);
printf(the result is %s\n,result);
down:
;
return 0;
}
(2)为了使程序不受scanf、getchar、gets等函数输入后回车符的影响,请修改第(1)题程序,按要求输出下面结果:((输入)表示该数据是键盘输入数据)
1 copy string.
2 connect string.
3 exit.
input a number (1-3) please!
2 (输入)
input the first string please!
the more you learn, (输入)
input the second string please!
the more you get. (输入)
the result is the more you learn,the more you get.
3.跟踪调试源程序
#include stdio.h
char *strcpy(char *,char *);
int main(void)
{
char a[20],b[60]=there is a boat on the lake.;
printf(%s\n,strcpy(a,b));
}
char *strcpy(char *s,char *t)
{
while(*s++=*t++)
;
return (s);
}
(1)单步执行。进入strcpy时watch窗口中s为何值?返回main时, watch窗口中s为何值?
(2)排除错误,使程序输出结果为:
there is a boat on the lake.
(3)选做:由于watch窗口中只显示s所指串的值,不显示s中存储的地址值,怎样才能观察到s值的变化呢?
4.程序设计
(1)一个长整型变量占4个字节,其中每个字节又分成高4位和低4位。试从该长整型变量的高字节开始,依次取出每个字节的高4位和低4位并以数字字符的形式进行显示。
(2)利用大小为n的指针数组指向用gets函数输入的n行,每行不超过80个字符。编写一个函数,它将每一行中连续的多个空格字符压缩为
文档评论(0)