首页 > 其他分享 >分支与循环(2)

分支与循环(2)

时间:2022-10-12 23:01:17浏览次数:65  
标签:ch int getchar 循环 printf main 分支

while循环

语法结构:

  while(表达式)

循环语句:

break停止循环,continue终止循环中continue后面的代码

      getchar的作用:

int main()
{
int ch=getchar(); //getchar可以接受一个键盘的字符
putchar(ch); //与printf作用相同
printf("%c\n",ch); //输入一个,输出两个
return 0;
}




int main()
{
int ch=0;
while(ch=getchar()!=EOF) //EOF-end of file->文件结束标志
//本质上是-1
{
putchar(ch);
}
return 0;
}//这里可以输出ctrl+z使代码结束运行
int main()
{
int ret=0
char password[20]={0};
printf("请输入密码:>");
scanf("%s",password); //输入密码,并存放在password数组中
//%s是指输入的是一个字符串
//缓冲区还剩下一个\n,可以再加一个getchar();
// while(ch=getchar() !='\n')
// {
// ;
//}
printf("请确认(Y/N):>")
ret=getchar();
if(ret=='Y')
{
printf("确认成功\n");
}
else
{
printf("放弃确认\n");
}
return 0;
}结果:放弃确认

如果输入的是123456的话,前面scanf在输入缓冲区把123456取走,最后的\n被

getchar读走

代码2:

#include<stdio.h>
int main()
{
int ch;
while((ch=getchar())!=EOF)
{
if(ch<'0'||ch>'9')
continue;
putchar(ch);
}
return 0;
}

for循环

语法:

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

循环语句;

//表达式1为初始化部分,用于初始化循环变量的

//表达式2为条件判断部分,用于判断循环时候终止

//表达式3为调整部分,用于循环条件的调整.


实际的问题:

使用for循环,在屏幕上打印1-10的数字

int main()
{
int i=0;
//初始化 判断 调整
for(i=1;i<=10;i++)
{
printf("%d ",i);
}
return 0;
}

for语句的循环控制变量

建议:1.不可在for循环体内修改循环变量,防止for循环失去控制

2.建议for语句的循环控制变量的取值采用"前闭后开区间"写法

注:for循环的初始化,调整,判断都可以省略,但是for循环的判断部分如果被省略,那判断部分就是恒为真,死循环

如果不是非常熟练,不要随意省略.

举例:

int main()
{
int i=0;
int j=0;

for(i=0;i<10,i++)
{
for(j=0;j<10;j++)
{
printf("hehe\n");
}
}
return 0;
}//这里打印100个呵呵
int main()
{
int i=0;
int j=0;

for(;i<10,i++)
{
for(;j<10;j++)
{
printf("hehe\n");
}
}
return 0;
}//10个hehe

一道笔试题考验一下:请问循环要循环多少次?  

#include <stdio.h>
int main()
{
int i=0;
int k=0;
for(i=0,k=0;k=0;i++,k++)
k++;
return 0;
}



0次,  判断语句为k=0,k赋值为0,为假,代码进不去,

do..while()循环


do语句的语法:

do

循环语句;

while(表达式);

int main()
{
int i=1;
do
{printf("%d ",i);
i++;
}
while(i<=10)
return 0;
}

标签:ch,int,getchar,循环,printf,main,分支
From: https://blog.51cto.com/u_15797029/5751816

相关文章

  • Java中常用的几种for循环
    List<String>list=newArrayList<String>();list.add("HOLLEWORD!");list.add("HOLLEKITTY!");/***第一种循环方法......
  • 【NLP】 深度学习NLP开篇-循环神经网络(RNN)
    从这篇文章开始,有三AI-NLP专栏就要进入深度学习了。本文会介绍自然语言处理早期标志性的特征提取工具-循环神经网络(RNN)。首先,会介绍RNN提出的由来;然后,详细介绍RNN的模型结......
  • 【信息抽取】如何使用循环神经网络进行关系抽取
    事物、概念之间的关系是人类知识中非常重要的一个部分,但是他们通常隐藏在海量的非结构文本中。为了从文本中抽取这些关系事实,从早期的模式匹配到近年的神经网络,大量的研究在......
  • js for循环 打印10*10五角星矩阵,倒五角星矩阵
    10*10五角星矩阵varstr='';for(vari=0;i<10;i++){//行for(varj=0;j<10;j++){//列str+='☆';}......
  • 三个循环语句
    一、for循环for(表达式1;表达式2;表达式3){循环语句…}表达式1:变量赋值,只执行一次表达式2:为真怎进入循环,为假结束表达式3;循环执行完,就会执行语句3,再执行表达式2,构成循环实例:求......
  • CyclicBarrier循环屏障
    1.应用场景CyclicBarrier应用于多个线程必须同时开始2.代码privatestaticCyclicBarriercyclicBarrier=newCyclicBarrier(5);publicstaticvoidmain(S......
  • C++ 循环队列(基于数组)
    Code: classCircularQueue{private://容量intC;//容器vector<int>els;//队头指针intfront;//队尾指针intrear;......
  • 19组多分支结构的总结心得
    本周我们学习了关于多分支结构的内容,通过这个分支结构的具体方法,我们可以解决许多我们以前解决不了的问题,我深刻体会到其中的奥妙以及耐人寻味的地方。switch-case与if-els......
  • if-else循环struct
    importjava.util.Scanner;publicclassDemo01{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);System.out.p......
  • Java基础(三)| switch、循环及Random详解
    ⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开......