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

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

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

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

打开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 >= 1 && user <= 100) //  重点

{

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

}

else

{

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

}

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

return 0;

}

切换到命令提示符, 编译运行:

cl game.c

game.exe

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

同样的python程序:

notepad game.py

然后编辑器里输入代码:

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

#! fileName: game.py

# 游戏的第四个版本

user = int(input("请猜猜看: (1-100)\n"))

if user >= 1 and user <= 100: # 重点

print("合法数字")

else:

print("非法数字")

#

print("游戏结束")

写完后切换到命令提示符, 运行python程序

python game.py

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

解说和理论

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

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

那么在C语言里我能不能不写花括号, 这个是可以的, 比如:

if 条件

一行代码

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

所以我的建议是不要省略花括号, 万一以后改动代码呢?

还是为了可读性。

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

而python就有着很大不同,

if 条件:

空白符代码

C语言用花括号来限定代码块, 而python使用缩进来限定代码块。

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

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

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

if 条件:

代码块1

else:

代码块2

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

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

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

if条件 then

代码块

end

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

另外if语句的else从句可以省略, 比如:

if 关闭 == 真:

退出程序

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

我们可以用python来模拟一下:

res = input("键入/h查看帮助")

if res == "/h":

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

对应的C语言代码是这样:

char res;

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

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

if (res == 'h')

{

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

}

这里就问题来了, 如果人家输入/H怎么办?

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

怎么办?

&&; ||; !

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

这个两边的条件必须是treu, 这样结果是treu的。

true && true

true

true && false

false

false && true

false

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

还有一个

false && false

false

这样我们就可以明白

user >= 1 && user <= 100

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

那么||呢? 在python里是or

true || true

true

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

false || false

false

true || false

true

不会运算第二个条件

false || true

true

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

res == 'h' || res == 'H'

完整的代码实例如下:

#include

int main(void)

{

char res;

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

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

if (res == 'h' || res == 'H')

{

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

}

return 0;

}

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

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

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

好了, 这次就先到这。

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

  1. 1.5编程基础之循环控制 26 统计满足条件的4位数个数 python

    http://noi.openjudge.cn/ch0105/26/ """1.5编程基础之循环控制 26 统计满足条件的4位数个数 http://noi.openjud ...

  2. python编程的条件语句_自学Python编程【第五节】if条件语句

    我们已经能让程序程序判断我们输入的值了,但这程序还是有点呆,不管怎样都要把话说三遍.因为到目前为止,我们的程序都是按照顺序从上到下一行接一行地执行.有同学发来问题了:怎么能让它根据我们输入的结果来选择 ...

  3. linux c语言 udp 接收和发送数据用同一个端口_网络编程基础入门及TCP,UDP

    1.网络编程入门 1.1 网络编程概述 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享 ...

  4. 04747_Java语言程序设计(一)_第3章_面向对象编程基础

    链式编程 每次调用方法后,返回的是一个对象 /** 链式编程* 每次调用方法后,返回的是一个对象 */class Student {public void study() {System.out.pr ...

  5. [Python学习] 专题二.条件语句和循环语句的基础知识

            前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括:         1.条件语句:包括单分支.双分支和 ...

  6. Python 条件判断 if/else - Python零基础入门教程

    目录 一.Python 条件判断 if/else 简介 二.Python 条件判断 if/else 实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 & ...

  7. 自学python能学成吗-没有任何编程基础可以直接学习python语言吗?学会后能够做什么?...

    很明确的说 python非常适合没有任何编程基础的人入门.. 目前应用最多的:全栈开发.数据分析.运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有结果的来走得 ...

  8. C语言程序设计有哪几种结构,第章c语言程序设计的三种基本结构.ppt

    第章c语言程序设计的三种基本结构 北京科技大学 计算机系 第2章 C语言程序设计 的三种基本结构 2.1 顺序结构程序设计 2.1.1 C语句 2.1.2 字符数据的输入与输出 2.1.3 格式输入与 ...

  9. sql语言和php,SQL语言快速入门(三)_php

    我们日常使用SQL语言的工作过程中,使用最多的还是从已经建立好的数据库中查询信息.下面,我们就来详细介绍一下如何使用SQL语言实现各种数据库查询操作. SELECT-FROM 为方便讲解,我们在数据库 ...

最新文章

  1. Error in ggplot(df, aes(x = x, y = y)) : could not find function “ggplot“
  2. 技术大牛成长记,4年成就开源社区创始人
  3. 通过 .gitlab-ci.yml配置任务-官方配置文件翻译
  4. linux下搭建基于python的vim,Linux下搭建基于python的VIM-Go语言中文社区
  5. python正规教育机构-老男孩python教育机构|python该如何自学好?
  6. 解决QT出现XXXX.dll不能加载问题
  7. 游戏 新手引导 设计_我认为每个新手设计师都应该知道什么
  8. Kubernetes + .NET Core 的落地实践
  9. JBoss Data Virtualization 6.1 Beta现在可用
  10. spring-boot两小时入门笔记
  11. 【CVE-2016-10009】OpenSSH 7.4 - agent Protocol Arbitrary Library Loading
  12. “相约重渡沟 情定鸡冠洞”消夏养生欢乐行活动
  13. Pandas处理缺失数据
  14. Openproj 在64位操作系统报错errno=193
  15. 使用python定义量化指标公式
  16. 数据库系统原理练习题
  17. 卡内基梅隆计算机专业,美国卡内基梅隆大学计算机学院有几个分专业?
  18. 解决tuple index out of range
  19. 汇编:寄存器的寻址方式
  20. FreeCAD源码的编译与运行

热门文章

  1. 深度学习(三)——深层神经网络
  2. chroom浏览器网页二维码生成功能的方法
  3. order by 按照指定顺序排序或自定义顺序排序
  4. 29 Redis 应对并发访问的无锁原子操作
  5. 乐视账号服务器关闭,乐视手机重置后无法登录账号 官方给出解决方案
  6. 解决 configure.ac: error: possibly undefined macro: AC_PROG_LIBTOOL
  7. php防变量注入,浅谈PHP防注入
  8. ChimeraX cryoEM 可视化教程:细菌ATP合酶
  9. 入门首选,Requests 库的基本使用
  10. 用java画跳棋棋盘