C语言期末考试——重点考点

目录

1.C语言的结构

2.三种循环结构

3.逻辑真假判断 

4. printf函数

5. 强制类型转化

6. 多分支选择结构

7. 标识符的定义

8. 三目运算符


1.C语言的结构

选择结构、顺序结构、循环结构

2.三种循环结构

for、while、do-while

3.逻辑真假判断 

C语言用0表示false,用非0(不止1)表示true

0不能用来表示“真”
 

①下边的表达式哪个满足:-10<=x<=10,和100<=x<=110时值为“真”,否则为“假”( B )

A. ((10>x)&&(x>-10))||(100>x-100)

B. !((x<-10)||(x>10))||!((x<100)||(x>110))

C. (x<10)&&(x>-10)&&(x>100)&&(x<110)

D. (x>-10)&&(x<10)||(x<110)&&(x>100)
 

选项 A

  • 分析逻辑表达式((10>x)&&(x>-10))||(100>x-100),后半部分 100>x-100 可化简为 200 > x,这个表达式主要判断的是 x 小于 10 且大于 -10 或者 x 小于 200,并不能准确实现题目要求的 -10<=x<=10 和 100<=x<=110 这两个区间判断,存在多余的取值范围情况,所以不符合题意。

选项 B

  • 分析逻辑表达式!((x<-10)||(x>10))||!((x<100)||(x>110))!((x<-10)||(x>10)) 等价于 (x >= -10) && (x <= 10)!((x<100)||(x>110)) 等价于 (x >= 100) && (x <= 110),整体表示 x 在 -10 到 10 这个区间或者 x 在 100 到 110 这个区间时表达式为真,刚好满足题目要求的条件,符合题意。

选项 C

  • 分析逻辑表达式(x<10)&&(x>-10)&&(x>100)&&(x<110),按照逻辑与运算规则,要求 x 同时满足小于 10 、大于 -10 、大于 100 和小于 110,这是不可能同时满足的条件,所以不符合题意。

选项 D

  • 分析逻辑表达式(x>-10)&&(x<10)||(x<110)&&(x>100),前半部分表示 x 在 -10 到 10 区间,后半部分表示 x 在 100 到 110 区间,但该表达式在 x 取值稍微超出这两个区间一点时也可能为真(比如 x = 11 时后半部分就为真了),不能精准符合题目要求,所以不符合题意。

综上,答案是 B 选项。

②下边的表达式哪个满足:当x和y的值都大于0,小于n时值为“真”,否则为“假”( D )

A. (x>0)&&(y>0)&&(x<n)&&(y<n)

B. (x<n)&&(y<n)&&x&&y

C. !(x<=0)||(y<=0)||(y>=n)||(x>=n)

D. !(x<=0)&&!(y<=0)&&!(y>=n)&&!(x>=n)

选项 A

  • 分析逻辑表达式(x>0)&&(y>0)&&(x<n)&&(y<n),这个表达式要求 x 既要大于 0 又要小于 n,同时 y 也要既大于 0 又要小于 n,是 x 和 y 各自都要同时满足大于 0 且小于 n 的条件,而题目要求的是 x 和 y 的值整体满足大于 0 、小于 n 即可,并非各自都要同时满足,所以该选项不符合题意。

选项 B

  • 分析逻辑表达式(x<n)&&(y<n)&&x&&y,表达式中的 x&&y 部分只是简单判断 x 和 y 不为 0,而前面 (x<n)&&(y<n) 也只是分别判断 x 和 y 小于 n,无法准确体现出 x 和 y 都要在 0 到 n 这个区间内的要求,所以不符合题意。

选项 C

  • 分析逻辑表达式!(x<=0)||(y<=0)||(y>=n)||(x>=n),根据逻辑或运算的规则,只要其中一个子表达式为真,整个表达式就为真。该表达式只要 x 或者 y 出现小于等于 0 、大于等于 n 这些不符合要求的情况之一,表达式就为真了,与题目要求的当不符合条件时表达式为假不符,所以不符合题意。

选项 D

  • 分析逻辑表达式!(x<=0)&&!(y<=0)&&!(y>=n)&&!(x>=n)!(x<=0) 等价于 x > 0!(y<=0) 等价于 y > 0!(y>=n) 等价于 y < n!(x>=n) 等价于 x < n,整体就是要求 x 大于 0 且小于 n ,同时 y 也要大于 0 且小于 n ,正好符合当 x 和 y 的值都大于 0 、小于 n 时值为 “真”,否则为 “假” 的要求,所以符合题意。

综上,答案是 D 选项。

4. printf函数

如:printf ("%d",3>2>1)

在 C 语言(以及很多遵循类似语法规则的编程语言中),关系运算符(如 >)的结合性是从左到右依次进行运算的。

 

首先计算 3>2,这个比较的结果是 1(在 C 语言中,关系表达式成立时返回值为 1,表示逻辑真;不成立时返回 0,表示逻辑假)。

 

然后用这个结果 1 再去和 1 进行 > 比较,也就是计算 1>1,该比较的结果是 0(因为 1 并不大于 1,关系表达式不成立)。

如:printf ("%d\n”,034)

在 C 语言(以及一些相关的编程语言中),以 0 开头的数字常量表示八进制数。所以这里的 034 实际上是一个八进制数

要计算八进制数 034 对应的十进制数值,可以使用按权展开的方法。八进制数从右到左每位的权值依次是 8^08^18^2……

对于八进制数 034,其转换为十进制数的计算过程如下:

5. 强制类型转化

①float  x = 3.1415926;输出语句printf (“%6d”,(int)x);

运行的输出结果是:3

②计算题

int a=3,b=4; float x=3.5,y=2.5;

则表达式 (float)(a+b)/2 + (int)x%(int)y 的值为:4.5

6. 多分支选择结构

①嵌套的if语句

②switch语句,case后只能为常量和常量表达式

7. 标识符的定义

不能使用关键字

  • 不能与 C 语言的关键字相同,如intfloatifelsewhile等都是关键字,不能用作用户定义的标识符。

合法字符组成

  • 只能由字母(包括大写和小写)、数字和下划线_组成。
  • 标识符的第一个字符必须是字母或下划线,不能是数字。

8. 三目运算符

①x=1,y=3        x=y>2?6:5

这里的结果为x=6

思路:首先计算 y > 2 这个条件表达式的值

  • 如果 y 的值大于 2,那么 y > 2 的结果为真(在 C 语言中就是值为 1),此时整个三元条件表达式 y > 2? 6 : 5 的值就为 6,然后再将这个值 6 赋给变量 x,即 x 的值最终变为 6
  • 如果 y 的值小于等于 2,那么 y > 2 的结果为假(值为 0),此时整个三元条件表达式 y > 2? 6 : 5 的值就为 5,然后再将这个值 5 赋给变量 x,即 x 的值最终变为 5

②表达式x>0?1:(x<0?-1:0)在x>0时的结果是:

对于表达式 x>0?1:(x<0?-1:0),首先判断最外层的条件 x>0

已知当前情况是 x>0,根据三元条件运算符的运算规则,当 x>0 这个条件成立(也就是为真)时,整个表达式 x>0?1:(x<0?-1:0) 的值就取 1,而不会再去管后面嵌套部分 (x<0?-1:0) 的情况了。

所以,表达式 x>0?1:(x<0?-1:0) 在 x>0 时的结果是 1

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

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

相关文章

ci/cd配置任务超时时间

有两个地方决定了任务超时时间&#xff1a; 1. 2.gitlab-runner

JUC:Synchronized和锁升级

1. 面试题 谈谈你对Synchronized的理解Sychronized的锁升级你聊聊Synchronized实现原理&#xff0c;monitor对象什么时候生成的&#xff1f;知道monitor的monitorenter和monitorexit这两个是怎么保证同步的嘛&#xff1f;或者说这两个操作计算机底层是如何执行的偏向锁和轻量级…

梯度下降法以及 Python 实现

文章目录 1. 引言2. 梯度法3. 例子4. 代码实现5. 讨论 — 学习率 η \eta η5.1 当 η \eta η 设置过大5.2 当 η \eta η 设置过小 参考 1. 引言 梯度下降法&#xff0c;可以根据微分求出的斜率计算函数的最小值。 在人工智能中&#xff0c;经常被应用于学习算法。 2. 梯…

OpenCV-图像阈值

简单阈值法 此方法是直截了当的。如果像素值大于阈值&#xff0c;则会被赋为一个值&#xff08;可能为白色&#xff09;&#xff0c;否则会赋为另一个值&#xff08;可能为黑色&#xff09;。使用的函数是 cv.threshold。第一个参数是源图像&#xff0c;它应该是灰度图像。第二…

详细了解IO分类

按照数据流方向如何划分&#xff1f; 输入流&#xff08;Input Stream&#xff09;&#xff1a;从源&#xff08;如文件、网络等&#xff09;读取数据到程序。 输出流&#xff08;Output Stream&#xff09;&#xff1a;将数据从程序写出到目的地&#xff08;如文件、网络、控…

Appium 安装问题汇总

好生气好生气&#xff0c;装了几天了&#xff0c; opencv4nodejs 和 mjpeg-consumer 就是装不了&#xff0c;气死我了不管了&#xff0c;等后面会装的时候再来完善&#xff0c;气死了气死了。 目录 前言 1、apkanalyzer.bat 2、opencv4nodejs 3、ffmpeg 4、mjpeg-consume…

目标检测知识点总结

1、数据增强 2、指标 3、vit 、swint ViT算法&#xff0c;创新性地将图像划分成一个个patch&#xff0c;并将每个patch展平为一个向量&#xff0c;使得图像数据转化为序列化数据&#xff0c;之后输入到Transformer模型中&#xff0c;实现了Transformer在图像分类任务中的应用。…

Lecture 11 - List,Set,Map

List, Set and Map are all interfaces: they define how these respective types work, but they don’t provide implementation code overview 1. List&#xff08;列表&#xff09;&#xff1a; &#xff08;1&#xff09; 创建、访问和操作列表&#xff1a;ArrayList …

ElfBoard开源项目|基于百度智能云平台的车牌识别项目

本项目基于百度智能云平台&#xff0c;旨在利用其强大的OCR服务实现车牌号码的自动识别。选择百度智能云的原因是其高效的API接口和稳定的服务质量&#xff0c;能够帮助开发者快速实现车牌识别应用。 本项目使用摄像头捕捉图像后&#xff0c;通过集成百度OCR服务的API&#xf…

应对超声波测试挑战,如何选择合适的数字化仪?

一、数字化仪的超声波应用 超声波是频率大于人类听觉范围上限的声学声压&#xff08;声学&#xff09;波。超声波设备的工作频率为20 kHz至几千MHz。表1总结了一些更常见的超声波应用的特征。 每个应用中使用的频率范围都反映了实际情况下的平衡。提高工作频率可以通过提高分…

product/admin/list?page=0size=10field=jancodevalue=4562249292272

文章目录 1、ProductController2、AdminCommonService3、ProductApiService4、ProductCommonService5、ProductSqlService https://api.crossbiog.com/product/admin/list?page0&size10&fieldjancode&value45622492922721、ProductController GetMapping("ad…

博物馆导览系统方案(一)背景需求分析与核心技术实现

维小帮提供多个场所的室内外导航导览方案&#xff0c;如需获取博物馆导览系统解决方案可前往文章最下方获取&#xff0c;如有项目合作及技术交流欢迎私信我们哦~撒花&#xff01; 一、博物馆导览系统的背景与市场需求 在数字化转型的浪潮中&#xff0c;博物馆作为文化传承和知…

Flink学习连载文章11--双流Join

双流 Join 和两个流合并是不一样的 两个流合并&#xff1a;两个流变为 1 个流 union connect 双流 join: 两个流 join&#xff0c;其实这两个流还是原来的&#xff0c;只是满足条件的数据会变为一个新的流。 可以结合 sql 语句中的 union 和 join 的区别。 在离线 Hive 中&…

vue3+wangeditor富文本编辑器详细教程

一、前言 在这篇教程中&#xff0c;我将指导如何使用 Vue 3 和 WangEditor 创建一个功能丰富的富文本编辑器。WangEditor 是一个轻量级的富文本编辑器&#xff0c;它非常适合集成到 Vue 项目中。这个例子展示了如何配置富文本编辑器&#xff0c;包括工具栏、编辑器配置以及如何…

Python学习39天

my_tools.py文件提供工具函数 """ 此文件编写工具函数&#xff0c;供程序员使用 my_tools """def read_confirm_select():"""让用户输入&#xff1a;Y/N&#xff0c;不区分大小写&#xff0c;将用户输入值转为小写返回&#xff…

LCA - Lowest Common Ancestor

LCA - Lowest Common Ancestor https://www.luogu.com.cn/problem/SP14932 题目描述 A tree is an undirected graph in which any two vertices are connected by exactly one simple path. In other words, any connected graph without cycles is a tree. - Wikipedia T…

unity打包web,发送post请求,获取地址栏参数,解决TypeError:s.replaceAll is not a function

发送post请求 public string url "http://XXXXXXXXX";// 请求数据public string postData "{\"user_id\": 1}";// Start is called before the first frame updatevoid Start(){// Post();StartCoroutine(PostRequestCoroutine(url, postData…

恒创科技:如何区分网站的域名主机名

如何区分网站的域名主机名?它们都是网址机制的一部分&#xff0c;当你在地址栏输入它们&#xff0c;就能访问互联网上想去的地方。你可曾思考过主机名和域名的区别呢? 简单来说&#xff0c;域名就像网址&#xff0c;而主机名用于标识网络中的设备。不过&#xff0c;这只是表面…

【技巧学习】ArcGIS如何计算水库库容量?

ArcGIS如何计算水库库容量? 一、数据获取 DEM数据来源于地理空间数据云&#xff0c;该网站是由中科院计算机网络信息中心于2008年创立的地学大数据平台。 二、填洼 将DEM数据中凹陷的区域填充至与倾斜点同样高度&#xff0c;这里的【Z限制】说的是设定一个特定的值&#x…

机器学习——感知机模型

文章目录 前言1.感知机模型介绍1.1基本概念1.2数学表达1.3几何解释1.4优缺点 2.二分类应用2.1应用介绍2.2准备数据集2.2.1环境检查2.2.2数据集介绍2.2.3获取数据2.2.4划分数据集 2.3可视化训练集2.4训练过程2.4.1首轮梯度下降2.4.2多轮梯度下降 2.5可视化分类结果2.6在验证集验…