> 文档中心 > C语言自学之路十二(详解C语言操作符二)

C语言自学之路十二(详解C语言操作符二)


本文所结合图书及视频

《C语言程序设计(第四版)谭浩强.pdf》

《C语言入门到精通—鹏哥带你C语言从入门到精通》

《郝斌老师的C语言自学视频》

这些在B站上都能找得到的。

本章重点:

1、各种操作符的介绍及应用

2、表达式求值

学习内容:

        上节内容我们一起学习了C语言中的  算术操作符、移位操作符、位操作符、赋值操作符、单目操作符,今天我们继续学习C语言的 关系操作符逻辑操作符条件操作符逗号表达式及下表引用、函数调用和结构成员访问操作符

 1. 关系操作符

        C语言中的关系操作符一共分为: 大于小于、  大于等于小于等于不等于等于

        >                大于      用于表示关系“大于”        

        <                小于      用于表示关系“小于”

        >=              大于等于      用于表示关系“大于等于”

        <=              小于等于      用于表示关系“小于等于”

       !=              不等于      用于表示关系“不等于”

        ==               等于      用于表示关系“等于”

 注意事项:

        1) =(赋值)和 ==(等于)一定要区分开,前者做赋值操作,后者是判断是否相等。

        2) 当编写代码时要判断字符串是否相同要调用strcmp()函数,不能用 == 比较。调用strcmp()函数要先引用头文件 。

2. 逻辑操作符

        C语言中逻辑操作符分为: 逻辑与逻辑或操作符。

        &&        逻辑与操作符        表示并且的意思,符号两边只要有一个表达式为假便为假,另一个表达式不再执行。

        ||           逻辑或操作符        表示或者的意思,符号两边只要有一个表达式为真便为真,另一个表达式不再执行。

 注意事项:

        1)  一定要区分按位与和逻辑与、按位或和逻辑或操作符。

        2)  逻辑与和逻辑或操作符不该同时出现在一个语句中。

3. 条件操作符

        C语言中的条件表达式也叫做三目运算符,格式为  表达式1 问号 表达式2 冒号 表达式3

        exp1  ?  exp2  :  exp3      意思为如果表达式1(epx1)为真则返回表达式2(epx2),否则返回表达式3(epx3)     举例:  int a = 5, b = 7;  int max = (a > b) ? a : b;   意思就是如果a > b , max = a, 否则 max = b 。

4. 逗号表达式

        C语言中的逗号表达式为: 表达式1 逗号 表达式2 逗号 表达式3 逗号 表达式n

        epx1,epx2,epx3,epxn         逗号表达式   用逗号分隔开的表达式,具有左结合性,从左向右依次执行,但整个表达式的结果是最后一个表达式的结果。

        举例:

int a = 1, b = 2;int c = (a > b, a = b + 8, a += 3, a + 2);     // 计算结果为 15 

 注意事项:

        1)  逗号表达式的结果虽然是最后一个表达式,但还是要从左向右依次执行每一个表达式,不能认为前面的表达式都可以省略掉,因为前面的表达式可能会影响到最后一个表达式的结果。

5.下标引用、函数调用和结构成员

        下标引用:

        C语言中的 下表引用 操作符用于数组,有两个操作数,即数组名和索引值。

        [ ]      下标引用操作符     具体用法如下

int main(void){    int arr[10] = {1,2,3,4,5,6,7,8,9,10}; // 数组的初始化    //  下标 0 1 2 3 4 5 6 7 8 9     //  数组是通过下标来访问,下标是从0开始。 如1的下标为0,10的下标为9 printf("数组arr的第五个元素为:%d\n", arr[4]);//[] —— 就是下标引用操作符    //  arr[4] 其实访问的就是数组arr的第五个元素。   }

注意事项:

        1)  下标引用共有两个操作数即 数组名和索引值,缺一不可。

        2)   下标引用操作符中的索引值只能是整形常量或者整型表达式。

        函数调用:

        C语言中函数调用时用括号完成的。

        ()  函数调用操作符      有一个或多个操作数( 函数名和操作数 )。

        举例:

void test1(){    test2();    // () 函数调用操作符 printf("hello wrold\n");}void test2(){    printf("你好,世界!\n");}int main(){    test1();    // () 函数调用操作符}

注意事项:

        1)  函数调用操作符有一个或多个操作数。

        结构成员访问:

        C语言中的结构成员操作符都是用于结构体内,作用是访问一个结构的成员 。

        .           结构体 . 成员名

        ->        结构体指针->成员名

        结构成员操作符使用举例

struct Person{  char name[10];  char sex[5];  int age;  double height;} int main(){  struct Person person1;  struct Person person2;  struct Person *pperson = &person2;  strcpy(person.name,"zhangsan");   //结构体成员访问  person.age = 20;   //结构体成员访问  strcpy(pperson->name,"lisi");   //结构体成员访问  pperson->age = 23;   //结构体成员访问}

 注意事项:

        1)  当结构体中有数组成员时,给该成员赋值用strcpy()函数,将目标串拷贝给该数组成员。 

本章的内容就学习完了,这章内容我们一共学习了C语言中的  算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员访问操作符。下期我们一起来学习C语言的灵魂(指针)内容。