C语言第五节(8)

C语言第五节(8),第1张

分支和循环都是流程控制语句,它们都可以让程序里的语句不再从上到下顺序执行

 

goto语句也是流程控制语句

它可以把任何语句指定成下一条语句

尽量不要使用这条语句

循环里包含其他循环的结构叫多重循环

多重循环可以用来在程序里得到多组相关数字

外部循环变量变化慢,内部循环变量变化快

例:

54321

5432

543

54

5

五组数字依次显示到屏幕上

 

 

 while关键字也可以用来编写循环

for关键字编写的循环和while关键字编写的循环完全可以相互替代

不容易用for关键字编写的循环就可以用while关键字编写

while循环格式如下

while(逻辑循环表达式){

反复执行的语句

}

这个格式表示反复执行大括号里面的语句直到逻辑表达式结果为假

如果while循环的逻辑表达式永远为真就成为了死循环(例如逻辑循环表达式的小括号里输入1)

while循环里也可以使用break;语句和continue;语句,效果和for循环一样

猜数游戏

while循环交替执行逻辑表达式的计算和大括号里面的语句

while循环开始时先计算逻辑表达式的结果

如果第一次循环计算逻辑表达式的结果就是假,则循环立刻结束,这个时候大括号里面的语句没有机会执行

do...while关键字也可以用来编写循环

do...while循环格式如下

do{

反复执行的语句

}while (逻辑表达式);

do...while循环小括号后面必须用分号结束

do...while循环也是交替执行逻辑表达式的计算和大括号里面的语句

do...while循环首先执行大括号里面的语句

do...while循环可以保证至少把大括号里面的语句执行一次

用户在键盘上输入的数字首先进入缓冲区,scanf标准函数从输入缓冲区里获得数字并记录到存储区里

先进入输入缓冲区的数据必须首先被处理

如果用户输入的某些数据程序无法处理,程序就得不到用户以后输入的数据

以下两条语句吧可以把输入缓冲区里第一个\n字符和它前面的内容删除(相当于删除用户某一次输入的所有内容)

scanf("%*[^\n]");

scanf("%*c");

 

printf标准函数把要显示的内容放在输出缓冲区里,计算机在合适的时候把输出缓冲区里的内容显示在屏幕上。

在以下四种情况下计算机会输出缓冲区里的内容显示在屏幕上

1.如果输出缓冲区里包含'\n'字符就把它前面的内容显示在屏幕上

2.程序结束后计算机会把程序放在输出缓冲区里的内容显示在屏幕上

3.当输出缓冲区被充满的时候它里面的内容会显示在屏幕上

4.可以使用fflush(stdout)语句强制把输出缓冲区里的内容显示在屏幕上

scanf语句也有与fflush(stdout)语句一样的作用

数组用来代表内存里一组连续的同类型存储区

这些存储区叫做数组的元素

声明数组时除了提供类型名称,数组名称之外还需要提供一个整数用来表示数组里的存储区个数

数组里存储区个数 不能改变(声明的时候包含多少个存储区就只能永远包含这么多个存储区)

数组通常不会作为整体使用,一般一次只使用其中的某个存储区

数组里每个存储区都有一个编号,这个编号叫做数组的下标

有效下标的范围从0开始到存储区个数减一结束(超过范围的下标不可以使用)

数组名称加下标可以表示数组里的存储区

可以编写for循环依次处理数组里的所有存储区

循环变量代表数组的所有有效下标

数组应该进行初始化

初始化数组的时候需要把初始化数据写在一对大括号中间,相邻数字之间用逗号分开

如果初始化数据个数比存储区个数多就省略后面的初始化数据

如果初始化数据个数比存储区个数少就把后面的存储区内容初始化为0

如果初始化数据个数和存储区个数一样就可以省略数组声明里的存储区个数

数组名称不能代表存储区,所以不能被赋值

数组名称可以代表数组里第一个存储区的地址 

可以对数组名称进行sizeof计算,计算结果是数组里所有存储区的总大小

 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/798959.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存