这节课我们来学习下程序中另外一个非常重要的语句:if。 1. 语法 if (判断条件布尔运算) { 条件成立后运行的语句 } 这里的条件判断采用了布尔运算,也就是真值和假值两种情况。当 if 后面放入的条件判断语句的执行最终结果为真的时候,就会执行花括号中的语句,如果条件语句最终的结果为假,那么就不会执行花括号 中的语句,程序会跳过花括号中的代码段,继续执行后面的代码。 这里给出了真值表,以供
Go 语言程序组成 和C语言程序一样,Go语言程序也是由众多函数组成的 和C语言程序一样,程序运行时系统会自动调用名称叫做 main 的函数 和C语言程序一样,如果一个程序没有主函数,则这个程序不具备运行能力 和C语言程序一样,一个 Go 语言程序有且只能有一个主函数 Go 语言程序主函数定义格式 C 语言 main 函数格式 int main(int argc, const char * arg
Objective-C Runtime Runtime 是什么? Runtime 是 Objective-C 区别于 C 语言这样的静态语言的一个非常重要的特性。对于 C 语言,函数的调用会在编译期就已经决定好,在编译完成后直接顺序执行。但是 OC 是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以 Runtime 无非就是去解决如何在运行时期找到调用方法这样的问题。 对
C++是从C语言演变而来的,而C语言又是从两个编程语言BCPL和B演变而来的、BCPL是Martin Richards于1967年开发的,用于编写操作系统软件和编译器。Ken Thompson在他的B语言(1970年在贝尔实验室)。DCPL和B都是“无类型”语言,每个数据项在内存中占一个“字”(word)长、如果要将数据项作为整数或实数处理,编程的工作量会很大。 C语言是从D语言演变而成的,由贝尔
C# 中的 switch 语句有些类似于《 if else if 语句》,都可以根据表达式执行某个的语句块,其语法格式如下: switch(表达式){ case value1: //表达式的值为 value1 时,要执行的代码 break; case value2: //表达式的值为 value2 时,要执行的代码 break;
C++ 判断 一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。 语法 C++ 中 switch 语句的语法:switch(expression){ case constant-expression : statement(s); break; // 可选的 case constant-expressio
C++ 判断 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 语法 C++ 中 if 语句的语法: if(boolean_expression) { // 如果布尔表达式为真将执行的语句 } 如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。 C 语言把任何非零和非空的值假定为 t
C++ 循环 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。 注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。 语法 C++ 中 goto 语句的语法: goto label; .. . label: statement; 在这里,label
C++ 循环 C++ 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。 对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do...while 循环,continue 语句会导致程序控制回到条件测试上。 语法 C++ 中 continue 语句的语法: conti
C++ 循环 C++ 中 break 语句有以下两种用法: 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。 它可用于终止 switch 语句中的一个 case。 如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。 语法 C++ 中 break 语句的语法: break
主要内容:随机数的本质,重新播种,生成一定范围内的随机数,连续生成随机数在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌。 在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为: int rand (void); void 表示不需要传递参数。 C语言中还有一个 random() 函数可以获取随机数,但是 random() 不是标准函数,不能在 VC/VS 等编译器通过
主要内容:按位与运算(&),按位或运算(|),按位异或运算(^),取反运算(~),左移运算(<<),右移运算(>>)所谓 位运算,就是对一个比特(Bit)位进行操作。在《 数据在内存中的存储》一节中讲到,比特(Bit)是一个电子元器件,8个比特构成一个字节(Byte),它已经是粒度最小的可操作单元了。 C语言提供了六种位运算符: 运算符 & | ^ ~ << >> 说明 按位与 按位或 按位异或 取反 左移 右移 按位与运算(&) 一个比特(Bit)位只有 0 和 1 两个取值,只有参与 运算的
主要内容:共用体的应用通过前面的讲解,我们知道结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员。在C语言中,还有另外一种和结构体非常类似的语法,叫做 共用体(Union),它的定义格式为: union 共用体名{ 成员列表 }; 共用体有时也被称为联合或者联合体,这也是 Union 这个单词的本意。 结构体和共用体的区别在于:结构体的各个成员会占用不同的内存,互相之间没有影响;而共用
主要内容:结构体变量,成员的获取和赋值前面的教程中我们讲解了 数组(Array),它是一组具有相同类型的数据的集合。但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放。 在C语言中,可以使用 结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为: struct 结构体名{
#define 叫做 宏定义命令,它也是C语言预处理命令的一种。所谓 宏定义,就是用一个标识符来表示一个字符串,如果在后面的代码中出现了该标识符,那么就全部替换成指定的字符串。 我们先通过一个例子来看一下 #define 的用法: 运行结果: 120 注意第 6 行代码 , 被 代替了。 就是宏定义, 为宏名, 是宏的内容(宏所表示的字符串)。在预处理阶段,对程序中所有出现的“宏名”,预处理器都会