C语言基础知识2

#import <Foundation/Foundation.h>
//enum 枚举变量名{
//    标示符1,//默认为0,也可以自定义,数值是递增,增量为1
//    标示符2,
//      .
//      .
//      .
//
//}





enum student{
    red ,//默认为0,下面依次递增
    yellow,
    green = 10,//修改后下面的值,在新值的基础上,依次递增
    blue
};

int main(int argc, const char * argv[]){
    
    
    printf("%d%d%d%d",red,yellow,green,blue);
#pragma mark----- 布尔类型---------
    /*
     1.两种数值:真,假
     2.在OC语言中   BOOL: YES为真,NO为假
     3.YES定义为1,NO定义为0
     4.占位符:%d
     5.作用:用于分支结构和循环结构的判断
     BOOL a1 = YES;
     BOOL a2 = NO;
     printf("%d\n%d\n",a1,a2);

     */
    
#pragma mark -------关系运算符--------
    /*
     1.用于进行两个数的比较
     2.关系运算符的运算结果只有两种:真,假(使用BOOL类型接收)
     3.关系表达式,由常量,变量,关系运算符组合而成。
     
     */

#pragma mark---------逻辑运算符-----------
    /*
    1.逻辑运算符的运算结果只有两种:真,加。使用BOOL类型来接收
     2.逻辑表达式:由常量,变量,逻辑运算符组合而成
     大于,小于
     BOOL a1 = 5 > 3;
     printf("%d\n",a1);
     BOOL a2 = 50 < 30;
     printf("%d\n",a2);
     练习:定义两个变量,分别存储C成绩,和OC语言成绩。定义变量接受两个分数的比较结果,并输出。
     int cScore = 84, ocScore = 73;
     BOOL c = cScore< ocScore;
     printf("两个分数的比较结果为:%d\n",c);
     
     大于等于,小于等于
     和数学中的写法有差异,注意语法规则
     BOOL b1 = 5 >= 5;
     printf("%d\n",b1);
     BOOL b2 = 8 <= 6;
     printf("%d\n",b2);
     等于和不等于
     等于:== 用于判断是否相等,左右两侧都可以是常量,也可以是变量
     = 用于赋值,左侧只能是变量
     浮点型 不能用==来比较,小数存在四舍五入的误差,不精确

     */
    
    //1.逻辑与&&
    /*
     
     1.表达式1&&表达式2
     2.运算规则;
        (1)先执行表达式1,再执行表达式2
        (2)表达式1和表达式2同时为真,结果为真,其他情况结果为假,一假即假,
     3.短路现象
     表达式1的值如果为假,那么不再计算表达式2的值
     
     
    int a = 10;
    int b = 20;
    BOOL r1 = (a < b )&& (b == 20);
    printf("%d\n",r1);

     
     
     
     
     
     */
    
    //逻辑或 ||
    /*
     1.逻辑或的表达式:表达式1||表达式2
     2.运算规则
       (1)先运行表达式1,再运行表达式2
       (2)表达式1和表达式2如果有一个为真的话或者两个都为真结果为真,一真即真。
     
     
        int a = 30;
        int b = 40;
        BOOL r1 = (a < b) || (b == 21);
        printf("%d\n",r1);

     
     */
    
    
    //逻辑非   !
    /*
     1.逻辑非,即取反值
     2.运算规则:对真假取反
     
     */
    
//    BOOL a = YES;
//    BOOL b = !a;
//    printf("%d\n",b);
    //运算符的优先级
    // 算数运算符>关系运算符>逻辑运算符>赋值运算符
#pragma  mark---------if控制语句-----------
    /*
     1.程序设计的三种结构:顺序结构,分支结构,循环结构
     2.分支:又称为选择,通过进行一个判断,选择执行某个分支的语句
       例如:如果有女朋友,那么就买房结婚,如果没有女朋友,那就打光棍
     3.if控制语句,switch控制语句
     4.if控制语句的作用:通过进行一个判断,选择执行某个分支的语句
       if语句的三种形式
       第一种
       if(条件表达式){
     
         语句
     
       }
    
     int a = 4, b = 5;
     if (a < b) {
     printf("条件表达式为真");
     }// () {}这两者后面都没有;
      练习:从控制台输入一个整数,判断这个整数是否大于100,如果大于的话,输出大于100
     
     int a = 0 ;
     printf("请输入一个数:\n");
     scanf("%d",&a );
     if (a > 100) {
     printf("大于100\n");
     }
     练习:从控制台输入一个字符,如果输入的是m,那么输出男性
     char a = '0';
     printf("请输入一个字符:");
     scanf("%c",&a);
     if (a == 'm') {
     printf("男性\n");
     }

     if语句的第二种形式
     如果。。。否则。。。。if。。。else。。。。
     if ( 条件表达式) {
     语句1
     }else{
     语句2
     }
     int d = 1, e = 2;
     if (d > e) {
     printf("我回家了");
     }else {
     printf("你中奖了");
     }

     练习:从控制台输入一个字符,如果输入的是m,则输出男性,否则输出女性
     char a = '0';
     printf("请输入一个字符:\n");
     scanf("%c",&a);
     if (a == 'm') {
     printf("男性\n");
     }else{
     printf("女性\n");
     }
     输入一个年份,判断该年份是否为闰年,如果是闰年,则输出是闰年,否则输出不是闰年
     提示:能被400整除,或者能被4整除,但是不能被100整除的数
     int year = 0;
     printf("输入一个年份\n");
     scanf("%d",&year);
     BOOL b1 = year % 400 == 0;
     BOOL b2 = (year % 4 == 0)&&(year % 100 != 0);
     if (b1 || b2) {
     printf("是闰年\n");
     }else{
     printf("不是闰年\n");
     }
     if语句的第三种形式
     级联式 多分支结构
     if (条件表达式1) {
     语句1;
     }else if (条件表达式2){
     语句2;
     }else{
     语句3;
     }
     练习:从控制台输入一个字符,如果输入的是m,则输出男性,如果输入对的是'f',那么输出女性,否则输出怪人
     char a = '0';
     printf("输入一个字符:\n");
     scanf("%c",&a);
     if (a == 'm') {
     printf("男性\n");
     }else if(a == 'f'){
     printf("女性\n");
     }else{
     printf("怪人\n");
     }
     从控制台输入一个数,如果小于60,那么输出该数字,如果等于60,输出现在时间,如果大于60,输出未来时间
     int number = 0;
     printf("输入一个整数:\n");
     scanf("%d",&number);
     if (number < 60) {
     printf("%d\n",number);
     }else if(number == 60){
     printf("现在时间\n");
     }else{
     printf("未来时间\n");
     }
     条件运算符
     表达式?表达式1:表达式2
     运算规则:如果条件表达式为真,整个表达式的值为1,如果为假,整个表达式的值就为表达式2
     int a = 3, b = 4;
     int c = a > b ? a : b ;
     printf("%d\n",c);
     练习:比较三个数,定义变量接收三个数中的最小值,并输出
     int a = 1 , b = 2 , c = 3 , t = 0;
     t = a < b ? a : b;
     t = t < c ? t : c;
     printf("%d\n",t);
     
     
     
     
     */
    
#pragma mark ----------switch..case控制语句-------
   /* switch (表达式) {
        case 常量:{
    
            语句
            break;
    }
    
        default:
            break;
    }
    多分支语句
    
     作用:提供了多个分支,功能类似if - else if 级联式的控制语句
    语法:
        (1)switch后面是整形或者字符型的表达式
        (2)case 后面是整型或者字符型的常量
        (3)case 后面需要添加{}
        (4)break :case 和default默认跟随一个break语句,用于结束case,然后结束整个swifch控制语句,再去执行下面的代码。
     运行规则:
       (1)switch控制语句中,如果表达式和某个case常量相等,那么执行这个case后面的语句
      (2)如果没有和表达式相等case常量,执行default后面的语句
    练习:从控制台输入一个字符,如果输入的是'm',则输出男性,如果输入的是f,则输出女性,否则输出怪人
        char sex = 0;
        printf("请输入一个字母:\n");
        scanf("%c",&sex);
        switch (sex) {
        case 'm':{
        printf("男性\n");
        break;
        }case 'f':{
        printf("女性\n");
        break;
        }
        default:{
        printf("妖怪\n");
        break;
        }
        }

    练习:从控制台输入数字,输出对应的水果名称:1:苹果 2:梨 3:香蕉 4:西瓜
    int a = 0;
    printf("请输入一个数字:\n");
    scanf("%d",&a);
    switch (a) {
    case 1:{
    printf("苹果\n");
    break;
    }case 2:{
    printf("梨\n");
    break;
    }case 3:{
    printf("香蕉\n");
    break;
    }case 4:{
    printf("西瓜\n");
    break;
    }
    default:
    break;
    }

    
    
    
    
    
    */
#pragma mark--------枚举----------
    /*
     1.枚举属于构造类型
     2.一组具有名称的整形常量
     3.提高代码的可读性
     4.枚举类型的变量每次只能赋一个值,但是数值包含很多种
     5.枚举是写在main函数外面的
     
     
     
     */
   

posted @ 2015-12-23 20:47  恒远也  阅读(323)  评论(0编辑  收藏  举报