——黑马程序员——C语言中程序结构(一)

-----------android 培训 java培训 、java学习型技术博客、期待与您交流!-----------

——黑马程序员——C语言中程序结构(一)

在C语言中程序的结构分为:顺序结构、分支结构、循环结构三大类。

一、顺序结构

在顺序结构中,各语句是自上而下顺序执行的,执行完上一个语句就自动执行下一个语句,是无条件的, 不必做任何的判断,他是最简单的程序结构。

二、分支结构

在程序设计过程中,实际上在很多情况下,需要根据某个条件是否满足来决定是否执行指定的操作任务,或者从给定的两种或者多种操作中选择其一。这就是分支结构要解决的问题。
(1)if 语句:用来实现两个分支的选择结构
if 语句一般形式如下:表示如果表达式为真,则执行语句块1,
if (表达式)
 {
语句块1
 }
语句块2
if 语句中表达式可以是关系表达式、逻辑表达式,甚至是数值表达式。
原理:计算括号中表达式的值,为真执行{ }中的语句块,如果为假则不会执行{ }语句块1
#include <stdio.h>
#include <stdlib.h>
int main()
{
	//定义变量
    int a = 0;
    //提示用户输入
	printf("请输入一个十以内的阿拉伯数字:\n");
	//接收用户输入的值
    scanf("%d",&a);
    //判断输入的值是否等于8
    if(a == 8)
    {
		printf("这是一个很吉利的数字!\n");
    }else
    {
		printf("嘿嘿!你好!\n");
    }
   
	system("pause");
	return 0;
}

输入4后:

if ... else 语句
if (表达式)
  {
语句块1
  }
 else
  {
语句块2
  }
原理:如果表达式为真,则执行语句块1,否则执行语句块2
if ...else 语句的嵌套
格式为:
if (表达式1)
{
语句1
}
else if (表达式2)
{
语句2
}
else if (表达式3)
{
语句3
}
else if (表达式m)
{
语句m
}
else
{
语句m+1
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
	//定义变量
    int a = 0;
    //提示用户输入
	printf("请输入一个十以内的阿拉伯数字:\n");
    //接收用户输入的值
        scanf("%d",&a);
    //判断输入的值是否等于8
    if(a == 8)
    {
	printf("这是一个很吉利的数字!\n");
     //判断是否大于8
    }else if(a > 8)
    {
	printf("你输入的数大于8!\n");
    //只剩下小于8的情况
    }else 
    {
	printf("你输入的数小于8!\n");
    }
   
	system("pause");
	return 0;
}



当 if (表达式)后只有一个语句时可以省略{ },但是在此提示最好不要省略。
(2)switch 语句:用来实现多个分支的选择结构
switch (表达式)
{
case常量1:
语句1
case常量2:
语句2
case常量3:
语句3
case常量n
语句n
default :
语句n+1
}
说明:(1)switch ()内的“表达式”,其值的类型应为整型类型,也可以是字符型,可以是常量、变量、表达式
           (2)switch 下面的{ }内是一个复合语句可以没有default 语句
   (3)每一个case常量必须互不相同,否则出现互相矛盾的现象
   (4)case 语句的穿透:是指执行完某个case语句后并没有停止而是继续向下执行,
    case语句的穿透问题解决方法:在每个case语句之后加上break,break的作用是结束switch语句,没有遇到break语句程序就会继续往下执行知道遇到break语句结束switch语句
#include <stdio.h>
#include <stdlib.h>
int main()
{
	//定义变量
    int num = 0;
	//提示用户输入
    printf("请输入一个五以内的数字按回车结束\n");
	//接收键盘输入的数据
    scanf("%d",&num);
       //判断用户输入的数是否正确
    if(num < 0&& num > 5)
    {
	//提示重新输入
	printf("您输入的数不符合要求请重新输入\n");
    
    }
        //判断num的值
    switch (num)
    {
	//如果等于0打印出0
	case 0:
        <span style="white-space:pre">	</span> printf("您输入的数是%d\n",num);
	<span style="white-space:pre">	</span>printf("你好!\n");
        
        //如果等于1,打印出1
	case 1:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好吗?\n");
        
	//如果等于2,打印出2
	case 2:
       <span style="white-space:pre">		</span> printf("您输入的数是%d\n",num);
		 printf("你好不好?\n");
        
        //如果等于3,打印出3
	case 3:
       <span style="white-space:pre">		</span> printf("您输入的数是%d\n",num);
		printf("你到底好吗?\n");
        
        //如果等于4,打印出4
	case 4:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你到底好不好?\n");
        
        //如果等于5,打印出5
	case 5:
       <span style="white-space:pre">		</span> printf("您输入的数是%d\n",num);
		printf("你好不好?\n");
        
    }
	system("pause");
	return 0;
}

加入break之后
#include <stdio.h>
#include <stdlib.h>
int main()
{
	//定义变量
    int num = 0;
	//提示用户输入
    printf("请输入一个五以内的数字按回车结束\n");
	//接收键盘输入的数据
    scanf("%d",&num);
       //判断用户输入的数是否正确
    if(num < 0&& num > 5)
    {
	//提示重新输入
	printf("您输入的数不符合要求请重新输入\n");
    
    }
    //判断num的值
    switch (num)
    {
	//如果等于0打印出0
	case 0:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好!\n");
        //结束switch语句
       <span style="white-space:pre">		</span> break;
        
        //如果等于1,打印出1
	case 1:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好吗?\n");
         //结束switch语句
        <span style="white-space:pre">	</span>break;
        
		//如果等于2,打印出2
	case 2:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好不好?\n");
                //结束switch语句
       <span style="white-space:pre">	</span> <span style="white-space:pre">	</span>break;
        
        //如果等于3,打印出3
	case 3:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你到底好吗?\n");
         //结束switch语句
        <span style="white-space:pre">	</span>break;
       
        //如果等于4,打印出4
	case 4:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你到底好不好?\n");
        //结束switch语句
        <span style="white-space:pre">	</span>break;
        
        //如果等于5,打印出5
	case 5:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好不好?\n");
        
    }
	system("pause");
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
	//定义变量
    int num = 0;
	//提示用户输入
    printf("请输入一个五以内的数字按回车结束\n");
	//接收键盘输入的数据
    scanf("%d",&num);
    //判断用户输入的数是否正确
    if(num < 0&& num > 5)
    {
		//提示重新输入
		printf("您输入的数不符合要求请重新输入\n");
    
    }
    //判断num的值
    switch (num)
    {
		//如果等于0打印出0
	case 0:
       <span style="white-space:pre">	</span> <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好!\n");
        //结束switch语句
        <span style="white-space:pre">	</span>break;
        
        //如果等于1,打印出1
	case 1:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好吗?\n");
         //结束switch语句
        <span style="white-space:pre">	</span>break;
        
		//如果等于2,打印出2
	case 2:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好不好?\n");
                //结束switch语句
        <span style="white-space:pre">	</span>break;
        
        //如果等于3,打印出3
	case 3:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你到底好吗?\n");

       
        //如果等于4,打印出4
	case 4:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你到底好不好?\n");
        //结束switch语句
        <span style="white-space:pre">	</span>break;
        
        //如果等于5,打印出5
	case 5:
        <span style="white-space:pre">	</span>printf("您输入的数是%d\n",num);
		printf("你好不好?\n");
        
    }
	system("pause");
	return 0;
}


未完待续。。。。。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值