简单的循环&判断switch do while for if if else while 以及涉及getchar putchar的解释_o&reo的博客-爱代码爱编程
做了再判断DO WHILE
#include<stdio.h>
int main()
{
int a=0;
do
{
a++;
}
while(a<10);
printf("%d",a);
return 0;
}
/*输出10*/
判断了再做WHILE
#include<stdio.h>
int main()
{
int a=0;
while(a<10)
{
a++;
}
printf("%d",a);
return 0;
}
/*输出10*/
IF ELSE
#include<stdio.h>
int main()
{
int a=11;
if(a<10)
{
a=5;
}
else
{
a=200;
}
printf("%d",a);
return 0;
}
/*输出200*/
IF
#include<stdio.h>
int main()
{
int a=9;
if(a<10)
{
a=5;
}
printf("%d",a);
return 0;
}
/*输出5*/
while循环
#include <stdio.h>
int main(){
int i=1, sum=0;
while(i<=100){
sum+=i;
i++;
}
printf("%d\n",sum);
return 0;
}
For循环
#include<stdio.h>
void main()//打印乘法口诀表 ,for循环的嵌套
{
/* 精典的99乘法口诀表控制程序*/
int i,j; //初始化变量i、j
for(i=1;i<=9;i++){ //控制显示列,9行
for(j=1;j<=i;j++){ //控制每一行显示的个数
printf("%d*%d=%d \t",i,j,j*i); //打印算式
}
printf("\n"); //打印一行结束的换行
}
SWITCH判断 注意break;
#include <stdio.h>
int main()
{ char c,d;
scanf("%c",&c);
switch(c)
{
case 'A':printf("90+\n");break;
case 'B':printf("8089\n");break;
case 'C':printf("7079\n");break;
case 'D':printf("6069\n");break;
default: printf("%c",c);
}
return 0;
}
GETCHAR&PUTCHAR循环输入时的原理
//一个例子,统计从键盘输入的一行字符的个数:
#include <stdio.h>
int main(){
int n=0;
printf("Input a string:");
while(getchar()!='\n') n++;
printf("Number of characters: %d\n", n);
return 0;
}
//结果
Input a string:www.baidu.com↙
Number of characters: 13
getchar 有一个 int 型的返回值。当程序调用 getchar 时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符 \n 也放在缓冲区中),当用户键入回车之后,getchar() 函数才开始从输入缓冲区中每次读取一个字符,getchar 函数的返回值是用户输入的字符的 ASCII 码,若遇到文件结尾 (End-Of-File) 则返回 -1 (EOF),并将用户输入的字符回显到屏幕,如果用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续 getchar 调用读取。也就是说,后续的 getchar 调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。程序中 while 循环工作时,每一次循环 getchar() 就会从输入缓冲区读取一个字符,然后 putchar 输出,直到遇到了文件结束标志 EOF,循环判断条件为假,循环才结束
#include<stdio.h>
int main()
{
char password[20] = { 0 };
//输入密码
printf("Input password:");
scanf("%s", password);
//---清理缓冲区---
int temp = 0;
while ((temp = getchar()) != '\n')
{
;
}
//确认密码
printf("Comfirm password(Y/N):");
int ch = 0;
ch = getchar();
//判断是否确认成功
if (ch == 'Y')
{
printf("success!%s",password);
}
else
{
printf("defeat!\n");
}
return 0;
}
//输入1234 abc
//输出
//success!1234
fflush(stdin)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int yon;
char pass[20]={0};
printf("输入你的密码");
scanf("%s",&pass);
printf("%s",pass);
fflush(stdin);
printf("\nY/N?\n");
yon=getchar();
if(yon=='Y')
{printf("%s是你的密码",pass);}
else printf("滚");
return 0;
}