认识DOS
实验一、认识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语言,让自己发现知识薄弱的地方,懂得了定义字符串的方法,还有声明初始化字符串数组的时候要注意的地方。
认识DOS的更多相关文章
- 如何使用dos命令打开当前用户、当前日期、当前时间以及当前用户加当前时间?
1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select user();当前用户 select cur ...
- 如何使用dos命令查看MySQL当前使用的数据库?
1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select database(); 如图:
- 怎样在Dos里切换盘符
一:在Dos里切换盘符 a:在电脑左下角右击显示图片;(我用的是win10系统,其他系统类似) b:点击运行,输入cmd; c:点击确定: d:输入盘符:(如f:) 或F: 只写字母,不写分号是不行的 ...
- Java在DOS命令下的运行及其API文档制作过程
该文档主要描述java程序在DOS命令下的运行,以及一些常用的命令 常用DOS命令: d: 回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 md (make direct ...
- 如何dos中查看当前MySQL版本信息?
dos中MySQL安装服务成功--启动服务成功--登录MySQL成功后输入:select version(); 如图:
- DOS下windows系统查看wifi密码
DOS下windows系统查看wifi密码 首先,按win+R键,win键如下 弹出框中输入cmd 在弹出界面输入 netsh wlan show profiles 你可以看到你链接过的所有wifi名 ...
- 如何使用DOS命令(cd命令)
如何使用DOS命令 DOS是Disk Operation System(磁盘操作系统)的简称,是个人计算机上的一类操作系统.它直接操纵管理硬盘的文件,一般都是黑底白色文字的界面.顾名思义,DOS主要是 ...
- dos命令
一 .常用命令 1 dir无参数:查看当前所在目录的文件和文件夹./s:查看当前目录已经其所有子目录的文件和文件夹./a:查看包括隐含文件的所有文件./ah:只显示出隐含文件./w:以紧凑方式(一行显 ...
- dos 批处学习笔记
dos 批处理@ 只显示命令结果echo 回显pause 暂停del 删除set 查看系统变量>nul 正确命令输入空洞2>nul 错误命令输入空洞dir 显示目录和文件&& ...
- 计算机常用dos命令
一.简单的dos命令 win+R ------打开"运行"窗口 cmd ------回车进入"dos"命令窗口 ipconfig ------查看本机ip地址 ...
随机推荐
- FIleReader无法解决编码问题
可把FileReader 用InputStreamReader(new FileInputStream(String fileptah),"utf-8")替代
- Hibernate jar包详解
Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍. 下载Hibernate,例如2.0.3稳定版本,解 ...
- 2015-09-17 001 日志与对话框公用类_public
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using S ...
- poj1703 Lost Cows
给定集合{1,2,...,n}的一个置换,指定每个位置上在其左方且比其小的数的个数,求该置换. 这题我目前还只会O(n^2)的做法. 以后再用更高效的算法解决. http://poj.org/prob ...
- uva 816 Abbott的复仇
题目链接:https://uva.onlinejudge.org/external/8/816.pdf 紫书:P165 题意: 有一个最多包含9*9个交叉点的迷宫.输入起点.离开起点时的朝向和终点,求 ...
- Entity Framework 第五篇 状态跟踪
本人建议尽量使用EntityState来表名Entry的状态,而不要使用Configuration.AutoDetectChangesEnabled自动状态跟踪,为什么我这么建议呢?他们到底有什么异同 ...
- WF3.0 CallExternalMethod使用技巧
CallExternalMethod用于工作流向宿主进程中通信 简单的介绍一下它的使用技巧,参照网上的一个questioner源码进行了改进,因为我感觉这个源码提供的通信demo过于繁琐. 看看ser ...
- PowerShell处理RSS信息
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 环境:Windows Server 2012 EN(解决PowerShell控制台中文乱码问题:方 ...
- MySQL中删除重复数据的简单方法,mysql删除重复数据
MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式, ...
- offsetHeight 正则表达式验证格式
获取Div 的height width等属性 <%@ Page Language="C#" AutoEventWireup="true" CodeFile ...