热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言同时满足三个并列条件,你不得不知道的编程基础之同时满足多个条件

我们越来越接近我们的目标。程序可以获取用户输入;可以给用户输出结果,人际互动没有问题了。中间可以做到各种计算,比如简单的数学运算ÿ

我们越来越接近我们的目标。

程序可以获取用户输入; 可以给用户输出结果, 人际互动没有问题了。

中间可以做到各种计算, 比如简单的数学运算; 逻辑比较运算等等, 而且根据这些运算结果执行不同的代码。

但是好像缺少了一些东西, 所以我们继续完善。

打开vs2019开发人员命令提示符。

输入命令:

d:

cd guess

md v4

cd v4

notepad game.c

然后输入如下代码:

// game.c

// 游戏的第4个版本

#include

int main(void)

{

int user;

printf("请猜猜看, (1-100)\n");

scanf("%d", &user);

//  还是以前的if语句,

if (user >&#61; 1 && user <&#61; 100) //  重点

{

printf("合法数字\n");

}

else

{

printf("非法数字\n");

}

printf("游戏结束\n");

return 0;

}

切换到命令提示符&#xff0c; 编译运行&#xff1a;

cl game.c

game.exe

然后多运行几次&#xff0c; 我们发现程序现在可以圈定一个范围了。

同样的python程序&#xff1a;

notepad game.py

然后编辑器里输入代码&#xff1a;

# --*-- Encoding: UTF-8 --*--

#! fileName: game.py

# 游戏的第四个版本

user &#61; int(input("请猜猜看&#xff1a; (1-100)\n"))

if user >&#61; 1 and user <&#61; 100: # 重点

print("合法数字")

else:

print("非法数字")

#

print("游戏结束")

写完后切换到命令提示符&#xff0c; 运行python程序

python game.py

结果和C语言的一模一样。

解说和理论

首先我们发现C语言的代码比python长的多。

主要是花括号占据了好几行代码。

那么在C语言里我能不能不写花括号&#xff0c; 这个是可以的&#xff0c; 比如&#xff1a;

if 条件

一行代码

如果两行以上代码的话必须用花括号来包围&#xff0c; 否则编译器不知道你的意思。

所以我的建议是不要省略花括号&#xff0c; 万一以后改动代码呢&#xff1f;

还是为了可读性。

另外if的条件必须写在小括号里。

而python就有着很大不同&#xff0c;

if 条件:

空白符代码

C语言用花括号来限定代码块&#xff0c; 而python使用缩进来限定代码块。

缩进就是排版格式&#xff0c; 比如我们写文章&#xff0c; 给一个自然段开头必须留空几个空格。

在python里只要遇到冒号换行必须留几个空格。

而且同一个代码块每一行必须对其。

if 条件&#xff1a;

代码块1

else&#xff1a;

代码块2

那么这里的代码块1和代码块2也必须对其&#xff0c; 代码块1四个空格&#xff0c; 代码块2三个空格肯定是出错的。

眼睛看不到屏幕写python稍微麻烦一点&#xff0c; 不过我的经验可以借鉴。

而编写其他语言的代码没有这个问题&#xff0c; 代码块都是在花括号里的&#xff0c; 有的使用了关键字&#xff0c; 比如&#xff1a;

if条件 then

代码块

end

总之这些编程语言需要遵循某种格式&#xff0c; 不能乱写一通。

另外if语句的else从句可以省略&#xff0c; 比如&#xff1a;

if 关闭 &#61;&#61; 真:

退出程序

我们有这样一个使用场景&#xff0c; 键入/h打开帮助文档。

我们可以用python来模拟一下&#xff1a;

res &#61; input("键入/h查看帮助")

if res &#61;&#61; "/h":

print("帮助文档, 后面的省略")

对应的C语言代码是这样&#xff1a;

char res;

printf("键入/h查看帮助\n");

scanf("/%c", &res);

if (res &#61;&#61; &#39;h&#39;)

{

printf("帮助文档 后面的省略\n");

}

这里就问题来了&#xff0c; 如果人家输入/H怎么办&#xff1f;

你总不能要求人家必须输入小写的h吧。

怎么办&#xff1f;

&&; ||; !

首先我们已经看到过&&的使用&#xff0c; 在python里是and。

这个两边的条件必须是treu&#xff0c; 这样结果是treu的。

true && true

true

true && false

false

false && true

false

这样的状态下程序不会运算第二个条件&#xff0c; 第一个已经false了第二个影响不了结果&#xff0c; 结果肯定是false。

还有一个

false && false

false

这样我们就可以明白

user >&#61; 1 && user <&#61; 100

这个含义&#xff0c; user必须是大于或等于1&#xff0c; 并且user必须小于或者等于100&#xff0c; 这样条件成立&#xff0c; 结果是treu&#xff0c; 否则条件不成立。

那么||呢&#xff1f; 在python里是or

true || true

true

这样状态下也不会运算第二个条件。

false || false

false

true || false

true

不会运算第二个条件

false || true

true

所以我们可以看出解决大小写问题的答案。

res &#61;&#61; &#39;h&#39; || res &#61;&#61; &#39;H&#39;

完整的代码实例如下&#xff1a;

#include

int main(void)

{

char res;

printf("键入/h查看帮助\n");

scanf("/%c", &res);

if (res &#61;&#61; &#39;h&#39; || res &#61;&#61; &#39;H&#39;)

{

printf("帮助文档 后面的省略\n");

}

return 0;

}

最后说一下!, 在python里是not。

意思也很简单&#xff0c; 反着来&#xff0c; 如果结果是true经过 not后反转过来了&#xff0c; false, 反之亦然。

在python里这是单词所以必须需要空格来分开写&#xff0c; 否则连在一起出现错误。

好了&#xff0c; 这次就先到这。



推荐阅读
author-avatar
我家在波力牧场
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有