C语言超详细教程

ops/2024/11/29 3:08:25/

系列文章目录

文章目录

  • 系列文章目录
  • 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;
}

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


http://www.ppmy.cn/ops/137544.html

相关文章

【多线程-第一天-多线程的技术方案-pthread演示 Objective-C语言】

一、多线程的技术方案 1.我们来看一下多线程的技术方案 技术方案 pthread:一套通用的多线程API、适用于Unix\Linux Windows等系统、跨平台、可移植、使用难度大、C语言、线程的生命周期由程序员管理、使用频率:几乎不用 NSThread:使用更加面向对象、简单易用、可直接操作…

macos 14.0 Monoma 修改顶部菜单栏颜色

macos 14.0 设置暗色后顶部菜单栏还维持浅色&#xff0c;与整体不协调。 修改方式如下&#xff1a;

小程序-基于java+SpringBoot+Vue的铁路订票平台小程序设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

树莓派3:64位系统串口(UART)使用问题的解决方法

前言 当我们要使用串口进行zigbee的短距离通信时,发现无法使用串口. 原因 树莓派3bCPU内部有两个串口,一个硬件串口(就是我们平时使用的UART),还有一个迷你串口(mini-uart),在老版本的树莓派中把硬件串口分配在GPIO上,可以单独使用.但是在新的树莓派中官方把硬件串口给了蓝牙…

学习HTML第三十三天

学习文章目录 一.fieldset 与 legend 的使用&#xff08;了解&#xff09;二.表单总结三.框架标签 一.fieldset 与 legend 的使用&#xff08;了解&#xff09; fieldset 可以为表单控件分组、 legend 标签是分组的标题 二.表单总结 form表单&#xff1a; action 属性&#…

Python 网络爬虫进阶:动态网页爬取与反爬机制应对

在上一篇文章中&#xff0c;我们学习了如何使用 Python 构建一个基本的网络爬虫。然而&#xff0c;在实际应用中&#xff0c;许多网站使用动态内容加载或实现反爬机制来阻止未经授权的抓取。因此&#xff0c;本篇文章将深入探讨以下进阶主题&#xff1a; 如何处理动态加载的网…

【入门篇】小游戏——多语言求解版

题目链接 样例说明 样例中&#xff1a; 小明的第一次操作是查询&#xff0c;我们可以得到字符串 “010011” 中第一次出现 ‘1’ 的位置为 2 。 小明的第二次操作将下标为 2的字符反转&#xff0c;此时字符串变为 “000011” 。 小明的第三次操作是查询&#xff0c;我们可…

SSM--SpringMVC复习(一)

SpringMVC Spring MVC 是一个实现了MVC设计模式的请求驱动类型的轻量级Web框架&#xff0c; 本质上相当于 Servlet&#xff0c;以 DispatcherServlet 为核心&#xff0c;负责协调和组织不同组件以完成请求处理并返回响应。通过控制器&#xff08;C&#xff09;对模型数据&…