您的位置:首页 > 编程语言 > C语言/C++

c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

2014-12-17 22:40 483 查看
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式(变量已经赋过值)
2.BOOL(布尔)数据类型: c语言中除了基本数据类型, 还有BOO数据类型, 以及一些其它的数据类型, 如自定义的结构体数据类型
  BOOL数据类型是一种表示非真即假的数据类型, 布尔类型的变量只有YES和NO两个值. YES表示表达式结构为真, 反之, NO表示表达式结果为假(在c语言中, 认为非0即为        真), BOOL类型主要用于分支结构或循环结构中, 用于判断是执行if语句还是else语句, 或判断是否要执行循环体.  (#define YES 1    计算机在识别时, YES就替换成 1, #define          NO 0 计算机在识别时, NO就替换成
0)
3. 关系运算符: >, >=, <, <=, ==, !=
  关系运算符主要用于比较运算, 比较的结果只有真假两种情况, 结果值用BOOL类型变量存储. 注意: 判断两个数是否相等, 用 == (双等号)
4. 逻辑运算符:&&(逻辑与), ||(逻辑或), !(逻辑非)
  逻辑运算符组成的表达式, 结果也是非真即假.
  &&: 运算符两边的表达式同时为真时, 整个逻辑表达式的结果才为真
  ||: 运算符两边的表达式同时为假时, 整个逻辑表达式的结果才为假
  !: 将表达式的值取反. 如表达式的值为0(假)时,取反值为非0(真); 当表达式的值为非0(真)时, 取反为0(假)
5. 位运算符: &(按位与), |(按位或), ^(按位异或), ~(按位非)
       //位运算符:
       //按位与 &:同为1, 则为1, 否则为0, 用于给某一位进行清零
       int a = 4 & 6;
       printf("%d\n", a);
    
       //按位 或 |:同为0, 则为0, 否则为1, 用于保留某一位
       a = 4 | 6;
       printf("%d\n", a);
    
       //按位异或 ^:相同为0, 不同为1
       a = 4 ^ 6;
       printf("%d\n", a);
       //按位非 ~:如果是一个有符号的数, 则二进制最高位代表符号位, 1 代表负数, 0代表正数
       //数据在内存中存储时是以补码的形式存储, 正数的补码是正数本身, 负数的补码是绝对值取反加1
6. 一个字节代表 8 位二进制数
      数据类型的取值范围:
        a. 无符号:
        char 0 ~ 2^8 - 1
        short 0 ~ 2^16 - 1
        int 0 ~ 2^32 - 1
        b. 有符号:
        char -2^7 ~ 2^7 - 1
        short -2^15 ~ 2^15 - 1
        int -2^31 ~ 2^31 - 1
     */
7. if...else...比较简单, 就不记了. switch...case分支结构
   int number = 0;
     printf("请输入一个分机号(801:教学部,802:咨询部,803:财务部,804:保卫科,805:市场部):\n");
     scanf("%d", &number)
  switch (number) {
         case 801:
    case 809://当number = 801 或 809 时输出的结果都是教学部
         
printf("教学部\n");
                break;//break结束当前分支,退出switch,执行switch之后的语句
        case 802://case后的表示必须是一个常量,或者是一个常量表达式
                {int a = 10;}//如果在case分支中想要定义变量,一定要加上大括号
                printf("咨询部\n");
               break;
        case 803:
               printf("财务部\n");
               break;
        case 804:
               printf("保卫科\n");
               break;
        case 805:
                printf("市场部\n");
                break;
                //当没有找到(匹配到)对应的case分支时执行default语句
        default:
               printf("要找谁\n");
              break;
    }
 
 注意:case后的表示必须是一个常量,或者是一个常量表达式. 如果在case分支中想要定义变量,一定要加上大括号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 编程 switch