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

考研复试C语言篇

第一章 概述

1.1什么是程序

为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的合集。

1.4C语言的特点

  1. 代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,也适用于多种机型。
  2. 使允许直接访问物理地址,对硬件直接操作。
  3. C语言是一个有结构化程序设计、具有变量作用域以及递归功能的过程式语言。
  4. C语言传递参数可以是值传递,也可以是指针传递。
  5. C语言中没有对象,不同的变量类型可以用结构体组合在一起。
  6. 预编译处理,生成目标代码质量高,程序执行效率高。

1.6C程序运行机制

  1. 编辑:hello.C 文件就是源代码。
  2. 编译:将hello.c程序翻译成目标文件hello.obj   //在计算机底层执行。
  3. 链接:将目标文件hello.obj+库文件 生成可执行文件  .exe   //在计算机底层执行。
  4. 运行:执行.exe文件得到运行结果。

1.8C程序开发注意事项

1)C程序源文件以“c”为扩展名。
2)C程序的执行入口时main()函数。
3)C语言严格区分大小写。
4)C程序由一条条语句构成,每个语句以“;”结束。

1.9常用的转义字符

\t:一个制表位,实现对齐功能

\n:换行符

\\:\

\":"

\':'

\r:一个回车

//:单行注释文字

/*  */:块注释。多行注释。

第二章  变量

2.1.1 变量是程序的基本组成单位

2.2 变量的介绍

2.2.1 概念

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。

2.2.2 变量使用的基本步骤

声明变量:int num;   

赋值:num = 60;

使用:printf("num = %d",num);

一步到位:int num2 = 99;

2.4 变量使用注意事项

  1. 变量表示内存中的一个存储区域(不同的数据类型占用的空间大小不一样)
  2. 该区域有自己的名称和类型
  3. 变量必须先声明后使用
  4. 该区域的数据可以在同一类型范围内不断变化
  5. 变量在同一作用域内不能重名
  6. 变量三要素(变量名  值  数据类型)

2.5 变量的数据类型

基本类型:数值类型:整型(短整型short2、整型int2、长整型long4)、浮点型(单精度float4、双精度double8)、字符型char1

构造类型:数组、结构体struct、共用体union、枚举类型enum

指针类型

空类型void

  • 浮点型常量默认为double型,声明float型常量时,需要加’f’或’F’。
  • printf(“d1=%f”,d1);//在输出时,默认保留小数点6为。

2.12 指针入门

2.13 值传递和地址传递

2.13.1 C语言传递参数(或者赋值)可以是值传递(pass by value),也可以传递指针(a pointer passed by value),传递指针也叫地址传递

1)默认传递值的类型:基本数据类型(整型类型、小数类型,字符类型),结构体,共用体。

2)默认传递地址的类似:指针、数组

值传递:将变量指向的存储内容,在传递赋值时,拷贝一份给接收变量。

地址传递:指针传递,如果是指针就将指针变量存储的地址传递给接收变量。如果是数组,就将数组的首地址传递给接收变量。

第三章  常量

1)常量是固定值,在程序执行期间不能改变。这些固定的值,又叫做字面量。
2)常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。
3)常量的值在定义后不能进行修改。

整数、浮点、字符、字符串常量

3.3.1 定义常量的方式

1)使用#define预处理器,#define 常量名 常量值
2)使用const关键字,const 数据类型 常量名=常量值;//即就是一个语句

3.6 const和#define的区别

1)const定义的常量时,带类型,define不带类型
2)const是在编译、运行的时候起作用,而define是在编译的预处理阶段起作用
3)define只是简单的替换,没有类型检查。简单的字符串替换会导致边界效应
4)const常量可以进行调试的,define是不能进行调试的,主要是预编译阶段就已经替换掉了,调试的时候就没它了
5)const 不能重定义,不可以定义两个一样的,而define通过undef取消某个符号的定义,再重新定义
6)define可以配合#ifdef、#ifindef、 #endif来使用,可以让代码更加灵活,比如我们可以通过#define 来启动或者关闭调试信息

第四章  运算符

4.1算术运算符

+-*/%

%:7%5=2;a%b=a-a/b*b

4.2 关系运算符(比较运算符)

==、!=、>、<、<=、>=

1)关系运算符的结果要么是真(非0表示),要么是假(0表示)
2)关系表达式经常用在if结构的条件中或循环结构的条件中

4.3 逻辑运算符

与&&、或||、非!

用于连接多个条件(一般来讲就是关系表达式),最终的结果要么是真(非0表示),要么是假(0表示)

4.4 赋值运算符

=、+=、-=、*=、/=、%=、<<=、>>=、&&=、|=

运算顺序从右往左。

4.5 位运算符

作用于位,并逐位执行操作。

4.6 三元运算符

条件表达式?表达式1:表达式2;

条件表达式为非0(真),运算后的结果是表达式1;

条件表达式为0(假),运算后的结果是表达式2;

4.7 运算符优先级

4.8 标识符的命名规则和规范

4.8.1 标识符概念

1)C语言对各种变量、函数等命名时使用的字符序列称为标识符
2)凡是自己可以起名字的地方都叫标识符

4.8.2 标识符的命名规则

  1. 由26 个英文字母大小写,0-9 ,或 $ 组成
  2. 数字不可以开头
  3. 不可以使用关键字和保留字,但能包含关键字和保留字。
  4. C 语言中严格区分大小写,长度无限制。
  5. 标识符不能包含空格

4.8.3 标识符命名规范

  1. 程序中不得出现仅靠大小写区分的相似的标识符int x,X: 变量x 与X 容易混淆
  2. 所有宏定义、枚举常数、常量(只读变量)全用大写字母命名,用下划线分隔单词.比如: const double TAX_RATE = 0.08,//TAX_RATE 只读变量#define FILE_PATH"/usr/tmp"
  3. 定义变量别忘了初始化。定义变量时编译器并不一定清空了这块内存,它的值可能是无效的数据、运行程序,会异常退出
  4. 变量名、函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写: xxxYyyZ7z [驼峰法,小驼峰,比如 short stuAge = 20;]比如:tankShotGamc   大驼峰[TankShotGame]

4.9 关键字

关键字中所有字母都为小写。

4.10 键盘输入语句

4.10.2 步骤

1)include <stdio.h>
2)使用scanf函数
3)使用适当的格式参数接收输入

相关文章:

考研复试C语言篇

第一章 概述 1.1什么是程序 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的合集。 1.4C语言的特点 代码级别的跨平台&#xff1a;由于标准的存在&#xff0c;使得几乎同样的C代码可用于多种操作系统&#xff0c;也适用于多种机型。使允许直接访问物理地址…...

Docker架构深度解析:守护进程、客户端与存储驱动的协同作战(下)

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Docker幻想曲&#xff1a;从零开始&#xff0c;征服容器宇宙》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 四、命名空间和控制组 1、Linux命名空…...

【强化学习笔记一】初识强化学习(定义、应用、分类、性能指标、小车上山案例及代码)

文章目录 第1章 初识强化学习1.1 强化学习及其关键元素1.2 强化学习的应用1.3 强化学习的分类1.3.1 按任务分类1.3.2 按算法分类 1.4 强化学习算法的性能指标1.5 案例&#xff1a;基于Gym库的智能体/环境接口1.5.1 安装Gym库1.5.2 使用Gym库1.5.3 小车上山1.5.3.1 有限动作空间…...

安卓面试准备汇总

java相关 面试-java基础相关-CSDN博客 android 基础相关 安卓基础面试题-CSDN博客 kotlin相关 android pms,cms,wms相关知识 android fragmework层的知识 项目相关的...

C#+datax实现定时增量同步

要使用C#和DataX实现定时增量同步&#xff0c;你可以使用以下步骤&#xff1a; 1. 安装DataX&#xff1a;首先&#xff0c;确保你已经安装了DataX。你可以从DataX的官方仓库中获取最新版本。 2. 配置DataX 任务&#xff1a;创建一个DataX任务&#xff0c;定义源&#xff08;sou…...

VUE实现Provide的计算属性

通过此篇可以学到&#xff1a; 如何使用Providerinject进行“跨代”传值如何实现一个计算属性的Provider如何解决告警“injection "xxxxx" not found. ” 一、描述 目前需要创建一个计算属性传入Provide&#xff0c;并且能够被其他组件Inject 二、实现 父组件 .…...

Spring Schedule:Spring boot整合Spring Schedule实战讲解定时发送邮件的功能

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…...

Midjourney绘图欣赏系列(十)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子&#xff0c;它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同&#xff0c;Midjourney 是自筹资金且闭源的&#xff0c;因此确切了解其幕后内容尚不…...

【C语言】人生重开模拟器

前言&#xff1a; 人生重开模拟器是前段时间非常火的一个小游戏&#xff0c;接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏&#xff1a; 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 &#xff08;1&#xff09; 游戏开始的时…...

船舶AIS监控网络-船位信息查询:实时查询船舶动态,服务于船舶安全航行管理、港口调度计划、物流、船代、货代。【AIS动态信息编写船舶轨迹】

文章目录 引言I 预备知识1.1 相关术语1.2 主要功能1.3 MongoDB和Es各自优势II 系统架构2.1 电子海图开源JavaScript包2.2 地图渲染库2.3 地图服务调用(天地图)2.4 在Elasticsearch(ES)中存储船舶轨迹数据III 数据同步方案3.1 基于 Binlog 实时同步3.2 数据迁移工具:Canal3.3…...

Axios 中的文件上传(Upload File)方法

Axios 提供了多种上传文件&#xff08;Upload File&#xff09;的方法&#xff0c;适用于不同的上传场景。以下是其中几种常用的方法&#xff1a; 1. 使用 FormData 对象FormData是一个用于创建表单数据的 API&#xff0c;可用于发送包含文件和其他表单数据的multipart/form-d…...

机试:数塔路径

问题描述: 代码示例: //数塔路径 #include <bits/stdc.h>using namespace std;int main(){ // 算法思想: // 逆推,将最下方和右下方的数字进行比较,哪个大则加上并更新,直至到根节点即为最大 int n;cin >> n; int nums[n1][n1]; // 输入数塔 for(int i 1;i < n…...

ROS2中launch编写及参数含义(xml、python)

ROS2系列文章目录 ROS2中nav_msgs/msg/Path 数据含义及使用 ROS2中std_msgs/msg/Header 数据含义及使用 ROS中TF变换详解 文章目录 ROS2系列文章目录ROS2中launch编写及参数含义&#xff08;xml、python&#xff09;一、ROS官方介绍二、实现案例1.编写主函数、CMakeLists.tx…...

鸿蒙Socket通信示例(TCP通信)

前言 DevEco Studio版本&#xff1a;4.0.0.600 参考链接&#xff1a;OpenHarmony Socket 效果 TCPSocket 1、bind绑定本地IP地址 private bindTcpSocket() {let localAddress resolveIP(wifi.getIpInfo().ipAddress)console.info("111111111 localAddress: " …...

yolov5-v6.0详细解读

yolov5-v6.0详细解读 一、yolov5版本介绍二、网络结构2.1 Backbone特征提取部分2.1.1 ConvBNSiLU模块2.1.2 C3模块2.1.2.1 BottleNeck模块 2.1.3 SPPF模块 2.2 Neck特征融合部分2.2.1 FPN2.2.2 PANet 2.3Head模块 三、目标框回归3.1 yolo标注格式3.2 yolov4目标回归框3.3 yolov…...

FPGA - 单总线协议(one-wire)

1&#xff0c;简介 单总线&#xff08;one-wire&#xff09;是美国 DALLAS 公司推出的外围串行扩展总线技术&#xff0c;与 SPI、I2C 等串行数据通信方式不同&#xff0c;它采用单根信号线&#xff0c;既传输时钟又传输数据&#xff0c;而且数据传输是双向的。它具有节省 I/O口…...

python的函数与类的定义

目录 1.函数 1.函数的定义 2.输入参数与输出参数的类型 3.输入和输出多个参数 1.普通参数 2.含有任意数量的参数 3.关键字参数 4.普通参数与多个参数的结合 2.类 1.类的定义 2.类的实例化 3.继承 1.函数 1.函数的定义 def 函数名(输入参数): 文档字符串 函数体 …...

Parade Series - WebRTC ( < 300 ms Low Latency ) T.B.D

Parade Series - FFMPEG (Stable X64) C:\Conda\parading-cam>ffmpeg -f dshow -i video"Surface Camera Front" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -an -rtsp_transport tcp -f rtsp://127.0.0.1:8554/cam0801...

【ARM】MDK在programming algorithm界面添加FLM

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 解决在programming algorithm界面中无法添加想要的Flash编程算法的问题 2、 问题场景 在对于Debug进行Flash Download进行配置的时候&#xff0c;在programming algorithm界面中有对应的Flash编程算法。可以通过…...

springmvc学习笔记1

springmvc学习笔记part1 总概述图创建步骤创建project并在父工程中导入配置类添加为web工程检查maven配置写handller方法写配置类SpringMVC环境搭建项目部署关键步骤总结 具体设置路径设置注解接收参数&#xff08;重点param参数接收路径参数接收json参数接收请求头接收和cooki…...

MAC上怎么进入隐藏目录

在Mac上&#xff0c;由于系统保护的原因&#xff0c;一些系统目录如/usr默认是隐藏的&#xff0c;但可以通过以下方法进入&#xff1a; 方法一&#xff1a;使用Finder的“前往文件夹”功能 打开Finder。使用快捷键Command Shift G&#xff0c;或者在菜单栏中选择“前往”-“…...

从0开始学习R语言--Day13--混合效应与生存分析

混合效应模型&#xff08;Mixed Effects Model&#xff09; 对于数据来说&#xff0c;我们通常把所有样本共有的影响因素&#xff08;性别&#xff0c;实验处理&#xff0c;实验方法&#xff09;&#xff0c;这种可以推广到总体的叫做固有效应&#xff0c;而仅适用于特定分组的…...

基于Android的医院陪诊预约系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…...

C++ 之 多态 【虚函数表、多态的原理、动态绑定与静态绑定】

目录 前言 1.多态的原理 1.1虚函数表 1.2派生类中的虚表 1.3虚函数、虚表存放位置 1.4多态的原理 1.5多态条件的思考 2.动态绑定与静态绑定 3.单继承和虚继承中的虚函数表 3.1单继承中的虚函数表 3.2多继承(非菱形继承)中的虚函数表 4.问答题 前言 需要声明的&#x…...

kafka幂等生产者和事务生产者区别

#作者&#xff1a;张桐瑞 文章目录 消息交付可靠性保障什么是幂等性&#xff08;Idempotence&#xff09;&#xff1f;幂等性Producer事务事务型Producer 消息交付可靠性保障 所谓的消息交付可靠性保障&#xff0c;是指Kafka对Producer和Consumer要处理的消息提供什么样的承诺…...

docker问题记录

docker pull镜像&#xff1a; 即使配置了镜像源也还是走的国外的镜像源&#xff1a; 解决办法&#xff1a;在pull镜像的时候强制走自己的镜像 比如&#xff1a;拉取rabbitmq&#xff0c;强制使用"https://docker.m.daocloud.io"这个镜像 docker pull docker.m.da…...

Linux.docker.k8s基础概念

1.Linux基本命令 cat 查看文件内容。 cd 进入目标目录。 ll 查询当前路劲下文件的详细信息。 ls 查询当前路劲下的文件。 touch 建立一个文件。 mkdir 建立一个文件夹。 rm 删除文件或者目录。 mv 移动目录和重新命名文件。 unzip 解压。 top 查看当前线程的信息。 find …...

005 ElasticSearch 许可证过期问题

ElasticSearch 许可证过期问题 项目启动报错 org.elasticsearch.client.ResponseException: method [GET], host [http://127.0.0.1:9200], URI [/_cluster/health/], status line [HTTP/1.1 403 Forbidden] {"error":{"root_cause":[{"type":…...

每日八股文6.1

每日八股-6.1 Go1.Sync.map的底层实现2.结构体的tag如何获取&#xff1f;3.Go实现单例模式&#xff08;使用sync.Once&#xff09;4.Go实现单例模式&#xff08;不使用sync.Once&#xff09;5.make和new的区别6.Go项目引用包为什么用_以及包的init()函数7.如何判断一个结构体是…...

RuoYi前后端分离框架实现前后端数据传输加密(二)之前端篇

一、背景 本文是RuoYi前后端分离框架实现前后端数据传输加密(一)之后端篇文章配套的,主要介绍前端对自定义字段传输加密的实现,两篇文章结合可以完整的完成RuoYi前后端分离框架对API通信过程中实现自定义字段加密传输。前端的加解密实现,不涉及到界面的修改,仅仅是方法的…...