C语言常见概念

一.源文件和头文件

.c为后缀的文件称为源文件,把.h为后缀的文件成为头文件。

二.第一个C语言程序演示

#include <stdio.h>

int main()
{
    printf("你好,C语言");
    return 0;
}

在VS2022上运行代码的快捷键一般为Ctrl+F5,但有的电脑因出厂设置不同,需使用Fn+Ctrl+F5才能运行。

三.main函数

每个C语言程序不管有多少行代码,都是从main函数开始执行的,main函数是程序的入口,main函数也被叫做主函数

main函数前面的int表示main函数执行结束的时候返回一个整型类型的值。所以在main函数的最后写return 0;正好前后呼应。

注意:因为程序的入口只能有一个,所以即使一个项目中有多个.c文件,但是只能有一个main函数

四.printf和库函数

printf

代码中使用printf函数,实现在屏幕上的信息打印。

printf是一个库函数,它的功能是在标准输出设备(一般指屏幕)上进行信息的打印。

我们在使用库函数的时候,是需要包含头文件的,比如printf函数需要包含的就是stdio.h这个头文件:

那什么是库函数呢?

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

库函数可参考链接: https://cplusplus.com/reference/clibrary/

五.关键字介绍

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

C语言的关键字的全部介绍:https://zh.cppreference.com/w/c/keyword

六.字符和ASCII编码

在键盘上可以敲出各种字符,如:a, q, @, #等,这些符号都被称为字符,C语言中字符是用单引号括起来的,如:'a', 'b', '@'。

我们知道在计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样的二进制存储的呢?如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这个叫做编码,为了方便大家互相通信,不造成混乱,后来美国国家标准学会(ANSI)出台了一个标准ASCII编码,C语言中的字符就遵循了ASCII编码的方式。

ASCII 码表

下列码表含有全部 128 个 ASCII 十进制 (dec) 、八进制 (oct) 、十六进制 (hex) 及字符 (ch) 编码。

decocthexchdecocthexchdecocthexchdecocthexch
0000NUL (空)324020(空格)6410040@9614060`
1101SOH (标题开始)334121!6510141A9714161a
2202STX (正文开始)344222"6610242B9814262b
3303ETX (正文结束)354323#6710343C9914363c
4404EOT (传送结束)364424$6810444D10014464d
5505ENQ (询问)374525%6910545E10114565e
6606ACK (确认)384626&7010646F10214666f
7707BEL (响铃)394727'7110747G10314767g
81008BS (退格)405028(7211048H10415068h
91109HT (横向制表)415129)7311149I10515169i
10120aLF (换行)42522a*741124aJ1061526aj
11130bVT (纵向制表)43532b+751134bK1071536bk
12140cFF (换页)44542c,761144cL1081546cl
13150dCR (回车)45552d-771154dM1091556dm
14160eSO (移出)46562e.781164eN1101566en
15170fSI (移入)47572f/791174fO1111576fo
162010DLE (退出数据链)48603008012050P11216070p
172111DC1 (设备控制1)49613118112151Q11316171q
182212DC2 (设备控制2)50623228212252R11416272r
192313DC3 (设备控制3)51633338312353S11516373s
202414DC4 (设备控制4)52643448412454T11616474t
212515NAK (反确认)53653558512555U11716575u
222616SYN (同步空闲)54663668612656V11816676v
232717ETB (传输块结束)55673778712757W11916777w
243018CAN (取消)56703888813058X12017078x
253119EM (媒介结束)57713998913159Y12117179y
26321aSUB (替换)58723a:901325aZ1221727az
27331bESC (退出)59733b;911335b[1231737b{
28341cFS (文件分隔符)60743c<921345c\1241747c|
29351dGS (组分隔符)61753d=931355d]1251757d}
30361eRS (记录分隔符)62763e>941365e^1261767e~
31371fUS (单元分隔符)63773f?951375f_1271777fDEL (删除)

 ASCII码表参考:https://zh.cppreference.com/w/cpp/language/ascii

五.字符串

C语言中使用双引号括起来的一串字符就被称为字符串,如:“abcdef”,就是一个字符串。

字符串的打印格式可以使用%s来指定,也可以直接打印如下:

六.\0

C语言字符串中一个特殊的知识,就是在字符串的末尾隐藏放着一个\0字符,这个\0字符是字符串的结束状态。

\0是字符串的结束标志。

验证\0的功能:

可以看出,arr1打印的结果在abc后还出现了一些随机值,是因为arr1在末尾没有\0字符作为结束标志,在打印的时候没有停止。arr2数组是使用字符串常量初始化的,数组中有\0作为结束标志,打印可以正常停止。

当在arr1数组中加上'\0'字符:

由此可见\0的作用和重要性。

七.转义字符

转义序列描述表示
简单转义序列
\'单引号ASCII 编码中为字节 0x27
\"双引号ASCII 编码中为字节 0x22
\?问号ASCII 编码中为字节 0x3f
\\反斜杠ASCII 编码中为字节 0x5c
\a响铃ASCII 编码中为字节 0x07
\b退格ASCII 编码中为字节 0x08
\f换页ASCII 编码中为字节 0x0c
\n换行ASCII 编码中为字节 0x0a
\r回车ASCII 编码中为字节 0x0d
\t水平制表ASCII 编码中为字节 0x09
\v垂直制表ASCII 编码中为字节 0x0b
数值转义序列
\nnn任意八进制值代码单元 nnn
\xn...任意十六进制值代码单元 n...(任意数量的十六进制数字)
通用字符名
\unnnn (C99 起)允许范围中的 Unicode 值
可能生成多个编码单元
码位 U+nnnn
\Unnnnnnnn (C99 起)允许范围中的 Unicode 值
可能生成多个编码单元
码位 U+nnnnnnnn

转义字符参考: https://zh.cppreference.com/w/c/language/escape

八.语句和语句分类

C语言的代码是由一条条的语句构成的,C语言中的语句可为以下五类:

空语句
#include <stdio.h>
int main()
{
    ;//空语句
    return 0;
}

 空语句,一般出现的地方是:这里需要一条语句,但是这个语句不需要做任何事,就可以写一个空语句。

表达式语句

表达语句就是在表达式的后面加分号。如下所示:

#include <stdio.h>


int main()
{
    int a=20;
    int b=0;
    b=a+5;//表达式语句
    return 0;
}

函数调用语句
复合语句
控制语句

C语言的基本概念就是这些,之后的内容会对C语言更深层次的内容进行探讨。

  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值