Day6 流程控制 和 数组
创始人
2024-09-25 14:53:30
0

目录

循环结构

(一)do-while 语句

(二)for 循环 

break 语句和 continue 语句

(一)break 语句 

(二)continue 语句

数组 

(一)一维数组

一维数组的引用:

一维数组的初始化:

循环结构

(一)do-while 语句:

      do while 语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为:(注意:while 后面的分号一定要有 )
          do
         { 
             语句;
          }while (表达式);
       它是这样执行的:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零("真")时,返回重新执行循环体语句,如此反复,直到表达式的值等于 为止,此时循环结束。

while 语句和do...while语句的对比:
     1. do-while 循环 至少会被一次 
     2. 逻辑顺序不同 
         while     - 先判断 后执行 
         do-while  - 先执行 后判断 

(二)for 循环 :

       C语言中的 for 语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替 while 语句。

for 语句的一般形式为

                                 for (表达式1;表达式2;表达式3)
                                {
                                      循环体语句;
                                }

它的执行过程如下: (1) 先求解表达式1。(2) 求解表达式 2, 若其值为真(值为非0),则执行 for 语句中指定的内嵌语句,然后执行下面第 (3) 步。若为假(值为0),则结束循环,转到第 (5) 步。 (3) 求解表达式3。(4) 转回上面第 (2) 步骤继续执行。 (5) 循环结束,执行 for 语句下面的一个语句。

注:for 循环的三个表达式都可以省略,但是对应的循环要素不能省,表达式2 省略 ---表示循环条件永远为真 。


例:从键盘输入一个数,判断是不是素数。

  1 #include   2    3 int main(void)   4 {   5     int num,i;                                                                           6     scanf("%d",&num);   7    8     for(i = 2;i < num;i++)   9     {  10         if(num%i == 0)  11         {  12             break;  13         }  14     }  15   16     if(i < num)  17     {  18         printf("%d is not a prime num!\n",num);  19     }else  20     {  21         printf("%d is a prime num!\n",num);  22     }  23   24     return 0;  25 } 

break 语句和 continue 语句

(一)break 语句 

          用 break 语句可以使流程跳出 switch 结构 继续执行 switch 语句下面的一个语句。实际上,break 语句还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。
  8     for(i = 2;i < num;i++)   9     {  10         if(num%i == 0)  11         {  12             break;  13         }  14     } 

当语句执行到 break 语句时,将跳出循环体,执行接下来的语句。

(二)continue 语句

        continue其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

  8     for(i = 0;i < 3;++i)   9     {  10         printf("i = %d\n",i);  11         for(j = 0;j < 3;++j)  12         {  13             printf("j = %d\n",j);  14   15             if(j == 1)  16                 break;  17         }  18   19         if(i%2 == 0)  20             continue;                                                                                                                 21   22         printf("i = %d   j =%d\n",i,j);  23     } 

       当满足条件执行 if(i%2 == 0)   continue;  时,将不执行 printf("i = %d   j =%d\n",i,j); ,而是回到循环判断,开始下一次的循环。

continue 语句和 break 语句的区别: continue 语句只结束本次循环,而不是终止整个循环的执行。而 break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

数组 

       数组是有序数据的集合。数组中的每 个元素都属于同一个数据 类型。用一个统一的数组名和下标来惟一地确定数组中的元素。

(一)一维数组

一维数组的定义方式为:类型说明符数组名[常量表达式];(1)类型说明符 --- 数据类型          作用: 用来说明该数组中元素的类型
                  整型 int/short/long/long long 
                  浮点型 float / double /long double 
                  字符型 char
           
(2)数组名    --- 名字 (标识符)
                   用来代表这个数组 
                   起名字规则 与 之前变量名起名规则一致 (3)[常量表达式] --- [ ]  数组类型    常量表达式    数组中元素的个数
                   1. c99标准之后,数组长度 可以是变量,也可以是可变长数组,但是不能初始化。 
                   2. 数组长度,可以省略,但是必须要有初始化,编译器要根据初始化的值,来推算实                     际的长度 。(int len = sizeof(a)/sizeof(int);   可用于计算实际长度。例如:          int a[10] ;         它表示定义了一个整型数组,数组名为 a, 此数组有 10 个元素。注意:(1) 数组名的命名规则和变量名相同,遵循标识符命名规则。 (2) 在定义数组时,需要指定数组中元素的个数,方括号中的常址表达式用来表示元素的个数,即数组长度。(3) 常量表达式中可以包括常量和符号常量,不能包含变量。

一维数组的引用:

        数组必须先定义,然后使用。 语言规定只能逐个引用数组元素而不能一次引用整个数组。         数组元素的表示形式为:数组名[下标 ]注意:定义数组时用到的“数组名[常量表达式]"和引用数组元素时用到的“数组名 [ 下标 ]"的区别。

一维数组的初始化:

(1) 在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。(2) 可以只给一部分元素赋值,未初始化的部分会被初始化为0。(3)不初始化数组时,数组中值是随机值(垃圾值)。例:int a[10]; 

数组特点:
   连续性 --- 数组空间是一片连续内存空间 
   有序性 --- 数组的元素挨个存放 
   单一性 --- 数组元素类型是同一类型 

相关内容

热门资讯

一分钟了解(wepoke游戏)... 一分钟了解(wepoke游戏)哈灵麻将系统助手(辅助挂)原来真的是有挂(2021已更新)(哔哩哔哩)...
透视黑科技!WPK小程序其实有... 透视黑科技!WPK小程序其实有挂是真的(透视器)软件透明挂辅助透视(2024已更新)(哔哩哔哩);超...
透视好牌(wpk德州)外挂透明... 自定义新版wpk德州系统规律,只需要输入自己想要的开挂功能,一键便可以生成出wpk德州专用辅助器,不...
十分钟了解(微扑克挂)创思维传... 十分钟了解(微扑克挂)创思维传送屋激k代打(辅助)原来是有挂猫腻(2021已更新)(哔哩哔哩);1、...
透视游戏!好运大菠萝其实真的有... 透视游戏!好运大菠萝其实真的有辅助挂(透视辅助)外挂透明挂辅助器(2024已更新)(哔哩哔哩);AI...
透视透明(德州wpk)外挂透明... 透视透明(德州wpk)外挂透明挂辅助软件(辅助透视)软件透明挂(2022已更新)(哔哩哔哩);亲真的...
透视数据!WPK数据原来到底是... 透视数据!WPK数据原来到底是真的有辅助挂(透视辅助)软件透明挂辅助挂(2024已更新)(哔哩哔哩)...
科技通报(wpk规律)钱塘十三... 科技通报(wpk规律)钱塘十三水黑科技透视(辅助)原来是有挂的(2020已更新)(哔哩哔哩);wpk...
透明有挂!WPK辅助原来是真的... 透明有挂!WPK辅助原来是真的有挂(透视)软件透明挂辅助脚本(2023已更新)(哔哩哔哩)是一款可以...
透明规律(wpk输赢)软件透明... 透明规律(wpk输赢)软件透明挂辅助挂(辅助挂)软件透明挂(2020已更新)(哔哩哔哩);1、超多福...