C语言从入门到精通 第一章(程序设计和C语言)

 写在前面:

  1. 本系列专栏主要介绍C语言的相关知识,思路以下面的参考链接教程为主,大部分笔记也出自该教程。
  2. 除了参考下面的链接教程以外,笔者还参考了其它的一些C语言教材,笔者认为重要的部分大多都会用粗体标注(未被标注出的部分可能全是重点,可根据相关部分的示例代码量和注释量判断,或者根据实际经验判断)。
  3. 如有错漏欢迎指出。

参考教程:C语言程序设计从入门到进阶【比特鹏哥c语言2024完整版视频教程】(c语言基础入门c语言软件安装C语言指针c语言考研C语言专升本C语言期末计算机二级C语言c语言_哔哩哔哩_bilibili

一、概述

1、计算机程序

(1)所谓程序,就是一组计算机能识别和执行的指令,只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作。

(2)计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。

(3)计算机的工作过程:

2、计算机语言

(1)计算机语言就是人和计算机交流信息的、计算机和人都能识别的语言。

(2)计算机语言发展阶段:

①机器语言(由0和1组成的指令)。

②符号语言(又叫汇编语言,用英文字母和数字表示指令)。

③高级语言(接近于人的自然语言和数学语言,如C语言)。

3、C语言的主要特点

(1)语言简洁、紧凑,使用方便、灵活。

①C语言只有37个关键字、9种控制语句。

②C程序书写形式自由,源程序短。

(2)运算符丰富。

①C语言有34种运算符。

②C语言把括号、赋值、强制类型转换等都作为运算符处理。

③C语言的表达式类型多样化。

(3)数据类型丰富。

①C语言的数据类型有整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型。

②C99又扩充了复数浮点类型、超长整型(long long)、布尔类型(bool)。

③指针类型数据能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。

(4)具有结构化的控制语句。

①如if…else语句、while语句、do…while语句、switch语句、for语句,这些都是C语言所拥有的语句。

②C语言允许用函数作为程序的模块单位,便于实现程序的模块化。

③如此看来,C语言是完全模块化和结构化的语言。

(5)语法限制不太严格,程序设计自由度大。

①C语言对数组下标越界不做检查。

②C语言对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用。

③C语言允许程序编写者有较大的自由度,因此放宽了语法检查。

(6)用C语言编写的程序可移植性好。

①C的编译系统简洁,很容易移植到新系统。

②C程序在新系统上运行时,可直接编译“标准链接库”中的大部分功能,不需要修改源代码。

③几乎所有计算机系统都可以使用C语言。

(7)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。

(8)生成目标代码质量高,程序执行效率高。

二、最简单的C语言程序

1、注释

(1)单行注释:在编写代码时,只要出现“//”(“///”不算),那么该行后面的内容都是代码的注释,不会影响程序的功能。

(2)多行注释:多行注释以“/*”开头,以“*/”结尾,二者之间的内容全是程序的注释,不会影响程序的功能。

2、主函数

(1)主函数是一个程序的入口,每个程序必须有且只能有一个主函数

(2)举例:

#include<stdio.h>   //要使用库函数,就要包含stdio.h文件(std-standard i-input o-output)

//int是整型的意思(main前面的int表示的是main函数调用返回一个整型值)
int main()     //主函数--程序的入口(必须有且只能有一个)
{
	printf("Hello world\n");   //在屏幕上输出“Hello world”
	printf("Hello world\n");   //print function -- printf - 打印函数
	printf("Hello world\n");   //双引号内的是输出内容,“\n”代表换行
	printf("Hello world\n");   //printf属于库函数,即C语言本身提供给我们使用的函数
	printf("Hello world\n");

	return 0;   //return--返回,这里是返回整数0
}
/*
void main()    //主函数还有这种写法,但是已经过时了
{

}
*/

3、子函数

(1)子函数是程序员自己设计的函数,用于实现程序员需要的功能并封装起来,往后使用这个功能时直接调用自设计的子函数即可,而不需要把该功能对应的代码重写很多遍。

(2)如果子函数的调用在实现之前,那么在调用子函数前需要对子函数进行声明(声明格式为函数首部末尾加一个分号)。

(3)举例:

#define _CRT_SECURE_NO_WARNINGS 1   //使用Visual Studio编译时需要添加,否则可能会报错
#include <stdio.h>

int Add(int x, int y)   //函数有两个整型参数x、y
{
	int z = x + y;   //定义变量z,并赋值为x和y的和
	return z;   //将x和y的和返回给主函数
}
int main()
{
    int Add(int x, int y);  //对子函数Add进行声明
	int num1 = 0;   //定义变量num1
	int num2 = 0;   //定义变量num2
	int sum = 0;   //定义变量sum
	printf("输入两个操作数:>");
	scanf("%d %d", &num1, &num2);   //输入两个数据,以整数的形式分别赋给num1和num2
	sum = Add(num1, num2);   //调用自设计的求和函数Add求num1和num2的和,结果赋给sum
	printf("sum = %d\n", sum);   //输出sum(“%d”的位置对应sum的值)
	return 0;
}

(4)有关子函数的更多内容会在后面再详细介绍。

4、C语句

(1)在前面的例子中可以看到,一个函数包含声明部分和执行部分,执行部分是由语句组成的,语句的作用是向计算机系统发出操作指令,要求执行相应的操作。

(2)C语句分为以下五类:

①控制语句:用于完成一定的控制功能,如下所示(括号中是一个“判别条件”,“…”表示内嵌的语句):

条件语句:if()…else…

循环语句:for()…

循环语句:while()…

循环语句:do…while()

结束本次循环语句:continue

终止执行switch或循环语句:break

多分支选择语句:switch

从函数返回语句:return

转向语句:goto(非必须不建议使用)

②函数调用语句:由一个函数调用加一个分号构成。

③表达式语句:由一个表达式加一个分号构成。

④空语句:只有一个分号,它不执行任何操作,可以用于占位。

⑤复合语句:用花括号“{}”把一些语句和声明括起来,整体称为复合语句(或语句块)。

5、C语言程序的结构特点

(1)一个程序由一个或多个源程序文件组成(小程序往往只包括一个源程序文件)。

(2)一个源程序文件中可以包括三个部分:

①预处理指令:“#include <stdio.h>”等。

②全局声明:在函数之外进行的数据声明。

③函数定义:每个函数用来实现一定的功能。

(3)函数是C程序的主要组成部分。

①一个C程序是由一个或多个函数组成的。

C程序必须包含一个main函数(且只能有一个)

③每个函数都用来实现一个或几个特定功能。

④被调用的函数可以是库函数,也可以是自己编制设计的函数。

(4)一个函数包括两个部分:

①函数首部(函数的第一行):

②函数体:

[1]声明部分:定义在本函数中所用到的变量,对本函数所调用函数进行声明。(有时可省略)

[2]执行部分:由若干个语句组成,指定在函数中所进行的操作。(可以为空,即不进行任何操作,但没必要)

(5)C程序总是从main函数(主函数)开始执行

(6)数据声明和语句最后必须有分号

(7)C语言本身不提供输入输出语句。(上面使用的printf函数是库函数)

(8)程序应当包含注释,增加可读性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zevalin爱灰灰

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

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

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

打赏作者

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

抵扣说明:

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

余额充值