白骑士的C语言教学基础篇 1.2 C语言基础语法

系列目录

上一篇:白骑士的C语言教学基础篇 1.1 C语言介绍

        在这一篇内容中,我们将介绍C语言的基础语法,包括C语言的程序结构、数据类型与变量、常量与运算符。

C语言程序结构

        C语言程序的基本结构包括头文件、主函数和语句。一个简单的C语言程序示例如下:

#include <stdio.h>int main() {printf("Hello, World!\n");return 0;
}
  • 头文件:‘#include <stdio.h>‘ 是头文件包含指令,表示包含标准输入输出库‘stdio.h‘,它提供了输入输出功能。
  • 主函数:‘int main()‘ 是程序的入口函数,表示程序从这里开始执行。每个C程序都必须有且只有一个主函数。
  • 语句:‘printf("Hello, World!\n");‘ 是输出语句,表示在控制台打印 "Hello, World!"。‘return 0;‘ 表示程序正常结束,返回值为0。

数据类型与变量

        数据类型定义了变量可以存储的数据种类。C语言的基本数据类型包括:

  • 整型(int):用于存储整数,例如 ‘int a = 10;‘;
  • 浮点型(float)用于存储小数,例如 ‘float b = 3.14;‘;
  • 双精度浮点型(double):用于存储小数,例如 ‘double c = 3.14159;‘;
  • 字符型(char):用于存储单个字符,例如 ‘char d = 'A';‘。

        变量是程序中用于存储数据的命名内存位置。变量的声明和初始化如下:

int a = 10;      // 声明一个整型变量并初始化float b = 3.14;  // 声明一个浮点型变量并初始化char c = 'A';    // 声明一个字符型变量并初始化

常量与运算符

常量

        常量是程序中固定不变的值。常量可以是整数、浮点数、字符或字符串。常量的定义如下:

  • 整型常量:‘const int MAX = 100;‘
  • 浮点型常量:‘const float PI = 3.14;‘
  • 字符常量:‘const char NEWLINE = '\n';‘
  • 字符串常量:‘const char *GREETING = "Hello";‘

运算符

        运算符是用于执行各种操作的符号。C语言中的运算符包括:

        算术运算符:用于进行基本的数学运算

  • 加法(+):‘a + b‘
  • 减法(-):‘a - b‘
  • 乘法(*):‘a * b‘
  • 除法(/):‘a / b‘
  • 取模(%):‘a % b‘(仅适用于整数)

        关系运算符:用于比较两个值

  • 大于(>):‘a > b‘
  • 小于(<):‘a < b‘
  • 等于(==):‘a == b‘
  • 不等于(!=):‘a != b‘
  • 大于等于(>=):‘a >= b‘
  • 小于等于(<=):‘a <= b‘

        逻辑运算符:用于进行逻辑运算

  • 逻辑与(&&):‘a && b‘
  • 逻辑或(||):‘a || b‘
  • 逻辑非(!):‘!a‘

        赋值运算符:用于给变量赋值

  • 赋值(=):‘a = b‘
  • 加等于(+=):‘a += b‘
  • 减等于(-=):‘a -= b‘
  • 乘等于(*=):‘a *= b‘
  • 除等于(/=):‘a /= b‘
  • 模等于(%=):‘a %= b‘

        位运算符:用于对位进行操作

  • 位与(&):‘a & b‘
  • 位或(|):‘a | b‘
  • 位异或(^):‘a ^ b‘
  • 左移(<<):‘a << 1‘
  • 右移(>>):‘a >> 1‘
  • 取反(~):‘~a‘

        其他运算符:

  • 自增(++):‘a++‘ 或 ‘++a‘
  • 自减(--):‘a--‘ 或 ‘--a‘
  • 条件(? :):‘(a > b) ? a : b‘
  • 逗号(,):‘a = (b = 5, b + 10)‘

示例代码

        以下是一个综合示例,展示了变量、常量和运算符的使用:

#include <stdio.h>int main() {const float PI = 3.14; // 定义常量PIint radius = 5;        // 定义半径变量float area, circumference; // 定义面积和周长变量// 计算面积和周长area = PI * radius * radius;           // 使用乘法运算符circumference = 2 * PI * radius;       // 使用乘法运算符// 输出结果printf("Radius: %d\n", radius);printf("Area: %.2f\n", area);printf("Circumference: %.2f\n", circumference);return 0;
}

        在这段代码中,我们定义了一个常量‘PI‘和一个变量 ‘radius‘,并使用算术运算符计算圆的面积和周长,最后使用 ‘printf‘ 函数输出结果。

总结

        通过本篇内容的学习,我们已经了解了C语言的基本程序结构、数据类型与变量、常量与运算符。这些基础知识将帮助你编写简单的C程序,并为进一步学习复杂的编程概念打下基础。在接下来的章节中,我们将继续探讨C语言的控制流和函数等高级特性,进一步提升编程能力。

下一篇:白骑士的C语言教学基础篇 1.3 控制流​​​​​​​

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

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

相关文章

Java+前后端分离架构+ MySQL8.0.36产科信息管理系统 产科电子病历系统源码

Java前后端分离架构 MySQL8.0.36产科信息管理系统 产科电子病历系统源码 产科信息管理系统—住院管理 数字化产科住院管理是现代医院管理中的重要组成部分&#xff0c;它利用数字化技术优化住院流程&#xff0c;提升医疗服务质量和效率。以下是对数字化产科住院管理的详细阐述…

【Spring Boot】统一异常处理

目录 统一异常处理一. 概念二. 全局异常处理三. 处理特定异常 统一异常处理 一. 概念 其实统一异常是运用了AOP&#xff08;对某一类事情的集中处理&#xff09;的思维&#xff0c;简单概括就是在我们进行前后端数据交互的时候&#xff0c;抛出的任何的异常都能够自动捕获然后…

uniapp微信接口回调 response.sendRedirect nginx 报404错误

如题 参考 uniapp打包H5时,访问index.html页面白屏报错net::ERR_ABORTED 404 - 简书 nginx中修改 配置文件 location / { try_files $uri $uri/ /index.html; root html; index index.html index.htm; } uniapp里配置 重新载入

JavaScript常用包管理工具

NPM、Yarn、CNPM 和 PNPM 是 JavaScript 生态系统中常用的包管理工具。它们各自有不同的特点和优势。以下是对它们的详细解释&#xff1a; 1. NPM (Node Package Manager) 简介&#xff1a; NPM 是 Node.js 的默认包管理工具&#xff0c;也是最早出现的 JavaScript 包管理工具…

ingress-nginx控制器证书不会自动更新问题

好久没更新了&#xff0c;正好今天遇到了一个很有意思的问题&#xff0c;在这里给大家分享下&#xff0c;同时也做下记录。 背景 最近想做个实验&#xff0c;当k8s集群中secret更新后&#xff0c;ingress-nginx控制器会不会自动加载新的证书。我用通义千问搜了下&#xff0c;…

什么是FPGA的基本组成单元?

FPGA&#xff08;Field-Programmable Gate Array&#xff09;的基本组成单元是其内部结构的关键组件&#xff0c;这些单元可以被编程来执行各种数字逻辑功能。FPGA的基本组成单元主要包括以下几个部分&#xff1a; 可编程逻辑块 (CLB, Configurable Logic Block) CLB是FPGA中最…

Airflow: 大数据调度工具详解

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 欢迎关注微信公众号&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&a…

【CH32V305FBP6】移植 RT-Thread

文章目录 前言实现修改链接文件移植 RTT 代码修改启动文件修改中断文件修改主文件 前言 移植 RT-Thread 到 CH32V305FBP6。 实现 修改链接文件 .text :{. ALIGN(4);*(.text)*(.text.*)*(.rodata)*(.rodata*)*(.gnu.linkonce.t.*)/* section information for finsh shell */…

Go单元测试

Go 语言中&#xff0c;单元测试是通过标准库中的 testing 包来实现的&#xff0c;该包提供了一组功能&#xff0c;使得编写、运行和管理单元测试变得简单和高效。 一、规则 测试文件的命名规则 Go 中的测试文件命名规则是在被测试的源文件名后面加上 _test.go。例如&#xff0…

matplotlib下载安装

matplotlib下载安装过程同之前写的pygame很类似。 Pygame下载安装 python官网 1.搜索matplotlib 直接点进去 查看历史版本&#xff0c;因为新版本可能出现与python不匹配问题。 我选择3.6.3版本&#xff0c;因为我安装的python是3.8&#xff0c;可以匹配版本。同时window操…

Linux文件描述符与FILE指针互相转换

目录 1、文件描述符转换为 FILE 指针 2、FILE 指针转换为文件描述符 在Linux中&#xff0c;文件描述符&#xff08;file descriptor, fd&#xff09;和FILE指针&#xff08;也称为文件流指针&#xff0c;FILE pointer&#xff09;是两种常见的文件操作接口。文件描述符是一个…

Cesium与Three相机同步(3)

Cesium与Three融合的案例demo <!DOCTYPE html> <html lang"en" class"dark"><head><meta charset"UTF-8"><link rel"icon" href"/favicon.ico"><meta name"viewport" content&q…

C++ 类和对象 构造函数

一 类的6个默认成员函数&#xff1a; 如果一个类中什么成员都没有&#xff0c;简称为空类。 例&#xff1a; #include <iostream> class Empty {// 空类&#xff0c;什么成员都没有 }; 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&a…

洛谷 P1035 [NOIP2002 普及组] 级数求和

本文由Jzwalliser原创&#xff0c;发布在CSDN平台上&#xff0c;遵循CC 4.0 BY-SA协议。 因此&#xff0c;若需转载/引用本文&#xff0c;请注明作者并附原文链接&#xff0c;且禁止删除/修改本段文字。 违者必究&#xff0c;谢谢配合。 个人主页&#xff1a;blog.csdn.net/jzw…

qt 读取配置文件

在Qt中读取配置文件&#xff0c;主要有以下几种方法&#xff1a; 使用QFile和QTextStream类&#xff1a; 这种方法适用于读取任意文本文件&#xff0c;包括配置文件。使用QFile的open()方法打开配置文件。使用QTextStream的readLine()方法逐行读取配置数据。使用QXmlStreamRea…

谷粒商城学习-笔记大全

1&#xff0c;谷粒商城-01-项目介绍 2&#xff0c;谷粒商城笔记-02-项目整体效果展示 3&#xff0c;谷粒商城笔记-03-分布式基础概念 4&#xff0c;谷粒商城笔记-04-项目微服务架构图简介 5&#xff0c;谷粒商城学习笔记-05-项目微服务划分图 6&#xff0c;谷粒商城学习-06-使用…

【LinuxC语言】手撕Http协议之accept_request函数实现(一)

文章目录 前言accept_request函数作用accept_request实现解析方法根据不同方法进行不同操作http服务器响应格式unimplemented函数实现总结前言 在计算机网络中,HTTP协议是一种常见的应用层协议,它定义了客户端和服务器之间如何进行数据交换。在这篇文章中,我们将深入探讨Li…

C++模块化之内部类

目录 1.引言 2.内部类的访问控制 3.优缺点分析 4.实际运用 4.1.实现复杂数据结构 4.2.封装细节实现 4.3.事件处理和回调 4.4.模板元编程辅助类 4.5. 访问控制和封装 4.6. 代码组织和模块化 5.总结 1.引言 在C中&#xff0c;内部类&#xff08;Nested Class&#xff…

力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)

力扣爆刷第159天之TOP100五连刷61-65&#xff08;翻转单词、对称二叉树、遍历求和&#xff09; 文章目录 力扣爆刷第159天之TOP100五连刷61-65&#xff08;翻转单词、对称二叉树、遍历求和&#xff09;一、151. 反转字符串中的单词二、129. 求根节点到叶节点数字之和三、104. 二…

简单解读伦敦银CFD(XAG)走势图

从本质上说&#xff0c;伦敦银是一种差价合约&#xff08;CFD&#xff09;交易&#xff0c;在同平台所提供的MT4中&#xff0c;它的代码也许并不一样&#xff0c;有的平台会显示为XAG&#xff0c;有的平台会显示为LLS或Silver&#xff0c;但它们指的其实是同一个品种&#xff0…