C语言基本概念
2026/9/19 11:37:16 网站建设 项目流程

前言:本文基于windows系统,vs2022(配置msvc编译器)进行研讨

C语言的常见概念

踏入编程第一步,先从C语言入手。🔑

1.什么是C语言

C语言是一门通用的计算机编程语言,广泛应用于底层开发。用简单的话来讲,就是人与计算机交流的语言,其是众多计算机语言的一种,还有C++、Python、Go、Java等。

C语言是编译性的语言,需要依赖编译器才能实现相应的功能。常见的编译器有msvc、gcc、clang,但是功能太过单一,处理代码不方便,于是出现了集成开发环境(IDE),比如:Visual Studio 2022/2026、Dev C++、Xcode,他们集成了编辑器、编译器、调试器、和图形用户界面等工具,具有代码编写、分析、编译、调试等功能。

补充:vs集成了msvc,vs是windows的专属软件,只能跑在windows系统上,Dev C++集成了gcc,Xcode集成了clang。

2.第一个C语言代码

在写代码前先要能创建项目,以vs2022为例

在这里项目名称可以自命名,位置可以自定义,方便后期查看学习为主

进入此界面,打开解决方案资源管理器,右键源文件,进行新建项目

新建项目后有可能显示这个紧凑模板,这里可以修改源文件的名字,以.cpp为后缀是c++文件,写c语言文件的后缀是.c,这里将后缀更改一下,点添加,就可以写代码了

如果点击显示所有模板,就是下面这样,同样相似操作,即可开始写代码

我们的第一个代码先来简单的输出一句话:hello world! 来表达一下我们对世界的热爱

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

那么这份热爱是怎么具体的传递出来呢,我们细细道来

2.1main函数简介

main函数是程序的入口,代码的执行都是从main函数开始执行,所以其也被称为主函数

  • 一个文件里main函数有且仅有一个

  • 一个项目如果有多个.c文件,也只能有一个main函数

  • main函数的结构

  • int代表主函数执行结束时返回值是整数,与return 0相呼应

  • C语言默认返回0表示正常返回,返回非0表示异常,所以这里用return 0表示程序正常结束,没有出错

2.2printf用法

printf函数是一个库函数,功能是在标准输出设备(一般指屏幕)上打印信息,调用该函数前需要包含一个头文件stdio.h,具体用法是#include<stdio.h>,里面存放有该函数的声明,只有编译器提前通过头文件知道有这个函数,才能在main函数中使用。

💪扩展那么什么是库函数呢?

标准库中的函数就是库函数,标准库是由编译器厂家1根据国家标准化组织(ISO)标准2实现相关函数,打包而成的。

标准库分为两部分:头文件.h)和库文件.lib静态库/.dll动态库)

  • 头文件里存放的是库函数的声明和相关数据类型的定义,文本文件,源代码形式;只是说明书,没有具体函数代码
    同一个头文件中会放一系列库函数,除了有库函数的声明,还有简易介绍,比如 (stdio.h)中有printf、scanf等,(string.h)中有strlen、strcmp等
  • 库文件里存放的是库函数真正的实现,编译好的二进制机器代码形式

库函数众多,想要更多了解,参考链接:https://cplusplus.com/reference/clibrary/

2.3 字符和ASCII编码

在键盘上可以敲出各种符号,比如a、B、1、@、 (空格)等,这些属于可见字符,还有回车换行、退格、tab等按键,看不见,也属于字符;C语言中使用可见字符时需要使用单引号(英文模式)括起来,比如:‘1’、‘a’、’ '(空格)等,使用按键的这些字符时,也需要单引号,以转义字符的形式书写,比如:换行 ‘\n’ 等。

在计算机中所有的数据都是以二进制的形式存储在内存中的,字符也应该如此,那就需要编码,比如:'a’编码为010,'b’编码为011等,美国国家标准学会(ANSI)对这些字符统一编码,即为ASCII编码3,c语言遵循ASCII编码,得到ASCII码表,可参考链接: https://zh.cppreference.com/w/cpp/language/ascii。

常见码值:

  • a ~ z 的ASCII码值是97 ~ 122,A ~ Z 的ASCII码值是65 ~ 90,相同字符大小写相差32
  • 0 ~ 9 的ASCII码值是48 ~ 57
  • ASCII码值为0 ~ 31的字符无法打印在屏幕上,比如:换行’\n’码值为10,不会打印出’\n’,效果是光标移动到下一行,从此再输出值

⚠️0 : 数字,内存中的值是0
⚠️’0’: 字符,内存中是ASCII码值,是48

打印字符的两种方式:printf("%c", 'F');printf("%c", 70);

打印字符ASCII码值的方式:printf("%d", 'F');

字符参与运算用的是ASCII码值

2.4字符串和\0

C语言中用双引号(英文模式)括起来一串字符称为字符串,如:“abcdef”、"hello world"等,字符串打印的两种方式:printf("%s", "hello world");printf("hello world");

C语言字符串末尾藏着一个字符\0,比如:字符串"abc",表面上看是3个字符,实际上有4个字符,它是字符串结束标志,使用库函数printf()打印字符串或strlen()计算字符串的长度时,遇到\0自动停止。

通过调试,调取监视器

可以发现字符串实际的字符数里有’\0’

正常情况下,遇‘\0’停止

若不遇’\0’,会输出乱码,以字符数组存储字符串为例

存储情况

输出情况,及相关分析

所以字符串中的’\0’有着极其重要的作用,是字符串的停止开关。

2.5转义字符

转义字符,顾名思义,就是改变字符原来的意思,形式为\+内容, 比如:‘n’是个ASCII码值为110的字符,’\n’含义就变为换行了,上面所说的按键的不可见的字符,即为转义字符,下面讲解一些转义字符。

  • \':用于表示字符常量'
    单独输入字符',会报错,无法输出,原因是前两个单引号被编译器默认配对,最后一个落单

    使用转义字符\',即可输出'
  • \":用于表示一个字符串内部的双引号
    若是单独输出",这是一个字符,直接单引号就行

    但是如果是在字符串中,也会出现前两个默认配对,最后一个落单,报错的情况

    此时就需要转义字符\",即可输出"
  • \\:用来表示一个反斜杠,防止被解释为转义字符
    因为\+内容会被编译器解读为转义字符,导致无法输出\

    使用转义字符\\,即可输出\
  • \a:系统会发出蜂鸣声
  • \b:退格符
    按F10,启动调试,接下来继续按F10,逐行调试,当执行完含有\b的语句时,可以发现光标往前移动了一格,这就是它的效果

    当执行下一行语句时,会从光标位置覆盖原先的值,如果覆盖完,再输出后面要输出的值
  • \n:换行符
    使光标移动到下一行,不一定移动到开头,这里可以移动到行首的原因是windows系统下,C标准库会把\n翻译为\r\n,使得输出效果为回车换行,电脑上的enter键就是回车换行
  • \r:回车符
    按F10调试,可以发现光标移动到这一行的开头,这是\r的效果

    执行完\r语句,再执行下一行输出时,会挨个的覆盖原先的内容

    覆盖完,就会有如下效果
  • \t:制表符
    把光标跳到下一个水平制表位4,输出相应内容,用来数据对齐。windows控制台5默认每8列一个制表位,相当于相邻制表位,连上字符共占8个格子

下面两种转义字符可以理解为:字符的8进制或16进制表示形式

  • \ddd:ddd表示1~3个8进制的数字
    这个整体表示的是对应的字符

  • \xdd:x代表后面的数字是16进制,dd是2个16进制的数字
    这个整体表示的是对应的字符

  • \0:null字符,代表没有内容,用于字符串的结束标志,ASCII码值是0

汇总:字符的几种表示方式

转义字符还有很多,可参考链接:https://zh.cppreference.com/w/c/language/escape

2.6该代码执行流程

3.语句和语句分类

C语言代码是由一条条语句构成的,可分为:①空语句 ②表达式语句 ③复合语句 ④控制语句。

3.1空语句

空语句就是一个分号,一个语句,用于需要一条语句,但不做任何事情。

#include<stdio.h>intmain(){;//空语句return0;}

3.2表达式语句

表达式语句就是在表达式6后面加上分号

#include<stdio.h>intmain(){inta=10;//变量的定义+初始化intb=0;b=a+5;//表达式语句printf("%d",b);//表达式语句中的函数调用语句return0;}

3.3复合语句

复合语句就是代码块,成对括号里的代码就构成一个代码块

3.4控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,C语言支持三种结构:顺序结构选择结构循环结构
C语言有9种控制语句,如下:

①条件判断语句或是分支语句:if语句、switch语句
②循环执行语句:do while语句、while语句、for语句
③转向语句:break语句、go to语句、continue语句、return语句

选择结构中会用到条件判断语句,循环结构中会用到循环执行语句,这些语句帮助实现相关结构,最终会帮助解决相关问题。

4.注释

注释是对代码的解释说明,必要的注释可以帮助理清条例,使代码更易于理解,但是不要过度注释,这样会喧宾夺主,重心偏移。

C语言注释有两种方式:
\* *\:把要注释的内容放这个中间

  • 一次可以注释多行
  • 不支持嵌套注释
  • C语言早期注释

//:把要注释的内容放在双斜杠后

  • 一次只能注释一行
  • 注释选中行,快捷键Ctrl+k+c
  • 取消注释,快捷键Ctrl+k+u

注意:快捷键想要一次注释多行成"//“的前提是如图全选

如果像下面这样选择,会注释成”/* */"

注释是给人看的,编译器会自动忽略。编译时,注释会被替换为空格,所以定义变量时,int maxnum;,如果写成int max/* 你好 */num;,会变成int max num;,编译器无法正确识别,所以要正确使用注释。

这一程我们大概了解了一下C语言,接下来会对C语言进行更深一步的了解,敬请期待!🎉🎯


  1. 比如 msvc编译器厂家微软、clang编译器厂家苹果等 ↩︎

  2. 设置一系列函数的基本信息,但不实现,比如printf函数告诉你它的名字、功能、参数、返回类型,没有具体可执行代码 ↩︎

  3. 将字符转换为数字存入内存的过程是编码,字符对应数字的书面内容是码表,比如:码表上’A’的十进制码值是65,把’A’的码值65存入内存就是编码 ↩︎

  4. 控制台一行上预先设定好的标记位置,\t视觉效果类似tab键,只不过tab键的水平制表位有时以4为倍数,有时以8为倍数,且在某些环境下可设置 ↩︎

  5. VS弹出的黑框windows系统自带命令解释器(旧版cmd/新版PowerShell)
    windows控制台窗口依托windows控制台展示界面
    接受输入数据与显示文字接受命令并解析,帮电脑启动程序(exe)
    ↩︎
  6. 表达式是由运算符、常量、变量、函数调用组合起来,能算出一个值的式子,只能是这些元素中随便几个的相关组合 ↩︎

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询