当前位置: 首页 > 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…...

PPSSPP模拟器:这款安卓psp模拟器如何让你在手机上畅玩PSP经典游戏

还记得小时候躲在被窝里玩《怪物猎人》《战神》《最终幻想》的日子吗&#xff1f;那台黑白相间的PSP掌机承载了无数人的青春回忆。如今&#xff0c;PSP早已停产&#xff0c;但那些经典游戏并没有消失——只要你有PPSSPP模拟器&#xff0c;就能在手机、电脑甚至平板上重新体验它…...

基于STM32单片机指纹考勤系统签到打卡设计

一、系统介绍 本文介绍了一种基于 STM32 单片机的指纹开锁签到考勤系统。该系统以 STM32F103C8T6 单片机核心板为控制中枢&#xff0c;整合了多个关键模块。用户可根据实际需求选择 2.4 寸或 1.44 寸的 TFT 彩屏&#xff0c;用于清晰地显示系统状态及操作提示信息。可选的无线蓝…...

学术论文利器:使用LaTeX撰写cv_unet_image-colorization技术报告与实验图表

学术论文利器&#xff1a;使用LaTeX撰写cv_unet_image-colorization技术报告与实验图表 写技术报告或者论文&#xff0c;尤其是涉及图像处理、深度学习这类需要大量公式和图表的领域&#xff0c;你是不是也遇到过这些烦恼&#xff1f;用Word排版&#xff0c;公式稍微复杂一点就…...

GeoServer零配置入门:如何用绿色版快速搭建本地地图服务器(含端口自定义技巧)

GeoServer零配置入门&#xff1a;如何用绿色版快速搭建本地地图服务器&#xff08;含端口自定义技巧&#xff09; 在GIS开发领域&#xff0c;快速搭建本地测试环境是每个开发者必备的技能。GeoServer作为开源地图服务器中的佼佼者&#xff0c;其绿色版更是提供了即解压即用的便…...

基于RexUniNLU的Matlab科研助手开发全攻略

基于RexUniNLU的Matlab科研助手开发全攻略 科研工作繁琐耗时&#xff1f;让AI帮你自动解析论文、理解公式、生成报告&#xff01; 1. 引言&#xff1a;科研工作的智能革命 作为一名科研工作者&#xff0c;你是否经常被这些场景困扰&#xff1a;面对堆积如山的论文不知从何读起…...

51单片机模拟IIC从机实战:手把手教你用逻辑分析仪调试主从机通信(附完整代码)

51单片机模拟IIC从机实战&#xff1a;逻辑分析仪调试与波形诊断全解析 在嵌入式开发中&#xff0c;IIC总线因其简洁的两线制设计&#xff08;SCL时钟线与SDA数据线&#xff09;被广泛应用于传感器、EEPROM等外设通信。但当开发者尝试用51单片机模拟IIC从机时&#xff0c;往往会…...

TIPI内存管理揭秘:10个技巧优化PHP性能与防止内存泄漏

TIPI内存管理揭秘&#xff1a;10个技巧优化PHP性能与防止内存泄漏 【免费下载链接】tipi Thinking In PHP Internals, An open book on PHP Internals 项目地址: https://gitcode.com/gh_mirrors/ti/tipi PHP作为世界上最流行的服务器端脚本语言之一&#xff0c;其内存管…...

JDK-02 | 我为什么越来越喜欢用 Java 的 Text Blocks

这是专栏第 2 篇。 如果第一篇 record 是在“模型表达”上让我轻松,Text Blocks 则是在“日常编码和代码审查”上让我明显省力。 我先给结论:Text Blocks 不只是少写几个 +,它真正解决的是多行文本在代码中的可读性、可评审性和可回归性。 一、我为什么会认真用这个特性 …...

基于SpringBoot + Vue的定制化设计服务平台

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 &#x1f49b;博主介绍&#…...

城市峡谷里,你的车是怎么知道自己在哪的?聊聊INS、NHC和轮速计(ODO)的“组合拳”

城市峡谷里&#xff0c;你的车是怎么知道自己在哪的&#xff1f;聊聊INS、NHC和轮速计&#xff08;ODO&#xff09;的“组合拳” 想象一下&#xff0c;你正驾驶车辆穿梭在纽约曼哈顿的摩天大楼之间&#xff0c;或是穿越一条漫长的山体隧道。突然&#xff0c;车载导航屏幕上的定…...