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

C语言入门:代码例子讲透程序结构

第2章 C语言概述

本章从一个 C语言的代码例子,介绍了一些C语言的基础知识。

#include int main(void){ int num; num = 1; printf("I am a simple!"); printf("My favorite number is %d because it is first.\n",num) return 0; }

典型的 C程序的组成部分:

#include 预处理指令:

C编译器,在编译之前,会针对源代码做一些准备工作,这被称作预处理,而此工作是由预处理器来完成的。

时常,在C程序顶部存在的信息集合,被称作是头文件,头文件起到辅助编译器把程序以正确的方式组合到一起的作用。

头文件里头,能够去定义常量,或者是函数名,还有怎样去使用它们,然而实际的代码放在一个经过预编译代码的库文件当中。

stdio.h,那个由ANSI/ISO设定的、被C编译器提供而来的头文件,涵盖着涵盖这些标准的输入,那个含有相关输出函数。未能把此标准的输入,还有未将这标准的输出其内置于C语言当中,原因是是因为这个,不是所有的程序真会用到有着输入以及输出包指代意味的I/O行为举止,这充分反映出C语言秉持的诸如有着较为轻便而简洁易于运行的哲学理念。

main 函数:

函数是 C程序的构造块

C程序一定从 main()函数还是执行

注释:

单行注释:// 这是单行注释

多行注释:/* 这是一个可以多行的注释 */

花括号:所有 C语言的函数都是从花括号开始和结束

声明:

所有变量需要声明才可以使用

C99,C11中声明可以放在函数(使用变量前)的任何位置

声明变量的 4 个理由:

把所有的变量放一块,可以方便读者查找和理解程序的用途

声明变量可以促使在编写代码前做一些计划

想要发现那些隐藏里边的细微的特定程序故障,声明变量是有帮助的,就像变量名称进行拼写时出现的失误。

出现未声明的变量,C程序无法通过编译

其他代码:。。。

提高程序可读性的技巧

选择有意义的函数名

写注释

在函数种,使用空行分割概念上的多个部分。

纵使C语言运用;当作代码行的划分,然而最优的做法是每一行书写一条语句。

程序的错误分类:

语法错误:不符合语法要求

语义错误:写的代码执行结果与预想的不一致

个人感想:

认识到了C语言不存在内置标准模块的缘由,是借助本章知晓的,还明白了程序的两种错误形式,这是以往学习进程里未曾晓得的。

这一章关联到了某些基础的概念,于促使整理去了解C语言之际,还阐释了诸多概念方面的内容,虽无法使你迅速掌握C语言,然而能够让你对C语言的了解更为深入,这些基础的知识,能够助自身在编程的路途上走得更远。

http://www.jsqmd.com/news/631943/

相关文章:

  • Qwen3-ASR-1.7B开源大模型教程:PyTorch 2.5.0 + CUDA 12.4环境配置
  • QKeyMapper终极指南:5步掌握Windows按键自定义,提升操作效率300%
  • 全球海洋漂流浮标数据
  • LLM评估自动化不是写脚本,而是重构MLOps基建:17个生产级Checklist,含GPT-4/LLaMA-3实测基准
  • openclaw平替之nanobot源码解析(七):Gateway与多渠道集成汹
  • 编程基础(python)
  • HagiCode Skill 系统技术解析:如何打造可扩展的 AI 技能管理平台谠
  • GlobalMapper地形对比与方量计算实战:从两期数据到填挖方区域精准提取
  • WiFiPixels:ESP32上轻量级Wi-Fi控制NeoPixel的固件框架
  • 2026山东大学软件学院项目实训(二)——用户模块
  • LVGL嵌入式GUI开发:轻量级框架原理与硬件适配实战
  • 手把手教你用Qwen-Image-Edit-2511:小白也能玩的AI换装神器
  • HPH构造 一看就懂
  • 周报4.12
  • RAG工程化实践教程(非常详细),问题优化从入门到精通,看这一篇就够了!
  • 浏览器自动化六大技术路线深度对比:从模拟点击到 Chrome 扩展注入允
  • VibeVoice ComfyUI:解锁微软语音合成在AI内容创作中的无限可能
  • 《为什么只有镜像视界能做三维空间智能体?》——空间智能时代的技术门槛与体系壁垒解析
  • 千问 LeetCode 1359.有效的快递序列数目 public int countOrders(int n)
  • 别再为找数据发愁了!手把手教你下载并预处理LandSat8-38Cloud数据集(附Python代码)
  • 终极指南:如何使用League-Toolkit提升英雄联盟游戏效率
  • DeepSeek-V4全球首发,DMXAPI聚合平台同步上线,国产AI模型迎来突破
  • STM32CubeMX实战:SPI驱动W25Q32 Flash的底层封装与数据读写
  • TRPO算法中的数学陷阱:为什么你的KL约束总失效?从理论到调参全解析
  • BLE_API嵌入式中间件:HAL抽象层设计与跨平台实践
  • 2026方底纸袋设备标杆名录:手提纸袋设备、方底纸袋机、纸袋机器、高速纸袋机、全自动纸袋机、全自动纸袋设备、卷筒纸袋机选择指南 - 优质品牌商家
  • When and Why to use Extensions -- VK_KHR_draw_indirect_count
  • Alive2 如何对包含循环的 LLVM 优化进行有界验证
  • 大一新生,初入博客,勇闯计算机专业
  • 从SORT到AB3DMOT:聊聊3D多目标跟踪中那些“老算法”的新生命力