一、简单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;
}
运行结果:
ctype.h头文件
包含了一系列用于分析字符的标准函数
接受一个字符作为参数,如果该字符属于某特定的种类则返回非零值,否则返回零
函数名 | 为如下参数时,返回值为真 |
isalnum() | 字母或数字 |
isalpha() | 字母 |
isblank() | 空格、水平制表符或换行 |
iscntrl() | 控制符,如Ctrl+B |
isdigit() | 阿拉伯数字 |
isgraph() | 除空格符之外的所有可打印字符 |
islower() | 小写字母 |
isprint() | 可打印字符 |
ispunct() | 标点符号 |
isspace() | 空白字符:空格、换行、走纸、回车、垂直制表符、水平制表符等 |
isupper() | 大写字母 |
isxdigit() | 十六进制数字字符 |
函数名 | 动作 |
tolower() | 如果参数是大写字符,返回相应的小写字符;否则,返回原始参数 |
toupper() | 如果参数是小写字符,返回相应的大写字符;否则,返回原始参数 |