iOS学习之C语言Day02

BOOL类型

  返回值:真:YES  假:NO

  BOOL数据类型占一个字节的内存空间,占位符为%d。

  计算机在识别时,YES就替换成1,NO就替换成0。

  bool是C语言中的布尔类型,返回值为true和false

  0为假,除0以为任何数字均为真

  

  计算类型是字节大小(sizeof(BOOL))   

        unsigned long size = sizeof(BOOL(其他类型...));
        printf("size = %lu\n",size);   
    
        unsigned long intSize = sizeof(int);
        printf("intSize = %lu\n", intSize);

关系运算符

  用来进行两个数比较
  关系运算符的结果有两种,真或假,用BOOL类型变量来接收

  1. > <    

        int a = 5, b = 4, c = 3;
        BOOL r3 = a < b < c; // 先运算 a < b,再和c比较
        printf("r3 = %d\n", r3);

  2. >=  <=

    符合>或者=任何一个,结果为真 

        BOOL r4 = 5 >= 5;
        printf("r4 = %d\n", r4);

  3. ==, !=

    = 用来赋值,==用来判断两个数是否相等   

        BOOL r6 = 5 == 4;
        printf("r6 = %d\n", r6);

        BOOL r7 = 10 != 5;
        printf("r7 = %d\n", r7);

逻辑运算符

  逻辑与:&&, 逻辑或:||, 逻辑非 !
  逻辑表达式的结果只有两种,真或假,用BOOL类型的变量来接收
    
  逻辑与, 并且,同时
  表达式: 表达式1 && 表达式2
  运算规则:表达式1和表达式2同时为真,整个逻辑表达式的结果为真,否则为假(一假即假)

        int a = 10;
        int b = 20;
        BOOL r1 = (a < b) && (b == 20);
        printf("r1 = %d\n", r1);

  短路现象:表达式1的结果为假,整个逻辑表达式的结果为假,表达式2将不再执行

        BOOL r3 = (a > b) && (a++);
        printf("r3 = %d\n", r3);
        printf("a = %d\n", a);

  逻辑或 或者,不强调同时
  表达式: 表达式1 || 表达式2
  运算规则:表达式1或者表达式2任何一个为真,整个逻辑表达式的结果为真,只有当表达式1和表达式2同时为假,整个逻辑表达式结果为假(一真即真,全假则假)

        int a = 10;
        int b = 20;
        BOOL r1 = (a > b) || (b == 20);
        printf("r1 = %d\n", r1);

        BOOL r2 = (b < a) || (a != 10);
        printf("r2 = %d\n", r2);

  短路现象:当表达式1的结果为真,整个逻辑表达式的结果为真,表达式2将不再执行

        BOOL r3 = (a < b) || (a++);
        printf("r3 = %d\n", r3);
        printf("a = %d\n", a); 

  逻辑非  取反

        BOOL r4 = NO;
        BOOL r5 = !r4;
        printf("r5 = %d\n", r5);

if语句

   第一种形式

    if (条件表达式) {
          分支语句;
       }
  条件表达式为真,执行分支语句,如果为假,执行分支语句下面的内容

  练习:定义一个变量age,从键盘输入值,如果age大于等于18,输出”你已经成年了“。

        int age = 0;
        printf("请入年龄:");
        scanf("%d", &age);
        if (age >= 18) {
            printf("你已经成年了");
        }

  第二种形式

    if (条件表达式) {
          语句1;
       } else {
          语句2;
       }
  如果条件表达式为真,执行语句1,否则执行语句2

  练习:输入一个年份,判断该年份是否是闰年?如果是闰年,则输出该年是闰年,否则输出该年不是闰年。

  (能被400整除) || ((能被4整除) && (不能被100整除))

        int year = 0;
        printf("请输入一个年份\n");
        scanf("%d", &year); 

        BOOL r1 = year % 400 == 0;
        BOOL r2 = year % 4 == 0;
        BOOL r3 = year %100 != 0;

        if (r1 || (r2 && r3)) {
             printf("是闰年\n");
        } else {
            printf("不是闰年\n");
        }        

  第三种形式

    if (条件表达式1) {
          语句1;
       } else if (条件表达式2) {
          语句2;
       } else {
          语句4;
       }

  练习: 从键盘输入一个字符,如果是数字打印 this is digital,如果是大写字母,打印 this is  capital letter,如果是小写字母,打印 this is letter,如果是其他字符,打印 other。

        char ch = 0;
        printf("请输入一个字符\n");
        scanf("%c", &ch);

        if (ch >= ‘0‘ && ch <= ‘9‘) {
            printf("this is digital\n");
        } else if (ch >= ‘A‘ && ch <= ‘Z‘) {
            printf("this is  capital letter\n");
        } else if (ch >= ‘a‘ && ch <= ‘z‘) {
            printf("this is letter\n");
        } else {
            printf("other\n");
        }   

  条件运算符 ? :
    条件表达式? 表达式1 : 表达式2;
    如果条件表达式为真,执行表达式1,否则执行表达式2

switch...case分支

  switch (整型或者字符型的表达式) {
        case 值1(整型或者字符型的常量): {
            语句1;
            break;
         }
        case 值2: {
            语句2;
            break;
        }
        ......
        default: {
            语句3;
            break;
        }

  先执行switch后的表达式,根据表达式的值查找想要的case分支,并执行分支语句
     default:默认分支,如果没有找到对应的分支,执行default分支
     break:结束当前的case分支

  练习:从控制台输入1~4,对应打出春夏秋冬的英文词。

        int value = 0;
        printf("请输入1~4的整数\n");
        scanf("%d", &value);

        switch (value) {
            case 1:
                printf("Spring\n");
                break;
            case 2:
                printf("Summer\n");
                break;
            case 3:
                printf("Autumn\n");
                break;
            case 4:
                printf("Winter\n");
                break;
            default:
                break;
}
时间: 2024-10-25 01:47:16

iOS学习之C语言Day02的相关文章

iOS学习笔记---c语言第九天

高级指针 指向结构体变量的指针,称为结构体指针 可以使用->指向内容. %p打印地址 void pLenth(cPoint *p1,cPoint *p2) //求两点间的距离  用的开方函数sqrt()和平方函数pow(,) { float a = sqrt(pow((p1->x-p2->x), 2)+pow((p1->y-p2->y), 2)); printf("两点距离为%.2f\n",a); } //main.m中代码 #import <Fou

ios学习笔记---c语言第二天

一.bool布尔类型    c语言没有bool类型,oc里有bool类型 是一种非真即假的数据类型,布尔类型的变量只有yes和no两个值.yes表示表达式是真,no表示表达式是假. 在c语言中认为非0即为真. 分支语句中常用bool值做判断,判断执行if语句还是else语句. 循环结构中,也常使用bool值做判断,判断是否要执行循环. 注意事项: #define yes 1 #define no 0 计算机在识别时,yes就替换成1,no就替换成0. 二.关系运算符 >   >=   <

iOS学习笔记---oc语言第三天

继承.初始化方法 一.继承 继承的上层:父类  继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量也继承过来了,只是不能访问) 面向对象提供了继承语法.能大大简化代码,把公共的方法和实例对象写在父类里.子类只需要写自己独有的实例变量和方法即可 继承既能保证类的完整,又能简化代码 继承特点 oc中只允许单继承 没有父类的类称为根类,oc中得根类是NSObject(祖宗) 继承的内容:所有的实例变量

IOS学习笔记---C语言第四天

1 //?生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外?一个数组中 2 #import <Foundation/Foundation.h> 3 4 int main(int argc, const char * argv[]) 5 { 6 7 int num1[10]={0},num2[10]={0},num3[10]={0}; 8 for (int i = 0; i<10; i++) { 9 num1[i]=arc4random()%2

iOS学习笔记---oc语言第五天

字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key-value对)的数据 对于“name:张三”来讲,key就是“name”,key对应的value是“张 三” 一个key-value对认为是一个元素(实体),字典是存储key-value对 的容器. 特点: 与数组不同,数组靠下标存取数据,数组的下标是唯一的. 字典靠key存取元素.key不能重复,

iOS学习笔记---oc语言第六天

Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语?中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函数声明,即函数原型.例如:int sum(int x,int y);具有两个整型参 数,一个整型返回值的函数. 函数定义,即函数实现.例如:int sum(int x,int y){     retrun x + y;     } 回顾函数指针 函数指针(变量):存放函数地址(函数名)的指针变量.

iOS学习笔记---oc语言第四天

字符串 数组 一.使用苹果帮助文档 学会使?用苹果帮助?文档是开发者的?一项技能 Inherits from 继承?自 Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可?用的 Declared in 声明在什么头文件?里 Related documents 相关文档 Sample code ?示例代码 快速打开帮助文档 在代码中,将?鼠标停留在 类名或者?法名上,option+?鼠标左键,点击 Reference的超链接进?入帮助?文档

iOS学习笔记---oc语言第二天

实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc  注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- (void)sayHi iOS学习笔记---oc语言第二天

iOS学习笔记---c语言第八天

指针 首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值.用来存放变量地址的变量,就称为"指针变量" int *p=null;   初始值:null恒等于0          变量类型:整型指针 int * 指针变量所占字节数只于操作系统有关 指针类型转换符%p printf("p = %p\n",p); //c语言定义指针的时候,喜欢使用p,q,r等. int *p = NULL; //我们通常所说的指针,