STLG_01_03_程序设计C语言 - 语法基础

        C语言的语法基础是理解和使用C语言的关键。C语言的语法相对简洁,但功能强大。以下是C语言语法基础的主要内容:

一. 基本结构

        1. 预处理指令:预处理指令以#开头,用于包含头文件、定义宏、条件编译等。

#include <stdio.h>  // 包含标准输入输出库
#define PI 3.14159  // 定义常量

        2. 函数声明和定义:C语言程序通常由一个或多个函数组成,其中main函数是程序的入口。

int main() {// 主函数体return 0;
}

        3. 注释:注释用于解释代码,编译器会忽略注释内容。

// 单行注释
/*多行注释
*/

二. 数据类型

  1.  基本数据类型
    1. 整型:intshortlongunsigned intunsigned shortunsigned longlong long
    2. 浮点型:floatdouble
    3. 字符型:char
    4. 布尔型:C99引入了_Bool类型,通常使用stdbool.h中的bool类型。
  2. 类型修饰符
    1. signed:表示有符号整数(默认)。
    2. unsigned:表示无符号整数。
    3. const:表示常量,值不可修改。
    4. volatile:表示变量的值可能在程序控制之外被修改。

三. 变量和常量

  1. 变量声明:
    1. 变量需要在声明时指定类型,并在使用前初始化。

    2. 示例:

                        int age = 25; 

                        float salary = 5000.50; 

                        char grade = 'A';

  1. 常量
    1. 常量是不可修改的值,可以使用#defineconst关键字定义。
    2. 示例:

                        #define MAX_VALUE 100  // 宏定义常量

                        const int MIN_VALUE = 0;  // 使用const关键字定义常量

四. 运算符

  1. 算术运算符
    1. +:加法
    2. -:减法
    3. *:乘法
    4. /:除法
    5. %:取模(取余)
  2. 关系运算符
    1. ==:等于
    2. !=:不等于
    3. >:大于
    4. <:小于
    5. >=:大于等于
    6. <=:小于等于
  3. 逻辑运算符
    1. &&:逻辑与
    2. ||:逻辑或
    3. !:逻辑非
  4. 位运算符
    1. &:按位与
    2. |:按位或
    3. ^:按位异或
    4. ~:按位取反
    5. <<:左移
    6. >>:右移
  5. 赋值运算符
    1. =:赋值
    2. +=-=*=/=%=:复合赋值运算符
  6. 其他运算符
    1. sizeof:返回数据类型或变量的大小(字节数)。
    2. ?::三元运算符,用于条件表达式。

五. 控制结构

5.1 条件语句

  • if语句:根据条件执行代码块。

    if (condition) {// 条件为真时执行的代码
    } else {// 条件为假时执行的代码
    }
    
  • switch语句:根据表达式的值选择执行不同的代码块。

    switch (expression) {case value1:// 代码块1break;case value2:// 代码块2break;default:// 默认代码块
    }
    
5.2 循环语句
  • for循环:用于指定次数的循环。

    for (initialization; condition; increment) {// 循环体
    }
    
  • while循环:在条件为真时重复执行循环体。

    while (condition) {// 循环体
    }
    
  • do-while循环:先执行循环体,然后检查条件。

    do {// 循环体
    } while (condition);
    

六. 函数

函数是C语言中的基本模块,用于封装可重用的代码。

6.1 函数定义

函数定义包括函数名、参数列表和函数体。

int add(int a, int b) {return a + b;
}

6.2 函数声明

函数声明用于告诉编译器函数的名称、参数和返回类型。

int add(int a, int b);  // 函数声明

6.3 函数调用

函数调用通过函数名和参数列表进行。

int result = add(3, 5);  // 调用add函数

七. 数组和指针

7.1 数组

数组是用于存储多个相同类型数据的集合。

int numbers[5] = {1, 2, 3, 4, 5};  // 定义并初始化数组

7.2 指针

指针是存储内存地址的变量,用于直接访问内存中的数据。

int *ptr;  // 声明整型指针
ptr = &numbers[0];  // 将指针指向数组的第一个元素

八. 结构体和联合体

8.1 结构体

结构体用于封装多个不同类型的数据。

struct Point {int x;int y;
};struct Point p1 = {10, 20};  // 定义并初始化结构体

8.2 联合体

联合体允许在相同的内存位置存储不同的数据类型,但一次只能存储一个成员。

union Data {int i;float f;char str[20];
};union Data data;  // 定义联合体变量

总结

        C语言的语法基础包括基本结构、数据类型、变量和常量、运算符、控制结构、函数、数组和指针、结构体和联合体等。理解这些基础知识是编写和理解C语言程序的关键。C语言的简洁性和灵活性使其在系统编程、嵌入式开发等领域中具有广泛的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/65935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#控件开发4—仪表盘

目录 思路&#xff08;GDI绘图&#xff09;1.定义属性2.绘制图形3.最后生成&#xff08;自定义各种监控值显示&#xff09;End 如何让温度、湿度、压力等有量程的监控值如仪表盘&#xff08;DashBoard&#xff09;一样显示&#xff1f; 思路&#xff08;GDI绘图&#xff09; 定…

【内含代码】Spring Boot整合深度学习框架DJL

“ Deep Java Library是一个用于处理大规模数据处理和分析的强大工具包&#xff0c;它提供了丰富的数据结构和算法实现&#xff0c;支持高效的并行计算和分布式处理。Deep Java Library的设计目标是简化大规模数据处理任务的复杂性&#xff0c;提供高性能的计算能力&#xff0c…

ThinkPHP 8高效构建Web应用-第一个简单的MVC应用示例

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 我们先实现一…

数字化供应链创新解决方案在零售行业的应用研究——以开源AI智能名片S2B2C商城小程序为例

摘要&#xff1a; 在数字化转型的浪潮中&#xff0c;零售行业正经历着前所未有的变革。特别是在供应链管理方面&#xff0c;线上线下融合、数据孤岛、消费者需求多样化等问题日益凸显&#xff0c;对零售企业的运营效率与市场竞争力构成了严峻挑战。本文深入探讨了零售行业供应…

React基础知识学习

学习React前端框架是一个系统而深入的过程&#xff0c;以下是一份详细的学习指南&#xff1a; 一、React基础知识 React简介 React是一个用于构建用户界面的JavaScript库&#xff0c;由Facebook开发和维护。它强调组件化和声明式编程&#xff0c;使得构建复杂的用户界面变得更…

RabbitMQ - 4 ( 22000 字 RabbitMQ 入门级教程 )

一&#xff1a; RabbitMQ 高级特性 前面主要讲解了 RabbitMQ 的概念和应用。RabbitMQ 实现了 AMQP 0-9-1 规范&#xff0c;并在此基础上进行了多项扩展。在 RabbitMQ 官方网站中详细介绍了其特性&#xff0c;我们将其中一些重要且常用的特性挑选出来进行讲解。 1.1 消息确认 …

mac m2 安装 docker

文章目录 安装1.下载安装包2.在downloads中打开3.在启动台打开打开终端验证 修改国内镜像地址小结 安装 1.下载安装包 到官网下载适配的安装包&#xff1a;https://www.docker.com/products/docker-desktop/ 2.在downloads中打开 拖过去 3.在启动台打开 选择推荐设置 …

开发小技巧分享 01:JSON解析工具

1.百度词条 JSON&#xff08;JavaScript Object Notation&#xff0c;JavaScript对象表示法&#xff09;是基于ECMAScript的一个子集设计的&#xff0c;是一种开放标准的文件格式和数据交换格式&#xff0c;它易于人阅读和编写&#xff0c;同时也易于机器解析和生成。JSON独立于…

QT--------网络

实现思路 主机信息查询&#xff1a; 使用 QHostInfo 类可以查询主机名和 IP 地址信息。QNetworkInterface 类可以获取本地网络接口的信息&#xff0c;包括 IP 地址、子网掩码、广播地址等。 TCP 通信&#xff1a; 使用 QTcpServer 类实现 TCP 服务器端程序设计。使用 QTcpSock…

智能边缘计算×软硬件一体化:开启全场景效能革命新征程(企业开发者作品)

边缘智能技术快速迭代&#xff0c;并与行业深度融合。它正重塑产业格局&#xff0c;催生新产品、新体验&#xff0c;带动终端需求增长。为促进边缘智能技术的进步与发展&#xff0c;拓展开发者的思路与能力&#xff0c;挖掘边缘智能应用的创新与潜能&#xff0c;高通技术公司联…

C++ 设计模式:模板方法(Template Method)

链接&#xff1a;C 设计模式 链接&#xff1a;C 设计模式 - 策略模式 链接&#xff1a;C 设计模式 - 观察者模式 模板方法&#xff08;Template Method&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。通过这…

docker Error response from daemon

问题 Error response from daemon: Get "https://index.docker.io/v1/search?qnginx&n25": read tcp 192.168.50.233:54354->54.198.86.24:443: read: connection reset by peer Unable to find image redis:latest locally docker: Error response from d…

数据挖掘——模型的评价

数据挖掘——模型的评价 模型的评价混淆矩阵ROC曲线如何构建ROC曲线 模型过分拟合和拟合不足减少泛化误差 模型的评价 混淆矩阵 准确率 a d a b c d \frac{ad}{abcd} abcdad​ T P T N T P T N F P F N \frac{TPTN}{TPTNFPFN} TPTNFPFNTPTN​ 其他度量&#xff1a; …

ubuntu 22.04安装ollama

1. 顺利的情况 按照官网的提示&#xff0c;执行下面的命令&#xff1a; curl -fsSL https://ollama.com/install.sh | sh如果网络畅通&#xff0c;github访问也没有问题&#xff0c;那就等待安装完成就行 2. 不顺利的情况 由于众所周知的情况&#xff0c;国内网络访问githu…

常用的数据结构API概览

List ArrayList 1、在初始化一个ArrayList的时候&#xff0c;如果我想同时set一些值 比如存放int[ ] List<int[]> list new ArrayList(Arrays.asList(new int[]{intervals[0][0],intervals[0][1]}));//或者int[] temp new int[]{intervals[0][0],intervals[0][1]}…

Pycharm 中 virtualenv、pipenv、conda 虚拟环境的用法

文章目录 前言虚拟环境的通俗介绍虚拟环境和非虚拟环境该怎么选?通过 Virtualenv 方式创建虚拟环境通过 Pipenv 方式创建虚拟环境通过 Conda 方式创建虚拟环境前言 在网上找了好一些资料,发现介绍 Pycharm 虚拟环境的不多,查了一些资料,并做个总结。 本文主要是介绍 Pycha…

OceanBase到MySQL实时同步方案

概述 本方案基于OceanBase Binlog服务&#xff0c;采用数据库实时复制软件Beedup订阅捕获OceanBase数据库的Binlog事件&#xff0c;复制软件将Binlog事件还原为MySQL支持的DML或DDL&#xff0c;然后交由MySQL数据库执行。 配置Binlog任务 启用OceanBase Binlog服务&#xff…

【数据库系统概论】绪论--复习

1. 数据库的四个基本概念 数据&#xff1a;指经过处理的、可用于计算机操作的原始信息&#xff08;或者也可以理解成是——描述事务的符号&#xff0c;数字、图像、符号、音频、视频、文字、图形等都可以是数据&#xff09;。数据库&#xff1a;是长期存储在计算机内有组织、可…

2、C#基于.net framework的应用开发实战编程 - 设计(二、四) - 编程手把手系列文章...

二、设计&#xff1b; 二&#xff0e;四、制定设计规范&#xff1b; 编码规范在软件编程里起到了非常重要的作用&#xff0c;主要是让代码更加的规范化&#xff0c;更加的简洁&#xff0c;更加的漂亮&#xff0c;更加的能够面向对象显示。 以前那个系列就有发布C#的编码规范的文…

Git 下载问题及解决方法

在某些网络环境下&#xff0c;可能会遇到 Git 无法下载的问题&#xff0c;通常是由于网络限制或需要通过代理访问导致的。以下是常见的解决方法&#xff0c;包括设置代理、取消代理以及其他诊断方法。 1. 设置 Git 代理 在一些网络环境下&#xff0c;可能会使用工具&#xff0…