A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jinzhinan 中级黑马   /  2014-11-6 22:31  /  2371 人查看  /  8 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文


1.流程控制结构类型
顺序结构:默认的流程结构,按照书写顺序执行每一条代码
选择结构:对给定的条件进行判断,再根据判断结果来决定执行那一段代码
循环结构:在给定条件成立的情况下,反复执行某一段代码
2.选择结构if语句
1> if 的第一种结构
if(条件)
{
     语句1;
     语句2;
     ……..
}
2> if 语句的第二种结构
if (条件)
{
     语句1
}
else
{
     语句2
}
3> if 语句的第三种结构

if (条件1)
{
     语句1
}

else if (条件2)
{
     语句2
}

else if (条件3)
{
     语句3
}
……..
4> if 的第四种结构,只有条件成立才会执行第一条语句,第二条语句和if语句没有关系不会执行
if (条件)
     语句1;
     语句2;


3.switch语句
switch(数值)
{
     case 数值1:
             语句1;
               break;


     case 数值2:
              语句2;
               break;


       default   :
               语句3;
               break;        
}
注意点:
1>break:退出整个switch语句
2>如果case后面没有break,就会执行后面所有case中得语句,直到遇到break为止
3>如果在case后面定义新的变量,必须用大括号{}包住,如果不括住容易出现作用域的情况

4.if 和 switch 对比
1> if 语句能完成的功能,switch并不能一定完成
例:a>6为条件,switch不能使其作为条件
2> 在有些情况下,if语句和switch语句可以互换
3> switch能完成的功能if都能完成


【代码练习】

/*
请输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)
A:90~100
B:80~90
C:70~80
D:60~70
E:0~60
*/

/*第一种方式
#include <stdio.h>

int main()
{
    printf("请输入一个整数分值:\n");
   
    int score ;
   
    scanf("%d", &score);
   
    if(score >= 90 && score <= 100){
        printf("A\n");
    }else if(score >= 80){
        printf("B\n");
    }else if(score >= 70){
        printf("C\n");
    }else if(score >= 60){
        printf("D\n");
    }else     {
        printf("E\n");
    }
    return 0;
}*/

/*第二种方式
#include <stdio.h>
int main()
{
    printf("请输入一个整数分值为:\n");
   
    int score;
   
    scanf("%d",&score);
   
    switch(score/10){
        case 10:
        case 9:
            printf("A\n");
            break;
        case 8:
            printf("B\n");
            break;
        case 7:
            printf("C\n");
            break;
        case 6:
            printf("D\n");
            break;
        default :
            printf("E\n");
            break;
    }
    return 0;
}*/


/*————————————————————————*/

while循环
1.循环体的运行原理
1>如果一开始条件不成立,永远不会执行循环体
2>如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立。。。。


2.while循环结构:
while(条件)
{
     循环体
}


3.while的定义步骤

1>先确定需要重复执行的操作
2>在确定约束条件
3>定义一个变量记录循环次数


4.continue
只要执行continue这段语句,就不会执行下面的代码了,直接结束这一次循环体,进入下次循环


5.break
当执行到break语句,就会直接退出循环,不会进行下次循环

【1.例子】
提示用户输入一个正整数,n,计算1+2+3+4+....+n的和


#include <stdio.h>


int main()
{
     int n = 0;//一定要初始化,因为默认有可能会是很大的值
     while(n <= 0){
          //1.提示输入
          printf(“请输入一个正整数:\n”);
          //2.接收输入
          scanf(“%d”,&n);
     }
     //3.计算
     //(1 + n) * n / 2
     //定义变量保存和
     int sum = 0;
     int num = 0;//默认被加的数值
     while(num < n){
          num++;
          sum += num;  // 累加
     }
     printf(“%d”,sum);


     return 0;
}


最简单利用while的死循环
while(1);


do while循环
1.do{
      循环体
   }while(条件)


2.while和do while的区别
1>很多情况下,while和do while可以互换
2>while特点:如果一开始的条件不成立,永远不会执行循环体
do while特点:不管一开始条件成不成立,至少会执行一次循环体


/*————————————————————————*/


for 循环
1.循环结构
for( 语句1;条件 ;语句2 )
{
     循环体
}
语句1:初始化语句
语句2:增量语句(执行完循环体后再执行的语句)


1>for一开始就会执行一次语句1(整个for循环只会执行一次)
2>判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立


2.使用注意:
1>//错误1,不要随便for()后面写分号
for(int i = 0; i < 5; i++);
{
     printf(“哈哈哈”);
}
2>//错误2,循环体要加上中括号{}
for(int i = 0; i < 5; i++)
     int a = 10;
3>//错误3,a++应该不应写在小括号里,应写在中括号里
for(int i = 0; i < 5; i++, a++)
{
     int a = 10;
}


最简单利用for循环实现死循环
for( ; ; );

3.for循环的嵌套
【2.例子】
      好有列表1
             好友1
             好友2

      好有列表2
             好友1
             好友2

#include <stdio.h>


int main()
{
     for(int i = 0; i < 5; i++)
     {
          printf(“好友列表%d”,i);


          for(int j = 0; j < 6; j++)
          {
               printf(“     好友%d”,j);
          }
     }
     return 0;
}

评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

8 个回复

倒序浏览
总的不错。
回复 使用道具 举报
总结的很详细
回复 使用道具 举报
总得不错
回复 使用道具 举报
我也写了一篇呢:
http://kai-lee.com/2015/04/23/C%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E4%BA%8C/#more
共勉!
回复 使用道具 举报
好笔记  多分享
回复 使用道具 举报
学习借鉴
回复 使用道具 举报
很不错,自己不用总结了。收藏
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马