实验一、认识DOS实验
专业 物联网工程 姓名 叶慧敏 学号 201306104139
一、 实验目的
(1)认识DOS;
(2)掌握命令解释程序的原理;
(3)掌握简单的DOS调用方法;
(4)掌握C语言编程初步。
二、 实验内容和要求
编写类似于DOS,UNIX的命令行解释程序
(1)自行定义系统提示符
(2)自定义命令集(8-10个)
(3)用户输入HELP以查找命令的帮助
(4)列出命令的功能,区分内部还是外部命令
(5)用户输入QUIT退出
(6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等。
根据要求,完成设计、编码、测试工作。
三、 实验方法、步骤及结果测试
1.源程序名:0923.c 可执行程序名:0923.exe
2.原理分析及流程图
1)主要运用switch{}多分支选择方法实现实验要求。
2)定义二维数组,因为字符串要通过数组要实现,另外是多个字符串,因此需要用到二维数组。
3.主要程序段及其解释:
#include<stdio.h>
#include<stdlib.h>
#include<String.h>
void main()
{
char str[30];
char cmd[][12]={"dir","cd","md","rd","cls","date","time","ren","copy","HELP","QUIT","\0"};
while(1){
printf("请输入显示符:");
gets(str);
if(strcmp(str,cmd[0])==0)
printf("dir表示无参数:查看当前所在目录的文件和文件夹\n");
else if(strcmp(str,cmd[1])==0)
printf("cd 目录名:进入特定的目录。\n");
else if(strcmp(str,cmd[2])==0)
printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹\n");
else if(strcmp(str,cmd[3])==0)
printf("rd 目录名:删除特定的文件夹。\n");
else if(strcmp(str,cmd[4])==0)
printf("cls 目录名:表示清屏功能\n");
else if(strcmp(str,cmd[5])==0)
printf("data 设置日期命令,功能是设置日期\n");
else if(strcmp(str,cmd[6])==0)
printf("time 系统时钟设置命令,功能:设置或显示系统时间。\n");
else if(strcmp(str,cmd[7])==0)
printf("ren 表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。\n");
else if(strcmp(str,cmd[8])==0)
printf("copy 表示复制命令,他的功能是复制信息\n");
else if(strcmp(str,cmd[9])==0)
{
printf("dir表示无参数:查看当前所在目录的文件和文件夹\n");
printf("cd 目录名:进入特定的目录。\n");
printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹\n");
printf("rd 目录名:删除特定的文件夹。\n");
printf("cls 目录名:表示清屏功能\n");
printf("data 设置日期命令,功能是设置日期\n");
printf("time 系统时钟设置命令,功能:设置或显示系统时间。\n");
printf("ren 表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。\n");
printf("copy 表示复制命令,他的功能是复制信息\n");
}
else if(strcmp(str,cmd[10])==0)
return;
else
printf("输入的信息有误,请重新输入:\n");
}
}
4.运行结果及分析
四、 实验总结
通过这次实验,练习了自己C语言的知识。长时间没有接触C语言,让自己发现知识薄弱的地方,懂得了定义字符串的方法,还有声明初始化字符串数组的时候要注意的地方。