程序设计入门——C语言2023年5月18日

news2024/11/20 2:46:06

程序设计入门——C语言

  • 第二周 计算
    • 表达式

课程来源:链接: 浙江大学 翁恺 程序设计入门——C语言
学习日期:2023年5月18日

第二周 计算

表达式

  1. 有两个变量a和b,交换a和b的值。
    老师举例:有两杯液体,一杯茶,一杯饮料,将这两杯液体互换。则需要另外先找一个空杯子,然后按顺序倒腾。
  2. 复合赋值运算符:
    +=、-=、*=、/=、%=这个五个。
    *历史故事:*当年C语言,是在PDP 11的机器上开发的出来的,当时是想将C做成一个底层的编程语言,开发过程中有个脑袋一亮:用C语言表达出机器语言所有的指令,如果机器语言有一种指令,C语言写了之后,无法通过编译器直接生成那个机器指令,是不行的。而PDP中有一些机器指令,专门做复合赋值运算的。因此,C语言一定要有对应的东西,那么复合赋值运算符就出现了。
  3. 递增递减运算符:
    ++、–只能与变量结合,作用是把这个变量加1或者减1。
    以a++为例说明
    (1)a+=1;
    (2)a=a+1;
    ++、–有前缀,后缀两种:
    (1)a++;a–
    (2)++a;–a
    以a=10为例
    共同点:无论是a++还是++a,对于变量a而言,值都是要递增1的。即:a=11;
    不同点:a++或++a,都是表达式,这个表达式的结果是有区别的,表达式a++的结果是:10,而表达式的++a的结果是:11。
int atest() {
	int a = 1;
	int b = 0;
	b = a++;
	printf("a++=%d\r\n", b);
	printf("a=%d\r\n", a);
	int c = 1;
	int d = 0;
	d = ++c;
	printf("++c=%d\r\n", d);
	printf("c=%d\r\n", c);
	return 0;
}

运行结果:
在这里插入图片描述*++、–的历史故事:*在PDP 11机器上,有两条机器指令 INC(用于递增)、DEC(用于递减),C语言为了对应这两条机器指令,而造的++、–。现在的CPU,写成c=c+1,也能正常运行。甚至有些CPU,没有这俩指令了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/541272.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

03)FastDFS配置nginx 服务,使用http方式访问图片

FastDFS是没有文件访问功能的,需要借助其他工具实现图片HTTP访问的。 没安装nginx时比如前端html网页想获取 FastDFS的一张图片显示,需要java写个controller,然后使用 FastDFS-java client客户端调用文件获取api,HttpServletResponre在返回图片流.给前端显示。 安装了nginx…

HTTP介绍、原理

HTTP 与 HTTPS 有哪些区别? HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。HTTP 连接建立相…

带头 双向 循环 链表——C语言实现

既然有带头 那么就有不带头 为什么我要将带头 而不讲不带头? 在之前我讲单链表时就说过 如果不带头会出现讨论的情况 为什么会出现讨论的情况 假设链表有一个节点 进行尾插 就只是将新的节点连接到链表的尾节点之后 那么如果链表没有节点 就没有尾节点 自然也就不能…

网络编程 (一)网络协议TCP,UDP

文章目录 🐒个人主页🏅JavaSE系列专栏📖前言:🎀计算机网络概述🎀网络编程🎀那么是如何精确找到计算机网络中的目标主机呢?🎀网络模型🎀TCP协议🎀U…

GitLAB CI-CD语法

GitLAB CI-CD语法 目录 1、Pipeline核心语法 gitlab-ci语法: https://docs.gitlab.com/ee/ci/yaml/ stages 阶段控制 .pre阶段的作业总是在流水线开始时执行;.post阶段的作业总是在流水线结束时执行; CI代码: stages:- build…

Servlet的详解

Servlet 的主要工作 允许程序员注册一个类,在 Tomcat 收到的某个特定的 HTTP 请求的时候,执行这个类中的一些代码 帮助程序员解析 HTTP 请求,把 HTTP 请求从一个字符串解析成一个 HttpRequest 对象 帮助程序员构造 HTTP 响应,程序…

用 CSS 自定义滚动条

简介 首先需要介绍一下滚动条的组成部分。滚动条包含 track 和 thumb&#xff0c;如下图所示&#xff1a; track是滚动条的基础&#xff0c;其中的 thumb是用户拖动支页面或章节内的滚动。 案例&#xff1a; 案例代码&#xff1a; <!DOCTYPE html> <html><he…

python 递归下降分析法的设计与实验原理 编译原理

本文内容&#xff1a; 本文章实现的文法&#xff1a; E->T|ET; T->F|T*F; F->i|(E);利用上一篇文章&#xff1a;python 预备实验2 LL(1)文法构造转化后的输出&#xff1a; E->TE; T->FT; F->i|(E); E->TE|; T->*FT|; 手工测试&#xff0c;是LL(1)文…

Flink+Pulsar、Kafka问题分析及方案 -- 事务阻塞

Pulsar、Kafka的事务设计 Pulsar跟Kafka在设计事务功能时&#xff0c;在消费者读取消息的顺序方面&#xff0c;都采用了类似的设计。 比如说&#xff0c;先创建txn1&#xff0c;然后创建txn2&#xff0c;这两个事务生产消息到同一个topic/partition里&#xff0c;但是txn2比tx…

【前端知识】常见的加密算法介绍

【前端知识】常见的加密算法介绍 1 常见的加密算法&#xff08;1&#xff09;哈希函数&#xff08;2&#xff09;对称加密&#xff08;3&#xff09;非对称加密&#xff08;4&#xff09;消息认证码&#xff08;MAC&#xff09; 2.总结 1 常见的加密算法 略微介绍一下前端中常…

Kerberos

序言 kerberos 除了说帮我们验证Java程序是否具有权限来请求Hadoop的服务,也可以来帮助我们检查新增的节点是是否是真实的节点,还是黑客为了套取数据的节点. 比如为HDFS新增一个DataNode节点,如果没有Kerberos验证, 随便一个节点只要连接上NameNode就会存储数据,黑客就可以获…

LeetCode:23. 合并 K 个升序链表

23. 合并 K 个升序链表 1&#xff09;题目2&#xff09;过程3&#xff09;代码1. 最开始2.初步优化 4&#xff09;结果1. 最开始2. 初步优化 1&#xff09;题目 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合…

机器学习基础认识(一)

机器学习应用 机器学习的应用&#xff0c;主要分为两类&#xff1a;预测、分类 预测&#xff0c;一般是指&#xff1a;根据数据&#xff0c;预测数值 分类&#xff0c;一般是指&#xff1a;根据数据&#xff0c;进行分类 预测与分类的关系【个人理解】 分类&#xff0c;本质…

零基础怎么入门网络安全?看这篇就够啦!

由于我之前写了不少网络安全技术相关的故事文章&#xff0c;不少读者朋友知道我是从事网络安全相关的工作&#xff0c;于是经常有人在微信里问我&#xff1a; 我刚入门网络安全&#xff0c;该怎么学&#xff1f;要学哪些东西&#xff1f;有哪些方向&#xff1f;怎么选&#xff…

Centos7.6部署postgresql15主从

目录 安装pg15&#xff08;master和standby&#xff09;主数据库配置(master)初始化数据库创建归档日志目录设置数据库访问权限修改数据库配置文件开启数据库 从数据库配置(standby)同步主库的数据文件创建文件standby.signal启动从数据库 主从状态验证master上验证standby上验…

H5性能测试怎么做?这些关键指标你得搞清楚

目录 01、Http相关 02、组件是否压缩 03、图片格式和大小是否合适 04、CSS放在顶部 05、JS放在底部 06、JS &CSS压缩 07、是否添加缓存 08、避免非200返回值 09、使用CDN 03、WebView相关 学习资源分享 软件测试面试小程序 01、Http相关 01、Http请求个数 有…

新星计划 Electron+vue2 桌面应用 1 基础

/(ㄒoㄒ)/~~报名了两个新星计划&#xff0c;工作之余写博客…… 另外一个是uniapp的属于个人兴趣&#xff0c;这个桌面应用正好符合工作需要。 活动地址&#xff1a;https://marketing.csdn.net/p/1738cda78d47b2ebb920916aab7c3584 教程地址&#xff1a; 2023新星导师活动…

Java实现PDF导出/预览

网上有很多关于PDF导出的文章&#xff0c;但是个人感觉实现的过于复杂&#xff0c;又是模板又是html的&#xff0c;有的还需要字体模板的支持&#xff0c;本片文章只是实现简单的PDF表格导出&#xff0c;可以实现PDF动态表格导出/预览&#xff0c;这类文章网上很少&#xff0c;…

实践「容器镜像扫描」,Get 云原生应用的正确打开方式

&#x1f31f; 容器技术的兴起&#xff0c;让应用程序更加轻量化和可移植&#xff0c;大大提高了应用交付效率。但容器中的应用也面临各种安全威胁&#xff0c;容器及其镜像安全不可小觑。 近日&#xff0c;在「DevSecOps 软件安全开发实践」课程上&#xff0c;极狐(GitLab) 高…

Linux设置系统时间(上海时区、硬件时间、重启有效)

#查看时间 date#删除当前时区 rm -rf /etc/localtime #修改默认时区为上海 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #设置硬件时间 月/日/年 时:分:秒 hwclock --set --date"05/18/2023 17:11:15"#设置系统时间和硬件时间同步 hwclock --hctosys#保…