c语言实战开发(预习) 2019-11-18

一.两种循环

入口条件循环:先判断,再执行代码块退出条件循环:先执行代码块,再判断

二.可控循环的四要素(能停下来的循环就是可控的)

1:条件不能一直是真,否则就是死循环了2:循环控制变量有初始值3:循环控制变量要参与到条件中来,有循环停止的条件4:循环控制变量要有规律地变化

三.while循环

用法示例如下:
int i = 1;
while(i<5)
{
printf("%d",i);
i++;
}注意点①while后面不加分号②只有一条语句的时候可以不加花括号,只执行下面一行的操作,但代码看起来不美观,所以以后就加上花括号

四.do while循环

用法示例如下
do{
}while(i <=5);注意点:①:它是退出条件循环,也就是说最少执行一次②:这里while后面要有分号了

五.for循环

使用格式规则如下
for(初始值;条件;变化)
{
代码块
}注意点①和while一样不要加“”和;②执行顺序:初始值->条件->代码块->变化->条件->代码块。。。。

六.嵌套循环

1:定义很简单,就是循环里边套着循环。2:着重注意while嵌套和for嵌套区别:while循环没有重新赋值,而for循环有重新赋值
比如下面的例子

int i = 1;
int j = 1;
while(i <=3)
{while(j < 3)
{printf("次数\n")
j++;
}
i++;
}

注意这里不是打印2乘以3=6次而是两次,原因就是上面的注意点,当j=3的时候,再进入循环时,没有给j初始化成1,所以j的值仍为3。

七.break

①通常与if连用,只能放在循环之内。②只跳出所在循环而非所有循环。③continue是执行下一循环。

八.数组(简单预习)

1.特点:
①是由类型相同的元素组成的集合。
②他们的地址在空间上是连续的。
③数组一但定义,其长度不可变化
2.分类一维数组,二维数组,。。。维数组。但是我们一般用到二维数组都很少。所以不必深究。

一维数组

1.一维数组声明类型+数组名+[元素个数]
比如 int a [5] 表示有五个元素的一维数组
2.数组的初始化
①初始化全部:比如 int a [5] = {1,2,3,4,5};
②初始化部分:比如 int a [5] = {1,2,3};则其他元素默认为0
③初始化指定元素(不常用):比如 int a [5] = {1,[4] = 12};这样就给第五个元素赋值了12
④[]里面还可以是空的
3.数组的赋值
比如 a [1] = 12;这样就给第二个元素赋值了12,注意是第2个元素而非第一个。第一个元素下标为0,以此类推
4.数组的地址
打印形式如下
printf("%p",&a[]);
注意:
①用%p是十六进制,%d是十进制
②a[1]的地址也可以用a[0]+1来表示
③&a == &a[0];

二维数组

1.定义:元素是一维数组的数组,叫做二维数组2.形式:int a [ ][ ]; 第一个[]里面的数表示有几个一维数组,第二个[]里面的数字表示每个一维数组里面有几个元素3.初始化:比如 int a[3][2] = {{1,2},{3,4},{5,6}};类似于行列,这里表示有三行两列
如int a[3][2] =
{{1,2},
{3,4},
{5,6}};当然这里也可以不完整初始化,可以掉一个小数组,也可以掉一个小数组中部分元素,掉的元素默认为0
4.小注意点
①:可以省略里面的{},比如int a [3][2] = {1,2,3,4,5};这五个数据是依次往里面去存,5后面那个数默认为0
②:第一个[]里面的数据可以省略,依照第二个[]里面的数据来定。比如int a[][3] = {.....};
5.数组的地址
&a[0] == &a[0][0] == a
&a[1][0] == a[1]
虽然有的数值一样,但是级别不同

数组之间的赋值

1:数组名字是常量(本质是一个地址),不能进行赋值。
所以int b[5] = {a};就相当于只给第一个元素初始化,而初始化的值就是a的地址(a也是一个数组)
2:正确的赋值方式如下

int i = 0;
for(i = 0; i < 5;i++)
{b[i] = a[i];
}

如果只赋值部分元素,比如将a[5]后三位赋值到c[3],则示例如下

for(i = 0;i < 3;i++)
{
c[i] = a[i +2];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值