C语言 ---- 循环分支 iOS学习-----细碎知识点总结
#import <Foundation/Foundation.h> // #import是OC种的导入头文件或者是系统框架的指令
// 定义了一个Season枚举类型
enum Season {
Spring = 1, // 值默认是从0开始,后面的依次加1
Summer,
Autumn,
Winter
}; // ";"不能省略
int main(int argc, const char * argv[]) {
/*
// 在C语言中,c89中是没有bool类型存在的,c99中增加了bool类型,是一种"非0即真"的数据类型,true和false
// 在OC中,有BOOL数据类型,"非真即假",值只有YES和NO,YES代表表达式的结果为真,NO代表表达式的结果为假
printf("%lu\n", sizeof(BOOL)); // sizeof()是一个操作符,能够求到某个数据类型或者是变量所占的字节数
BOOL isYes = YES; // 定义一个BOOL类型的变量,赋初值为YES
BOOL isNo = NO;
printf("%d --- %d\n", isYes, isNo);
*/
#pragma mark - 关系运算符:>、>=、<、<=、==、!=,目前已经学习了三种运算符,他们的优先级:算数运算符 > 关系运算符 > 赋值运算符
BOOL bigger = 7 != 5;
printf("%d\n", bigger);
int num1 = (4 + 5) > 2;
printf("num1 = %d\n", num1);
#pragma mark - 逻辑表达式:逻辑与(&&)、逻辑或(||)、逻辑非(!)
int num1 = 1;
int num2 = 0;
BOOL isAnd = num1 && num2++; // 存在短路现象:表达式1 && 表达式2, 当表达式1的结果为假的时候,后面的表达式2就不会在执行,整个表达式的结果为假
printf("isAnd = %d\n", num2);
BOOL isHuo = num1 || num2++; // 逻辑或的短路现象: 表达式1 || 表达式2, 如果表达式1的结果为真的话,那么表达式2就不会再执行,整个表达式的结果为真
printf("isHuo = %d, num2 = %d\n", isHuo, num2);
printf("--- %d\n", !isHuo);
#pragma mark - if语句
printf("请输入CET-4分数:\n");
int score = 0;
scanf("%d", &score); // 用score来接收我们输入的成绩
getchar(); // 取出键盘缓存区的换行符
if (score >= 425) {
printf("恭喜你,成绩合格!\n");
}
printf("if语句执行完毕\n");
#pragma mark - 条件运算符
// 输出两个数中的最大数
int num1 = 12, num2 = 20;
int maxNum = 0; // 用来接收最大值
// if (num1 > num2) {
// maxNum = num1;
// } else {
// maxNum = num2;
// }
maxNum = num1 > num2 ? num1 : num2; // 条件运算符"条件表达式 ? 表达式1 : 表达式2"
printf("最大值为:%d\n", maxNum);
#pragma mark - switch-case
// 输入数字1、2、3、4,分别输出春夏秋冬的英文单词
printf("请输入1~4之间的数字:\n");
int season = 0;
scanf("%d", &season);
switch (season) {
case Spring:
{
int num = 10; // 如果在case语句中定义变量的话,那么必须要加""
printf("Spring\n"); // 如果在case语句中不加break的话,那么会执行满足条件的case情况后面的所有的case语句
break;
}
case Winter:
{
printf("Winter\n");
break;
}
case Summer:
{
printf("Summer\n");
break;
}
case Autumn:
{
printf("Autumn\n");
break;
}
default:
{
printf("您的输入有误,请按照提示重新输入.\n");
break;
}
}
enum Season aSpring = Spring; // 定义一个枚举类型的变量, 并且给予初值
return 0;
}
#pragma mark - while循环
// 一直输出大水表
while (YES) { // 1、循环条件
printf("大水表\n"); // 2、循环体
}
// 输出10编大水表
int count = 0; // 定义一个整形变量int,用来记录输出的大水表的次数
while (count < 10) {
printf("大水表\n");
count++; // 记录输出的次数,每执行一次循环体,该变量值加1
}
// 输出1~100之间7的倍数
int num = 1;
while (num <= 100) {
if (num % 7 == 0) {
printf("%d\n", num);
}
num++; // 循环增量的改变
}
// 输出1~100之间的个位为7的数
int num = 1; // 1、循环变量的初始化
while (num <= 100) { // 2、循环条件
// 3、循环体
if (num % 10 == 7) {
printf("%d是个位为7的数\n", num);
}
num++; // 4、循环增量的改变
}
// 输出1~100之间十位数为7的数
int num = 1; // 1、循环变量的初始化
while (num <= 100) { // 2、循环条件
// 3、循环体
if (num / 10 == 7) {
printf("%d是十位为7的数\n", num);
}
// 4、循环增量的改变
num++;
}
#pragma mark - 随机数
// 负数在计算机中是以补码的形式进行存储的,补码是由反码加1的到的,反码是由原码按位取反得到。
int num = -1;
printf("num = %lu\n", num);
// 随机产生一个数字
printf("randomNumber = %u", arc4random());
// 随机产生[0, 30]之间的随机数
int num = arc4random() % 31;
printf("num = %d\n", num);
// 随机产生[10, 30]之间的随机数
int randomNum = arc4random() % (30 - 10 + 1) + 10;
printf("randomNum = %d\n", randomNum);
#pragma mark - break, 结束本层循环, continue,结束本次循环
int num = 0;
while (num < 5) {
if (num == 3) {
// break; // 结束本层循环
num++;
continue; // 结束本次循环,继续进行条件的判定
}
printf("%d\n", num);
num++;
}
#pragma mark - do-while循环,无论循环条件是否满足,先执行一次循环体,也即是循环体至少执行一次
int num = 1;
do {
printf("你打我啊\n");
} while (num > 1);
#pragma mark - for循环
// 打印1~100之间7的倍数
for (int i = 1; i < 101; i++) {
if (i % 7 == 0) {
printf("%d是7的倍数\n", i);
}
}
#pragma mark - 循环嵌套
// 打印九九乘法表
for (int i = 0; i < 9; i++) {
for (int j = 0; j < i + 1; j++) {
printf("%d × %d = %d\t", j + 1, i + 1, (j + 1) * (i + 1)); // "\t"使输出对齐
}
printf("\n");
}
C语言 ---- 循环分支 iOS学习-----细碎知识点总结的更多相关文章
- C语言 ---- 数组 iOS学习-----细碎知识点总结
#pragma mark - 数组:用来存放同一数据类型的数据 // 数组的定义:类型说明符 数组名[常量表达式] = {值1, 值2, 值3...}; // 定义一个float类型的数组,用来 ...
- C语言 ---- 指针 iOS学习-----细碎知识点总结
内存的访问形式:1.直接访问:通过变量名进行访问.2.间接访问:先找到变量存放的地址,然后根据地址去访问对应的内存空间. 指针--- // 定义一个整形指针变量,用来存储num1在内存中的地址 ...
- C语言 ---- 函数 结构体 iOS学习-----细碎知识点总结
函数的定义 返回值类型 函数名(形式参数列表) { 函数的实现 } 函数不允许嵌套定义 如果函数的定义在主调函数之后,那么要进行提前声明才能使用. // 匿名结构体,结构 ...
- C语言 ---- 基本数据类型和基本运算 iOS学习-----细碎知识点总结
// 导入头文件(stdio.h),标准输入输出的头文件,#include <stdio.h> // 程序的入口int main(int argc, const char * argv[] ...
- OC ---- 字典集合 iOS学习-----细碎知识点总结
实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:", @"age" ...
- OC ---- 字符串 数组 iOS学习-----细碎知识点总结
NSString *urlString = [NSString stringWithFormat:@"http://www.apple.com"]; // 获取字符串 ...
- IOS学习笔记48--一些常见的IOS知识点+面试题
IOS学习笔记48--一些常见的IOS知识点+面试题 1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memor ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
随机推荐
- Storm编译打包过程中遇到的一些问题及解决方法
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2013/11/30/som ...
- Android Drawable
1. Shape 属性: (1) solid ( 填充 ) 参数:android:color ( 填充的颜色 ) (2) gradient ( 渐变 ) 参数:android:startColor ( ...
- [WP8.1UI控件编程]Windows Phone大数据量网络图片列表的异步加载和内存优化
11.2.4 大数据量网络图片列表的异步加载和内存优化 虚拟化技术可以让Windows Phone上的大数据量列表不必担心会一次性加载所有的数据,保证了UI的流程性.对于虚拟化的技术,我们不仅仅只是依 ...
- [BZOJ2796][Poi2012]Fibonacci Representation
由于是斐波那契数列,所以$x_i+x_j<=x_k,i<j<k$ 所以猜测可以贪心选择两边近的数处理. #include<cstdio> #include<algo ...
- mysql5.7.11修改root默认密码
知道 MySQL 出了5.7了,并且网上说性能提高了一两倍,于是在虚拟机上安装了个 CentOS 7,在上面安装 MySQL 5.7 我使用的是 yum安装方式,要求虚拟机能够上网,因为它会在线下载安 ...
- java enum(枚举)使用详解 + 总结
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中. 下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容: 1. 原始 ...
- C# 非模式窗体show()和模式窗体showdialog()的区别(转)
对话框不是模式就是无模式的.模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载).例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击“确定”或“取消”,则它就是模 ...
- JSP 页面缓存以及清除缓存
一.概述 缓存的思想可以应用在软件分层的各个层面.它是一种内部机制,对外界而言,是不可感知的. 数据库本身有缓存,持久层也可以缓存.(比如:hibernate,还分1级和2级缓存) 业务层也可以有缓存 ...
- java之redis篇(spring-data-redis整合一)
redis的知识:官网 1.利用spring-data-redis整合 项目使用的pom.xml: <project xmlns="http://maven.apache.org/PO ...
- 获取IP(windows和linux)
#ifdef _WIN32 #include <winsock2.h> #include <Ws2tcpip.h> #pragma comment(lib,"ws2_ ...