iOS开发学习第二课——BOOL类型/if语句/switch语句

       在昨天学习过C语言最为基础的部分之后,今天在明哥的带领下,我又依次学习了BOOL类型、关系运算符、逻辑运算符、if语句及switch语句。尽管这些东西同样属于C语言之中的基础,不过相比较昨天的内容,却要更加深入一些,学习起来也困难了许多。
      在今天所讲的内容之中,if语句和switch语句相对更为重要一些,尤其是if语句。它们两个是实际开发之中非常常用的语句。
    //BOOL布尔类型,是一种表示非真即假的数据类型,布尔类型的变量只有 YES  NO 两个类型,YES 即为真,NO 即为假。YES---1   NO---0
   
 //C语言中,认为非0即为真
   
 //定义一个BOOL值类型
   
 BOOL a = YES;
   
 printf("a = %d\n",a);
   
 BOOL b = NO;
   
 printf("b = %d\n",b);
   
   
 //关系运算符    >大于  >=大于等于  <</span>小于  <=小于等于  ==等于  !=非等
   
 //值用BOOL值类型来存储
   
 BOOL isTure = YES;
   
 int c = 5,d = 6;
    isTure = c > d;
   
 printf("1 isTure = %d\n",isTure);
    isTure = c >= d;
   
 printf("2 isTure = %d\n",isTure);
    isTure = c < d;
   
 printf("3 isTure = %d\n",isTure);
    isTure = c == d;
   
 printf("4 isTure = %d\n",isTure);
    isTure = c != d;
   
 printf("5 isTure = %d\n",isTure);
   
   
 //逻辑运算符  &&逻辑与  ||逻辑或  !逻辑非
   
 //&& 逻辑与---只有两边运算符的表达式同时为真才为真,一真一假则为假,同时为假也为假
   
 BOOL result = YES;
   
 int x = 10,y = 20,z = 30;
    result = x > y && x < z;
   
 printf("result = %d\n",result);
    result = x < y && x < z;
   
 printf("result = %d\n",result);
   
   
 //逻辑与的短路现象,一旦运算符左边的表达式结果为假的时候,那么整个逻辑表达式的结果就为假,后面的表达式的结果不影响整个逻辑表达式的结果,而且不执行即不再判断右边表达式的结果
    result = x > y && ( z = 6);
   
 printf("result = %d,z = %d\n",result,z);
   
   
 //|| 逻辑或---只有两边运算符的表达式同时为假才为假,一真一假则为真,同时为真也为真
    result = x < y || y > z;
   
 printf("result = %d\n",result);
    result = x > y || y > z;
   
 printf("result = %d\n",result);
   
   
 //逻辑或的短路现象原理同上
     result = x < y || ( z = 6);
   
 printf("result = %d,z = %d\n",result,z);
   
   
 //! 逻辑非---对结果取反  1---! = 0    0---! = 1
   
 //逻辑或的短路现象原理同上
    result = ! ( x < y ) || ( z = 6);
   
 printf("result = %d,z = %d\n",result,z);
   
   
   
 //if语句的第一种表达形式:if(条件){ 语句 };如果此时条件成立,则执行语句,否则直接跳出语句
   
 char sex = '0';
   
 printf("请告诉我小龙的性别:");
   
 scanf("%c",&sex);
   
 if (sex == 'm') {
       
 printf("小龙是个非女性!\n");
    }
   
   
 //if语句的第二种表达形式:if ( 条件 ){ 语句1 } else { 语句2 } ;如果此时条件成立,则执行语句1,如果条件不成立,则执行语句2.且两个语句不可以同时执行
   
   
 int a1 = 0,b1 = 0;
   
 int max = 0;//max 用来存储最大值
   
 int min = 0;//min 用来存储最小值
   
 printf(",请分别输入a1,b1的值:");
   
 scanf("%d%d",&a1,&b1);
   
 if ( a1 > b1 ) {
       
 //如果a1 > b1,则把a1的值赋给max
       
 //如果a1 < b1,则把b1的值赋给min
        max = a1;
        min = b1;
    }
 else {
       
 //否则,则把b1赋给max
       
 //否则,则把a1赋给min
        max = b1;
        min = a1;
    }
   
 printf("max = %d,min = %d",max,min);
   
   
 //判断年份是否为闰年,条件是年份能被400整除或者能被4整除,但不能被100整除
   
   
 int year = 0;
   
 printf(",请输入年份:");
   
 scanf("%d",&year);
   
 if ( year % 400 == 0 || ( year % 4 == 0 && year % 100 != 0 )) {
       
 printf("%d是闰年\n",year);
    }
else{
       
 printf("%d是平年\n",year);
    }
   
   
 //if语句的第三种表现形式:
   
 
   
   
 //输入一个字符,如果是数字则输出数字;如果是大写字母则输出大写字母;如果是小写字母则输出小写字母;否则是其他
   
 //数字  '0'---'9'  ==  48---57
   
 //大写字母  'A'---'Z'  ==  65---90
   
 //小写字母  'a'---'z'  ==  97---122
   
 char m = 0;
   
 printf(",请输入一个字符:");
   
 scanf("%c",&m);
   
 if (m >='0' && m <= '9') {
       
 printf("输入的是数字\n");
    }
else if ( m >='A' && m <= 'Z'){
       
 printf("输入的是大写字母\n");
    }
else if (m >= 'a' && m <= 'z'){
       
 printf("输入的是小写字母\n");
    }
else{
       
 printf("输入的是其他字符\n");
    }
   
   
 //条件表达式的形式:条件表达式 ? 表达式1 : 表达式2
   
 //在条件表达式当中,如果条件表达式为真,则值为表达式1的值;如果条件表达式为假,则值为表达式2的值
   
 int j = 2,k = 3,f = 0;
    f = j < k ? j : k;
   
 printf("f = %d\n",f);
   
   
 int j = 2,k = 3,f = 0;
    f = j < k ? j > k : j < k;
   
 printf("f = %d\n",f);
   
   
 //求三个整型数中的最大值
   
 //第一种方法
   
 int x = 0,y = 0,z = 0,max = 0;
   
 printf(",请分别输入x,y,z的值:");
   
 scanf("%d%d%d",&x,&y,&z);
   
 if (x > y) {
        max = x;
    }
else{
        max = y;
    }
   
 //接着比较maxz的大小
   
 if (max > z) {
        max = max;
    }
else{
        max = z;
    }
   
 printf("最大值为:%d\n",max);
   
   
 //第二种方法
   
 int x = 0,y = 0,z = 0,max = 0;
   
 printf(",请分别输入x,y,z的值:");
   
 scanf("%d%d%d",&x,&y,&z);
    max = x > y ? x : y;
    max = max > z ? max : z;
   
 printf("最大值为:%d\n",max);
   
   
   
 //switch case 开关    switch  case 的结合使用
   
 //输出春夏秋冬  1---春天  2---夏天  3---秋天  4---冬天
   
 int season = 0;
   
 printf("请输入一个季节数字:");
   
 scanf("%d",&season);
     
 switch (season) {
       
 case 1://case 后面的值必须是常量或常量表达式
             
 printf("春天");
           
 break;
       
 case 2:
             
 printf("夏天");
           
 break;
       
 case 3://如果在 case 语句里面进行定义变量的话,那么必须要使用一对 {} ,表明这是 case 语句里面的内容
             
 printf("秋天");
           
 break;
       
 case 4:
             
 printf("冬天");
           
 break;
       
 default://只有当其余的 case 的值都不满足条件的时候才会执行 default 里的语句, default 所放的位置无关
             
 printf("输入有误\n");
           
 break;//作用,结束 switch case 分支,跳出 switch case 分支
    }
   
   
 //定义座机号 phoneNumber   教学部---801   行政部---802   咨询部---803
   
 int phoneNumber = 0;
   
 printf("请输入座机号码:");
   
 scanf("%d",&phoneNumber);
   
 switch (phoneNumber) {
       
 case 801:
           
 printf("教学部");
           
 break;
       
 case 802:
           
 printf("行政部");
           
 break;
       
 case 803:
           
 printf("咨询部");
           
 break;
       
 default:
           
 printf("输入有误");
           
 break;
    }
    
    return 0;
}

作业:

#import 

int main(int argc, const char * argv[]) {
 

   
   
 //3.(***)输入生日,输出年龄(周岁)和星座。
   
 //提示:白羊座 3.21-4.19
   
 //金牛座 4.20-5.20
   
 //双子座 5.21-6.21
   
 //巨蟹座 6.22-7.22
   
 //狮子座 7.23-8.22
   
 //处女座 8.23-9.22
   
 //天平座 9.23-10.23
   
 //天蝎座 10.24-11.22
   
 //射手座 11.23-12.21
   
 //摩羯座 12.22-1.19
   
 //水瓶座 1.20-2.18
   
 //双鱼座 2.19-3.20
   
   
 int year = 0,month = 0,date = 0;
   
 printf("请输入生日年月日:");
   
 scanf("%d%d%d",&year,&month,&date);
   
 switch (month) {
       
 case 1:
           
 if ( date >= 20 ) {
           
 printf("%d周岁\n星座:水瓶座\n",2015 - year);
            }
else{
           
 printf("%d周岁\n星座:摩羯座\n",2015 - year);
            }
           
 break;
       
 case 2:
           
 if ( date >= 19 ) {
               
 printf("%d周岁\n星座:双鱼座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:水瓶座\n",2015 - year);
            }
           
 break;
       
 case 3:
           
 if ( date >= 21 ) {
               
 printf("%d周岁\n星座:白羊座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:双鱼座\n",2015 - year);
            }
           
 break;
       
 case 4:
           
 if ( date >= 20 ) {
               
 printf("%d周岁\n星座:金牛座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:白羊座\n",2015 - year);
            }
           
 break;
       
 case 5:
           
 if ( date >= 21 ) {
               
 printf("%d周岁\n星座:双子座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:金牛座\n",2015 - year);
            }
           
 break;
       
 case 6:
           
 if ( date >= 22 ) {
               
 printf("%d周岁\n星座:巨蟹座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:双子座\n",2015 - year);
            }
           
 break;
       
 case 7:
           
 if ( date >= 23 ) {
               
 printf("%d周岁\n星座:狮子座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:巨蟹座\n",2015 - year);
            }
           
 break;
       
 case 8:
           
 if ( date >= 23 ) {
               
 printf("%d周岁\n星座:处女座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:狮子座\n",2015 - year);
            }
           
 break;
       
 case 9:
           
 if ( date >= 23 ) {
               
 printf("%d周岁\n星座:天平座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:处女座\n",2015 - year);
            }
           
 break;
       
 case 10:
           
 if ( date >= 24 ) {
               
 printf("%d周岁\n星座:天蝎座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:天平座\n",2015 - year);
            }
           
 break;
       
 case 11:
           
 if ( date >= 23 ) {
               
 printf("%d周岁\n星座:射手座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:天蝎座\n",2015 - year);
            }
           
 break;
       
 case 12:
           
 if ( date >= 22 ) {
               
 printf("%d周岁\n星座:摩羯座\n",2015 - year);
            }
else{
               
 printf("%d周岁\n星座:射手座\n",2015 - year);
            }
           
 break;
      
 default:
           
 printf("输入有误");
           
 break;
    }
   
   

   
 //6.(**)有一个函数:x<1的时候,y = x1<=x<10的时候,y=2x-1x>=10的时候,y=3x-11。写一段程序,输入x,输出y
   
 float x = 0;
   
 printf("请输入x的值:");
   
 scanf("%f",&x);
   
 if (x < 1) {
       
 printf("y的值为%f",x);
    }
else if (x >= 1 && x <= 10){
       
 printf("y的值为%f",x * 2 - 1);
    }
else if (x >= 10){
       
 printf("y的值为%f",x * 3 - 11);
    }
   
   
 //7.(**)编制一个完成两个数四则运算程序。如:用户输入34+56则输出结果为90.00,要求运算结果保留2位有效小数,用户输入时将2个运算数以及运算符都输入,根据运算符求结果
   
 float aa = 0,bb = 0;
   
 char cc = 0;
   
 printf(",请输入一个完整的运算式(后一个数不可为零):");
   
 scanf("%f%c%f",&aa,&cc,&bb);
   
 switch (cc) {
       
 case '+':
           
 printf("运算的结果是:%.2f",aa + bb);
           
 break;
       
 case '-':
           
 printf("运算的结果是:%.2f",aa - bb);
           
 break;
       
 case '*':
           
 printf("运算的结果是:%.2f",aa * bb);
           
 break;
       
 case '/':
           
 printf("运算的结果是:%.2f",aa / bb);
           
 break;
       
 default:
           
           
 printf("您的输入有误");
           
 break;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值