【C语言】C语言从入门到精通 | 第1章 C语言概述—自学笔记

前言

        本篇是本人自学C语言过程进行编辑的文章笔记,如果对大家有用,点赞加收藏吧。

注:笔记基于《C语言从入门到精通(第3版)》明日科技编著,清华大学出版社出版的。


目录

一、C语言发展史

(一)程序语言简述

1、机器语言

2、汇编语言

3、高级语言

(二)C语言的历史

二、C语言的特点

(一)高效性

(二)灵活性

(三)功能丰富

(四)表达力强

(五)移植性好

三、一个简单的 C 程序

(一)#include 指令

(二)空行

(三)main 函数声明

(四)函数体

(五)执行语句

(六) return 语句

(七)代码注释

四、一个完整的 C 程序

(一)定义常量

(二)函数声明

(三)定义变量

(四)输入语句

(五)数学运算语句

五、C 语言程序格式

(一) 主函数 main

(二)C程序整体是由函数构成的

(三)函数体的内容在“{}”中

(四)每一个执行语句都以“ ; ”结尾

(五)英文字符大小不通用

(六)空格、空行的使用

六、开发环境

总结

尾注


一、C语言发展史

(一)程序语言简述

1、机器语言

        机器语言是低级语言,也称为二进制代码语言,由 0 和 1 组成的二进制数组成的一串指令来表达计算机操作的语言。特点:直接识别,不要进行翻译。

2、汇编语言

        汇编语言是面向机器的程序设计语言,为了减轻使用机器语言编程的痛苦,用英文字母或符号串来代替机器语言的二进制码,汇编语言比机器语言更加便于阅读和理解,但是依赖计算机硬件,程序的可读性和可移植性都不是很好。

3、高级语言

        高级语言主要是相对于汇编语言,它是较接近自然语言和数学公式的编程基本脱离了机器的硬件系统,用人们更易理解的方式编写程序,编写的程序称之为源程序。(来自百度百科)

(二)C语言的历史

        C语言是在BCPL语言(简称 B语言)的基础上发展和完善起来的,B语言是由 UNIX 的研发者丹尼斯·里奇和肯·汤普逊于1970年研发出来的,20世纪70年代初期,AT&T Bell 实验室的程序员丹尼斯·里奇第一次把B语言改为C语言。UNIX 成为第一个不是用汇编语言编写的主流操作系统。 

        1983年,美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言草案(83ANSI C),后来于1987年又颁布了另一个C语言标准草案(87ANSI C),最新的C语言标准C99于1999年颁布,并在2000年3月被ANSI采用。但由于未得到主流编译器厂家的支持,C99并未得到广泛使用。

        尽管C语言是在大型商业机构和学术界的研究实验室研发的,但是当开发者们为第一台个人计算机提供 C 编译系统之后,C语言就得以广泛传播,并为大多数程序员所接受。对MS-DOS操作系统来说,系统软件和实用程序都是用C语言编写的Windows操作系统大部分也是用C语言编写的

        C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点,可以广泛应用于不同的操作系统,如UNIX、MS-DOS、Microsoft Windows 以 Linux

目前最流行的 C语言有:

  • Microsoft C 或称 MS C
  • Borland Turbo C 或称 Turbo C
  • AT&T C

二、C语言的特点

(一)高效性

        从 C 语言的发展史可以看出它继承了低级语言的优点,产生了高效的代码,并具有友好的可读性和可编写性,一般情况下,C 语言生成的目标代码的执行效率只比汇编程序低 10%~20%

(二)灵活性

        可在原有语法基础上进行创造、复合,从而给程序员更多的想象和发挥空间。

(三)功能丰富

        除了 C 语言中所具有的类型,还可以使用丰富的运算符和自定义的结构类型,来表达任何复杂的数据类型,来完成所需功能。

(四)表达力强

        C 语言的语法形式与人们使用的语言形式相似书写形式自由结构规范,并只需简单的控制语句即可轻松控制程序流程。

(五)移植性好

        C 程序在不同的操作系统下,只需要简单修改或者不修改即可进行跨平台的程序开发操作。

三、一个简单的 C 程序

#include"stdio.h"

int main()
{
	printf("Hello,world! I'm coming!\n"); /*输出要显示的字符串*/
	return 0;	                          /*程序返回0*/
}

运行程序,显示效果: 

(一)#include 指令

#include"stdio.h"

        语句的功能是进行有关的预处理操作include 称为文件包含命令,后面尖括号中的内容称为头部文件或首文件。

(二)空行

        空格、空行、跳格并不会影响程序,但合理、恰当地使用空格、空行可以使程序更加规范,方便日后阅读和整理。

注意:并不是所有的空格都没有用,如两个关键字之间要用空格隔开(else if),如果去掉空格,则程序就不能编译成功。

(三)main 函数声明

int main()

        代码表示声明 main 函数为一个返回值,是整型的函数,其中 int 称为关键字。在函数中,这一部分称为函数头部分,每一个程序都有一个 main 函数,它是一个程序的入口部分,是从 main函数头开始执行的,进入 mian 函数中,执行 main 函数中的内容。

(四)函数体

{
	printf("Hello,world! I'm coming!\n"); /*输出要显示的字符串*/
	return 0;	                          /*程序返回0*/
}

        一个函数有两个部分:函数头和函数体。代码中两个大括号构成了函数体,也称为函数的语句块。

(五)执行语句

printf("Hello,world! I'm coming!\n"); /*输出要显示的字符串*/

        执行语句函数体中要执行的动作内容,代码中的 printf 产生格式化输出的函数,可以理解为向控制台进行输出文字或符号,括号中的内容称为函数的参数,其中“ \n ”表示换行,称之为转义字符。

(六) return 语句

return 0;	

        此语句使 main 函数终止运行,并向操作系统返回一个整型常量0,在此处可将 return 理解成 main 函数的结束标志。

(七)代码注释

printf("Hello,world! I'm coming!\n"); /*输出要显示的字符串*/
return 0;	                          /*程序返回0*/

        代码后的解释描述称为代码的注释,是用来对代码进行解释说明,以方便自己或他人阅读源程序时快速理解程序代码的含义和设计思想。

四、一个完整的 C 程序

        例:有一个长方体,它的高已经给出,然后输入长方体的长和宽,通过输入的长、宽以及给定的高度,计算出长方体的体积。

#include "stdafx.h"
#include<stdio.h>						/*包含头文件*/
#define Height 10						/*定义常量*/

int calculate(int Long, int Width);			/*函数声明*/
int main()								/*主函数main*/
{
	int m_Long;						/*定义整型变量,表示长度*/
	int m_Width;						/*定义整型变量,表示宽度*/
	int result;							/*定义整型变量,表示长方体的体积*/

	printf("长方形的高度为:%d\n",Height);	/*显示提示*/
	
	printf("请输入长度\n");				/*显示提示*/
	scanf("%d",&m_Long);				/*输入长方体的长度*/

	printf("请输入宽度\n");				/*显示提示*/
	scanf("%d",&m_Width);				/*输入长方体的宽度*/

	result=calculate(m_Long,m_Width);		/*调用函数,计算体积*/
	printf("长方体的体积是:");			/*显示提示*/
	printf("%d\n",result);					/*输出体积大小*/
	return 0;							/*返回整型0*/
}

int calculate(int Long, int Width)				/*定义计算体积函数*/
{
	int result =Long*Width*Height;			/*具体计算体积*/
	return result;						/*将计算的体积结果返回*/
}

运行程序,显示效果: 

 程序流程分析图:

(一)定义常量

#define Height 10						/*定义常量*/

       使用 #define 定义一个符号 Height,并指定这个符号代表的值为10。

(二)函数声明

int calculate(int Long, int Width);			/*函数声明*/

        声明 calculate 函数,那么在后面会有 calculate 函数的具体定义内容,这样程序中出现 calculate 函数,程序会根据 calculate 函数的定义执行有关操作。 

(三)定义变量

int m_Long;						/*定义整型变量,表示长度*/
int m_Width;						/*定义整型变量,表示宽度*/
int result;							/*定义整型变量,表示长方体的体积*/

        在 C 语言中,在使用变量之前必须进行定义,之后编译器会根据变量的类型为变量分配内存空间变量的作用就是储存数值,用变量进行计算。 

(四)输入语句

scanf("%d",&m_Long);				/*输入长方体的长度*/

        在 C 语言中 scanf 函数是用来接收键盘输入的内容并将输入的内容保存在相应的变量中,在 scanf 函数中,m_Long 是之前定义的整型变量,其作用是储存输入的信息内容,其中“ & ”符号表示取地址运算符。

(五)数学运算语句

int result =Long*Width*Height;			/*具体计算体积*/

        在 calculate 函数体中,其功能是将三个变量相乘得到结果保存在 result 变量中,“ * ”代表乘法运算符。

程序执行过程总结:

(1)包含程序所需要的头文件。

(2)定义一个常量Height,其值代表为10。

(3)对calculate函数进行声明。

(4)进入main函数,程序开始执行。

(5)在main函数中,首先定义3个整型变量,3个变量分别代表着长方体的长度、宽度和长方体的体积。

(6)显示提示文字,然后根据显示的文字输入有关的数据。

(7)当将长方体的长度和宽度都输入之后会调用calculate函数,计算长方体的体积。

(8)定义calculate函数的位置在main函数的下面,在calculate函数体内将计算长方体体积的结构进行返回。

(9)在main函数中,result变量得到了calculate函数返回的结果。

(10)通过输出语句将其中长方体的体积显示出来。

(11)程序结束。

五、C 语言程序格式

(一) 主函数 main

        C 程序都是从 main 函数开始执行的,main 函数所在的位置没有关系

(二)C程序整体是由函数构成的

        main 是程序中的主函数,在程序中是可以定义其他函数的,在这些定义函数中进行特殊的操作,使得函数完成特定的功能。

(三)函数体的内容在“{}”中

        C 语言使用一对大括号来表示程序的结构层次,注意左右大括号要对应使用

(四)每一个执行语句都以“ ; ”结尾

        执行语句后有“ ”(分号)作为语句结束的标志

(五)英文字符大小不通用

        同一大小写字母意义不同,关键字和标准库函数名必须小写

(六)空格、空行的使用

        其作用是增加程序的可读性,使得程序代码位置合理、美观。

六、开发环境

        书中介绍了两种学习开发 C语言的开发工具:一个是 Turbo C 2.0 ,另一个是 Visual C++ 6.0,本人使用的VS 2022(Visual Studio 2022)。

        Turbo C (简称TC)小巧、简单、操作直观,将程序的编辑、编译、链接和运行等操作集中在一个界面上进行,但是不能使用鼠标操作

Turbo C 2.0 主界面

        Visual C++ 6.0 功能强大的可视化开发软件,其操作界面比 Turbo C 友好,更加快捷、方便。(微软公司已停止对Visual C++ 6.0的技术支持,也不提供下载,而且win10、win11对Visual C++ 6.0兼容性差,可能无法正常使用。本书使用的是Visual C++ 6.0中文版)

       Visual C++ 6.0安装及环境搭建请参考文件 VisualC++6.0环境搭建与程序调试-CSDN文库

Visual C++ 6.0主界面

        本人使用的是Visual Studio 2022(简称VS),VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等,所写的目标代码适用于微软支持的所有平台,支持多种语言进行开发哦。

Visual Studio 2022 主界面
Visual Studio 2022 开发界面

        Visual Studio 2022安装请参考其他博客:VS2022安装教程_空弦的编程小屋的博客


总结

        简单介绍了 C 语言的发展史,后讲述了 C 语言的特点,看出 C 语言的重要地位,再通过一个简单的 C 语言程序和一个完整的 C 语言程序,将 C 语言的格式呈现出来,是我们对 C 语言有一个总体认识。


尾注

        希望这篇笔记文章对你有所帮助,记得转载、点赞、收藏,支持一下,小编将会持续更新哦

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小泽的熊先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值