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

第1章 概 述

基本知识点:C语言的特点、C语言标识符和C程序的组成等相关概念。

     点:C程序的结构和C程序的执行过程。

    点:C程序的编译过程。

 知识点:C 语言的基本概念

要点归纳

1.C 语言的特点

C语言的特点可大致归纳如下:

 C语言短小精悍,基本组成部分精炼、简洁。C 语言一共只有32个标准关键字、45 个标准运算符以及9种控制语句。

 C语言运算符丰富,表达能力强。 C 语言具有高级语言和低级语言的双重特点,其 运算符包含的内容广泛,所生成的表达式简练、灵活,有利于提高编译效率和目标 代码的质量。

 C语言数据结构丰富,结构化好。 C 语言提供了编写结构化程序所需要的各种数据 结构和控制结构,这些丰富的数据结构和控制结构以及以函数调用为主的程序设计 风格,保证了利用C 语言所编写的程序能够具有良好的结构。

 C语言提供了某些接近汇编语言的功能,有利于编写系统软件。 C 语言提供的一些 运算和操作,能够实现汇编语言的一些功能,如它可以直接访问物理地址,并能进 行二进制位运算等,这为编写系统软件提供了方便条件。

 C语言程序可移植性好。在C 语言所提供的语句中,没有直接依赖于硬件的语句, 与硬件有关的操作,如数据的输入、输出等都是通过调用系统提供的库函数来实现 的,而这些库函数本身并不是C 语言的组成部分。因此,用C 语言编写的程序能够 很容易地从一种计算机环境移植到另一种计算机环境中。

2.C 语言标识符

C语言中,标识符是一个名称,可以用作变量名、函数名和文件名等。C语言允许用 作标识符的字符有:

 26个英文字母,包括大小写字母(共52个)。

   0 , 1 ,  , 9 

    线 ( _ ) 

C 语言的标识符由满足如下条件的字符序列:

●只能由英文字母、数字和下划线组成。

  长度为1~32。

●必须以英文字母或下划线开头。

C 语言的标识符可以分为以下三类:

 关键字。 C 语言规定了一批标识符,它们在程序中都代表着固定的含义,不能另作 它用。例如,用来说明变量类型的标识符int float 等,它们不能再用作变量名或函 数名。

●预定义标识符。这些标识符在C 语言中也都有特定的含义,如C 语言提供的库函数 的名字(如printf)   和预编译处理命令(如 define)   等。因此为了避免误解,建议用 户不要把这些预定义标识符另作它用。

●用户标识符。由用户根据需要定义的标识符称为用户标识符。 一般用来给变量、函 数、数组或文件等命名。

有关标识符的注意事项如下:

 C 语言中,大小写字母有不同的含义,例如:numNum   NUM  为三个不同的 标识符。

●在构造标识符时,应注意做到“见名知意”,即选有含意的英文单词(或汉语拼音) 作为标识符,以增加程序的可读性。如表示年可以用 year, 表示长度可用 length,  表示和可以用sum 等。

3.C 语言的风格

C 语言的风格概括如下:

  C语言严格区分英文字母大小写。

  C语言用“;”作为语句分隔符。

        ·C  语言中大括号“{”和“}”用于标识一个语句组,即构成一个复合语句,因此必 须配对使用。

        ·C  程序书写格式自由, 一行内可以写几个语句, 一个语句可以写在几行上。

●注释用来向用户提示或解释程序的意义, C 程序的注释部分应括在“1*”与“*/” 之间。在“/”和《*”之间不允许留有空格;注释部分允许出现在程序的任何位 置。程序编译时,忽略所有的注释符,对它们不做任何处理。

4.C 程序的组成

 个C 程序的构成如下:

        · 一 个C 源程序由函数构成(函数是C 程序的基本结构单位),其中至少包括一个主   (main     ) 

 C程序总是从main 函数开始执行的,直到main 函数结束。

        ·C     程序中可以包含常量、变量、运算和标识符。

5.C   程序的结构

C语言是一种结构化的程序设计语言。它提供了三种基本结构语句,结构化程序通常由 以下三种基本结构组成。

(1)顺序结构:一组按书写顺序执行的语句。这种结构的控制流顺次从一个处理过程 转向下一个处理过程。比如从一个语句a转向紧接着的下一个语句b, 整体上看,a和b两个 语句的操作步骤之间就是一个顺序执行关系。

(2)选择结构:当执行到if语句、switch 语句时都可构成选择结构。当执行到这些语句 时,先计算条件,然后根据条件表达式值的真假,选择相应的处理执行。

(3)循环结构:当执行到whilefordo等语句时都可构成循环结构。当执行到这些语 句时,根据条件使一组语句重复执行多次或一次也不执行。循环结构常用的有两种形式:

●    while 型循环结构:当条件为真时,反复执行循环体,直到条件为假。即先判断重 复执行的结构条件,后执行循环体。

●     do-while型循环结构:反复执行循环体,直至条件为假时,结束重复操作。即先执 行循环体,后判断循环执行的结束条件。

任何goto结构都可以等价地转换成上述三种结构。

6. 结构化程序设计

C 程序由函数组成,从组织形式上看,函数亦称为模块,每个模块实现一个单一的功能, 这称为模块化程序设计。模块化程序设计的思想是,按照自顶向下的原则,把问题逐层分 解。先从总体出发,把问题分成若干个大块,每一大块代表一个大任务;在此基础上再对 每个大块细化,把大任务变成若干个小任务。这一过程叫做逐步求精,直到每个小任务都 能用基本结构(顺序、分支和循环三种结构之一)表示为止。在划分模块的过程中,应保 证模块的单入口、单出口、完整性和独立性,这种方法称为结构化程序设计。

从组织结构上看,一个C 程序可以由若干个源程序文件(分别进行编译的文件模块)组 成,一个源文件可以由若干个函数及全局变量声明部分组成, 一个函数由数据定义部分和 执行语句组成。

7.C   程序的开发过程

开发一个C程序的基本过程如下:

(1)编辑。选择适当的编辑程序,将C语言源程序通过键盘输入到计算机中,并以文件 的形式存入到磁盘中。如在Turbo  C系统下,经过编辑后得到的源程序文件默认以.c为文件 扩展名;在Visual  C++系统下,经过编辑后得到的源程序文件默认以.cpp为文件扩展名。

(2)编译。通过编辑程序将源程序输入到计算机后,需要经C语言编译器将其生成目 标程序。在对源程序的编译过程中,可能会发现程序中的一些语法错误,这时就需要重新 利用编辑程序来修改源程序,然后再重新编译。经过编译后得到的目标文件都是以.obj为其 文件扩展名。

(3)连接。经过编译后生成的目标文件是不能直接执行的,它需要经过连接之后才能 生成可执行的代码。连接后所得到的可执行文件都是以.exe 为其文件扩展名。

(4)执行。经过编译、连接之后,源程序文件就生成可执行的文件,这时就可以执行了。 DOS系统下,只要键入可执行的文件名,并按回车键后,就可执行文件了;在Windows下, 通过双击可执行的文件名,就可执行文件了。

其中,编译和连接两步是由语言编译系统自动完成的,程序员只需使用相应的菜单或 命令即可。

例题解析

1. 单项选择题

【例1-1-1】以下        不是C 语言的特点。

A. 运算符丰富                            B. 数据结构丰富

C. 可以直接访问物理地址                  D.  函数包含的语句数目没有限制

  D。

【例1-1-2】下列关于C 语言标识符的叙述中正确的是        

A. 标识符中可以出现下划线和中划线(减号)

B. 标识符中不可以出现中划线,但可以出现下划线

C.  标识符中可以出现下划线,但不可以放在标识符的开头

D.  标识符中可以出现在下划线和数字,它们都可以放在标识符的开头

D  解:标识符中不能有中划线,可以有下划线,且可以放在标识符的开头,但数字不 能放在标识符的开头。本题答案为B

【例1-1-3】以下可用作C 语言用户标识符的一组标识是         9

A.void,define,WORD                                                 B.a3-3,_ 123,if

C.For,_abc,Case                                                         D.2a,DO,sizeof

① 解:在选项A 中void是C 语言关键字,define是预编译符;在选项B中a3-3不是合法的 标识符,ifC语言关键字;在选项D 2a不是合法的标识符,sizeof C语言关键字;只有 选项C中均是合法的标识符。本题答案为C

【例1-1-4】以下面几组选项中,均为不合法的标识符是        o

A.A,P_0,do                                                                 B.float,la0,_A

C.b-a,goto,int                                                               D._ 123,temp,INT

D  解:选项AAP_0 是合法的标识符,do 是关键字,不是合法的标识符;选项Bla0  A是合法的标识符,float 是关键字,不是合法的标识符;选项C中均为不合法的标识 符,因为gotoint都是关键字,b-a 包含了不合法的字符“-”;选项D中均为合法的标识符(注 意 ,INT 不同于int,   后者是关键字,前者不是)。本题答案为C

【例1-1-5】以下叙述错误是         o

A.  一个C源程序可由一个或多个函数组成。

B.  一个C源程序必须包含一个main函数。

C.C  源程序的基本组成单位是函数。

D. 在C 源程序中,注释说明只能位于一条语句的后面。

D  解:在C源程序中,注释说明可以放在任意位置上。本题答案为D 【例1-1-6】一个C 语言程序是由_       

A.  一个主程序和若干子程序组成            B.  数组成

C.  若干过程组成                           D.  若干子程序组成 D  :C 语言程序是由函数组成的。本题答案为B。

【例1-1-7】C 语言规定,在一个源程序中,main 函数的位置     

A.  必须在最开始                          B.  必须在系统调用的库函数的后面

C.  可以任意                               D.  必须在最后

① 解main函数可以放在任意位置,只是不能放在其他函数中间。本题答案为C。

【例1-1-8】以下      C 程序的基本结构单位。

A. 文件             B.  语句           C.  函数         D. 表达式

D  解:文件是C 程序的基本编译单元;表达式是运算符和运算数等构成的一个序列, 其目的是用来说明一个计算过程;语句是C 程序的基本组成单位。只有函数才是C程序的基 本结构单位。本题答案为C

【例1-1-9】 个C 程序的执行是从        。

A. 本程序的main函数开始,到main函数结束

B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C. 本程序的main函数开始,到本程序文件的最后一个函数结束

D.  本程序文件的第一个函数开始,到本程序的main函数结束

D   解:C程序的执行从main函数开始,直到main函数结束,中间可以调用其他函数。 本题答案为A

【例1 - 1 - 10】 以下叙述正确的是       

A.  C程序中,main函数必须位于程序的最前面 B.C 程序的每行中只能写一条语句

C. 结构化程序由顺序、选择和循环三种基本结构组成

D.  在对一个C程序进行编译的过程中,可发现注释中的拼写错误  C

2. 填空题

【例1-1-11】C  语言规定,标识符只能由_  ①     ② 、  ③  三种字符组成,而 且,第  个字符必 须是①或  _     o

①解:本题答案为①字母、②下划线、③数字(①和②可以交换)。

【例1-1-12】 个C 程序一般由若干函数构成,程序中至少应包含一个        。

① 解:本题答案为主函数或main函数。

【例1-1-13】 个C 程序总是从_        开始执行的。

解:本题答案为主函数或main函数。

【例1-1-14】程序的三种基本控制结构  ①    结构、     结构和      结构。

 :本题答案为①顺序、②选择(或分支)、③循环(或重复)。

【例1-1-15】C 程序编译后生成 ①      程序,连接后生成      程序。

① 解 :①目标(或 .obj)、②可  行 (  .exe)。

3. 判断题

【例1-1-16】判断以下叙述的正确性。

(1)在执行C程序时不是从main函数开始的。

(2)C    程序书写格式限制严格, 一行内必须写一个语句。

(3)C  程序书写格式比较自由, 一个语句可以分别写在多行上。

(4)C    程序书写格式严格,要求一行内必须写一个语句,并要有行号。

(5)  C程序可由一个或多个函数组成。

(6)  C程序必须包含一个main函数。

(7)C   程序的基本组成单位是函数。

( 8 ) C程序中,注释说明只能位于一条语句的后面。

(9)  C程序只有在编译、连接成.exe 程序时才能执行。

 :( 1 )   。    (2)错误。            (3)正确。

(4)错误。     (5)正确。           (6)正确。

(7)正确。     (8)错误。       (9)正确。

4. 简答题

【例1-1-17】C 程序的三种基本控制结构是什么?

D   解:C 程序的三种基本控制结构是顺序、选择(条件)和循环(重复)结构。顺序 结构是指语句从上往下顺序执行的结构;选择结构是指根据指定的条件确定执行多个语句 中的一个语句的结构;循环结构是指根据指定的条件确定是否重复执行一个语句的结构。 实际上用顺序结构和循环结构完全可以实现选择结构,因此,理论上最基本的控制结构只 有两种。

结构化程序设计中只能使用这三种基本控制结构。

【例1-1-18】举例说明程序的三种基本结构。

D 解:程序的三种基本结构为顺序结构、选择结构和循环结构。例如,

以下为顺序结构:

int x=10;
printf("8d\n",&x);

以下为选择结构:

if(x>0)
y=1;
else if(x==0)
y=0; else
y=-1;

以下为循环结构:

for(i=0;i<10;i++)S=s+i;

【例1-1-19】  C 程序中函数的调用关系如图1.1所示,说明该程序的执行过程。

 :将图1.1-称为程序结构图,因为它反映了程序中函数之间的调用关系,即结构 组成关系。在该程序中,先从main函数开始执行;在执行main函数时,需要调用f1(函数,  则转向f1()函数去执行,f1()函数执行完毕,又返回到main函数;然后main 又要调用f2()函数,

则转向f2()函数去执行,f2()函数执行完毕,又返回到main 数;继续执行main 函数余下的 语句,当全部执行完毕,则退出整个程序的执行过程。

同样,在执行f1() 函数时,又先后调用f11() f12()  f() 函数执行,最后都返回到f1() 数。在执行f2()函数时,先后调用f()和f21()函数执行,最后都返回到f2()函数。整个程序的 执行过程如图1.2所示,图中的虚线表示程

【例1-1-20】C 编译程序的功能是什么?

D   解:C 编译程序的功能是对C 源程序进行语法检查,若无语法错误,再翻译成目标代 码,最后通过与标准库连接后形成可执行文件。

没有C编译程序,编写的C程序是无法运行的。目前常用的C编译程序有Turbo  C Visual C++ Borland   C++等。

💬 互动问答:你在学习指针时遇到过哪些困惑?欢迎在评论区留言讨论!如果觉得本文对你有帮助,别忘了点赞👍、收藏⭐并关注作者获取更多C语言干货!

关注作者:持续更新C语言/C++、数据结构、算法、嵌入式开发等技术干货,带你从入门到精通!

下一章节内容预告:

数据类型及其运算

基本知识点C 语言的数据类型、常量和变量、运算符、表达式等相关概念。

      :各种类型的数据之间的相互转换。

难      :在程序设计中正确利用各种数据类型和相关运算符解决实际问题。

http://www.dtcms.com/a/278013.html

相关文章:

  • dll文件缺失解决方法
  • C++——static成员
  • HiPPO: Recurrent Memory with Optimal Polynomial Projections论文精读(逐段解析)
  • QT控件命名简写
  • Linux内核高效之道:Slab分配器与task_struct缓存管理
  • 编译器优化——LLVM IR,零基础入门
  • 学习C++、QT---23(QT中QFileDialog库实现文件选择框打开、保存讲解)
  • 7月13日日记
  • 时间管理四象限理论
  • 小白学Python,操作文件和文件夹
  • 阶段性渗透总结
  • 第五章 Python手写数字识别【CNN卷积神经网络实现】
  • Windows怎样同步时间服务器?
  • 最简约的Windows多标签页文件管理器推荐 - 360文件夹 - 免费开源绿色软件推荐
  • Lucene原理
  • Android自定义View的事件分发流程
  • (33)记录描述窗体组件属性的枚举量 enum Qt :: WidgetAttribute, 简记为 WA_
  • Java结构型模式---外观模式
  • 和 *,以及 -> 和 .
  • C语言基础知识--柔性数组
  • 串口学习和蓝牙通信HC05(第八天)
  • LlamaIndex 检索器 Retriever
  • 题目V^V
  • 008_Claude_Code开发工具
  • 自注意力机制及其与早期注意力机制的区别
  • C++高频知识点(十)
  • Android 响应式编程完整指南:StateFlow、SharedFlow、LiveData 详解
  • 封装---统一封装处理页面标题
  • 关于 java:11. 项目结构、Maven、Gradle 构建系统
  • DAY02:【ML 第一弹】KNN算法