C语言高级编程实验指导书.doc
实验一、熟悉开发平台、常用工具实验目的掌握linu常用命令、vi编辑器实验要求熟练使用该节介绍的linux命令、使用vi创建、编辑、保存文件实验平台PC机、ubuntu 10.04实验步骤(一)熟悉常用命令1. man命名查看常用命令函数的具体用法2. cd切换目录3. ls命令查看目录内容4. pwd命令查看当前路径5. useradd添加用户smb6. passwd设置smb的密码7. su切换到root用户8. exit退出root9. touch命令在smb目录新建test文件10. mkdir在smb目录创建dir、dir1目录11. cp命令拷贝test文件到/tmp12. cp命令拷贝dir目录到/tmp13. mv命令讲test改名为test114. mv移动dir目录到/tmp15. rm命令删除test116. rm命令删除dir1目录17. 新建目录dir2,使用tar命令打包与压缩18. chmod命令修改test2权限19. df命令查看磁盘使用情况20. du命令查看目录大小21. grep命令查找字符串22. deluser删除smb账号23. 删除/home/smb目录(二)熟悉vi编辑器1. vi hello.c2. 按i键进入插入模式3. 插入模式下输入文字hello world4. 按ESC退出到命令行模式5. 按shift加;键,即冒号进入末行模式6. 键入wq保存、退出7. 将文件/etc/fstab拷贝到当前目录8. 用vi打开fstab9. 在底行模式下,输入set nu显示行号10. 将光标移动到第5行,命令5G11. 复制该行以下两行,2yy12. 将光标移到最后一行行首G13. 粘贴复制的内容p14. 删除上步粘贴的2行2dd15. 撤销上步命令u16. 查找字符串sda17. 强制退出q18. 删除fstab实验二、GCC编译器的使用实验目的学会使用gcc编译器、学会编译makefile实验要求1、编写一个应用程序,使用GCC编译,并分别使用-o,-g,等选项。2、编写makefile实现平台PC、ubuntu 10.04实验步骤(一)、GCC基本功能使用1、 先用vi编辑hello.c文件,内容是输出hello,world的C代码。2、 使用gcc编译器编译hello.c生成可执行文件hello3、 使用-E选项只进行预处理,生成文件hello.i4、 使用cat查看hello.i的内容5、 使用-S选项只编译不汇编,生成hello.s文件6、 使用-c选项只编译不连接,生成hello.o文件7、 将编译好的hello.o生成可执行文件hello8、 使用-static选项静态编译hello,对比静态编译 和动态编译得到的文件大小9、 使用-O2选项优化编译hello.c得到hello1,与不优化得到的的hello进行比较(二)、使用make编译程序1、 先用vi编译几个简单的c程序,有两个文件组成/*Filefun.c*/include “fun.h”int max_funint x, int y ifx y return x;elsereturn y; /*Filemain.c */include”fun.h”int mainvoidint a, b;printf“Please enter the number a an bn”;int max 0;max max_funa, b;printf“The max number is dn”;return 0;/*Filefun.h*/include stdio.hextern int max_funint x, int y;2、 用gcc编译出可执行文件main,并运行查看结果。3、 用vi编辑Makefile/*FileMakefile*/mainmain.o fun.ogcc main.o fun.o -o mainmain.omain.c fun.hgcc -c main.c -o main.ofun.ofun.c fun.hgcc -c fun.c -o fun.ocleanrm -f main *.o4、 通过输入make编译程序,查看并运行可执行文件main5、 使用变量简化makefile/*FileMakefile*/OBJSmain.o fun.oCCgccCFLAGS-cmain OBJS CC OBJS -o mainmain.omain.c fun.h CC CFLAGS main.c -o main.ofun.ofun.c fun.h CC CFLAGS fun.c -o fun.ocleanrm -f main *.o6、 使用自动变量简化makefile/*FileMakefile*/OBJSmain.o fun.oCCgccCFLAGS-cmain OBJS CC -o main.omain.c fun.h CC CFLAGS -o fun.ofun.c fun.h CC CFLAGS -o cleanrm -f main *.o7、 自行查阅有关资料,了解如何使用变量、自动变量、隐式规则等简化makefile/*FileMakefile*/OBJSmain.o fun.oCCgccCFLAGS-cmain OBJS CC -o cleanrm -f main *.o8、 使用模式规则简化makefile/*FileMakefile*/OBJSmain.o fun.oCCgccCFLAGS-cmain OBJS CC -o .o.c CC CFLAGS -o cleanrm -f main *.o实验三、GDB调试器的使用(未完)实验目的学会使用gdb调试器的使用实验要求编写一个应用程序,使用gdb编译,调试中使用指导书介绍的所有命令实现平台PC、ubuntu 10.04实验步骤1. 先用vi编辑文件test.cinclude stdio.hint mainvoid int sumint sum;int i,result0;sum100;fori1;i100;i resulti;printfThe sum in main function is dn,result;int sumint num int i,n0; fori1;inum;i ni; printfThe sum in sum function is dn,n;2. 将test.c文件编程成包含标准调试信息的文件test,命令gcc g test.c o test3. 启动gdb进行调试4. llist命令5. bbreakpoint命令6. info命令7. rrun命令8. pprint命令9. sstep命令10. nnext命令11. finish命令12. c命令13. qquit命令14. watch命令