本文所结合图书及视频
《C语言程序设计(第四版)谭浩强.pdf》
《C语言入门到精通—鹏哥带你C语言从入门到精通》
《郝斌老师的C语言自学视频》
这些在B站上都能找得到的。
本章重点:
1、各种操作符的介绍及应用
2、表达式求值
学习内容:
上节内容我们一起学习了C语言中的 算术操作符、移位操作符、位操作符、赋值操作符、单目操作符,今天我们继续学习C语言的 关系操作符、逻辑操作符、条件操作符、逗号表达式及下表引用、函数调用和结构成员访问操作符。
1. 关系操作符
C语言中的关系操作符一共分为: 大于、 小于、 大于等于、 小于等于、 不等于、 等于。
> 大于 用于表示关系“大于”
< 小于 用于表示关系“小于”
>= 大于等于 用于表示关系“大于等于”
<= 小于等于 用于表示关系“小于等于”
!= 不等于 用于表示关系“不等于”
== 等于 用于表示关系“等于”
注意事项:
1) =(赋值)和 ==(等于)一定要区分开,前者做赋值操作,后者是判断是否相等。
2) 当编写代码时要判断字符串是否相同要调用strcmp()函数,不能用 == 比较。调用strcmp()函数要先引用头文件<string.h> 。
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语言的灵魂(指针)内容。
更多推荐
C语言自学之路十二(详解C语言操作符二)
发布评论