linux实验五编程淮海工学院,实验一-LinuxC编程工具GCC和GDB.doc

实验一-LinuxC编程工具GCC和GDB

淮海工学院计算机工程学院实验报告书

课程名: 《Linux程序设计》 题 目: 实验一 Linux C编程工具:GCC和GDB 班 级: 软件131 学 号: 2013122870 姓 名: 王裕

评语:

成绩: 指导教师:

批阅时间: 年 月 日

《Linux程序设计》实验报告 - PAGE 5 -

实验目的与要求掌握Linux C开发过程中的基本概念;掌握如GCC,GDB等开发工具的使用。实验内容将参考代码录入到test1.c文件中,编译执行后发现结果与预期不一致,请使用GDB调试,完成字符串反序输出功能。参考源代码#include #include #include

int reverse_str(char *string); int main (void) { char string[] = "Linux C Tools : GCC and GDB"; printf ("The original string is %s \n", string); reverse_str (string);}

int reverse_str (char *str) { char *new_str; int i, size; size = strlen (str); if((new_str = (char *) malloc (size + 1)) == NULL) { return -1; }

for (i = 0; i < size; i++) new_str[size - i] = str[i]; new_str[size+1] = ' '; printf("The reversed string is %s\n",new_str); free(new_str); return 0 ;}实验步骤编辑源代码test1.cmkdir test1cd test1gedit test1.c使用gedit编辑器,建议课外学习vim;分析代码中语句功能。编译源代码test1.cgcc test1.c -o test1 -g复习gcc常用选项;帮助学生排查编译时错误。分析输出结果调试test1 gdb test1回顾调试的基本方法:跟踪语句执行过程,观察执行结果;设置断点的三种基本方法:① b ② b if condition_expression③ b 查看中间输出结果:① p ② set print element 0p 或说明:GDB中查看字符串变量值可通过“set print element 0”命令,一次性显示字符串所有内容。分析中间结果,修改28行语句为new_str[size - i-1] = str[i];实验结果与截图编写test1.c文件并编译

2.设置断点,进行gdb测试跟踪变量。执行到i=27时size-i=0,str[27]已经超过str字符串限制,于是new_str[0]=’\0’。

输出new_str时,由于超过限制无法输出。所以修改程序第28行语句为new_str[size - i-1] = str[i];正确的程序运行结果如下图所示。

思考题分析以下代码,完成指定范围内数值累加功能:#include

/*函数功能:将low到high之间的数值累加求和*/int add_range(int low, int high) { int i, sum; for (i = low; i <= high; i++) sum = sum + i; return sum;}

int main(void) { int result[2];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值