2_C语言中的数据类型 (九)逻辑运算符与if语句

1          条件分支语句

1.1       关系运算符

在C语言中0代表false,非0代表真

1.1.1          <

小于

1.1.2          <=

小于等于

1.1.3          >

大于

1.1.4          >=

大于等于

1.1.5          ==

等于

1.1.6          !=

不等于

1.2       关系运算符优先级

前四种相同,后两种相同,前四种高于后两种优先级

1.3       逻辑运算符

1.3.1          &&

当运算符左右都是真的时候,那么整个表达式的结果为真

只有左右有一个值为假,那么整个表达式的结果为假

1.3.2          ||

当运算符左右只要有一个值是真的时候,那么整个表达式的结果为真

除非左右两个值都是假,那么整个表达式的结果为假

1.3.3          !

当值为真的时候,表达式为假,

当值为假的时候,表达式为真

1.4       if

单分支

If (条件)

{

//复合语句

}

当条件是真的时候,复合语句才能被执行,如果条件为假的时候,复合语句不执行

1.5       if else

双分支

If (条件)

{

复合语句1

}

Else

{

复合语句2

}

如果条件为真,那么执行复合语句1,否则执行复合语句2

1.6       if else if

多重if

If (条件1)

{

复合语句1

}

Else if (条件2)

{

复合语句2

}

Else if (条件3)

{

复合语句3

}

Else

{

复合语句4

}

当有多个else的时候,else总是和上方最近的那个if语句配对。

#include <stdio.h>

int main01(void)
{
    int a, b;
    a = 10;
    b = 30;
    int i = a == b;//==是判断两个变量是否相等
    i = 3 < 5 && 3 == 2;
    i = 3 <= 5 && 3 != 2;

    i = 1 == 3 || 3 < 7;

    i = !(3 > 5 || (a = b));

    i = !a;

    a = 0;
    i = !a;

    i = !(a != b);

    printf("i = %d\n", i);
    return 0;
}

//int main()一个函数在C语言里面,如果只是空(),代表这个函数可以有参数,也可以没有参数
//int main(void)如果是(void),就是明确的表达,没有任何参数

int main03()
{
    int a = 3;
    int b = 5;
    if (a != b && b > 10)
    {
        printf("hello world\n");
    }

    if (0)
    {
        printf("true\n");
    }
    else
    {
        printf("false\n");
    }
    return 0;
}

int main()
{
    int a = 0;
    int b = 0;
    printf("please input a:");
    scanf("%d", &a);
    printf("please input b:");
    scanf("%d", &b);

    if (a > b)
    {
        printf("a = %d\n", a);
    }else
    {
        printf("b = %d\n", b);
    }
    return 0;
}
#include <stdio.h>

int main01(void)
{
    int a = 0;
    int b = 0;
    char c = 0;

    printf("please input a:");
    scanf("%d", &a);
    getchar();//通过getchar这个函数将之前输入a时候用户按的回车键先收到

    printf("please input operator:");
    scanf("%c", &c);//通过键盘输入一个字符

    printf("please input b:");
    scanf("%d", &b);

    if (c == ‘+‘)
    {
        printf("a + b = %d\n", a + b);
    }else if (c == ‘-‘)
    {
        printf("a - b = %d\n", a - b);
    }else if (c == ‘*‘)
    {
        printf("a * b = %d\n", a * b);
    }else if (c == ‘/‘)
    {
        if (b == 0)
        {
            printf("error\n");
        }else
        {
            printf("a / b = %d\n", a / b);
        }
    }else
    {
        printf("error\n");
    }
    return 0;
}

int main02()
{
    int i = 1;
    switch (i)
    {
    case 0:
        printf("i = 0\n");
        break;//跳出switch的复合语句块
    case 1:
        printf("i = 1\n");
        break;
    case 2:
        printf("i = 2\n");
        break;
    case 3:
        printf("i = 3\n");
        break;
    case 4:
        printf("i = 4\n");
        break;
    default://如果有所条件都不满足,那么执行default语句
        printf("error\n");
    }
    return 0;
}

int main03()
{
    int i = 10;
    if (i == 0)
    {
        printf("i = 0\n");
    }
    else if (i == 1)
    {
        printf("i = 1\n");
    }
    else if (i == 2)
    {
        printf("i = 2\n");
    }
    else if (i == 3)
    {
        printf("i = 3\n");
    }
    else if (i == 4)
    {
        printf("i = 4\n");
    }
    else
    {
        printf("error\n");
    }
    return 0;
}

int main04(void)
{
    int a = 0;
    int b = 0;
    char c = 0;

    printf("please input a:");
    scanf("%d", &a);
    getchar();//通过getchar这个函数将之前输入a时候用户按的回车键先收到

    printf("please input operator:");
    scanf("%c", &c);//通过键盘输入一个字符

    printf("please input b:");
    scanf("%d", &b);

    switch (c)
    {
    case ‘+‘:
        printf("a + b = %d\n", a + b);
        break;
    case ‘-‘:
        printf("a - b = %d\n", a - b);
        break;
    case ‘*‘:
        printf("a * b = %d\n", a * b);
        break;
    case ‘/‘:
        switch(b)
        {
        case 0:
            printf("error\n");
            break;
        default:
            printf("a / b = %d\n", a / b);
        }
        break;
    default:
        printf("error\n");
    }
    return 0;
}

int main()
{
    goto end;//无条件的跳转到一个标号去执行
    int a = 0;
    int b = 0;
    scanf("%d", &a);
    scanf("%d", &b);

//    int c;
//    if (a > b)
//    {
//        c = a;
//    }
//    else
//    {
//        c = b;
//    }

    int c = (a > b) ? a : b;

    printf("c = %d\n", c);

    end://标号
    printf("end\n");

    return 0;

}

资料来源:传智播客 仅供学习研究

时间: 2024-10-07 04:17:40

2_C语言中的数据类型 (九)逻辑运算符与if语句的相关文章

2_C语言中的数据类型 (三)整数与无符号数

1.1       sizeof关键字 sizeof是c语言关键字,功能是求指定数据类型在内存中的大小,单位:字节 sizeof与size_t类型 1.1       int类型 1.1.1          int常量,变量 int就是32位的一个二进制整数,在内存当中占据4个字节的空间 1.1.2          printf输出int值 %d,输出一个有符号的10进制整数,%u,代表输出一个无符号的十进制整数 1.1.3          printf输出八进制和十六进制 %x,代表输出

2_C语言中的数据类型 (八)运算符

1          运算符表达式和语句 1.1       基本运算符 1.1.1          = 数据对象:泛指数据在内存的存储区域 左值:表示可以被更改的数据对象 右值:能赋给左值的量 1.1.2          + 加 1.1.3          – 减 1.1.4          * 乘 1.1.5          / 除 1.1.6          % 取余数 1.1.7          += 加等于 1.1.8          -= 减等于 1.1.9     

2_C语言中的数据类型 (二)进制

1.1       二进制数.位.字节与字 我们习惯于十进制的数:10,12等 一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit 一个字节为8个二进制,称为8位,简称BYTE,8个比特是一个字节 一个字为2个字节,简称WORD. 两个字为双字,简称DWORD 1.2       八进制 八进制为以8为基数的数制系统,C语言当中0表示八进制,0666; 1.3       十六进制 十六进制值16为基数 的数制系统,C语言中用0x表示十六进制 十进制 十六进制 二进制 0 0 00

2_C语言中的数据类型 (十)while、for

1          循环语句 1.1       while while(条件),如果条件为真,循环继续,条件为假,循环结束 while (1)..是死循环的写法 1.2       continue 循环遇到continue语句,不再执行continue下面代码,而是直接返回到循环起始语句处继续执行循环 1.3       break 循环遇到break语句,立刻终端循环,循环结束 1.4       do while do 复合语句 while (条件); 对于do while来讲,循环的

2_C语言中的数据类型 (五)char

1.1       char类型 1.1.1          char常量,变量 char c:定义一个char变量 'a',char的常量 Char的本质就是一个整数,一个只有1个字节大小的整数 1.1.2          printf输出char %c意思是输出一个字符,而不是一个整数 1.1.3          不可打印char转义符 \a,警报 \b退格 \n换行 \r回车 \t制表符 \\斜杠 \'单引号 \"双引号 \?问号 1.1.4          char和unsign

Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型,函数之内的 我们先来看一张传播久远的图片' 一.各种数据类型介绍 整型 整形包括短整型.整形和长整形. 短整形 short a=1; 整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前.高位在

C语言中的数据类型

C语言中基本的数据类型有: 整型: 分为有符号整型(signed)和无符号整型(unsigned ), 它们各自又可以分为 长整型(long), 短整型(short), 整型(int)和字符型(char), 所以结合起来一共有8种基本的整型结构: long/short/int/char/unsigned long/unsigned short/unsigned int/unsigned char; 浮点型:分为单精度 float , 双精度型:double; (补充:整型表示的数的范围: 说到了

C语言中的数据类型详解

c语言其实可以理解为为救两种数据类型,整数和浮点数(bool类型char类型都可以看作整数类型).  不过这次并不是从两个方面说,而把char类型等从整数类型分开说.   而对于数据类型的说明也从存储和打印两个方面说起.  存储:     0.数据类型的位数是由操作系统决定的,一般系统都把一个char类型的位数当作一个字节.1.int 类型          int类型种类很多,         总结为前面叫long(short******),signed(unsighed):        

Java语言中关于数据类型的一些总结

一.Java语言中有两种数据类型 基本数据类型:即int/char等这样的数值类型,共8种 1.byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 范围是-27--(27-1): byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一: 例子:byte a = 100,byte b = -50. 2.short short 数据类型是 16 位.有符号的以二进制补码表示的整数; 范围是-215--(215-1); Shor