0511课后作业(C高级)

 1.编写一个名为myfirstshell.sh的脚本,它包括以下内容。

1、包含一段注释,列出您的姓名、脚本的名称和编写这个脚本的目的

2、和当前用户说“hello 用户名”

3、显示您的机器名 hostname

4、显示上一级目录中的所有文件的列表

5、显示变量PATH和HOME的值

6、显示磁盘使用情况

7、用id命令打印出您的组ID id -g

8、跟用户说“Good bye”

#!/bin/bash
 
#作者:XX
#脚本的名称:zy1
#目的:练习
 
#和当前用户说“hello 用户名” 
echo "hello `whoami`"
 
#显示您的机器名  hostname
expr "机器名:`hostname`"
 
#显示上一级目录中的所有文件的列表
echo -e "上级目录:\n`ls ../`"
 
#显示变量PATH和HOME的值
echo -e "path: $PATH  home: $HOME"
 
#显示磁盘使用情况
echo -e "磁盘使用情况:\n `df -h`"
 
#用id命令打印出您的组ID   id -g
echo "gid: `id -g`"
 
#跟用户说“Good bye”
echo "Good bye `hostname`"

 

 2.编写脚本~/sumfile.sh,统计/etc,/var,/usr目录中共有多少个一级子目录和文件

# 统计 /etc,/var,/usr 目录中所有一级子目录和文件的数量

etc_count=$(find /etc/* -maxdepth 0 | wc -l)

var_count=$(find /var/* -maxdepth 0 | wc -l)

usr_count=$(find /usr/* -maxdepth 0 | wc -l)

echo "/etc 目录下的一级子目录和文件数量: $etc_count"

echo "/var 目录下的一级子目录和文件数量: $var_count"

echo "/usr 目录下的一级子目录和文件数量: $usr_countl"

3.写一个shell脚本,获取当前用户名,用户id和工作路径

#!/bin/bash 
 
echo "username:" `whoami`
echo "userid:" `id -u`
echo "workpwd:" `pwd`

 

 4.统计/etc目录下以P或p开头的文件个数

#!/bin/bash
find /etc -maxdepth 1 -type f | grep -ic "^/etc/p"

5.输入一个文件名,判断文件是否为普通文件

#!/bin/bash

read -p "请输入文件名: " filename

# 判断输入文件是否为普通文件

if [ -f "$filename" ]

then

	echo "$filename 是一个普通文件"

else 
	echo "$filename 不是一个普通文件"

fi

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 现代编译原理C语言描述修订版的课后作业是让学生进一步理解和应用编译原理的知识和技术。这份作业涉及的内容包括词法分析、语法分析、语义分析、间代码生成、优化和代码生成等方面。 在词法分析方面,学生可能需要根据给定的语法规则和词法规则,设计并实现一个词法分析器。该分析器会将输入的源代码分解成一系列单词,并识别出每个单词对应的词法单元。 在语法分析方面,作业可能要求学生使用自顶向下的递归下降分析方法,根据给定的语法规则和词法单元序列,构建一个语法树或抽象语法树。 在语义分析方面,学生可能需要为语法树或抽象语法树添加类型检查和作用域判断等语义信息,并检查源代码的语义错误。 在间代码生成方面,作业可能要求学生将语法树或抽象语法树转换为间代码。间代码可以是三地址代码、四地址代码等形式。 在优化方面,学生可能需要分析间代码,并对其进行优化,以提高程序的执行效率或减小生成的目标代码的大小。 最后,在代码生成方面,学生可能需要将间代码转换为目标代码,具体的目标代码形式取决于所使用的目标机器和编译器。 为了完成这些作业,学生可能需要参考相关的教材、编译器相关工具和库的文档,以及阅读编译原理相关的论文和文献。同时,动手实践和编写代码是至关重要的,通过实际操作和调试,可以更好地理解和掌握编译原理的概念和技术。 ### 回答2: 现代编译原理c语言描述修订版课后作业主要是对课堂所学知识的巩固和实践。通过完成这些作业,我们可以深入理解编译原理的核心概念和原理,并且通过实际操作来锻炼我们在C语言编程方面的能力。 作业内容包括但不限于以下几个方面: 1. 词法分析器的实现:根据给定的文法和词法规则,实现一个C语言的词法分析器,能够对C程序进行词法分析,将源代码分解成一系列的标记(tokens)。 2. 语法分析器的实现:根据给定的文法和语法规则,实现一个C语言的语法分析器,能够对C程序进行语法分析,构建语法树,并检查语法错误。 3. 语义分析器的实现:根据给定的语义规则,实现一个C语言的语义分析器,能够对C程序进行语义分析,检查和处理类型错误,生成间代码。 4. 间代码生成:根据给定的间代码规范,实现一个C语言的间代码生成器,能够将语法树转化为等价的间代码表示。 5. 优化和目标代码生成:实现一系列优化算法和技术,对生成的间代码进行优化,并将优化后的间代码转化为目标代码。 通过完成这些作业,我们可以逐步掌握编译原理的重要组成部分,并且了解它们之间的关系和作用。这不仅可以提升我们的编译技术,还可以帮助我们更好地理解和应用C语言。 总之,现代编译原理C语言描述修订版课后作业对于我们深入学习和掌握编译原理,提升编译技术和C语言编程能力具有重要意义。通过不断实践和巩固,我们可以在编译原理领域取得更好的成绩,为今后的编程生涯打下坚实的基础。 ### 回答3: 现代编译原理C语言描述修订版的课后作业是对课堂所学知识的巩固和运用。通过这些作业,学生可以进一步理解和掌握编译原理的各种概念和技术。 首先,作业可能包括一些理论题目,要求学生对编译原理的相关概念进行阐述和解释。例如,关于词法分析器的作用和实现原理的问题,学生需要详细解释词法分析器的作用和工作原理,并举例说明。 其次,作业还可能要求学生完成一些编程题目,例如设计一个简单的语法分析器。学生需要使用C语言描述相关的语法规则,并实现相应的语法分析算法。通过这样的编程练习,学生可以更好地理解语法分析器的原理和实现方法。 此外,作业还可能包括一些应用题目,例如优化编译器的设计。学生需要思考如何通过优化编译器的设计和算法来提高代码的执行效率。他们可以考虑使用更高级的优化技术,如循环展开、向量化等。 通过完成这些作业,学生能够加深对编译原理的理解,并提高自己解决实际问题的能力。这些作业可以帮助学生巩固和运用在课堂上学到的知识,同时也能够培养学生的编程能力和解决问题的思维能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值