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

C语言超详细教程

系列文章目录

文章目录

  • 系列文章目录
  • 1 运算符
    • 1.1 算术运算符:
  • 2 控制语句
    • 2.1 条件语句:
    • 2.2 循环语句:
  • 3 函数
    • 3.1 函数的定义与声明:
    • 3.2 递归函数:
  • 4 指针
    • 4.1 指针的定义与使用
      • 函数指针:
  • 5. 数组与字符串
    • 5.1 数组
      • 一维数组:相同类型元素的集合(如:
      • 多维数组:数组的数组(如:
      • 字符串:
  • 6 结构体与联合体
    • 6.1 结构体
      • 联合体
  • 7 .文件处理
    • 7.1 文件的打开与关闭:
      • 读写文件:
  • 8 预处理指令
    • 8.1 头文件包含
      • 宏定义:
      • 条件编译
  • 9 错误处理与调试
    • 9.1 错误处理
  • 10 C语言标准库
  • 11 程序结构与风格
    • 11.1 程序结构:


1 运算符

1.1 算术运算符:

常用的算术运算符包括加+、减-、乘*、除/、余数%。
关系运算符:

比较两个值的关系,如等于==、不等于!=、大于>、小于<等。
逻辑运算符:

用于计算布尔表达式结果,如与&&、或||、非!。

2 控制语句

2.1 条件语句:

if:根据条件执行代码块。
else if 和 else:提供多个条件分支。
switch:基于单一变量的多个可能值进行分支。
示例:

c
if (age >= 18) {
printf(“成年人\n”);
} else {
printf(“未成年人\n”);
}

2.2 循环语句:

for:适合已知次数的循环(如:
c
for (int i = 0; i < 5; i++) {
printf("%d “, i);
}
while:适合未知次数的循环,基于条件(如:
c
int i = 0;
while (i < 5) {
printf(”%d “, i);
i++;
}
do…while:至少执行一次的循环形式(如:
c
int i = 0;
do {
printf(”%d ", i);
i++;
} while (i < 5);
跳转语句:

break:终止循环或switch结构。
continue:跳过当前循环的剩余部分,继续下一次循环。
return:结束函数并返回值。

3 函数

3.1 函数的定义与声明:

函数声明(原型)一般放在文件顶部,定义在文件底部(如:
c
int add(int a, int b); // 函数声明
int add(int a, int b) { // 函数定义
return a + b;
}

参数传递:
值传递:将参数的副本传入函数。
引用传递:通过指针传递,直接修改原始数据

相关文章:

C语言超详细教程

系列文章目录 文章目录 系列文章目录1 运算符1.1 算术运算符:2 控制语句2.1 条件语句:2.2 循环语句:3 函数3.1 函数的定义与声明:3.2 递归函数:4 指针4.1 指针的定义与使用函数指针:5. 数组与字符串5.1 数组一维数组:相同类型元素的集合(如:多维数组:数组的数组(如:…...

[开源]3K+ star!微软Office的平替工具,跨平台,超赞!

大家好&#xff0c;我是JavaCodexPro&#xff01; 数字化的当下&#xff0c;高效的办公工具是提升工作效率的关键&#xff0c;然而大家想到的一定是 Microsoft Office 办公软件&#xff0c;然而价格也是相当具有贵的性价比。 今天JavaCodexPro给大家分享一款超棒的开源办公套…...

如何借助计算机视觉算法通过识别水尺精准识别水位

如何借助计算机视觉算法通过识别水尺精准识别水位 随着技术的发展&#xff0c;计算机视觉在多个领域得到了广泛的应用&#xff0c;尤其是在环境监测方面。本文将介绍一种利用计算机视觉算法通过识别水尺来精准识别水位的方法。这种方法可以用于河流、水库等场景的水位监测&…...

C++(进阶) 第1章 继承

C&#xff08;进阶) 第1章 继承 文章目录 前言一、继承1.什么是继承2.继承的使用 二、继承方式1.private成员变量的&#xff08;3种继承方式&#xff09;继承2. private继承方式3.继承基类成员访问⽅式的变化 三、基类和派生类间的转换1.切片 四、 继承中的作⽤域1.隐藏规则&am…...

获国家权威机构认可 亚信安全荣获CNVD技术组支撑单位认证

近日&#xff0c;国家信息安全漏洞共享平台&#xff08;CNVD&#xff09;依据《CNVD管理办法》及《CNVD支撑单位能力要求》&#xff0c;对申请加入考察期的单位进行了全面而严格的能力评估。经过层层筛选与审核&#xff0c;亚信安全凭借卓越的技术实力与专业的服务能力&#xf…...

2. Autogen官网教程 (Terminating Conversations Between Agents)

在这一章中&#xff0c;我们将探讨如何结束自动生成代理之间的对话。 导入必要的库 import osfrom autogen import ConversableAgent配置智能体 我们需要配置智能体使用的语言模型&#xff08;LLM&#xff09;。以下是一个配置示例&#xff1a; llm_config {"config_…...

java 排序 详解

Java 提供了多种方式对数据进行排序&#xff0c;包括数组和集合的排序。排序在日常开发中非常常见&#xff0c;以下将从排序算法的基本原理、Java 中的内置排序方法以及自定义排序三方面进行详解。 1. 排序的基本概念 排序是将一组数据按特定顺序排列的过程&#xff0c;常见顺…...

【数据集】城市通量塔站点观测数据

【数据集】城市通量塔站点观测数据 数据概述数据下载参考数据概述 数据集简介:Harmonized gap-filled dataset from 20 urban flux tower sites 数据集名称:Harmonized gap-filled dataset from 20 urban flux tower sites (用于 Urban-PLUMBER 项目的 20 个城市通量塔站点…...

scau编译原理综合性实验

一、题目要求 题目&#xff1a; 选择部分C语言的语法成分&#xff0c;设计其词法分析程序、语法语义分析程序。 要求&#xff1a; 设计并实现一个一遍扫描的词法语法语义分析程序&#xff0c;将部分C语言的语法成分&#xff08;包含赋值语句、if语句、while循环语句&#xf…...

ETAS工具导入DBC生成Com协议栈

文章目录 前言DBC配置关键属性Cobra参数配置Cobra使用isolar工程配置总结前言 ETAS工具导入DBC主要也是生成arxml用的,ETAS推荐使用Cobra导入,本文介绍导入过程及注意事项 DBC配置关键属性 对于普通Com报文,配置为周期发送,及其周期,NmMessage配置为No,示例如下: 对…...

表单校验规则

这里简单记录下vue使用表单时候&#xff0c;给表单添加校验规则&#xff0c;直接上代码 <script setup>import { ref } from vue// 定义表单对象const form ref({account: ,password: ,agree: true})// 定义表单验证规则const rules {account: [{required: true, mess…...

接口的扩展

1. 接口中新增的方法 JDK7之前接口中只能定义抽象方法。 JDK8的新特性&#xff1a;接口中可以定义有方法体的方法。&#xff08;默认、静态&#xff09; JDK9的新特性&#xff1a;接口中可以定义有私有方法体的方法。 有方法体的方法&#xff1a;接口升级时&#xff0c;为了兼容…...

新能源电机轴承电腐蚀,如何破?

近年来&#xff0c;随着全球范围内对可再生能源的重视与推动&#xff0c;新能源电机作为新能源汽车、风力发电和太阳能发电等系统的重要组成部分&#xff0c;得到了迅猛的发展。然而&#xff0c;在实际应用中&#xff0c;新能源电机的维护与管理越来越受到关注&#xff0c;其中…...

Java中的File和IO流

File对象 File对象本质是一个文件或文件夹&#xff0c;用于写入和读取文件内容 注意&#xff1a;对于相对路径而言&#xff0c;在单元测试方法中的File是相对于Module&#xff0c;在main中的File是相对于Project 构造器 File(String pathname)File file1 new File("D:…...

ls命令实操笔记

ls命令&#xff1a;全称list&#xff0c;显示文件的文件名与相关属性。&#xff08;目前工作目录所含之文件及子目录&#xff09; 4567 45678 7891 a1b2 a2b3c abcd Abcd acde aD7E bcde 通过ls浏览上述文件所在的目录&#xff0c;实现以下需求&#xff1a; 浏览含…...

线段数--算法

线段树是常用来维护 区间信息 的数据结构 线段树可以在 O(logN) 的时间复杂度内实现 单点修改区间修改区间查询 区间求和求区间最大值求区间最小值 简单介绍一下线段树 线段树是一个将区间内的数不断细分的一种数据结构&#xff0c;也就是一个完全二叉树&#xff0c;用每一…...

JS的DOM操作和事件监听综合练习 (具备三种功能的轮播图案例)

下面是是对dom操作的一个综合练习 下面代码是html的基本骨架&#xff08;没有任何的功能&#xff09;&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" c…...

低温存储开关机问题

问题&#xff1a; 某消费电子产品在进行可靠性实验室&#xff0c;在低温-30C存储两个小时后&#xff0c;上电不开机。在常温25C时&#xff0c;开关机正常。 分析&#xff1a; 1、接串口抓log信息&#xff0c;从打印信息可以看出uboot可以起来&#xff0c;在跑kernel时&#x…...

mysql系列1—mysql架构和协议介绍

背景&#xff1a; 本文开始整理mysql相关的文章&#xff0c;用于收集数据库相关内容&#xff1b;包括mysql架构和存储方式、索引结构和查询优化、数据库锁等内容。思考如何根据具体的业务给出最优的分表规划和表设计、字段选择和索引设计、优化的SQL语句&#xff0c;以及数据库…...

设计模式——模板模式

定义与基本概念 模板模式&#xff08;Template Pattern&#xff09;是一种行为设计模式。它在一个抽象类中定义了一个操作的算法骨架&#xff0c;将一些步骤的实现延迟到具体子类中。这个抽象类就像是一个模板&#xff0c;定义了执行某个流程的基本框架&#xff0c;而具体的细…...

RAG:终结AI“一本正经胡说八道”,让AI回答问题不再答非所问!

本文用通俗易懂的方式解释了RAG技术&#xff0c;即“检索增强生成”&#xff0c;它通过为AI构建专属知识库&#xff0c;在回答问题时先检索相关信息再生成答案&#xff0c;有效解决AI“答非所问”和“幻觉”问题。文章详细介绍了RAG的工作原理、核心价值及实用场景&#xff0c;…...

如何用BooruDatasetTagManager将AI图像标注效率提升500%:从零构建高质量训练数据集

如何用BooruDatasetTagManager将AI图像标注效率提升500%&#xff1a;从零构建高质量训练数据集 【免费下载链接】BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager 你是否正在为AI绘画模型准备训练数据&#xff0c;却因手动…...

信息检索模型在社会科学文献结构化提取中的应用与评估

1. 项目背景与核心价值&#xff1a;当信息检索遇上社会科学研究在社会科学和政策评估领域&#xff0c;我们常常面临一个既基础又棘手的挑战&#xff1a;如何从堆积如山的学术论文、项目报告和评估文件中&#xff0c;快速、准确地找到我们真正关心的信息&#xff1f;是研究设计用…...

华为防火墙双ISP出口服务器发布避坑指南

1. 这不是配置错误&#xff0c;是网络拓扑与NAT语义的错位“双ISP出口服务器发布”这个组合&#xff0c;在华为防火墙项目现场出现频率极高——电商公司要保障官网高可用&#xff0c;教育平台需兼顾南北用户访问质量&#xff0c;SaaS服务商得满足客户对源IP地址段的合规要求。但…...

避坑指南:在Ubuntu 22.04服务器上部署LibreOffice和JODConverter的完整流程(含中文字体配置)

Ubuntu 22.04服务器部署LibreOffice与JODConverter全流程&#xff1a;从中文字体配置到生产级优化在文档管理系统开发中&#xff0c;文件预览功能一直是刚需。不同于Windows环境的图形化操作&#xff0c;Linux服务器部署面临依赖缺失、字体配置、服务管理等诸多挑战。本文将手把…...

数字孪生与视频孪生空间智能治理技术白皮书

数字孪生与视频孪生空间智能治理技术白皮书——镜像视界浙江科技有限公司&#xff1a;无感定位跨镜追踪透明化空间管- 编制单位&#xff1a;镜像视界浙江科技有限公司- 权威背书&#xff1a;国家十四五重点课题研究、镜像视界浙江普陀时空大数据应用技术联合研究院联合研究、河…...

多模态融合与多任务学习在智慧农业视觉系统的实战应用

1. 项目概述与核心价值 在可控环境农业&#xff08;Controlled-Environment Agriculture, CEA&#xff09;里&#xff0c;比如我们熟悉的垂直农场、智能温室&#xff0c;作物生长环境是高度可控的&#xff0c;但随之而来的管理复杂度也呈指数级上升。传统上&#xff0c;一个种植…...

保姆级教程:用Arbe或大陆4D毫米波雷达点云数据,手把手实现Freespace检测(附Python伪代码)

毫米波雷达点云实战&#xff1a;从数据到可行驶区域的完整工程指南在自动驾驶感知系统中&#xff0c;可行驶区域检测&#xff08;Freespace&#xff09;直接决定了车辆路径规划的可行空间边界。相比激光雷达和摄像头方案&#xff0c;4D毫米波雷达凭借全天候工作能力、成本优势和…...

Switch大气层系统终极指南:从新手到高手的完整成长路径

Switch大气层系统终极指南&#xff1a;从新手到高手的完整成长路径 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 想要彻底释放你的Switch游戏潜力吗&#xff1f;大气层系统&#xff08;A…...

Unity低耦合可复用交互系统设计与实现

1. 为什么“交互系统”在Unity项目里总变成一锅粥&#xff1f;你有没有遇到过这样的场景&#xff1a;美术同事改了个按钮位置&#xff0c;UI脚本里硬编码的transform.Find("Button")就报空引用&#xff1b;策划临时加个新交互逻辑&#xff0c;程序员得翻遍PlayerCont…...