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

【C语言基础语法入门】通过简单实例快速掌握C语言核心概念

文章目录

    • 1. Hello World:第一个C程序
    • 2. 变量与数据类型
    • 3. 运算符
    • 4. 控制结构
      • 4.1 if-else 条件判断
      • 4.2 for 循环
      • 4.3 while 循环
    • 5. 函数
    • 6. 数组
    • 7. 指针
    • 8. 结构体
    • 总结

📣按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。

C语言是一种高效、灵活的编程语言,广泛应用于系统编程、嵌入式开发等领域。本文通过一系列小实例,快速掌握C语言的最基本语法,包括变量、运算符、控制结构、函数、数组和指针等核心概念。


1. Hello World:第一个C程序

#include<stdio.h> //包含标准输入输出库int main() {   //程序入口,主函数printf("hello world");return 0;   // 返回0表示程序正常结束
}

说明:

  • #include <stdio.h>:引入标准输入输出库,提供printf等函数。
  • int main():程序的主函数,return 0表示程序成功结束。
  • printf:格式化输出函数。

输出:

在这里插入图片描述

在C99及以后标准中,main()函数如果省略return 0;会默认返回0,但在C89标准中会导致未定义行为。建议始终显式写return 0;以保证代码清晰和兼容性。


2. 变量与数据类型

C语言的基本数据类型包括:

  • int(整数)
  • float(单精度浮点数)
  • double(双精度浮点数)
  • char(字符)
#include<stdio.h>int main() {int age = 25;float height = 1.75f;double weight = 68.5;char grade = 'A';printf("Age:%d\n", age);printf("Height:%.2f meters\n",height);printf("Weight:%.1f kg\n",weight);printf("Grade:%c\n", grade);return 0;}

说明:

  • %d:格式化输出整数。
  • %f:格式化输出浮点数,%.2f表示保留2位小数。
  • %c:格式化输出字符。

输出:
在这里插入图片描述


3. 运算符

C语言支持算术、关系、逻辑等运算符:

#include<stdio.h>int main() {int a = 10, b = 3;//算数运算printf("a+b=%d\n", a + b);printf("a*b=%d\n", a * b);printf("a%%b=%d\n", a % b);  //取余数//关系运算printf("a>b?%d\n", a > b);   //1为真,0为假//逻辑运算printf("a>0&&b>0?%d\n", a > 0 && b > 0);  //逻辑与return 0;}

说明:

  • % 是取模运算符,%% 才能输出 % 符号。
  • 关系运算返回 1(真)或 0(假)。

输出:

在这里插入图片描述


4. 控制结构

4.1 if-else 条件判断

#include<stdio.h>int main() {int score = 90;if (score > 80) {printf("A");}else if(score > 60) {printf("B");}else {printf("C");}return 0;
}

输出:

在这里插入图片描述

4.2 for 循环

#include<stdio.h>int main() {for (int i = 1; i <= 5; i++) {printf("%d ", i);}return 0;
}

输出:

在这里插入图片描述

在C语言中,不能像 Python那样直接 print(i),因为C是强类型、低层级的语言,printf 必须指定格式(如 %d%f)。

4.3 while 循环

#include<stdio.h>int main() {int i = 0;while (i <= 5) {i++;printf("%d", i);}return 0;
}

输出:

在这里插入图片描述


5. 函数

函数用于封装可复用的代码块:

#include<stdio.h>int add(int a, int b) {return a + b;
}int main() {printf("10+3=%d\n", add(10, 3));return 0;
}

输出:

在这里插入图片描述


6. 数组

数组用于存储多个相同类型的数据:

#include<stdio.h>int main() {char list[3] = {'a', 'b', 'c'};for (int i = 0; i < 3; i++) {printf("%c\n", list[i]);}return 0;}

输出:

在这里插入图片描述


7. 指针

指针存储变量的内存地址:

#include<stdio.h>int main() {int num = 10;int *ptr = &num;  //ptr是num的地址(指针)printf("ptr指向的值=%d\n", *ptr);printf("num的地址=%p\n", ptr);  //输出num的地址(指针)*ptr = 20;  //通过指针修改num的值printf("修改后的num值为%d", num);return 0;}

输出:

在这里插入图片描述


8. 结构体

结构体用于组合不同类型的数据:

#include <stdio.h>struct Student {char name[50];int age;float gpa;
};int main() {struct Student s1 = {"Alice", 20, 3.8f};printf("Name: %s\n", s1.name);printf("Age: %d\n", s1.age);printf("GPA: %.1f\n", s1.gpa);return 0;
}

输出:
在这里插入图片描述


总结

本文通过一系列小实例介绍了C语言的基本语法,包括:

  1. Hello World(程序结构)
  2. 变量与数据类型int, float, char
  3. 运算符(算术、关系、逻辑运算)
  4. 控制结构if-else, for, while
  5. 函数(封装可复用代码)
  6. 数组(存储多个数据)
  7. 指针(内存地址操作)
  8. 结构体(组合不同类型数据)

掌握这些基础后,可以进一步学习文件操作、动态内存管理等高级主题。Happy Coding! 🚀

http://www.xdnf.cn/news/7271.html

相关文章:

  • Golang的Web应用架构设计
  • Python爬虫实战:获取国家统计网最新消费数据并分析,为从业者做参考
  • Profinet转Ethernet IP主站网关:点燃氢醌生产线的智慧之光!
  • 【技术追踪】心脏生理学知识驱动的扩散模型用于无对比剂心肌梗死增强(MICCAI-2024)
  • 云原生安全:错误策略S3存储桶ACL设置为Everyone:FullControl
  • 智能投影仪行业2025数据分析报告
  • 【RAG 系统高效召回1】评估指标
  • 每日Prompt:自拍生成摇头娃娃
  • 【Unity】Unity中将字典序列化
  • 为什么上传大量大文件推荐是使用 app 应用为不是 web 浏览器下载上传呢?
  • Java合并两个列表到目标列表,并且进行排序
  • 解决使用@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss“, timezone = “GMT+8“)时区转换无效的问题
  • leetcode3371. 识别数组中的最大异常值-medium
  • 软件架构之-论高并发下的可用性技术
  • 团队氛围紧张,如何提升工作积极性?
  • 交叉引用、多个参考文献插入、跨文献插入word/wps中之【插入[1-3]、连续文献】
  • 多类别异常检测新SOTA-MVMCAD
  • 中国城市间交通驾车距离矩阵(2024)
  • 人工智能、机器学习与深度学习:概念解析与内在联系
  • tcp/ip协议
  • Oracle buffer cache的内部结构
  • 国家互联网信息办公室关于发布第十一批深度合成服务算法备案信息的公告
  • POJ3107树的重心
  • 代码随想录算法训练营 Day51 图论Ⅱ岛屿问题Ⅰ
  • 开源模型应用落地-模型上下文协议(MCP)-Resource Template-资源模板的使用逻辑(六)
  • 【TTS回顾】深度剖析 TTS 合成效果的客观评估与主观评价
  • 星际争霸小程序:用Java实现策略模式的星际大战
  • 大模型在股骨干骨折诊疗全流程中的应用研究报告
  • 多卡跑ollama run deepseek-r1
  • DRIVEGPT4: 通过大语言模型实现可解释的端到端自动驾驶