当前位置: 首页 > news >正文

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.lryc.cn/news/499085.html

相关文章:

  • mongo开启慢日志及常用命令行操作、数据备份
  • Mybatis-Plus的主要API
  • 2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别
  • 【SpringMVC】参数传递 重定向与转发 REST风格
  • 性能测试需求分析(超详细总结)
  • 显卡(Graphics Processing Unit,GPU)架构详细解读
  • 【大语言模型】ACL2024论文-24 图像化歧义:Winograd Schema 挑战的视觉转变
  • AcWing 2868. 子串分值
  • 如何进行 JavaScript 性能优化?
  • 使用TCP编程实现简单登录功能
  • 卷积神经网络(CNN)的层次结构
  • 操作系统文件管理相关习题2
  • react 通过ref调用子组件的方法
  • 【计算机网络】 —— 数据链路层(壹)
  • AcWing 93. 递归实现组合型枚举
  • vscode 折叠范围快捷键
  • RabbitMQ 实现分组消费满足服务器集群部署
  • Chromium网络调试篇-Fiddler 5.21.0 使用指南:捕获浏览器HTTP(S)流量(二)
  • 个人IP建设:简易指南
  • 智能指针【C++11】
  • 【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
  • Cursor vs VSCode:主要区别与优势分析
  • 从单体到微服务:如何借助 Spring Cloud 实现架构转型
  • RocketMq基础学习+SpringBoot集成
  • 分布式cap
  • mybatis-xml映射文件及mybatis动态sql
  • 计算机网络复习——概念强化作业
  • 用友BIP与旺店通数据集成方案解析
  • string类函数的手动实现
  • Oceanbase离线集群部署