(Linux实验报告汇总
(一)Shell编程
一、实验目的:
1)掌握在Linux下的C编程基本方法。
2)掌握shell编程方法。
3)掌握dialog图形化编程方法。
实验内容
编写能输出“Hello world!”问候语的C程序,并在终端中编译、执行。要求记录所使用的命令及结果。
#include "stdio.h"
main(){
printf("Hello world!\n");
}
2、编写一个C程序并设置其在后台执行,其功能是在一段时间后(可自行设置),在屏幕上显示信息:Time for play!,写出相应的程序、命令及结果。
#include "stdio.h"
main(){
int time=0;
printf("请输入等待时间(单位:s):");
scanf("%d",&time);
sleep(time);
printf("Time for play!\n");
}
3、编写C程序,求1到100之间整数的阶乘和,并对程序进行优化。写出程序、命令和结果。
#include "stdio.h"
main( )
{
int i;
double s = 1,sum = 0;
for( i= 1;i<= 100;i++)
sum+=s*=i;
printf( "1到100之间整数的阶乘和:%f\n",sum);
printf( "1到100之间整数的阶乘和:%e\n",sum);
}
4、编写C程序,根据键盘输入的半径求圆面积,要求在命令行使用不同的圆周率(PI=3.14,PI=3.14159,PI=3)进行编译,写出程序、命令和结果。
#include "stdio.h"
int main()
{
double r = 0.0 , Area = 0.0;
printf("请输入半径: ");
scanf("%lf", &r);
Area = PI * r * r;
printf("圆面积: %f\n", Area);
}
5、编写shell程序sh.1, 完成向用户输出“你好!”的问候语。并根据实验的时间,分别给出:“上午好!”或者“下午”,或“晚上”好的问候。
#!/bin/sh
TIME=$(date +%H)
if [ "$TIME" -ge 1 ] && [ "$TIME" -le 11 ] ;then
echo "早上好!"
elif [ "$TIME" -ge 12 ] && [ "$TIME" -le 18 ] ;then
echo "下午好!"
elif [ "$TIME" -ge 19 ] && [ "$TIME" -le 24 ] ;then
echo "晚上好!"
fi
6、编程sh.2:如果存在sh.1文件,则输出信息:sh.1文件已经存在,并询问是否运行?如果用户回答:要运行。那么结果是什么?如果sh.1不存在,则提示用户先创建文件。
#!/bin/sh
if [ -f sh.1 ] ; then
echo "文件已经存在,并询问是否运行? now? Y/N"
read a
if [ $a == "Y" ] || [ $a == "y" ] ; then
./sh.1
elif [ $a == "N" ] || [ $a == "n"] ; then
exit 2
fi
else
echo "sh.1不存在,先创建文件!"
exit 1
#
fi
7、编程sh.3:循环显示所有的sh.*文件。
#!/bin/sh
for i in $(ls sh.*)
do
ls -l $i
done
8、教材第9页静态库实验,按步骤完成操作,并记录结果。分析所出现的问题及如何解决的?
#include
void bill(char *arg){
printf("bill: We passed %s\n",arg);
}
#include
void fred(int arg){
printf("fred: We passed %d\n",arg);
}
#include
#include "lib.h"
int main()
{
bill("Hello World");
exit(0);
}
/*
* This is lib.h.It declares the functions fred and bill for users
*/
void bill(char *);
v