一周学会C#

5.布尔型操作符
1.赋值  =

 

2.等于  ==  !=

3.逻辑  ! && ||  ^ & |

INT TENS  = (9 * 6) / 13;

INT UNITS = (9 * 6) % 13;
BOOL ISFOUR = TENS == 4;
BOOL ISTWO = UNITS == 2;
BOOL HHG;
HHG = ISFOUR & ISTWO;
HHG = !(ISFOUR & ISTWO);
HHG = !ISFOUR | !ISTWO;
HHG = !HHG;
&&的结果是只有当操作符两边的操作数都是TRUE时才是TRUE。如果&&左边的操作数是FALSE的话,那么不管右边的操作数是FALSE还是TRUE,整个&&表达式的值为FALSE。

 
||的结果是当操作符两边的操作数只要一个是TRUE的时分就是TRUE。如果&&左边的操作数是TRUE的话,那么不管右边的操作数是FALSE还是TRUE,整个&&表达式的值为TRUE。


!表示取反的意思。


有一种称为“短路”的技术非常有用。例如,左边的表达式能够判断一个值是否为0,然后右边的表达式能够把这个值作为除数。例如:


              IF ((X != 0) && (Y / X > TOLERANCE)) ...
6.IF语句
STRING DAYSUFFIX(INT DAYS)
{
    STRING RESULT; 
    IF (DAYS / 10 == 1) 
        RESULT = "TH"; 
    ELSE IF (DAYS % 10 == 1) 
        RESULT = "ST";
    ELSE IF (DAYS % 10 == 2) 
        RESULT = "ND";
    ELSE IF (DAYS % 10 == 3) 
        RESULT = "RD";
    ELSE
        RESULT = "TH"; 
    RETURN RESULT;
}
IF语句的条件表达式必须是纯粹的BOOL型表达式。例如下面的诗句是错误的:
            IF (CURRENTVALUE = 0) ...
C#要求所有的变量必须预先明确赋值后才能使用,因此,下列的程序是错误的: 
      INT M;
      IF (INRANGE)
          M = 42;
      INT COPY = M; //错误,因为M能够不会被赋初值。
在C#中,IF语句中不能包含变量声明语句,例如:
      IF (INRANGE)
             INT USELESS;// 错误
7.SWITCH语句
·        语法
W       用于整数类类型
W       CASE后的标志必须是编译时为常数
W       没有表示范围的缩略形式
STRING DAYSUFFIX(INT DAYS)
{
    STRING RESULT = "TH"; 
    IF (DAYS / 10 != 1)
        SWITCH (DAYS % 10)
        {
            CASE 1 : 
                RESULT = "ST"; BREAK;
            CASE 2 : 
                RESULT = "ND"; BREAK; 
            CASE 3 : 
                RESULT = "RD"; BREAK; 
            DEFAULT: //表示不契合上面条件的情况
                RESULT = "TH"; BREAK;
        }
    RETURN RESULT;
}

 

 
你只能对整型、字符串或能够隐式转换为整型或字符串的用户自定义类型使用SWITCH语句。CASE标志必须在编译时是常数。

 
C#中没有VISUAL BASIC中的IS关键字在CASE中停止比拟,例如:
      SWITCH (EXPRESSION())
      {
          CASE IS < 42    : //错误
          CASE METHOD()   : //错误
      }
C#中没有范围比拟符。
SWITCH (EXPRESSION())
{
      CASE 16 TO 21   : //错误
      CASE 16..21     : //错误


注意:每个CASE段必须包括BREAK语句,DEFAULT语句也不例外。


8.WHILE/DO
INT DIGIT = 0;
WHILE (DIGIT != 10
{
    CONSOLE.WRITE(" ", DIGIT); 
    DIGIT++;
}//没有分号
INT DIGIT = 0;
DO
{
    CONSOLE.WRITE(" ", DIGIT); 
    DIGIT++;
}
WHILE (DIGIT != 10);//有分号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值