快速学会C 语言基本概念和语法结构
😀前言
本篇博文是关于C 语言的基本概念和语法结构,希望你能够喜欢
🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊
文章目录
- 简介
- 1、C语言的特点
- 2、C语言的基本结构
- 3、变量和数据类型
- 4、常用运算符
- 5、条件语句
- 6、循环语句
- 7、函数
- 8、指针
- 😄总结
简介
C语言是一门经典的编程语言,广泛用于系统软件、游戏开发、嵌入式系统等领域。对于编程入门者来说,掌握 C 语言不仅能理解编程的核心概念,还能为学习其他编程语言打下坚实的基础。本篇文章将带大家快速了解 C 语言的基本概念和语法结构。
1、C语言的特点
C 语言自 1972 年诞生以来,以其高效、灵活和强大的功能成为编程世界中的重要成员。它的特点包括:
- 简洁高效:C 语言能直接与硬件交互,适合开发操作系统和嵌入式程序。
- 可移植性:C 代码在不同平台上都可以编译运行,具有较好的移植性。
- 结构化:C 语言支持结构化编程,方便程序员组织和管理代码。
- 丰富的库函数:C 语言有强大的标准库支持,提供了很多实用函数,便于开发。
这些特点让 C 语言成为各类项目的理想选择,也是很多高性能软件开发的首选语言。
2、C语言的基本结构
C 语言代码通常由头文件、主函数和语句块组成。C 语言程序的标准结构如下:
#include <stdio.h>
int main() {printf("Hello, World!");
}
#include <stdio.h>
:引入标准输入输出库,用于实现输入输出功能。int main()
:主函数,程序执行的入口。printf()
:用于输出信息到屏幕。
3、变量和数据类型
C 语言支持多种数据类型,如整数、浮点数、字符等。常见的数据类型如下:
int
:整数类型,用于存储整数。float
:单精度浮点型,用于存储小数。double
:双精度浮点型,精度更高的小数类型。char
:字符型,用于存储单个字符。
变量声明示例如下:
int age = 25; // 整数类型变量
float height = 5.9; // 浮点类型变量
char grade = 'A'; // 字符类型变量
4、常用运算符
C 语言支持多种运算符,包括算术运算、逻辑运算、关系运算等。以下是一些常用运算符:
- 算术运算符:
+
、-
、*
、/
、%
- 关系运算符:
==
、!=
、>
、<
、>=
、<=
- 逻辑运算符:
&&
(与)、||
(或)、!
(非)
示例代码:
int a = 10, b = 5;
int sum = a + b; // 加法
int isGreater = a > b; // 关系运算
int isTrue = (a > b) && (b > 0); // 逻辑运算
5、条件语句
条件语句用于根据条件执行不同的代码块。在 C 语言中,常用的条件语句有 if
、else if
和 else
。
示例:
int score = 85;if (score >= 90) {printf("优秀\n");
} else if (score >= 60) {printf("及格\n");
} else {printf("不及格\n");
}
在上述代码中,if
和 else if
用于检查条件,else
则是所有条件都不满足时的默认执行块。
6、循环语句
C 语言支持多种循环语句,包括 for
循环、while
循环和 do-while
循环。
for
循环:适合已知循环次数的情况while
循环:适合条件控制的循环do-while
循环:至少执行一次的循环
示例代码:
for (int i = 0; i < 5; i++) {printf("当前计数: %d\n", i);
}int count = 0;
while (count < 5) {printf("当前计数: %d\n", count);count++;
}
7、函数
C 语言中的函数是独立的代码块,用于实现特定功能,便于代码的重用和管理。函数的一般结构如下:
返回类型 函数名(参数列表) {// 函数体return 返回值;
}
例如,定义一个求和的函数:
int add(int a, int b) {return a + b;
}int main() {int result = add(5, 3);printf("结果是: %d\n", result);return 0;
}
在这个例子中,add
函数接受两个整数并返回它们的和。
8、指针
指针是 C 语言中的重要概念,用于直接访问内存地址。理解指针是 C 语言编程的核心之一,它让程序员能够更加灵活地管理数据。
int num = 10;
int *ptr = # // 指针变量 ptr 存储 num 的地址
printf("num 的值是: %d\n", *ptr); // 输出指针指向的值
*ptr
用于获取指针ptr
指向的值。&num
获取变量num
的地址。
😄总结
通过学习 C 语言基础知识,我们能够理解编程的核心概念,如变量、运算符、条件语句、循环、函数和指针。掌握 C 语言不仅能帮助我们打好编程基础,也为未来深入学习其他编程语言铺平了道路。希望这篇文章能帮助你更好地理解 C 语言,开始你的编程之旅!
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞
相关文章:
快速学会C 语言基本概念和语法结构
😀前言 本篇博文是关于C 语言的基本概念和语法结构,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&a…...
Python酷库之旅-第三方库Pandas(172)
目录 一、用法精讲 791、pandas.UInt8Dtype类 791-1、语法 791-2、参数 791-3、功能 791-4、返回值 791-5、说明 791-6、用法 791-6-1、数据准备 791-6-2、代码示例 791-6-3、结果输出 792、pandas.UInt16Dtype类 792-1、语法 792-2、参数 792-3、功能 792-4、…...
Linux系统下minio设置SSL证书进行HTTPS远程连接访问
文章目录 1.配置SSL证书使用HTTPS访问2.MINIO SDK 忽略证书验证3.使用受信任的证书 1.配置SSL证书使用HTTPS访问 生成域名对应的SSL证书,下载Apache版本,我目前只发现Apache这个里面有对应的私钥和证书 私钥重命名为private.key证书重命名为public.crt&…...
npm 包的命名空间介绍,以及@typescript-eslint/typescript-eslint
npm 包的命名空间是一个重要的概念,用于组织和管理相关的包。通过命名空间,开发者可以避免命名冲突、增强包的可读性和可维护性。以下是关于 npm 命名空间的详细介绍,并以 typescript-eslint 作为示例。 1. 命名空间的结构 命名空间的格式为…...
ecovadis评估是什么,有什么提成自己评分等级
EcoVadis评估是一个企业社会责任(CSR)评级平台,旨在评估全球供应链的可持续性和道德情况。以下是对EcoVadis评估的详细介绍以及提升其评分等级的方法: 一、EcoVadis评估概述 定义:EcoVadis评估通过一系列框架评估公司…...
Vue3中ref、toRef和toRefs之间有什么区别?
前言 Vue 3 引入了组合式 API,其中 ref、toRef 和 toRefs 是处理响应式数据的核心工具。作为高级计算机工程师,我们有必要深入理解这些工具的细微差别,以便在实际项目中更加高效地管理状态。本文将详细解析 ref、toRef 和 toRefs 的区别&…...
react开发技巧
/* eslint-disable no-useless-escape */ const Validator { isEmail: /^([a-zA-Z0-9_\.\-])\(([a-zA-Z0-9\-])\.)([a-zA-Z0-9]{2,4})$/, // 校验邮箱 isPhoneNumber: /^1[3456789]\d{9}$/, // 手机号码验证 isMobileNumber: /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/, //…...
HarmonyOS第一课——HarmonyOS介绍
HarmonyOS第一课 HarmonyOS介绍 HarmonyOS是新一代的智能终端操作系统(泛终端服务的载体); 智慧互联协同,全场景交互体验; 核心技术理念: 一次开发 多次部署: 预览 可视化开发UI适配 事件交…...
XCode16中c++头文件找不到解决办法
XCode16中新建Framework,写完自己的c代码后,提示“<string> file not found”等诸如此类找不到c头文件的错误。 工程结构如下: App是测试应用,BoostMath是Framework。基本结构可以参考官方demo:Mix Swift and …...
CSS - 保姆级面试基础扫盲版本一
盒子模型 盒子模型定义: 当对一个盒子模型进行文档布局的时候,浏览器的渲染引擎会根据标准之一的CSS盒子模型(CSS basic box model),将所有元素表示成一个个矩阵盒子。 一个盒子通常由四部分组成:border p…...
51c自动驾驶~合集2
我自己的原文哦~ https://blog.51cto.com/whaosoft/11491137 #BEVWorld BEV潜在空间构建多模态世界模型,全面理解自动驾驶~一、引言 世界模型建模了有关环境的知识,其可以通过给定的条件对未来进行合理的想象。未来想象要求世界模型具有物理规律的理解…...
Redis后台任务有哪些
Redis后台任务 为了有更好的性能表现,redis对于一些比较耗时的操作会异步执行,不阻塞线上请求。文章从源码(redis7.0)来看,aof、rdb文件的关闭,aof文件的刷盘以及部分内存释放会采用异步方式,在后台线程中执行。接下来…...
TPair<TKey, TValue> 键值对
在 Delphi(或更准确地说是 Object Pascal,Delphi 的编程语言)中,TList<T> 是泛型列表的一个实现,其中 T 是列表中元素的类型。TPair<TKey, TValue> 是一个包含两个元素的记录(record࿰…...
【杂谈】城市规划教育的危与机
城市规划教育的危与机 (赵燕菁 原文为作者在 第21届中国城市规划学科发展论坛上的发言,有删减和改动)如有侵权,立即删除 过去几年,尤其是从2022年后房地产市场的下行开始,中国的城市规划陷入前所未有的危…...
金融工程--pine-script 入门
背景 脚本基本组成 指标 常见的趋势类指标:均线类(MAs)、支撑/压力位(Support/Resistance)、趋势线(Trend Lines)、趋势通道(Trend Channels)、一目均衡表(Ichimoku)和 艾略特波浪(ElliotWave)。 均线指标 策略 策略种类 在TradingView上,有许多交易…...
Vue3 跨标签页或跨窗口通信
在 Vue 应用中,跨标签页或跨窗口的通信通常涉及到两个或多个浏览器标签页之间的信息共享。由于每个标签页或窗口都是独立的 JavaScript 执行环境,它们不能直接通过 Vue 或其他 JavaScript 库来直接相互通信。但是,有一些方法可以实现这种跨标…...
Ollama: 使用Langchain的OllamaFunctions
1. 引言 Function call Langchain的Ollama 的实验性包装器OllamaFunctions,提供与 OpenAI Functions 相同的 API。因为网络的原因,OpenAI Functions不一定能访问,但如果能通过Ollama部署的本地模型实现相关的函数调用,还是有很好…...
java质数的判断 C语言指针变量的使用
1. public static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println("请输入一个值");int num sc.nextInt();boolean flagtrue;for (int i2;i<num;i){if (num%i0){flagfalse;break;}}if (flag){System.out.println(num"是一…...
TensorFlow面试整理-TensorFlow 数据处理
在 TensorFlow 中,数据处理是构建和训练深度学习模型的重要环节。高效地管理、预处理和增强数据可以显著提高模型的训练效率和性能。TensorFlow 提供了强大的 tf.data API 来帮助处理各种数据集。下面是 TensorFlow 数据处理的详细介绍: 1. tf.data.Dataset API tf.data API …...
vue路由的基本使用
vue路由的基本使用 vue-router简介一、路由配置和使用1、安装2、创建路由实例2、在组件中引用路由 router-view ,如APP根组件中直接引用:3、最后还需要把路由挂载到APP实例中,在main.js中注册路由: 二、路由重定向与别名三、声明式导航1、传统…...
数据结构分类
数据结构(data structure)是计算机存储、组织数据的方式,是带有结构特性的数据元素的集合。是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。这种“结构”指的是数据元素之间存在的关系,分为逻辑结构和存储…...
【STM32】 TCP/IP通信协议--LwIP介绍
LwIP(Lightweight IP)是一个轻量级的TCP/IP协议栈,专为嵌入式系统设计,以较小的资源消耗实现完整的网络功能。本文将详细介绍LwIP的基本概念、特点、与TCP/IP的区别以及如何在STM32上使用LwIP实现TCP/IP通信。 1. LwIP的定义和设…...
一些面试题整理
第一章、基础 以下是对上述10道面试题的参考答案: 一、Java语言及性能调优 答案: 线程安全问题是指多个线程同时访问共享资源时可能出现的数据不一致或错误的情况。例如,多个线程同时对一个共享变量进行写操作,如果没有适当的同…...
端口号和ip地址一样吗?区别是什么
在网络通信的世界里,端口号和IP地址是两个不可或缺的概念,它们各自扮演着独特的角色,共同维系着数据在网络中的有序传输。然而,对于许多初学者而言,这两者往往容易被混淆,认为它们是同一事物的不同表述。那…...
深入探讨全流量回溯分析与网络性能监控系统
AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具 随着数据量的急剧增加,传统的网络监控手段面临诸多挑战。在此背景下,全流量回溯分析和网络性能监控系统成为了保障网络正常运作的重要工具。本文将围绕这两个关键词,探讨它…...
python机器人编程——一种3D骨架动画逆解算法的启示(上)
目录 一、前言二、fabrik 算法三、python实现结论PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源ps3.移动小车相关文章资源ps3.wifi小车控制相关文章资源 一、前言 我们用blender等3D动画软件时,会用到骨骼的动画,通过逆向IK动力学…...
Flutter开发者必备面试问题与答案02
Flutter开发者必备面试问题与答案02 视频 https://youtu.be/XYSxTb0iA9I https://www.bilibili.com/video/BV1Zk2dYyEBr/ 前言 原文 Flutter 完整面试问题及答案02 本文是 flutter 面试问题的第二讲,高频问答 10 题。 正文 11. PageRoute 是什么? …...
拥抱真实:深度思考之路,行动力的源泉
在纷繁复杂的现代社会,人们往往被表象迷惑,忙碌于各种事务之中,却很少停下来进行深度思考。这种忙碌往往是表面的、无效的,因为它缺乏对自我和目标的深刻理解与追求。提升行动力,避免假勤奋,关键在于深度思…...
【Python爬虫实战】深入理解Python异步编程:从协程基础到高效爬虫实现
#1024程序员节|征文# 🌈个人主页:易辰君-CSDN博客 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、异步 (一)核心概念 (二)…...
OpenCV图像处理方法:腐蚀操作
腐蚀操作 前提 图像数据为二值的(黑/白) 作用 去掉图片中字上的毛刺 显示图片 读取一个图像文件,并在一个窗口中显示它。用户可以查看这个图像,直到按下任意键,然后程序会关闭显示图像的窗口 # cv2是OpenCV库的P…...
建筑工程网签备案合同/西安seo代理计费
leetcode415题字符串相加 进位求和 字符串的拼接 想起来一个将数字反转的题目,简单说一下思路吧, carry num % 10 num num / 10 res carry * 10 class Solution {public String addStrings(String num1, String num2) {//说实话,这种思路还是有点东西的StringBuilder…...
修改wordpress的tag页/国内最新新闻事件
善于掌握自己时间的人,是真正伟大的人……可见,时间在我们日常生活或工作中是非常重要的……所以我们必须掌握一些Excel中关于时间日期的技巧。一、Excel日期时间:返回当前的日期。函数:Today()。功能:返回当前日期。语…...
网站建设和关键词优化技巧/百度客户服务电话是多少
重装系统后不能上网怎么办电脑重装系统后不能上网,使用网络人远程控制软件重装系统后不能上网,为什么会出现这种情况?要怎么解决?着重分析关于使用网络人远程控制软件重装系统后软件无法启动问题。步骤/方法系统重装后不能上网解决…...
seo怎么收费/外贸谷歌优化
3.如何确定行数与列数 ①如果我们直接往TableLayout中添加组件的话,那么这个组件将占满一行!!!②如果我们想一行上有多个组件的话,就要添加一个TableRow的容器,把组件都丢到里面!③tablerow中的组件个数就决定了该行有多少列,而列…...
东莞厚街网站建设/网站排名软件
转自 http://cryinstall.com/?p121 Mr高 被钟大神忽悠装了Opensuse,然后这俩家伙对装系统的引导项设置不对劲,Opensuse的grub直接装到硬盘的MBR上, 然后华丽丽的把原来Fedora 16的grub2给覆盖了,接着Opensuse又识别不了grub2,….…...
app推广方式有哪些/南京seo排名优化公司
最近家里杂事较多,自学时间实在少的可怜,所以都在空闲时间看看老外写的内容,学习之外顺便翻译分享~等学习的时间充足些再写写自己的一些学习内容和知识点分析(最近有在接触的:复习(C#,SQL)、(学习)TypeScriptÿ…...