初学c语言(2)

一、循环

for循环语句:

循环就是让一段代码反复执行,达到你想要的效果
for是一一种比较灵活且危险(与其他循环语句相比)的一种循环
一般使用一个变量来引导它的运行,这个变量叫做循环变量i,index

for([1];[2];[3])
{
    [4]
} 

1、给循环变量赋初值,C99标准可以定义循环变量-std=gnu99
    在此处定义的循环变量,只能在for循环内使用
2、判断循环变量的值是否到达边界
4、被反复执行的代码,也叫做循环体
3、改变循环变量,防止死循环,一般对循环变量进行自加或自减

大括号问题:
    1、建议上下对齐
    2、循环体如果只有一行代码,大括号可以省略
        但是不利于代码的扩展,一般的商业代码要求大括号不能省略

for循环的多种写法:
for(;;)
{
    //死循环
}

int i=0;
for(; i<10; i++)
{

}

for(int i=0; i<10;)
{
    //
    i++;
}

for(int i=0,j=0;i<10;i++)
{

}

while语句:

while(条件) // 条件为真时执行循环体,为假时结束循环
{
    //循环体
}

while循环相当于for循环的精简版本
for循环负责解决明确知道循环次数的问题
while循环负责只知道循环条件而不确定循环次数的问题

do while语句:

do{
    // 循环体
}while(条件);
先执行循环体,再判断循环条件,该循环至少执行一次
适合先干活、后检查的特殊情况,例如:输入密码

循环嵌套:

循环语句中包含循环语句
外层循环执行一次,内层循环执行n次

跳转语句:

goto    可以在函数内任意跳转
        它可能会破坏已经设计好的分支或循环循环语句,因此绝大多数的公司都禁止使用goto 
        但是它在驱动编程中非常适合处理异常。

标签名:
    //代码
    goto 标签名;


break   
    1、在switch开关语句中执行关闭开关
    2、跳出循环,只能跳出一层循环

continue
    结束本次循环,进入下一次循环

return
    1、返回一个数据给函数的调用者
    2、结束函数的执行

二、数组:

什么是数组:变量的组合,是一种批量定义变量的方式

定义:类型 数组名[数量];
    int arr[5];
    
使用:数组名[下标];
    下标:从零开始,范围:0~数量-1
    
遍历: 与for循环配合,使用循环变量i作为数组的下标

初始化:类型 数组名[数量] = {1,2,3,4,5...};
    1、数组与普通变量一样默认值是随机的,为了安全起见要对它进行初始化
    2、这种初始化的方式只能在定义语句中使用,而且只能逐个赋值,不能整体赋值
    3、初始化的数量过多,编译器会产生警告并丢弃
    4、初始化的数量过少,编译器会补0
    5、大括号里的数据可以省略,只写大括号,相当于给所有成员赋0
    6、初始化时数量也可以省略,编译器会自动计算数据的个数然后告诉数组
        计算数组长度:  sizeof(arr)/sizeof(arr[0]) = 数组的长度

数组越界: 为了程序运行效率是不会检查数组的下标
        数组越界的后果:
            1、一切正常
            2、段错误
            3、脏数据

二维数组:

    一维数组相当于把变量排成一排,通过编号来访问
    二维数组相当于把变量排成矩阵,通过行号和列号来访问
    
定义:
    类型 数组名[行数][列数];
    int arr[3][5];
    [0,0][0,1][0,2][0,3][0,4]
    [1,0][1,1][1,2][1,3][1,4]
    [2,0][2,1][2,2][2,3][2,4]
    
使用:  
    数组名[行下标][列下标]
    行下标:0~行数-1
    列下标:0~列数-1
    
遍历:
    需要与双层for循环配合,外层循环负责遍历行,内层循环负责遍历列
    for(int i=0; i<3; i++)
    {   
        for(int j=0; j<5; j++)
        {   
            printf("%d ",arr[i][j]);
        }   
        printf("\n");
    }  
    
初始化:
    类型 数组名[行数][列数] = {{第一行},{第二行},{第三行}...};

变长数组:

定义数组时使用变量作为数组的长度,在编译期间数组的长度是不确定的,当程序运行到数组的定义语句时它的长度才能确定下来,一旦确定长度,无法改变

优点:可以根据实际情况确定数组的长度,达到解决内存的目的
缺点:不可以初始化,初始化发生在编译期间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值