首页 > 其他分享 >C语言——初出茅庐

C语言——初出茅庐

时间:2024-03-31 17:29:23浏览次数:10  
标签:语句 注释 常量 C语言 运算符 初出茅庐 库函数

                一、初识C语言

                                      1.C语言的起源

                                      2.C语言的基本结构

                                      3.C语言的特点

                二、基本数据类型和运算符

                                      1.数据类型

                                      2.标识符、常量与变量

                                      3.运算符和表达式

                                      4.常用的内部函数

                三、C语言基础

                                      1.头文件

                                      2.printf和库函数

                                      3.什么是库函数?

                                      4.关键字

                                      5.字符和ASCII编码

                                      6.字符串和\0

                                      7.转义字符

                                      8.两个特殊的转义字符

                四、语句和语句分类

                                      1.空语句

                                      2.表达式语句

                                      3.函数调用语句

                                      4.复合语句

                                      5.控制语句

                五、注释

                                      1.注释是什么?为什么要写注释?

                       ​​​​​​​        ​​​​​​​       2.注释的两种形式

                ​​​​​​​        ​​​​​​​        ​​​​​​​      3.注释会被替换

        前言:本系列文章为小生的学习笔记,在此撰写一为巩固所学知识;二为提高自己的文字表达能力;三为分享自己的学习过程及心得,希望能带给阅读本篇文章的学友们一点点帮助。本人所学尚浅,正在努力中,有什么不足的地方诚请多多指教,感谢阅读。

        本系列文章中使用的是vs2022集成开发环境。

 一、初识C语言

        1.C语言的起源

        C语言是什么? 

        在日常生活中,我们人与人交流使用的汉语、英语、日语等是属于我们人与人之间的语言。无论哪种语言它都是有规定的,有一套独属于它的标准,这让我们人与人之间可以交流思想、想法和信息。同样的,人与计算机交流的过程中也需要规定一套标准的语言,即计算机语言,也叫机器语言,C语言就是一门计算机语言。计算机语言还有很多种,例如:Python \ Java \ C++ \ Go等,在C语言诞生的这么长时间里,它一直都是非常主流的计算机语言。

        C语言是由贝尔实验室的Dennis Ritchie在20世纪70年代开发的一种通用编程语言。它起源于贝尔实验室的B语言,并在1972年至1973年之间由Dennis Ritchie和Brian Kernighan对B语言进行了重写和改进,最终诞生了C语言。C语言被设计成一种能够方便地编写系统软件的语言,因此在操作系统、编译器、网络驱动等领域得到了广泛应用。C语言的设计思想影响了许多后来的编程语言,如C++、Objective-C、Java等。
 

       2.C语言的基本结构

        一个c程序,不管它是复杂还是简单,都必须有且只有一个主函数,主程序从main函数开始执行,直到main函数结束为止。例如:

        我们现在用的基本都是这种写法。

        值得一提的是,友友们可能还见过不一样的写法,例如:

这是一种很古老的写法,现在我们基本不用。

        3.C语言的特点

        C语言是一种结构化的编程语言,极具生命力,它拥有简洁、紧凑、使用方便、灵活、表达能力强、数据结构丰富、生成目标代码质量高、程序执行效率高、可移植性好等等优秀的特点,使它成为当今最流行的编程语言之一。

二、基本数据类型和运算符

1.数据类型

        1.1整型

                基本整型                    int

                短整型                        short 或 short int

                长整型                        long 或 long int

                无符号基本整型         unsigned int

                无符号短整型             unsigned short 或 unsigned short int

                无符号长整型             unsigned long 或 unsigned long int

        1.2实型

                单精度 (float)                 有效数字      7位

                双精度 (double)             有效数字     16位

2.标识符、常量与变量

        2.1标识符

        标识符是指程序中的变量、符号常量、数组、函数、类型、文件等对象的名字。标识符有自己的命名规则,在C语言中,标识符只能由字母、数字和下划线组成,且第一个字母必须为字母或下划线。

        C语言中大小写字母是敏感的,例如:Str 和 str 是两个不同的变量名。

        标识符(变量名)不能使用系统关键字,因为关键字是系统的保留字,它们已经有特定的含义。

        2.2常量

        常量是指在程序运行过程中其值不能被改变的量。  常量可以分为直接常量和符号常量,其中直接常量包括:整型常量、实型常量、字符常量、字符串常量。

        其中,有一种特殊的常量叫做符号常量。符号常量就是使用符号代表常量,C语言中允许使用标识符定义一个常量,这种常量定义在C语言中被称为 “宏定义” ,其一般形式为:

                #define 标识符 常量、

        其中#define是一条预处理命令,成为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上,符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。这里我们只浅显的了解,更多后面再细说。

        2.3变量及变量的定义和赋值

        变量是指在程序运行过程中其值可以被改变的量。一个变量有3个相关的要素:变量名、变量的数据类型、变量(存储单元存放)的值。

        程序中使用的所有变量都必须先定义,然后才能被使用。可以在变量的声明语句中同时定义变量和初始化,即赋初值。

3.运算符和表达式

        运算符:

        3.1. 算术运算符:用于执行基本的数学运算,如加法(+)、减法(-)、乘法(*)、除法(/)、取模(%)等。
        3.2. 关系运算符:用于比较两个值的关系,如相等(==)、不相等(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)等。

        关系运算符的结果为:1 或 0。
        3.3. 逻辑运算符:用于执行逻辑运算,如逻辑与(&&)、逻辑或(||)、逻辑非(!)等。

        特别的,在C语言中,非 0 即为真。
        3.4. 位运算符:用于对二进制位进行操作,如按位与(&)、按位或(|)、按位取反(~)、按位异或(^)、左移(<<)、右移(>>)等。
        3.5. 赋值运算符:用于给变量赋值,如赋值(=)、加法赋值(+=)、减法赋值(-=)、乘法赋值(*=)、除法赋值(/=)、取模赋值(%=)等。
        3.6. 条件运算符:用于根据条件选择不同的值,如三目运算符(?:)。


        3.7. 逗号运算符:用于在表达式中使用逗号分隔多个子表达式,整个表达式的值为最后一个子表达式的值。
        3.8. sizeof运算符:用于获取数据类型或变量的大小,返回值为该数据类型或变量所占内存空间的大小。
        3.9. 指针运算符:用于对指针进行操作,如取地址(&)、间接引用(*)等。
        3.10. 递增和递减运算符:用于增加或减少变量的值,如递增(++)、递减(--)。
        3.11. 成员访问运算符:用于访问结构体或联合体的成员,如点运算符(.)、箭头运算符(->)。
        3.12. 位字段运算符:用于对结构体中的位字段进行操作,如按位与(&)、按位或(|)、按位取反(~)、按位异或(^)等。

         3.13 自增、自减运算符

                                i++、i--                        //表示在使用 i 值之后将 i 的值加(减)1

                                ++i、--i                        //表示在使用 i 值之前将 i 的值加(减)1

        表达式:

        对数学上的表达式和C语言程序中的表达式做一个对比,其书写规则如下:

                3.14 乘号用 * 表示,这点对于初学者来说很容易忽略;

                3.15 表达式从左到右在同一基准上书写,无高低、大小之分,都写在同一行上;

                3.16 括号必须成对出现,切都用圆括号。

4.常用的内部函数

        在使用C语言进行编程时,许多很基本和很重要的功能都可以由系统的库函数和类库来实现。

                        sqrt(x)                计算x的平方根,x应大于或等于0

                        pow(x,y)          计算x的y次方             

                        abs(x)                计算x的绝对值,x为整数

                        fabs(x)               计算x的绝对值,x为实数

        以上函数的头文件均为: <math.h>

        上四个函数是我们常用的内部函数,类似的函数还有很多,我们就不过多罗列了。

三、C语言基础

1.头文件

        C语言头文件是一种特殊的文件,通常以'.h'为扩展名,用于包含函数声明、宏定义、结构体定义等内容。C语言头文件的作用是提供接口和声明,使得在一个源文件中可以使用另一个源文件中定义的函数、变量等内容,从而实现模块化开发和代码重用。

        在C语言中,头文件通常包含在源文件中,以便在编译时将其内容包含到源文件中,以便编译器能够识别其中声明的函数、变量等。通过包含合适的头文件,可以避免重复定义、提供函数原型、引入标准库函数等。

        头文件的作用类似于,比如我们想借某人的东西用一下,我们就需要给他打个招呼,头文件的作用亦是如此。

        头文件的使用规则为:<头文件> 。我们常用的头文件有:

  2.printf和库函数

      在这里,我们来写第一个C语言程序。

我们写了printf这个函数,它是C语言标准库中提供的一个现成的函数,其作用是在屏幕上打印信息。我们来使用起来:

3.什么是库函数?

        库函数是一组预先编写好的函数,可以在程序中被调用来完成特定的任务。这些函数通常被组织在库文件中,程序员可以在自己的代码中引用这些库函数,而不必重新实现这些功能。库函数可以帮助程序员简化开发过程,提高代码的复用性和可维护性。常见的库函数包括数学函数、字符串处理函数、文件操作函数等。
        库函数极大地方便了程序员,避免了大多数需要重复写的代码。

使用库函数时,应清楚四个方面的内容:

                3.1函数的功能及所能实现的操作;

                3.2参数的数目和顺序,以及每个参数的意义及类型;

                3.3返回值的意义及类型;

                3.4需要使用的包含文件。

4.关键字

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

        --关键字都有特殊意义,是保留给C语言使用的

        --程序员在创建标识符的时候是不能与关键字重复的

        --关键字是规定的,不能自己创造

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

1. auto 2. break 3. case 4. char 5. const 6. continue 7. default 8. do 9. double 10. else 11. enum 12. extern 13. float 14. for 15. goto 16. if 17. int 18. long 19. register 20. return 21. short 22. signed 23. sizeof 24. static 25. struct 26. switch 27. typedef 28. union 29. unsigned 30. void 31. volatile 32. while

 5.字符和ASCII编码

        在键盘上我们可以输出:@、a、%、j、!等,这些符号都被称为字符,C语言中字符是用单引号括起来的。

        众所周知,计算机中所有的数据都是以二进制的形式存储的,那么这些字符在内存中分别以什么样的二进制存储的呢?美国国家标准学会出台了一个标准ASCII编码,C语言中的字符就遵循了ASCII编码的方式。

我们来简单使用感受一下:

 6.字符串和\0

        使用双引号括起来的一串字符叫做字符串,例如:“haohaoxuexi”。字符串可以用%s来打印,也可以直接打印,我们上面已经实现过。

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

我们来看下面这些更直观的现象:

        为什么会出现这样的现象呢?我们说过字符\0是字符串的结束标志,而arr1中有\0,当我们打印arr1的时候,计算机读到\0后就停止了,所以,最终在屏幕上打印出了abcdef。而arr2中没有\0,当我们打印arr2的时候,计算机读完abcdef后因没有读到字符\0,所以就会一直读下去,直到找到\0才结束,屏幕上就会显示一些乱码。

  7.转义字符

        转义字符,顾名思义就是转变原本意思的一些字符。常见有:

                1. \n - 换行
                2. \t - 水平制表符
                3. \r - 回车
                4. \\ - 反斜杠
                5. \' - 单引号
                6. \" - 双引号
                7. \0 - 空字符
                8. \a - 响铃
                9. \b - 退格
                10. \f - 换页
                11. \v - 垂直制表符

        这么说可能不好理解,我们还是来直观地感受一下。

        另外,友友们可能对 5. \' - 单引号 6. \" - 双引号 这两个有点疑惑,我们来看:

        还有 4. \\ - 反斜杠,它的作用是转义转义字符,让转义字符能以它们本来的样子打印在屏幕上。

8.两个特殊的转义字符:

        \ddd: d d d 表示1~3个八进制数字,例如:\130 ,表示字符 x

        \xdd: d d 表示两个十六进制数字,例如:\x30 ,表示字符 0

        转义字符就是一个字符。

        我们还是通过代码实验来理解这句话:

        这里友友们可能又有疑惑,为什么第二个字符串的长度是9,而第三个字符串的长度是10呢?这是因为我们上面说过,\ddd:d d d 表示1~3个八进制数字,而八进制里没有8这个数字,所以第三个字符串中 \12 才是一个完整的字符。

四、语句和语句分类

  1.空语句

        空语句是最简单的,一个分号就是一条语句,即空语句。

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

2.表达式语句

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

3.函数调用语句

        函数调用的时候,也会加上分号,就是函数调用语句。使用库函数也是函数调用。

4.复合语句

        复合语句其实就是代码块,成对括号中的代码就构成一个代码块,也叫做复合语句。例如:

5.控制语句

        C语言是一种结构化的程序设计语言。

        控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构和循环结构),它们由特定的语句定义符组成,C语言中有9种控制语句。

有如下三类:

        5.1条件判断语句也叫分支语句:if 语句、switch语句;

        5.2循环执行语句:do while 语句、while 语句、for语句;

        5.3转向语句:break语句、goto 语句、continue语句、return语句。

        这里我们先浅显的了解一下,具体如何使用有什么作用后续再探索。

五、注释

        1.注释是什么?为什么要写注释?

        注释是对代码的说明,编译器会忽略注释,也就是说,注释对实际代码没有影响。注释是给程序员自己或其他程序员看的,好的注释可以帮助我们更好的理解代码,但是也不要过度注释。写注释一定程度上反映了程序员的素质,我们都要养成良好的习惯。

        2.注释的两种形式

        2.1第一种是将需要注释的代码放在  /*.......*/  之间,内部可以分行

        这种注释可以插在行内。

        上面示例中,/*file name*/用来函数参数进行说明,跟在它后面的代码依然有效执行。这种注释一定不能忘记写结束符号 */ ,否则很容易导致错误。

        注意,这种注释方式有一点不足。

        这种注释方式不支持嵌套,我们还是通过代码演示来体会这句话:

        2.2第二种是将需要注释的代码放在 // 后面

        这种注释从双斜杠到行尾都属于注释,这种注释只能是单行,可以放在行首,也可以放在一行语句的结尾。

        不管是哪一种注释,都不能放在双引号里面。双引号里面的注释符号,会成为字符串的一部分,解释为普通符号,失去注释功能。

上面示例中,双引号里面的注释符号,都会被视为普通符号,没有注释作用。

        3.注释会被替换

        编译时,注释会被替换成一个空格,所以hello/*这里是注释*/world会变成hello world,而不是helloworld。

标签:语句,注释,常量,C语言,运算符,初出茅庐,库函数
From: https://blog.csdn.net/2301_78843337/article/details/137104021

相关文章

  • #include<初见C语言之指针(5)>
    目录一、sizeof和strlen的对比1. sizeof2.strlen二、数组和指针题解析1.⼀维数组1.1数组名理解2.字符数组 3. ⼆维数组三、指针运算题解析总结一、sizeof和strlen的对比1. sizeof我们前面介绍过sizeof是单目操作符sizeof括号中有表达式,不计算 计算变......
  • C语言----预处理(详解)
         好了书接上回。我在讲编译与链接的时候写过宏和条件建议。我说会在下一篇博客中讲解,那么来了。今天我们来详细的讲讲预处理。宏与条件编译也在其中,那么我们现在就来好好会会这个预处理吧。预定义符号    关于预定义符号,我暂时只知道几个。并且我知道的......
  • C语言----简单讲解编译与链接
        大家好,这次我们来讲讲我们写下代码后,源代码是变为执行文件的,这里我们将会使用用另外一种编译器(gcc),但是嘞因为鄙人对电脑的理解还是比较少的,所以对于我们进行对比的编译器(gcc)鄙人只能提供代码,以及一些网络上其他博主的图文,希望大家理解这样更加方便大家了解。(如果大......
  • C语言 06 无符号数
    所有的数据底层都是采用二进制来进行保存的。第一位用于保存符号位。如果不考虑这个符号位,那么所有的数都是按照正数来表示。比如考虑了符号位的char类型:考虑符号表示范围:-128~127不考虑符号:0~255直接使用这些不带符号位的数据类型:#include<stdio.h>intmain()......
  • C语言 05 变量与常量
    变量变量就像在数学中学习的x,y一样,可以直接声明一个变量,并利用这些变量进行基本的运算,声明变量的格式为:数据类型变量名称=初始值;(其中初始值可以不用在定义变量时设定)=是赋值操作,可以将等号后面的值赋值给前面的变量,等号后面可以直接写一个数字(常量)、变量名称、算式。比......
  • 初识C语言——函数
            哈喽呀,各位小伙伴,本肉段er~又来给大家送知识啦!不禁感慨一下,这两周的溜肉段er还是比较勤奋滴呢,嘻嘻嘻!    这一次,肉段er将为各位小伙伴们介绍一下C语言中的函数,包括函数是什么、函数的分类、函数的参数以及函数的声明和定义。请各位小伙伴跟随肉段e......
  • C语言02-常量、二进制、数据类型
    第4章常量1.常量特点程序运行时,其值不能改变的量,即为常量。2.常量分类字面量常量标识符常量3.常量定义方式(标识符常量)①#define宏定义②const关键字(C99标准增加)4.两种定义方式区别类型检查:const编译阶段会进行类型检查,#define方式不......
  • 数据结构-C语言描述(队列的链表实现)
    概述在日常生活中,先进先出似乎更加符合我们的日常认知。 排队的人群中,队首的人总是先离开,而队尾的人总是后离开。1.队列的基本原理和操作我们知道队列也是一种线性表,而今天我们就用非顺序储存结构(链表)来实现它。首先我们先明确队列的基本操作原理:因为同时涉及到队首和队......
  • 初始C语言
    自我简绍:本人双非院校大一新生,集成电路设计与集成系统专业。我认为C语言是学习其他语言的基础,可以为以后学其他语言打好基础,很有必要好好学习学习,并且网上有很多项目都是开源的,可以很好的去实际。未来编程目标:首先将C语言系统的仔细学一下,然后再学学数据结构与算法。我想......
  • 【C语言】贪吃蛇【附源码】
    欢迎来到英杰社区https://bbs.csdn.net/topics/617804998一、游戏说明:一个基于C语言链表开发的贪吃蛇游戏:1.按方向键上下左右,可以实现蛇移动方向的改变。2.短时间长按方向键上下左右其中之一,可实现蛇向该方向的短时间加速移动。3.按空格键可实现暂停,暂停后按任意键继......