练习 expr 思路|学习笔记

简介: 快速学习练习 expr 思路

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频练习 expr 思路】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11034


练习 expr 思路

 

练习题目

 

练习:

题目:借用外部命令,实现计算器功能

 

提示:

expr 是个外部命令,它向标准输出打印运算结果。

image.gifUsr/bin/expr为一个命令,算出4+5的结果为9,而且把结果输出到屏幕上;4-5=-1;4/2=2;4*2语法错误,必须加‘*’。

正常情况下载程序中创建一个子进程,在子进程中exec去启动,会出现在屏幕上。

将结果打到内存里的,不需要打出来,直接实现exec4+5m命令。

创建一个管道以便让expr 4+5的输出到管道中

子进程exec执行expr 4+5命令之前重定向“标准输出”到“管道写端”

父进程从管道读端读取数据,并显示运算结果。

外部命令结果信息输出至管道:

image.gif直接执行 expr 4+5 进行标准输出,创建管道,进行父进程 read,最后进行标准输出

程序框架如下:

int main()

{

1:创建管道 pipe

2:创建子进程

1.子进程中

{

1>重定向标准输出到管道的写端

2>execlp("expr" "expr""4""+""5"NULL);

}

2.父进程中

读管道读端

打印读到的内容

}

 

 

相关文章
|
8月前
|
网络安全
编译原理复习二:Top-Down分析LL(1)文法的判断与LL(1)分析表的构造(附题目与答案 超详细)
编译原理复习二:Top-Down分析LL(1)文法的判断与LL(1)分析表的构造(附题目与答案 超详细)
489 1
|
4月前
|
SQL Oracle 关系型数据库
CASE WHEN 语句的语法及示例,LeetCode 题目 “确认率” 练习
本文介绍了SQL中CASE语句的两种形式和语法,并通过LeetCode题目“确认率”的SQL查询示例展示了CASE语句在实际问题中的应用,解释了如何使用CASE语句计算特定条件的比率。
|
8月前
|
Java
Lambda 表达式复习
Lambda 表达式复习
36 1
|
JavaScript 前端开发 Java
面试官:Lambda 表达式中的 forEach 如何提前终止?这次被问倒了!
面试官:Lambda 表达式中的 forEach 如何提前终止?这次被问倒了!
127 0
面试官:Lambda 表达式中的 forEach 如何提前终止?这次被问倒了!
|
IDE Shell 开发工具
算数表达式-test测试语句-if流程控制语句 | 学习笔记
快速学习算数表达式-test测试语句-if流程控制语句。
算数表达式-test测试语句-if流程控制语句 | 学习笔记
|
SQL
十二、UNION操作符
十二、UNION操作符
102 0
|
Shell 开发工具 开发者
算数表达式-test 测试语句-if 流程控制语句 | 学习笔记
快速学习算数表达式-test 测试语句-if 流程控制语句
|
机器学习/深度学习 存储 算法
算法系统学习-牛刀小试几个小Case(非递归算法)
该系列是基于有一定语言基础(C,C++,Java等等)和基本的数据结构基础进行的算法学习专栏,如果觉得有点吃力 😥 ,建议先了解前提知识再学习喔!本个专栏会将用更容易理解的表达去学习算法,如果在一些表述上存在问题还请各位多多指点
127 0
|
JavaScript 前端开发 Java
别翻了,Lambda 表达式入门,看这篇就够了(1)
别翻了,Lambda 表达式入门,看这篇就够了
162 0
别翻了,Lambda 表达式入门,看这篇就够了(1)
|
算法
​LeetCode刷题实战439:三元表达式解析器
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
179 0