选择与循环(二)以及部分函数的用法

一、循环语句

  • while语句
  • for语句
  • do-while语句

 for语句的语法结构表示形式:

for(表达式1;表达式2;表达式3){

        循环语句块

}

对该语句模块的解释如下:

  • 表达式1的含义是初始化循环变量
  • 表达式2的含义是判断条件是否满足继续循环的要求
  • 表达式3的含义是在循环完成后更新循环变量

例如:在控制台打印 1~20,要求每行5个数字。

#include <stdio.h>
int main() {
	for (int i = 1; i <= 20; i = i + 1) {
		printf("%d\t", i);
		// 嵌套if语句,当一行的数满5个时进行换行
		if (i % 5 == 0) {
			printf("\n");
		}
	}
	return 0;
}

结果显示:

 补充:break语句和continue语句在for语句中的用法与while语句中的用法类似。

do-while语句的语法结构表示形式:

do{

        循环语句块

}while(表达式)

        do-while语句

        虽然do-while语句的用法与前两个相似,但其也有特殊之处。do-while语句的不同之处体现在它执行循环的第一次时不进行条件的判断,在第二次执行时才进行条件判断。

例如:让用户输入考试成绩,如果没有通过,继续进行考试,直到通过为止。

#include <stdio.h>
int main() {
	int score = -1;
	do {
		printf("请输入考试成绩:[0,100]");
		scanf("%d", &score);
	} while (score < 60);
	printf("恭喜您,通过考试!");
	return 0;
}

结果显示:


二、getchar函数与putchar函数的用法

getchar( )函数用法:

  1. 取走stdin缓冲区的字符;若没有,等待从键盘输入(如abc\n);
  2. 取走第一个 字符的对应的ASCII码,将其他字符对应的ASCII码存进stdin缓冲区中

注:getchar()函数实际上是int getchar(void),它返回的是ASCII码值,所以只要是ASCII码表里有的字符它 都能读取出来。在调用getchar()函数时,编译器会依次读取用户键入缓存区的一个字符 

如果想正常输出输入的字符ASCII码值,则可采用以下两种方法:

// 方法一
int main() {
char a, b;
printf("please input char a:\n");
a = getchar();
getchar(); // 取走一个字符,这里是'\n'
printf("please input char b:\n");
b = getchar();
getchar();
printf("%d %d", a, b);
return 0;
}
// 方法二
int main() {
char a, b;
printf("please input char a:\n");
a = getchar();
rewind(stdin); // 清除缓冲区中的所有字符
printf("please input char b:\n");
b = getchar();
rewind(stdin);
printf("%d %d", a, b);
return 0;
}

结果显示:

 注:如果输出结果不符这是因为在输入后,键入回车键,在缓冲区中留下了\n字符,该字符被getchar()函数读取。

putchar( )函数用法:

  1. 在控制台输出一个字符(用单引号引起来),如:putchar('a')
  2. 函数体也可以是1~127的一个十进制整型,用来输出对应的ASCII码,如:putchar(99)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值