UNIX程序设计课程设计报告简单的c实现和脚本.docx
- 文档编号:15173402
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:17
- 大小:207.85KB
UNIX程序设计课程设计报告简单的c实现和脚本.docx
《UNIX程序设计课程设计报告简单的c实现和脚本.docx》由会员分享,可在线阅读,更多相关《UNIX程序设计课程设计报告简单的c实现和脚本.docx(17页珍藏版)》请在冰点文库上搜索。
UNIX程序设计课程设计报告简单的c实现和脚本
广西大学计算机与电子信息学院
课程设计报告
(2015——2016年度第一学期)
名称:
UNIX程序设计课程设计
题目:
院系:
班级:
学号:
学生姓名:
指导教师:
葛志辉
设计周数:
成绩:
日期:
年月日
目录
1.设计任务1
3.设计步骤1
2.1开发环境配置1
2.2开发工具1
3.程序开发步骤1
4.遇到的问题及相应解决办法1
5.个人体会及建议1
参考文献2
1.设计任务
设计题目、任务及完成情况的大致说明,让老师能够了解你所做工作的大体情况。
(每个人都要独立完成下面三个题目,不要相互抄袭!
切记!
)
1、完成Linux下的shell编程,要利用shell编程实现某一个具体的功能。
2、完成Linux下的C语言编程,要求至少包括两个文件,比如一个test.c,test.h,test.h中包含了test.c中的声明,分别利用gcc和makefile进行编译。
3、完成Linux下PHP+MySQL的编程,能够完成一个简单的具有数据库存储功能的网站。
2.1开发环境配置
所以我用的是CentOS6.3版本,在该环境下面完成实验
1、Linux下本身就有shell功能,所以不需要配置,可以直接用。
2、而要用到gcc编译器,首先要检查Linux环境是否已经安装gcc,命令如图:
如果还没有安装:
1)首先配置yum源。
2)我的CentOS已经本身就配置好网络yum源:
用cat/etc/yum.repos.d/CentOS-Base.repo命令查看,网络yum配置,如图:
所以可以直接用。
3)yuminstallgcc–y命令来安装
2.2开发工具
1)vi的简单应用
vi是linux环境下赫赫有名的文本编辑工具之一。
进入vi编辑器的方法:
vifilename.c注:
文件名必须带有扩展名.c,如filename.c否则无法通过编译;
进入vi后要按:
按“i”键从命令方式切换到输入方式;
从输入方式切换到命令方式的方法:
按“Esc”键
保存文件:
w
保存文件并退出:
wq
不保存文件退出:
q!
注:
以上操作必须在命令方式下进行。
2)其他常用vi操作命令
j,k,h,l:
上下左右
0:
行首
$:
行尾
ctrl+f :
后翻页
ctrl+b:
前翻页
G :
文件尾
数字G:
数字所指定行
i,I :
插入命令,i 在当前光标处插入, I 行首插入
a,A:
追加命令,a 在当前光标后追加,A 在行末追加
o,O:
打开命令,o 在当前行下打开一行,O在当前行上插入一行
x:
删除光标处字符
dd:
删除当前行
d0:
删除光标前半行
d$:
删除光标后半行
r,R :
替换命令,r 替换当前光标处字符,R从光标处开始替换
/string:
查找字符串
n:
继续查找
N:
反向继续查找
% :
查找对应括号
u :
取消上次操作
注:
以上操作必须在命令方式下进行。
1.2.2gcc的使用
gcc是linux下的一种c程序编译工具,使用方法如下(有提示符#的情况):
编译:
gcc–ofilename1filename.c
其中:
filename.c是源文件名,filename1是目标文件名,o代表object
执行:
./filenamel
示例:
键入一简单的程序:
viab.c按回车键输入以下代码段,
#include
#include
main()
{printf(“aaaa”);
}
按ESC键,再按“:
WQ”(W是保存,Q是退出)
出现提示符:
[root@GGG-LINUXroot]#
键入:
gcc–oabab.c进行编译。
执行:
./ab
3.程序开发步骤
3.1、shell编程:
1)首先打开Linux操作系统,进入到根目录下,创建一个自己的目录,我把这个目录命名为lianxi(练习)
2)通过cd/lianxi进入到练习目录
3)在该目录下使用:
vimshell.sh然后实现shell编程,代码如下:
代码解析:
=============================================================
#!
/bin/bash
#function:
createdirectoryandemptyfile
#auther:
LuTeng
#time:
2015-12-17
#company:
Guanmgxiuniversity
##=============================#
echo"1.createdirectory"##输入1为创建目录文件夹
echo"2.createemptyfile"##输入2为创建空文件
echo"3.exit"##输入3退出
echo"pleaseinputyourchooseoption:
"
readOption##read用来读取输入操作
echo"yourchoose:
$Option"##输入
##============================###进入case语句
case$Optionin##输入1后的操作
1)
echo"pleasekeyinyourwanttocreatedirectoryPATH:
"
readc_path##输入路径,如:
/lianxi
cd$c_path##进入所输入的路径下
read-p"pleasekeyindirectoryname:
"d_name##输入所要创建文件夹名
mkdir${d_name}{1..10}##创建10个并且以1到10为区分的所输入文件夹名创建文件夹
ls#ls命令表示查看该目录下文件
;;
2)##如果选择第二个,则
echo"pleasekeyinyourwanttocreateemptyfilePATH"
readc_path
cd$c_path
read-p"pleasekeyinfilename"f_name##输入空文件名
touch${f_name}{1..10}##创建十个刚命名的文件名,以1到10为区分
ls
;;
3)##如果选择3则退出
exit
;;
*)
echo"pleaseinput1/2/3"
;;
Esac
执行结果如图:
1)创建文件夹,文件夹名为:
Luteng
2)创建空文件:
文件名为love
3.2C语言编程:
3.21【gcc编译】
简单的.c和.h函数。
上为.c文件,下为.h文件,代码如图:
Test.c代码:
Max.c代码:
Min.c代码:
代码:
.c文件:
Test.c文件
#include
#include"max.h"
#include"min.h"
intmain()
{
inta1=54;
inta2=20;
intMaxNum=max(a1,a2);
intMinNum=min(a1,a2);
printf("themaxvalueis%d\ntheminvalueis%d\n",MaxNum,MinNum);
return0;
}
Max.c文件:
intmax(inta,intb)
{
if(a>b){
returna;
}else{
returnb;
}
}
Min.c文件:
intmin(inta,intb)
{
if(a
returna;
}else{
returnb;
}
}
声明.h(库文件)头文件:
对max.c声明库文件:
编辑max.h:
即:
intmax(inta,intb);
对min.c声明库文件:
编辑min.h
即:
intmin(inta,intb);
通过gcc对min.c和max.c将其编译成二进制语言min.o和max.o:
命令:
gcc–cmin.c–omin.o/gcc–cmax.c–omax.o
生成min.o和max.o文件后进行编译成可执行文件:
命令:
gccmin.omax.otest.c-otest.out回车生成可执行文件,通过./test.out输出:
3.22【通过make工具和Makefile文件】
1)首先看是否安装了make工具,通过:
make–v来查看:
我的机器安装的是Make3.18版本
2)制作Makefile文件:
Makefile文件内容:
Makefile文件以依赖方式写,并且呈现递归:
#thisismakefile##注释,写说明
test.out:
max.omin.otest.c##test.out的对应的依赖关系
gccmax.omin.otest.c–otest.out##命令:
编译成test命名的.out文件的gcc命令
max.o:
max.c##max.o对应的依赖包
gcc-cmax.c##生成max.o的gcc命令
min.o:
min.c##min.o对应的依赖关系包
gcc-cmin.c##生成min.o的gcc命令
写好Makefile文件后,在Makefile文件夹所在目录下,执行:
Make命令:
[root@bogontest]#ls
Makefilemax.cmax.hmin.cmin.htest.c
[root@bogontest]#make##编写Makefile后直接用make命令执行,就会将Makefile依赖关系由第二行开始执行,最后执行第一行
gcc-cmax.c
gcc-cmin.c
gccmax.omin.otest.c-otest.out
[root@bogontest]#ls##编译成可执行test.out文件
Makefilemax.cmax.hmax.omin.cmin.hmin.otest.ctest.out
[root@bogontest]#./test.out##编译后的输出结果
themaxvalueis54
theminvalueis20
[root@bogontest]#
-----------
3.3完成Linux下PHP+MySQL的编程,能够完成一个简单的具有数据库存储功能的网站。
1、首先通过这条命令来安装PHP和相关的数据库:
2、安装成功后:
3、启动Apache(阿帕奇),即hpptd:
4、启动MySQL:
5、测试是否环境配置成功:
5.1、先做一个测试程序:
在/var/www/html创建一个test.php,其内容:
5.2、测试:
在火狐浏览器中输入本地回环地址127.0.0.1/test.php:
成功显示需要有Apache和MySQL等相关内容:
以上说明已经安装成功。
3.31、代码实现数据库功能的网站:
首先配置MySQL用户和密码:
创建数据库:
显示库:
实现连接代码:
代码:
php
//php连接mysql数据库
$host='127.0.0.1';//服务器地址
$root='root';//数据库用户名
$pwd='123456';//数据库密码
$con=mysql_connect($host,$root,$pwd);
if($con==false){
echo"连接数据库失败";
}
else{
echo"欢迎来到我的测试网页";
echo("本月是:
");
echodate('Y-m');
}
?
>
执行结果:
成功
4到的问题及相应解决办法
在设计过程中出现的问题,以及你的解决方法,从调试中有什么收获。
出现的问题:
1、因为不太熟悉Linux环境,所以不知如何下手。
2、对于shell编程不了解
3、因为Linux环境下没有IDE环境,C语言的编程的环境不了解,不知道在Linux环境下应该怎么吧.h文件和.c文件分开。
不知道Makefile文件是什么,怎么制作。
解决方法:
1、上网了解Linux系统的基本情况,然后再根据网上教程在虚拟机中安装CentOS6.3版本。
同时在网上查看Linux的一些编程相关的vi编辑器的基本操作命令。
2、在图书馆找来shell的编程书籍,了解shell编程的基本语法,在再慕课网上看
相关的shell编程。
3、关于Makefile文件,在网上查找相关解释。
收获:
在解决问题的过程中,我学到了很多的Linux的环境编程,以及shell编程的相关语法,也了解了Linux系统的基本工作机制;至于Makefile相当于Windows系统下IDE环境下的库的依赖关系,在Linux中就需要我们自己去制作这个库的依赖关系,了解到Makefile是大型程序开发需要用到的。
所以在学习和查找资料的过程中受益匪浅。
5.个人体会及建议
对本次的课程设计的一个综合体会,从本次课程设计学到了什么,对本课程设计有什么建议都可以在这一部分体现出来。
参考文献
[1]作者1,作者2,……作者n文章名.期刊名.出版年,卷次(期次):
页次.(期刊类)
[2]作者1,作者2,……作者n.书名.版本.出版地:
出版社,出版年:
页次.(图书类)
[序号]http:
//具体的网址URL(网络类)
注意排版格式,目录是自动生成,学会用格式刷以及目录(鼠标右键)更新域。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIX 程序设计 课程设计 报告 简单 实现 脚本