1/13Linux操作系统教程课程设计题目:算术测试系统学号:22041240120姓名:严涛专业:信息工程2/13目录一、课程设计目的...........................................................................................................................3二、课程设计所需知识与开发工具...............................................................................................32.1、课程设计所需知识..................................................................................................................32.2、开发工具简介..........................................................................................................................6三、课程设计主要内容...................................................................................................................63.1、系统结构简介..........................................................................................................................63.2、系统功能模块的划分..............................................................................................................63.3、makefile介绍...........................................................................................................................73.4、makefile规则...........................................................................................................................7四、设计步骤...................................................................................................................................84.1、题量输入模块的实现与相关代码..........................................................................................84.2、出题模块的实现与相关代码..................................................................................................84.3、答题模块的实现与相关代码..................................................................................................94.4、检查计分模块的实现与相关代码........................................................................................104.5、评分模块的实现与相关代码................................................................................................10五、测试与调试.............................................................................................................................11六、总结.........................................................................................................................................136.1、成员分工................................................................................................................................136.2、心得于体会............................................................................................................................13七、参考文献.................................................................................................................................143/13一、课程设计目的1.熟悉linux基本操作命令;2.掌握linux环境下c语言编程;3.提高学生搜集资料的能力,以此解决遇到的各种问题。二、课程设计所需知识与开发工具2.1、课程设计所需知识1.linux基本操作命令:date显示系统日期;cal2007显示2007年的日历表;date041217002007.00设置日期和时间-月日时分年.秒;clock-w将时间修改保存到BIOS;shutdown-hnow关闭系统(1);init0关闭系统(2);telinit0关闭系统(3);shutdown-hhours:minutes&按预定时间关闭系统;shutdown-c取消按预定时间关闭系统;shutdown-rnow重启(1);reboot重启(2);logout注销;cd/home进入'/home'目录';cd..返回上一级目录;cd../..返回上两级目录;cd进入个人的主目录;cd~user1进入个人的主目录;cd-返回上次所在的目录;pwd显示工作路径;ls查看目录中的文件;ls-F查看目录中的文件;ls-l显示文件和目录的详细资料;ls-a显示隐藏文件;ls*[0-9]*显示包含数字的文件名和目录名;tree显示文件和目录由根目录开始的树形结构(1);lstree显示文件和目录由根目录开始的树形结构(2);mkdirdir1创建一个叫做'dir1'的目录';mkdirdir1dir2同时创建两个目录;mkdir-p/tmp/dir1/dir2创建一个目录树;rm-ffile1删除一个叫做'file1'的文件';rmdirdir1删除一个叫做'dir1'的目录';rm-rfdir1删除一个叫做'dir1'的目录并同时删除其内容;rm-rfdir1dir2同时删除两个目录及它们的内容;mvdir1new_dir重命名/移动一个目录;cpfile1file2复制一个文件;cpdir/*.复制一个目录下的所有文件到当前工作目录;cp-a/tmp/dir1.复制一个目录到当前工作目录;cp-adir1dir2复制一个目录;bunzip2file1.bz2解压一个叫做'file1.bz2'的文件;bzip2file1压缩一个叫做'file1'的文件;gunzipfile1.gz解压一个叫做'file1.gz'的文件;gzipfile1压缩一个叫做'file1'的文件;gzip-9file1最大程度压缩;rarafile1.rartest_file创建一个叫做'file1.rar'的包;rarafile1.rarfile1file2dir1同时压缩'file1','file2'以及目录'dir1';rarxfile1.rar解压rar包;unrarxfile1.rar解压rar包;tar-cvfarchive.tarfile1创建一个非压缩的tarball;tar-cvfarchive.tarfile1file2dir1创建一个包含了'file1','file2'以及'dir1'的档案文件;tar-tfarchive.tar显示一个包中的内容;tar-xvfarchive.tar释放一个包;tar-xvfarchive.tar-C/tmp将压缩包释放到/tmp目录下;tar-cvfjarchive.tar.bz2dir1创建一个bzip2格式的压缩包;tar-xvfjarchive.tar.bz2解压一个bzip2格式的压缩包;tar-cvfzarchive.tar.gzdir1创建一个gzip格式的压缩包;tar-xvfzarchive.tar.gz解压一个gzip格式的压缩包;zipfile1.zipfile1创建一个zip格式的压缩包;zip-rfile1.zipfile1file2dir1将几个文件和目录同时压缩成一个zip格式的压缩包;unzipfile1.zip解压一个zip格式压缩包;2.c语言程序开发相关知识;4/133.linuxvi编辑器的使用:进入vi的命令:vifilename:打开或新建文件,并将光标置于第一行首;vi+nfilename:打开文件,并将光标置于第n行首;vi+filename:打开文件,并将光标置于最后一行首;vi+/patternfilename:打开文件,并将光标置于第一个与pattern匹配的串处;vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filename;vifilename....filename:打开多个文件,依次进行编辑;移动光标类命令:h:光标左移一个字符;l:光标右移一个字符;space:光标右移一个字符;Backspace:光标左移一个字符;k或Ctrl+p:光标上移一行;j或Ctrl+n:光标下移一行;Enter:光标下移一行;w或W:光标右移一个字至字首;b或B:光标左移一个字至字首;e或E:光标右移一个字至字尾;):光标移至句尾;(:光标移至句首;}:光标移至段落最后一个字母;{:光标移至段落第一个字母;nG:光标移至第n行首;n+:光标下移n行;n-:光标上移n行;n$:光标移至第n行尾;H:光标移至屏幕顶行;M:光标移至屏幕中间行;L:光标移至屏幕最后行;0:(注意是数字零)光标移至当前行首;$:光标移至当前行尾;屏幕翻滚类命令:Ctrl+u:向文件首翻半屏;Ctrl+d:向文件尾翻半屏;Ctrl+f:向文件尾翻一屏;Ctrl+b;向文件首翻一屏;nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部;插入文本类命令:i:在光标前;I:在当前行首;a:光标后;A:在当前行尾;o:在当前行之下新开一行;O:在当前行之上新开一行;r:替换当前字符;R:替换当前字符及其后的字符,直至按ESC键;s