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

【国家计算机二级C语言】高分笔记

二叉树

在这里插入图片描述
在这里插入图片描述
参考 http://t.csdnimg.cn/ozVwT

数据库

SQL程序语言有四种类型,对数据库的基本操作都属于这四类,它们分别为;数据定义语言(DDL)、数据查询语言(DQL)、数据操纵语言(DML)、数据控制语言(DCL)
参考 https://zhuanlan.zhihu.com/p/391552199【CSDN跳转不方便,自行复制参考】

指数表示

https://blog.csdn.net/qwy1270005925/article/details/113009431
在这里插入图片描述

赋值奇观

在这里插入图片描述
给定定义语句 int a=3, b=2, c=1;,让我们逐个检查选项中的赋值体现式:
A. a=(b=4)=3;:这个表达式首先将 b 赋值为 4,然后尝试将 4 赋值给 a,但是由于赋值表达式 (b=4) 的结果是一个值,而不是一个可修改的变量,因此无法将 4 再次赋值给 a。这是一个语法错误,因此选项 A 是错误的。
B. a=b=c+1;:这个表达式首先计算 c+1,然后将结果赋值给 b,最后将 b 的值赋值给 a。这是一个合法的赋值表达式。
C. a=(b=4)+c;:这个表达式首先将 b 赋值为 4,然后将 4 加上 c 的值,最后将结果赋值给 a。这是一个合法的赋值表达式。
D. a=1+(b=c=4);:这个表达式首先将 c 赋值为 4,然后将 b 赋值为 4,最后将 1 加上 4 的值,结果再赋值给 a。这是一个合法的赋值表达式。
因此,错误的赋值体现式是选项 A. a=(b=4)=3;

if 后的条件式

可以为任意合法数值

if语句的基本形式是 if (expression) statement,其中 “expression” 是一个条件表达式,用于决定是否执行后面的语句。关于 “expression” 的论述,正确的是选项 D. 可以是任意合法的数值。
在C语言中,if语句中的 “expression” 可以是任何具有数值的表达式,而不仅仅限于逻辑值、整数值或正数。当 “expression” 的值为非零时,被视为真(true),执行后面的语句;当 “expression” 的值为零时,被视为假(false),不执行后面的语句。
因此,选项 D. 可以是任意合法的数值是正确的论述。

#进制奇观

在C语言中,以0开头的数字表示八进制数。因此,变量x被赋值为八进制的011,即十进制的9。然后使用++运算符对x进行自增操作,将x的值加1,变为10。最后通过printf函数输出x的值,所以程序的输出结果是10。
在这里插入图片描述

break switch

这段代码是一个C语言程序,它使用了一个for循环来迭代8次。在每次迭代中,它生成一个随机数n,范围是0到4(包括0和4)。然后根据n的值执行不同的操作:

  • 如果n等于1或3,它会打印出n的值并跳出switch语句;
  • 如果n等于2或4,它会打印出n的值并继续下一次迭代;
  • 如果n等于0,它会立即退出程序。

在每次迭代的最后,无论n的值是多少,都会打印出n的值。因此,当程序结束时,会打印出8个数字,其中最后一个数字是0。
在这里插入图片描述

字符常量与字符串常量 不同

字符常量 ‘0’ 和 ‘9’ 而不是字符串常量 “0” 和 “9”。
在这里插入图片描述

奇葩条件

在 C 语言中,赋值操作的结果是被赋值的变量的值。因此,这个循环条件实际上是一个永远为真的条件,因为 k=1 操作总是成功的,导致循环无限进行下去。
在这里插入图片描述

赋值

若有定义语句:char s[3][10],(*k)[3],*p;,则如下赋值语句正确的是( )
A. p=s;
B. p=k;
C. p=s[0];
D. k=s;

让我们逐个检查选项:
A. p=s;: 这个赋值语句是不正确的。因为 s 是一个二维字符数组,而 p 是一个指向字符的指针,类型不匹配。
B. p=k;: 这个赋值语句是不正确的。因为 k 是一个指向包含3个元素的一维字符数组的指针,而 p 是一个指向字符的指针,类型不匹配。
C. p=s[0];: 这个赋值语句是正确的。因为 s[0] 是一个字符数组,而 p 是一个指向字符的指针,可以将 s[0] 的地址赋给 p
D. k=s;: 这个赋值语句是不正确的。因为 k 是一个指向包含3个元素的一维字符数组的指针,而 s 是一个二维字符数组,类型不匹配。
因此,正确答案是 C. p=s[0];

static 我记性很好,别耍赖

在这里插入图片描述

这段代码定义了一个静态局部变量 x 和两个函数 fun()main()fun() 函数每次被调用时,将静态变量 x 的值乘以 2,并返回乘积结果。main() 函数则通过循环调用 fun() 函数,并将返回值累乘到变量 s 中,最后输出 s 的值。
让我们逐行分析代码:

#include <stdlib.h>

这一行包含了标准库头文件 <stdlib.h>,虽然在这段代码中并未使用到该头文件,但是这是一个好的编程习惯,以确保程序中使用的函数能够正确地被声明。

int fun()
{static int x = 1;x *= 2;return x;
}

这里定义了一个名为 fun() 的函数,它没有参数,并且返回一个整数值。函数内部有一个静态局部变量 x,它被初始化为 1。每次调用 fun() 函数时,x 的值都会乘以 2,然后返回乘积结果。

int main()
{int i, s = 1;for(i = 1; i <= 3; i++)s *= fun();printf("%d\n", s);return 0;
}

main() 函数中,定义了两个整型变量 is,其中 s 初始化为 1。然后通过一个循环,调用 fun() 函数三次,并将返回值累乘到 s 中。最后,使用 printf() 函数输出 s 的值,并返回 0。
现在让我们来计算一下程序的输出:
第一次调用 fun() 函数时,x 的初始值是 1,返回值是 2。
第二次调用时,x 的值已经变成了 2,返回值是 4。
第三次调用时,x 的值已经变成了 4,返回值是 8。
因此,最终输出的结果是 2 * 4 * 8 = 64。
所以程序的输出是 64

结构体结构体,有一点奇怪

在这里插入图片描述

这段代码定义了一个结构体 S,包含两个成员变量 ab。然后创建了一个名为 data 的结构体数组,其中包含两个 S 类型的结构体实例,分别初始化为 {10, 100}{20, 200}
接着在 main() 函数中,定义了一个名为 pS 类型结构体变量,并将其初始化为 data[1],即第二个结构体实例 {20, 200}
然后使用 printf() 函数输出 p.a 的值,但在输出之前对 p.a 进行了自增操作。需要注意的是,p 是一个结构体变量,p.a 是其中的成员变量,而对结构体成员变量进行自增操作是合法的。
因此,程序的输出是 21

文件操作

在这里插入图片描述
参考 https://www.cnblogs.com/spmt/p/10830600.html

打开方式 说明
r 以只读方式打开文件,只允许读取,不允许写入。该文件必须存在。
r+ 以读/写方式打开文件,允许读取和写入。该文件必须存在。
rb+ 以读/写方式打开一个二进制文件,允许读/写数据。
rt+ 以读/写方式打开一个文本文件,允许读和写。
w 以只写方式打开文件,若文件存在则长度清为0,即该文件内容消失,若不存在则创建该文件。
w+ 以读/写方式打开文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以追加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留(EOF符保留)。
a+ 以追加方式打开可读/写的文件。若文件不存在,则会建立该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(原来的EOF符 不保留)。
wb 以只写方式打开或新建一个二进制文件,只允许写数据。
wb+ 以读/写方式打开或建立一个二进制文件,允许读和写。
wt+ 以读/写方式打开或建立一个文本文件,允许读写。
at+ 以读/写方式打开一个文本文件,允许读或在文本末追加数据。
ab+ 以读/写方式打开一个二进制文件,允许读或在文件末追加数据。

自己补写程序注意变量类型

在这里插入图片描述
在这里插入图片描述

相关文章:

【国家计算机二级C语言】高分笔记

二叉树 参考 http://t.csdnimg.cn/ozVwT 数据库 SQL程序语言有四种类型&#xff0c;对数据库的基本操作都属于这四类&#xff0c;它们分别为&#xff1b;数据定义语言(DDL)、数据查询语言&#xff08;DQL&#xff09;、数据操纵语言&#xff08;DML&#xff09;、数据控制语言…...

Java项目:71 ssm基于ssm+vue的外卖点餐系统+vue

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统功能 系统分为前台订餐和后台管理&#xff1a; 1.前台订餐 用户注册、用户登录、我的购物车、我的订单、商品列表 2.后台管理 商品管理&…...

Alibaba spring cloud Dubbo使用(基于Zookeeper或者基于Nacos+泛化调用完整代码一键启动)

Quick Start Dubbo&#xff01;用更优雅的方式来实现RPC调用吧 - 掘金 dubbozookeeper demo 项目结构&#xff1a; RpcService 仅仅是提供服务的接口&#xff1a; public interface HelloService {String sayHello(String name); }DubboServer pom&#xff1a; <?xm…...

Word为图表设置图注并在图表清单中自动生成

1如果需要自动插入题注&#xff0c;请不要自己为文件增加新的标题样式或删除自带的标题1样式 2章节大标题最好是标题1&#xff0c;2,3而不要设置标题一、二、三&#xff0c;否则图例在自动生成时会显示 图一 -1&#xff0c;调整起来会非常不方便 若实在要使用大写中文标题&…...

新建maven项目中遇到的问题

#新建maven项目中遇到的问题 用的是eclipse Version: 2022-12 (4.26.0) tomcat 8.5 java 1.8 ##1、新建完之后&#xff0c;直接有报错&#xff0c;index报错 除了在build config path中加入server runtime和java sdk之外&#xff0c;还有在project property 中project facet中j…...

【剑指offer】24. 机器人的运动范围(java选手)

题目链接 题目链接 题目描述 地上有一个 m 行和 n列的方格&#xff0c;横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标 (0,0) 的格子开始移动&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四个方向移动一格。 但是不能进入行坐标和列…...

CMU 10-414/714: Deep Learning Systems --hw3

实现功能 在ndarray.py文件中完成一些python array操作 我们实现的NDArray底层存储就是一个一维向量&#xff0c;只不过会有一些额外的属性&#xff08;如shape、strides&#xff09;来表明这个flat array在维度上的分布。底层运算&#xff08;如加法、矩阵乘法&#xff09;都…...

前端小白的学习之路(lessscss)

提示&#xff1a;less,sass&scss 目录 一、less 1.变量 2.嵌套规则 3.混合 4.针对属性值进行操作的函数 5.循环 6.拓展语法 二、scss&sass 1.sass 2.scss 一、less 是一个开源的、基于 CSS 的预处理器&#xff0c;它使得编写和维护 CSS 更加简单和高效。通…...

算法体系-15 第十五节:贪心算法(下)

一 、贪心算法的解题套路实战 贪心的算法和排序和堆有关 1.1 描述 一些项目要占用一个会议室宣讲&#xff0c;会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间 你来安排宣讲的日程&#xff0c;要求会议室进行的宣讲的场次最多。 返回最多的宣讲场次…...

2.10 模型评估的方法有哪些?优缺点

2.10 模型评估的方法有哪些&#xff1f;优缺点&#xff1f; 场景描述 在机器学习中&#xff0c;我们通常把样本分为训练集和测试集&#xff0c;训练集用于训练模型&#xff0c;测试集用于评估模型。在样本划分和模型验证的过程中&#xff0c;存在着不同的抽样方法和验证方法。…...

Linux centos7安装nginx-1.24.0并且实现自启动

1.安装之前的操作 ps -ef|grep nginx 查看是否有运行 如果有就杀掉 kill -9 pid find / -name nginx 查看nginx文件 rm -rf file /usr/local/nginx* 通通删掉删掉 yum remove nginx 限载一下服务 1.2.下载安装包 地址 nginx: download 2.减压文件 tar…...

001-Windows下PyTorch极简开发环境配置(上)

本节介绍Windows系统下配置一套基于Pytorch框架的极简深度学习开发环境。 目录 0.1 缘起 0.1 缘起 其实大概在2016就开始接触深度学习的相关知识&#xff0c;但一直到2018年左右&#xff0c;还停留在门外汉的状态太&#xff0c;原因很简单&#xff0c;感觉学习的门槛过高。…...

分布式Raft原理详解,从不同角色视角分析相关状态

分布式Raft原理详解&#xff0c;从不同角色视角分析相关状态 1. CAP定理2.Raft 要解决的问题3. Raft的核心逻辑3.1. Raft的核心逻辑2.1. 复制状态机2.2. 任期 Term2.3. 任期的意义&#xff1a;逻辑时钟2.4 选举定时器 3. Leader选举逻辑4. 从节点视角查看Leader选举4.1. Follow…...

大数据的实时计算和离线计算你理解吗?

不管是实时计算还是离线计算&#xff0c;都有着同样的业务目标&#xff0c;那就是根据业务要求把数据源计算处理成业务需要的直接可用的数据结果。 如果把数据源比作是水龙头里的水&#xff0c;把数据计算比作是生产纯净水的过程&#xff1b;那么实时计算就是用一根水管接在水龙…...

OS Package Manager

Windows Package Manager winget chocolatey Mac homebrew Linux apt-get apt snap yum 使用wget和curl拉取相关工具的shell脚本执行安装...

【滑动窗口、矩阵】算法例题

目录 三、滑动窗口 30. 长度最小的子数组 ② 31. 无重复字符的最长子串 ② 32. 串联所有单词的子串 ③ 33. 最小覆盖子串 ③ 四、矩阵 34. 有效的数独 ② 35. 螺旋矩阵 ② 36. 旋转图像 ② 37. 矩阵置零 ② 38. 生命游戏 ② 三、滑动窗口 30. 长度最小的子数组 ② 给…...

【事务】开发用到的事务,TransactionDefinition实例详解,事务的传播机制

【事务】开发中用到的事务&#xff0c;TransactionDefinition实例详解 一、TransactionDefinition 介绍1、隔离级别&#xff08;Isolation Level&#xff09;&#xff1a;2、传播行为&#xff08;Propagation Behavior&#xff09;&#xff1a;3、超时设置&#xff08;Timeout …...

Linux信号处理

Linux信号处理 什么是linux信号 本质是一种通知机制&#xff0c;用户 or 操作系统通过发送一定的信号&#xff0c;通知进程&#xff0c;某些事情已经发生&#xff0c;你可以在后续进行处理。 信号产生是随机的&#xff0c;进程可能正在忙自己的事情&#xff0c;所以&#xf…...

nuclei使用方法

nuclei使用方法 查看帮助 nuclei -h 列出所有模板 nuclei -tl 查找某种cms的相关漏洞模板&#xff0c;wordpress为例 nuclei -tl -tc "contains(name,wordpress)"便会列出内容里含有wordpress关键字的漏洞检测模板 使用与某cms相关的所有漏洞模板进行扫描&#…...

【并查集专题】【蓝桥杯备考训练】:网络分析、奶酪、合并集合、连通块中点的数量、格子游戏【已更新完成】

目录 1、网络分析&#xff08;第十一届蓝桥杯省赛第一场C A组/B组&#xff09; 2、奶酪&#xff08;NOIP2017提高组&#xff09; 3、合并集合&#xff08;模板&#xff09; 4、连通块中点的数量&#xff08;模板&#xff09; 5、格子游戏&#xff08;《信息学奥赛一本通》…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...