【C语言疯狂讲义】(四)C语言分支语句

1、程序的结构

程序默认从上到下顺序执行(顺序结构)

程序的结构:顺序结构、分支结构、循环结构

2、if分支语句

程序执行的过程中可以有多个选择

格式:

if(表达式){

语句块;

}

......

进行表达式的求值:如果表达式的值为非0(真)
会执行语句块

0 (假)
不会执行语句块,

3、if分支语句的几种形式

1)最简单的,要不执行,要不是不执行

if(表达式){

语句块;

}

2)if.....else......

if(表达式){

语句块1;

}else{

语句块2;

}

进行表达式的求值:如果表达式的值为(真)
会执行语句块1

0 (假)
会执行语句块2

注意:语句块1和语句2只可能被执行一次

3)if...else...的嵌套问题

if(表达式1){

if(表达式2){    //表达式1值为1,并且表达式2值为1

语句块1;

}else{

语句块2;    //表达式1值为1,但是表达式2的值为0

}

}else{

语句块3;        //表达式1为0的时候

}

4)if..... else if ......else....

if(表达式1){

语句块1;  //表达式1为真

}else if(表达式2){

语句块2;  //当表达式1不成立,但是表达式2成立

}else{

语句块3; //当表达式1和表达式2都不成立的时候

}

4、if注意点

1)if(1)、if(-1)、if(a=5) 
永真式   if(0)
永假

2)if(表达式); 
表示判断完了什么都不做

3) if(表达式) return 0; //程序退出,代码不会再往下执行了

4) if(表达式){int num=10;}  printf("%d",num);(错误的)

5)if(表达式) int num=10; (作用域紊乱)

5、switch分支语句

也是用于条件判断,当表达是的结果有多种情况,用switch比较方便一些

格式:

switch(表达式){

case 整型常量或者字符常量:
语句;

.....

default:

//如果上面的条件都不满足,执行default

}

计算表达式的值,用这个值和case后的常量进行比较,如果这个值等于了某个常量值,会执行case对应的分支语句,遇到break;才结束,如果没有遇到break,程序一直会往下执行,直到switch语句结束

6、switch的注意点

1)switch(表达式)   
表达式:返回值是整型

2)case
常量        常量:必须是整型的
,不能是flaoat    cast 2.3:

可以放常量表达式,但是不允许:a+3

3) 作用域的问题

case 3: {

int num=-1;

}

case 4:printf("%d\n",num); 不允许的

4)case分之语句可以有多句,可以使用大括号,也可以不使用

5)作用域紊乱的问题:  case 4:int a=4; (错误的)

时间: 2024-11-09 03:18:21

【C语言疯狂讲义】(四)C语言分支语句的相关文章

【C语言疯狂讲义】(十六)C语言简易通讯录(未优化版)

<通讯录>开发用到得知识点 常量.变量的使用 全局变量 分支语句 函数 宏 循环语句 scanf和printf 数据 结构体 文件 指针* <通讯录>中解决的经典问题 数组元素如何删除(不使用链表) 开发调试环境:Mac os x10.10 + xcode6.1 通讯录主界面: 添加联系人界面 删除联系人界面 修改联系人界面 搜索联系人 #include <stdio.h> #include <string.h> /****** 宏定义 *******/ #

【C语言疯狂讲义】(十六)C语言文件操作

1.文件的基本概念 存储外部介质上得数据集,数据集有一个名称就是文件名 文件的分类: 1)用户角度:普通文件和设备文件 2)存储的内容: ascii文件(文本文件): 存储的流程:根据文本找到其对应的ascii码值---->转为二进制--> 写到文件中 读取流程: 二进制-->10进制-->找对应的字符-->显示出来 二进制文件: 二进制数据的存取 文件的操作流程: 1)导入头文件  stdio.h 2) 定义文件指针 3)打开文件 4)操作文件 5)关闭文件 文件操作原理

【C语言疯狂讲义】(七)C语言进制转换

1.计算机中的进制 2进制:逢二进1      0  1 8进制:逢八进1      0  1   2  3  4  5  6  7 10进制:逢十进1  默认的进制  0 - 9 16进制:逢十六进1   0 - 9  A B C D E F      (内存的地址格式) 2.进制的转换问题 三个要素: 数位(0-7). 基数(每一位能取值的个数). 位权(数码*基数^数位).    101 = 1*2^0+0*2^1+1*2^2 数码(每一位设置) 转换:有得时候转换为人能识别的数制,要操作

【C语言疯狂讲义】(八)C语言一维数组

1.数组的基本概念: 相同类型    若干个     有序 由若干个相同类型的数据组成的有序的集合 有序:存储地址连续 下标连续 数组名:用来存放数组首地址的变量 数组元素:构成数组的每一个数据 数组的下标:给数组的每一个元素做一个编号 数组的长度:构成数组的数据的个数 2.一维数组的定义 数组的使用的流程:先定义   ---> 初始化   --->使用 数组定义完成后,如果不初始化里面存放的时垃圾值 格式:int arr[10]; 定义长度为10的整型数组,每个都是Int型的,数组的名称 a

李刚OC语言疯狂讲义笔记

设计一个”学生“类1> 属性* 姓名* 生日用结构体作为类的实例变量(生日) #import <Foundation/Foundation.h> //定义生日的结构体 typedef struct{ int year; int month; int day; }MyDate; @interface Person : NSObject { @public NSString *_name;//定义姓名 MyDate _birthday;//定义生日 } @end @implementatio

【C语言疯狂讲义】(九)C语言指针(一)

1.什么是地址? 内存是由若干个1个字节的内存单元组成的存储器 计算机为了管理内存单元,给每个字节都进行编号 编号的就是地址 2.什么是指针? 地址就是指针 地址: 地址指向的内存单元值:编号对应的存储内容 变量访问的方法:直接访问    间接访问 1)直接访问:用变量名访问其代表的存储空间 2)间接访问:通过内存地址访问地址所对应的存储单元的内容 3.指针和变量之间的关系 指针可以间接的访问变量的值 1)指针变量:就是用来存放地址的变量 指针变量也遵守变量使用的规则 :先定义  --->初始化

【C语言疯狂讲义】(三)C语言运算符

1.运算符: 连接两个操作数(常量.变量)的符号 用运算符按照一定的规则连接的式子称为表达式 运算符的分类: 1)操作数的个数: 单目运算(++     sizeof    !) 双目运算符:.... 三目运算符:  ?: 2) 功能: 算术运算符.关系和逻辑运算.位运算 2.算术运算符 1)什么东西? 进行算术的运算,总计5个 +  -  *  /  % 双目运算符 a+b   a*3   b/5    10%3 2)优先级 * /   3 + -   4 乘除的优先级要高于加减的 3)结合性

OC语言疯狂讲义学习笔记

1.关于nil和Nil及NULL的区别: nil: A null pointer to an Objective-C object. ( #define nil ((id)0) ) nil 是一个对象值. Nil: A null pointer to an Objective-C class. NULL: A null pointer to anything else. ( #define NULL ((void *)0) ) NULL是一个通用指针(泛型指针). NSNull: A class

7.JavaScript运算符和条件分支语句

三.运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式. 运算符的分类见仁见智,我们的课程对运算符进行如下分类: 数学运算符(Arithmetic operators) 比较运算符(Comparison operators) 逻辑运算符(Logical operators) 赋值运算符(Assignment operators) 按位运算符(Bitwise operators) 条件 (三元) 运算符(Conditional operator) 3.1 数学运算符 +