c语言 5 语句

  1.  语句

我们都晓得 ;  分号结尾是一句

个人学习来看, 语句就是三种,

分支,循环,判断

我们通过这三种类型的语句构建代码,简陋又精妙,这也是为啥敲代码敲不出女朋友,但我依然爱敲代码,

那么,继续学习语句。

1 空语句

;                                                   // 没毛病 

cout<<"hello world<

1.1. 复合语句

int a;

{
a=10;

a*=2;

}               //这样  复合语句  花括号括起来

{

}             // 复合语句里边啥都没有也可以  空语句

复合语句也可以嵌套复合语句  for循环那样

 

2  if 语句    判断

if 语句用来做判断 这样

if(expr)        //expr express  表达的意思

stament1

else

statment2

判断条件expr  如何为真 

执行statmen1 

否则

执行statmen2

判断,判断,判断,三个结构之一

这样是没问题的

不加花括号

c语言 5 语句_第1张图片

但不能写成这样 这样是有语法错误的

int a = 20;
    if (a > 1)
        cout << "cry in night" << endl;
    cout << "wrong" << endl;    // 这里是有语法错误的
    else
        cout << "hhhh" << endl;
    cout << "我是一个没得情感的吃饭机器" << endl;

一般来说 我们都把花括号加上,这样结构清晰,可读性高

上边是简单的 if else 形式

下边我们学习完全的if else 语句,没啥难的,就是多重的 if else   多重判断

常见的考试成绩举例

c语言 5 语句_第2张图片

要注意,除了最后一句else if  之前的else if 后边只能跟一句,要多写就要加花括号

 

判断就这样

然后是分支,其实上边 if else 也算是分支,

 

3 . switch 语句

它是这样的

switch(exper)

{

case OPTION 1:

         break;

case OPTION 2:

         break;

case OPTION 3:

         break;

......................

default:

     break;

}

 

语法要素为:

exper必须为整形,不能是小数或其他类型

OPTION必须是整型常量,不能是变量

case  default  行称为标签,行尾以冒号结束

不允许不写default标签

不允许不写任何case标签

每个case 后加break  不加break  就继续执行下一行去了,

 

听起来有点复杂,其实很简单,我们举个具体代码栗子

 

c语言 5 语句_第3张图片

然后 还有一件事(老爹语录) 就是 循环

4. for 语句   循环

for循环可以解决重复性的工作 

它长这样

for(expr 1;expr 2;expr3)

       statment

语法规则,

终止条件, expr2 ,若expr2 为假 终止循环

循环体 执行statment  statment 可以是一个单语句,也可以是复合语句

c语言 5 语句_第4张图片

for循环是个很实用的东西,它可以帮助我们解决大量重复性工作问题,遍历数组,遍历链表,遍历二叉树,遍历各种乱七八糟的东西

还有几种它的变形

 

4.1 省略初始表达式

这样

int arr[18];

int i=0;                          //前置表达式放外头了

for( ; i<100 ; i++)    // 注意 它只是省略初始表达式,分号没有省略 切记,分号不可省略
   //省略

4.2 省略第二个表达式

int arr[18];

int i;

for(i=0 ;  ; i++)  // 省略表达式,但分号不能少

{

   if(i  = 100)         //中间表达式放内部了而已
    { 

     break;

    }

// 表达式

}

4.3  省略后置表达式

int arr[18];

int i;

for(i=0 ; i<100;  )    //这里没有分号是因为后置表达式后边本就没分号

{
a[ i ] = i+1;

i++;                  //后置表达式放内部了

}

 

前边三种的省略只是把表达式换个地方放着,

4.4  全部置空   // 有很大问题

for( ; ; )

{
cout<<"这样会无限次循环执行下去,死循环"<

}                         //

4.5  break 和continue   for循环中存在break 和continue

上边见过break  它的作用是跳出for语句,退出循环;

continue 的作用  ,如果continue存在于for循环的花括号内,

当continue语句被执行时,表示结束本轮循环,即continue后的语句被本轮忽略,不被执行

举个例子

// 打印1~100间的偶数,并统计偶数个数

c语言 5 语句_第5张图片

5. while 循环

  while  当...的时候

表达式

while (expr)

statment     //一条但语句或复合语句

语法规则

(1) 执行expr  若expr值为真,则执行(2),若expr值为假,退出while语句

(2) 执行statment

(3) 跳到第(1)不,继续下一轮循环

 上边说过,循环使得我们可以避免重复性工作,我们使用while循环完成一个数组初始值填充

代码长这样

c语言 5 语句_第6张图片

栗子   用户在控制台输入多个正整数,并保存在数组中。当用户输入数字为0时,结束输入。最多允许输入128个数。

代码

c语言 5 语句_第7张图片

 

 

6.  do...while 循环

表达式

do

{
statment

} while(expr);

语法规则

(1) 执行statment

(2)若expr为真,再一次执行stament,若expr为假,退出while语句

简单的说 ,先执行,再判断。真, 继续   假 结束

这时候就需要一个例栗子

// 输入密码问题  假设用户密码是六位数,用户输入密码,如果输入成功,则提示” 欢迎回来,二狗子先生“

如果输入失败,则提示” 你不是二狗子同学, 无耻的盗号狗贼“

最多输入三次密码,三次均未成功,则提示”无耻盗号狗,去死吧,三秒后爆炸“

代码


    int key = 260892;  //密码
    int times = 0;     //尝试次数
    int passed = 0;    //通过与否

    do
    {
        times++;
        // 提示用户输入密码
        int input = 0;
        cout << "别哔哔,输密码进来" << endl;
        scanf("%d", &input);
        //检查密码是否正确
        if (key == input)
        {
            passed = 1;
            break;
        }
        else
        {
            cout << "你不是二狗子,你这无耻的盗号狗贼" << endl;
        }
    } while (times < 3);
    if (passed)
    {
        cout << "欢迎回来,指挥官阁下" << endl;
    }
    else
    {
        cout << "去死吧,无耻盗号狗" << endl;
    }

 

c语言 5 语句_第8张图片

执行结果是这样的 蛮好玩

 

夜深了  睡觉

秋天深了, 神的家中鹰在集合
神的故乡鹰在言语
秋天深了, 王在写诗
在这个世界上秋天深了
得到的尚未得到
该丧失的早已丧失  

                     __海子

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(c语言 5 语句)