再学C语言23:分支和跳转——if语句

news2024/11/18 23:34:22

一、简单if语句

if语句被称为分支语句(branching statement)或选择语句(selection statement),功能是让程序选择分支中的一条前进

if语句一般形式:

if(expression)
    statement

如果expression的值为真(非零),就执行statement;否则,跳过该语句

statement既可以是单个语句也可以是复合语句

expression通常是一个关系表达式,也可以是任何表达式

即使if中使用了一个复合语句,整个if结构仍将被看作一个简单语句

二、在if语句中添加else关键字

if-else语句:让程序执行在两个语句之间选择

if(expression)
    statement1
else
    statement2

如果expression为真,执行statement1;否则,执行statement2

编译器要求if和else之间只有一条语句(简单的或复合的)

if语句可以选择是否执行某个动作;if-else语句可以在两个动作之间进行选择

三、getchar()和putchar()函数

getchar()和putchar():专门为面向字符I/O而设计的一对C函数

getchar()函数:没有参数,返回来自输入设备的下一个字符

// 两条语句具有相同的效果
c = getchar();
scanf("%c", &c);

putchar()函数:打印其参数

// 两条语句有相同的效果
putchar(c);
printf("%c", c);

示例代码:将输入的字符中的小写英文字母转换为大写形式并显示,其他字符不显示

#include <stdio.h>
#include <ctype.h>
int main (void)
{
    char c;

    printf("you can enter some English letters, and press the Enter: \n");
    c = getchar();
    while(c != '\n')
    {
        if(islower(c))
        {
            putchar(c - 32);
        }        
        c = getchar();
    }
    putchar(c);
    return 0;
}

运行结果:

77d3ef22cc914188b027c4a9c3b2d7d4.png


ctype.h头文件

包含了一系列用于分析字符的标准函数

接受一个字符作为参数,如果该字符属于某特定的种类则返回非零值,否则返回零

ctype.h的字符判断函数
函数名为如下参数时,返回值为真
isalnum()字母或数字
isalpha()字母
isblank()空格、水平制表符或换行
iscntrl()控制符,如Ctrl+B
isdigit()阿拉伯数字
isgraph()除空格符之外的所有可打印字符
islower()小写字母
isprint()可打印字符
ispunct()标点符号
isspace()空白字符:空格、换行、走纸、回车、垂直制表符、水平制表符等
isupper()大写字母
isxdigit()十六进制数字字符
ctype.h的字符映射函数
函数名动作
tolower()如果参数是大写字符,返回相应的小写字符;否则,返回原始参数
toupper()如果参数是小写字符,返回相应的大写字符;否则,返回原始参数

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】LeetCode移除链表元素、反转链表、链表的中间结点

目录 一、移除链表元素 1、题目说明 2、题目解析 二、反转链表 1、题目说明 2、题目解析 三、链表的中间结点 1、题目说明 2、题目解析 一、移除链表元素 1、题目说明 题目链接&#xff1a;移除链表的元素 给你一个链表的头节点 head &#xff0c;和一个整数 val&#xff0c;…

蓝牙资讯|苹果获得智能戒指专利,可用于交互 AR / VR 头显设备

美国商标和专利局&#xff08;USPTO&#xff09;批准并公示了苹果的一项智能戒指专利。这款戒指主要作为苹果混合现实头显设备的辅助交互设备&#xff0c;但可以和 iPhone、iPad、AirPods、Mac 和其它设备一起使用。 苹果希望通过智能戒指来改善 AR / VR 世界的交互体验&…

工程项目管理系统源码-简洁+好用+全面-工程项目管理系统

​ ​工程项目管理系统是指从事工程项目管理的企业&#xff08;以下简称工程项目管理企业&#xff09;受业主委托&#xff0c;按照合同约定&#xff0c;代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 ​系统定义 工程项目管理企业不直接与该工程项目的总承…

javafx实现的工资管理系统

&#x1f345;程序员小王的博客&#xff1a;程序员小王的博客 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 如有编辑错误联系作者&#xff0c;如果有比较好的文章欢迎分享给我&#xff0c;我会取其精华去其糟粕 &#x1f345;java自学的学习…

ESP8266 SDK开发(ESP8266_RTOS_SDK 3.x)之AiThinkerIDE_V1.5.2安装、配置以及编写烧录一个程序

【本文发布于https://blog.csdn.net/Stack_/article/details/128509864&#xff0c;未经允许不得转载&#xff0c;转载须注明出处】 前言 乐鑫官方不搞IDE&#xff0c;安信可搞了IDE&#xff0c;但是各版本之间安装配置有差异&#xff0c;还没有文档说明。官方安装配置教程不完…

CTFHUB技能树-SSRF-redis协议踩坑

在gopherus上面输入命令&#xff1a;python gophers.py --exploit redis 将自动生成的代码url解密可以得到 如果是get传参需要再进行一次url编码 虽然蚁剑连接不上但可以用urlshell?cmdls / 获取flag 接下来看可以连接蚁剑的代码 文件名最好还是用shell.php 我测试了s.…

【C++初阶8-vector实现】没想的那么简单!

前言 本期带来vector实现&#xff0c;和以前的顺序表差别不大。 博主水平有限&#xff0c;不足之处望请斧正&#xff01; 预备知识 实现参考SGI的stl30 我们看这种源码&#xff0c;要抓框架看&#xff1a;首先找类&#xff0c;看它的属性&#xff0c;再看方法 template &l…

全方位解析 C 端和 B 端的产品特性

近年来&#xff0c;互联网进入下半场&#xff0c;C 端流量红利逐渐消退&#xff0c;很多企业转向了 B 端服务&#xff0c;随之而来的是产品设计者的转型&#xff0c;现在越来越多的 C 端产品设计师开始涉足到 B 端产品的设计&#xff0c;这是一个知识迁移的过程&#xff0c;需要…

自动驾驶专题介绍 ———— 摄像头

文章目录介绍工作原理实现功能分类按通信协议区分按不同感光芯片按像元排列方式介绍 摄像头可以采集汽车周边的图像信息&#xff0c;跟人类的眼睛最为接近。摄像头可以拥有较广的视场角、较大的分辨率&#xff0c;还可以提供颜色和纹理等信息。这些信息对于实现自动驾驶功能是存…

Mentor-dft 学习笔记 day48-OCC With Capture Enable Clock Control Operation Modes

OCC With Capture Enable 有一个OCC具有capture_enable输入&#xff0c;可以与自由运行的慢速时钟一起使用。当OCC指定为启用捕获&#xff08;capture_trigger:capture_en&#xff09;时&#xff0c;在输入自由运行的慢时钟上添加时钟门控器&#xff0c;以从自由运行的时钟输…

影响宝宝大脑发育的6个坏习惯,你可能每天都在做

“望子成龙&#xff0c;望女成凤”这几乎是每个父母的愿望。虽然有一个高智商的天才宝宝太难了&#xff0c;但从不妨碍父母希望孩子更健康、更聪明。所以大家都比较关注宝宝的大脑发育&#xff0c;希望宝宝的大脑发育更好&#xff0c;长大后更聪明。但在日常生活中&#xff0c;…

android 12+从后台启动FGS限制

后台启动FGS限制 限制简介 以 Android 12&#xff08;API 级别 31&#xff09;或更高版本为目标平台的应用在后台运行时无法启动前台服务&#xff0c;少数特殊情况除外。 如果应用程序在后台运行时尝试启动前台服务&#xff0c;而前台服务不满足其中一种异常情况&#xff0c;系…

vue前端打包Docker镜像并nginx运行

首先说明咱们的前端项目是基于Vue的&#xff0c;反向代理使用的是nginx 1.打包vue前端项目生成dist文件夹上传至服务器 新建一个文件夹&#xff0c;叫vueDockerTest&#xff0c;下面的文件都需要。 cert是你存放ssl证书的文件夹&#xff0c;nginx.conf 是nginx的配置文件&am…

Kotlin 惰性集合操作-序列 Sequence

集合操作函数 和 序列 在了解 Kotlin 惰性集合之前&#xff0c;先看一下 Koltin 标注库中的一些集合操作函数。 定义一个数据模型 Person 和 Book 类&#xff1a; data class Person(val name: String, val age: Int) data class Book(val title: String, val authors: List…

jmeter 5.5+influxdb 2.0+grafana v9.3.2 - 压测看板setup

Docker set up 安装docker应用 https://docs.docker.com/desktop/install/mac-install/&#xff0c;在官网下载docker安装包&#xff0c;和安装其他的mac应用是一样的操作。 设置国内的镜像仓库&#xff08;拉取镜像会快很多&#xff09; {"registry-mirrors": [&q…

叠氮-聚乙二醇-羧酸;叠氮-单乙二醇-丙酸Azido-PEG1-acid;1393330-34-1小分子PEG衍生物

Azido-PEG1-acid 中文名称&#xff1a;叠氮-聚乙二醇-羧酸&#xff1b;叠氮-单乙二醇-丙酸 英文名称&#xff1a;Azido-PEG1-acid&#xff1b; 分子式&#xff1a;C5H9N3O3 分子量 &#xff1a;159.1 CAS&#xff1a;1393330-34-1 外观&#xff1a;粘稠液体或者固体粉末&#…

SHA和AES加密+GUI Swing写的一个本地运行和保存的密码管理小工具

目录效果项目结构功能1、登录2、加密3、解密4、列表代码1、先准备好两种加密方式的工具类SHAUtilAESUtil2、登录窗口3、主页窗口&#xff08;加密和解密面板&#xff09;4、主页窗口&#xff08;列表面板&#xff09;5、主程序&#xff08;main&#xff09;最后通过SHA和AES加密…

TestStand-序列步骤属性

文章目录GeneralRun OptionLoopingPost ActionSwitchingSynchronizationExpressionPreconditionsRequirementAdditional ResultPropertyCtrl-N创建一个新的Sequence&#xff0c;通过右键创建任意步骤 General Name -步骤的名称。 Type -步骤类型。一般不需要设置。 Adapter-适…

Android Kotlin之协程-异步流Flow的使用

数据流以协程为基础构建&#xff0c;与仅返回单个值的挂起函数相反&#xff0c;数据流可按顺序发出多个值。从概念上来讲&#xff0c;数据流是可通过异步方式进行计算处理的一组数据序列。所发出值的类型必须相同。 数据流包含三个实体&#xff1a; 提供方会生成添加到数据流…

信息安全技术 政务信息共享 数据安全技术要求

声明 本文是学习GB-T 39477-2020 信息安全技术 政务信息共享 数据安全技术要求. 下载地址 http://github5.com/view/790而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 政务信息共享 数据安全 范围 本标准提出了政务信息共享数据安全要求技术框架&…