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

【C语言入门级教学】C语言常见概念1

文章目录

    • 1.编译和链接
    • 2.源文件、头文件介绍
    • 3.第一个语言程序
    • 4.main函数
    • 5.printf函数和库函数
      • 那什么是库函数呢?
    • 6.关键字介绍

1.编译和链接

C语言是一种编译型语言,C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器的链接,生成⼆进制的可执行文件,可执行文件才能执行。 C语言代码是放在 .c 为后缀的文件中的,要得到最终运行的可执行程序,中间要经过编译和链接2个过程。
C语言代码是放在 .c 为后缀的文件中的,要得到最终运行的可执行程序,中间要经过编译和链接2个过程。

注:

  1. 每个源文件(.c)单独经过编译器处理生成对应的目标文件(.obj为后缀的文件)
  2. 多个目标文件和库文件经过链接器处理生成对应的可执行程序(.exe文件)

2.源文件、头文件介绍

C语言把 .c 为后缀的文件称为源文件,把 .h 为后缀的文件称为头文件

3.第一个语言程序

#include<stdio.h>intmain(){printf("Hello world!");return0;}

4.main函数

每个C语言程序不管有多少行代码,都是从 main 函数开始执行的, main 函数是程序的入口, main 函数也被叫做:主函数。 main 前面的 int 表示main 函数执行结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

  1. main函数是程序的入口
  2. main函数有且仅有⼀个
  3. 即使⼀个项目中有多个.c文件,但是只能有⼀个main函数(因为程序的入口只能有⼀个)

第⼀次写代码,⼀些常见的错误总结:

  1. main后边的()漏掉了
  2. 代码中不能使用中文符号,比如括号和分号
  3. ⼀条语句结束后,有分号

5.printf函数和库函数

在上⾯的代码中有⼀句代码如下:

printf("Hello world!");

代码中使用了 printf 函数,实现了在屏幕上的信息的打印。 这里简单的介绍⼀下 printf , printf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏幕)上进行信息的打印。上⾯的代码是使用 printf 函数打印字符串。只要把想要打印的⼀串字符放在双引号中并传递给printf函数就可以打印。 printf函数也可以用来打印其他类型的数据,⽐如:

intn=100;printf("%d\n",n);//printf打印整型printf("%c\n",'q');//printf打印字符printf("%lf\n",3.14);//printf打印双精度浮点型

这里的 %d , %c 等是占位符,会被后边的值替换。 同时我们在使用库函数的时候,是需要包含头文件的,比如:printf 函数需要包含的就是 stdio.h 这个头文件,具体的方法就是:

1#include<stdio.h>

那什么是库函数呢?

为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了⼀组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了⼀个函数库,被称为标准库,这些函数也被称为库函数。在这个基础上⼀些编译器厂商可能会额外扩展提供部分函数(这些函数其他编译器不⼀定支持。⼀个系列的库函数⼀般会声明在同⼀个头文件中,所以库函数的使用,要包含对应的头文件

6.关键字介绍

C语⾔中有⼀批保留的名字的符号,比如: int 、 if 、return ,这些符号被称为保留字或者关键字。

• 关键字都有特殊的意义,是保留给C语言使用的
• 程序员自己在创建标识符的时候是不能和关键字重复的
关键字也是不能自己创建的

C语言的32个关键字如下:

1.autobreakcasecharconstcontinuedefaultdodoubleelseenumextern2.floatforgotoifintlongregisterreturnshortsignedsizeofstatic3.structswitchtypedefunionunsignedvoidvolatilewhile

注:在C99标准中加⼊了 inline 、 restrict 、 _Bool 、 _Complex 、 _Imaginary 等关键字。 ⼀些关键字大家可以去了解⼀下,不过使用最多的还是上面的32个关键字。

注:C语言关键字的全部介绍

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

相关文章:

  • ubuntu 22下android 源码编译/烧录-2
  • DeepMotion实战:用Python调用API实现抖音风格特效动画(附GitHub源码)
  • SHT11温湿度传感器实战:从硬件连接到数据读取的完整指南(附代码)
  • Tkinter Canvas高阶技巧:用数学函数绘制动态五角星和自定义图形
  • 【人工智能】Mixture of Experts(MoE,混合专家模型/系统):大模型时代的智能分工架构,是一种通过动态分配子网络(专家)处理不同输入特征的机器学习技术,旨在提升模型效率与性能。
  • YUV420 vs YUV422 vs RGB565:移动端图像处理中的格式选择与性能优化
  • Kafka 如何保证消息可靠性?
  • 5分钟搞定RealSense D435i手部追踪:MediaPipe实战教程(附完整代码)
  • 避坑指南:uniapp中scroll-view滚动定位的那些坑(商品分类案例详解)
  • QT定时器避坑指南:为什么我的timerEvent事件不触发?(附解决方案)
  • Kafka 如何保证消息有序性?
  • 手把手教你用Python实现深度自动编码器(附完整代码)
  • Word文档中快速输入对号和对号加方框的3种实用方法(附详细步骤图)
  • # 第一章 旧城新雪
  • Synology NAS如何用AD域账号管理共享文件夹?5步搞定权限分配
  • Yolov8从安装到实战:手把手教你用Anaconda+Pycharm搭建目标检测环境
  • 电脑蓝屏dmp文件分析实战:从开机崩溃到游戏闪退的完整诊断手册
  • 用Multisim仿真8种经典运放电路:手把手教你搭建比例/微分/积分放大器
  • 【Iced】Beacon 错误处理模块分析
  • 信号链芯片选型避坑指南:如何根据应用场景选择ADC类型(Σ-Δ vs SAR vs Pipeline)
  • SHEIN怎么上架产品?SHEIN上架流程一览!附工具推荐! - 跨境小媛
  • ARM64缓存一致性全解析:从dma_alloc_attrs看Linux DMA底层设计
  • Infineon AURIX TC3xx时钟系统配置实战:从外部晶振到PLL调频全流程解析
  • 从沙箱到生产环境:Alipay Global API完整对接指南(含常见配置错误修正)
  • 从实战出发:如何利用Kill Chain模型提升企业网络安全防御能力(附7步拆解)
  • 树莓派5 RTC模块实战:从电池选型到低功耗定时唤醒全攻略
  • PyCharm闪退终极指南:从虚拟内存到多进程调优的完整解决方案
  • Panoply保姆级教程:零基础玩转CryoSat-2数据可视化(含Java环境配置避坑指南)
  • Jenkins中文显示不全?三步搞定Locale插件+汉化包的正确安装姿势
  • MX25L12835F Flash存储结构详解:从页到块的全方位解析