C语言入门02——分支循环

1.什么是语句?
  1. 表达式语句
  2. 函数调用语句
  3. 控制语句
    1. 顺序语句
    2. 条件判断语句:if switch
    3. 循环执行语句:while do while for
    4. 转向语句:break goto continue return
  4. 复合语句
  5. 空语句
2.分支语句
  • if
if()
{}

else if
{}

else
{}
 
 //注意else与离的最近的if匹配
  • switch(允许嵌套)
switch(整型表达式)
{
    case 1 :      
        ......
        switch()while
        {}
        break; //当没有break,会一直往下走
    case 2 :  
        ......
        break;
     ...
     default:  //当没有匹配值的时候会进入这个条件  //这里的顺序可以放在case前,case语句不要求顺序 
         .......
}
case后可以放整形常量  (char也是整形)
3.循环语句
  • while
while(表达式)
{  
    ......
    continue;//跳过后面代码,进入再次循环(break直接退出循环)
}


int i = 1;
while(i<10)
{
    if(i==5)
    continue;      //这里会一直在循环,并且永远不会跳出
    
    printf("");
    i++; 
}
  • for(不要在for循环内随便更改循环变量i,循环变量的范围尽量选择前闭后开0~9,i<10)
for(初始化语句;条件判断语句(k=0,这个语句不是判断是赋值,0 = false,不进循环);调整语句)  //条件判断语句被省略,默认进入循环,进入死循环
{
   循环语句;      
}


//当省略初始化语句的时候
int i = 0;
int j = 0;
for(;i<3,i++)
{
    for(;j<;j++)
    {
        printf("111\n");  //这里只会打印三次,因为j没有重新初始化    
    }
}

//多个变量控制,也是可以的
int x,y ;
for(x = 0, y = 0 ; x < 2 && y < 5; ++x, ++y)
  • do while
 do
 {
      循环语句;
 }
 while(表达式;) 
4.GOTO语句
1.一次跳出多个循环嵌套(不要随意滥用)
for()
{
    for()
    {
        for()
        {
            if(disaster) 
            goto disaster ;      
        }    
    }
}
 disaster:
     ...

2.常用结构   
again:
  printf("213\n");
  printf("231\n");
  goto again;
  
3.goto函数不能跨函数调用,只能在同一函数调用
5.getchar函数与putchar函数
int ch = gechar(); //getchar接受标准输入
当接受到错误,或者到文本结尾的时候,会输出EOF,EOF是-1,所以,前面要用int类型
按下ctil+Z,就是EOF
注意:当按下字母和回车,这里输入的是两个字符,所以,会自动换行

putchar(ch);  //输出ch



char password[20] = {0};
printf("请输入密码");
scanf("%s",password);
//getchar(); //这里getchar()读取了\n,防止 

int ch = 0 ;
while ((ch = getchar()) != '\n')  //或者将'\n'换成EOF 
{
    ; 
}

print("请确认密码");
int ret = getchar();
if('Y' == ret)
{
    printf("Yes\n");
}
else
{
    printf("No\n");
}  
6.调用随机数函数

产生随机数种子srand()
需要时间戳(时间戳是相对于计算机起始时间的秒)time(NULL)函数获得时间戳;//<time.h>
int a = rand();  //产生0~RAND_MAX(32767)之间的数 <stdlib.h> 

srand((unsigned int)time(NULL));
int a = rand();

如果要想在0~100之间的数,直接取100的余数  +1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值