【筑基系列】 认识操作符(下)

简介: 详细了解操作符

1.关系操作符

\>

\>=

<

<=

!= 用于测试“不相等”

== 用于测试“相等”

2.逻辑操作符

&& 逻辑与

|| 逻辑或

逻辑与与逻辑或只关注真假,不关注二进制位,非零为真

1&&2---->1 全真则真,一假则假(并且)

0 ||2---->0 一真则真,全假则假(或者)

笔试题:

#include <stdio.h>
int main()
{
    int i = 0,a=0,b=2,c =3,d=4;
    //(2)int i = 0,a=1,b=2,c =3,d=4;
    i = a++ && ++b && d++;
    //(2)i = a++||++b||d++;
    printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
    return 0; 
}

解析:

(1) 首先执行a++,先使用a,a = 0即为假,则&&后边的表达式不进行计算,然后a自加可以得到 a = 1, b =2 ;c =3 ;d = 4

(2) 首先执行a++,先使用a,a为真,则进行||运算后,结果为真,故||后边不再进行计算,然后a自加可以得到,a = 2, b = 2, c =3, d = 4;

3..条件操作符

表达式1 ? 表达式2:表达式3

逻辑展示:

image-20220602194432197

举例:求两个数最大值

int a = 5;
int b = 8;
max = (a > b ? a : b);    //a如果大于b的话会把a赋值给max,如果a不大于b 的话则会把b赋值给max
printf("%d\n", max);

image-20220602194750183

4.逗号表达式

exp1, exp2, exp3, …expN

逗号表达式,就是用逗号隔开的多个表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

    int a = (1, 2, 3, 5);    //逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
                            //整个表达式的最后是5,5最终赋值给a
    printf("%d\n", a);

故可得 a = 5

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

[] () . ->
  1. [ ] 下标引用操作符

操作数:一个数组名 + 一个索引值

int arr[10] = { 1,2,3,4,5,6,7,8,9,10};    //创建数组
printf("%d\n", arr[5]);    //打印数组下标为5的元素

image-20220602195413838

arr[7] ----> (arr+7) ---> (7+arr) ---> 7[arr]
  1. ( ) 函数调用操作符
#include <stdio.h>
void test1()
 {
      printf("hehe\n");
 }
void test2(const char *str)
{
       printf("%s\n", str);
 }
int main()
{
 test1();            //使用()作为函数调用操作符。
 test2("hello bit.");//使用()作为函数调用操作符。
 return 0;
 }

image-20220602195906206

3.

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

struct stu
{
    char name[20];
    int age;
};
int main()
{
    struct stu s1 = { "李四", 19 };
    printf("%s  %d\n", s1.name, s1.age);    // .是用来访问结构体成员的
    return 0;
}

image-20220602200347006

struct stu
{
    char name[20];
    int age;
};
int main()
{
    struct stu s1 = { "李四", 19 };,
    struct stu* p = &s1;
    printf("%s  %d", p->name, p->age);        //结构体指针->成员名,打印结构体指针指向的成员
    return 0;
}

结果同上

相关文章
kde
|
14天前
|
JSON Linux 数据格式
Docker镜像加速指南:手把手教你配置国内镜像源
配置国内镜像源可大幅提升 Docker 拉取速度,解决访问 Docker Hub 缓慢问题。本文详解 Linux、Docker Desktop 配置方法,并提供测速对比与常见问题解答,附最新可用镜像源列表,助力高效开发部署。
kde
9092 53
|
11天前
typora免费版,激活方法,Typora使用教程
Typora是一款简洁高效的Markdown编辑器,支持即时渲染。本教程涵盖安装方法、文件操作、视图控制、格式排版、字体样式及Markdown语法,助你快速上手使用Typora进行高效写作。
2370 4
|
4天前
|
云安全 人工智能 安全
|
17天前
|
人工智能 定位技术 API
Dify MCP 保姆级教程来了!
大语言模型,例如 DeepSeek,如果不能联网、不能操作外部工具,只能是聊天机器人。除了聊天没什么可做的。
2236 34
|
5天前
|
Ubuntu JavaScript Linux
Windows安装Claude Code
Claude Code 是 Anthropic 推出的代码助手,支持在 Windows 通过 WSL(Windows Subsystem for Linux)运行。本文介绍如何在 Windows 系统中启用 WSL、安装 Ubuntu 子系统、配置 Python 与 Node.js 环境,并最终安装和运行 Claude Code。内容涵盖 WSL 设置、开发工具安装、依赖配置及常见问题解决方法,助你顺利在本地环境中使用 Claude Code 提升编码效率。
581 1
Windows安装Claude Code
|
14天前
|
JavaScript Ubuntu IDE
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
1239 6
|
12天前
|
人工智能 Java Spring
【保姆级图文详解】大模型、Spring AI编程调用大模型
【保姆级图文详解】大模型、Spring AI编程调用大模型
864 11
【保姆级图文详解】大模型、Spring AI编程调用大模型
|
4天前
|
人工智能 Java API
让复杂 AI 应用构建就像搭积木:Spring AI Alibaba Graph 使用指南与源码解读
通过指南和完整的示例项目,你可以快速掌握 Spring AI Alibaba Graph 的使用方法,并在实际项目中高效地构建智能化应用。
345 14
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问