IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言入门基础理论知识(一) -> 正文阅读

[C++知识库]C语言入门基础理论知识(一)

C语言程序开发过程

C语言是一种面向过程的程序设计语言,具有使用简洁、灵活、方便、运算符丰富、表达能力强、数据类型丰富、可移植性好、生成目标代码质量高等特点。

程序开发过程

C语言程序是由一个或多个具有独立功能模块组成,这些模块成为函数,也是组成程序的基本单位,在这些函数中,必须有一个名为main的函数,该函数成为主函数,也是一个程序的入口。

  • 编辑:C语言源程序需要先经过编写,然后通过计算机存储到磁盘文件中,这一过程称为编辑。编辑包括以下内容:
    1.编写C语言源程序。
    2.将源程序逐个字符输入到计算机。
    3.修改源程序。
    4.将修改好的源程序保存到磁盘文件中,此时文件扩展名为cpp
    -** 编译**:就是将已编辑好的源程序翻译成二进制的目标代码,编译过程如下:
    1. 对源程序进行语法检查,若有错,指出错误所在,此时应进入编辑状态进行修改,再重新编译。
    2. 若无错,生成扩展名为.obj的目标文件。
  • 连接:经编译后得到的二进制代码还不能直接执行,还需要把编译好的各个模块的目标代码与系统的标准模块(C语言标准函数库)进行连接,得到具有绝对地址的可执行文件(此处体现了C语言具有允许直接访问物理地址,即直接对硬件操作的特点),其扩展名为.exe
  • 执行:执行一个经编译和连接后得到的可执行文件。

C语言开发步骤

  • 需求分析:是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应该输出什么。
  • 算法设计:是指对要解决的问题设计出解决问题的方法和具体步骤。
  • 编写程序:是把算法设计的结果变成一行行代码,输入到程序编辑器中,然后将此源程序以文件的形式保存到自己的指定文件夹中。
  • 编译程序:需要利用编译器把送入的源程序翻译成机器语言。
  • 连接程序:经过编译得到的目标文件不能供计算机直接执行。前面已经介绍此处就不多做解释。
  • 运行程序:运行可执行文件,得到运行结果。能得到运行结果并不能说明程序是正确的,要对运行结果进行分析,分析其是否合理。检查是最好多设计几组数据检查。如果出现某一组数据有问题,说明程序存在逻辑错误,此时应该去修改源程序,直到没有错误为止。
  • 编写程序文档:如同正式产品都有产品说明书一样,正式提供给用户使用的程序,也必须向用户提供程序说明书。程序说明书也被称为用户文档,应该包含程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等内容。

函数及其结构

  • 语句(是组成函数的基本单位):C语言规定每个语句都必须由“ ;”结束。语句分为以下两种:
    1.说明语句:说明语句用来完成对数据的描述,程序中用到的每一个变量都要先通过说明语句来定义,定义后才能使用
    2.可执行语句:可执行语句用来完成对数据的操作,是程序中用到的常量和用说明语句定义的变量进行加工处理。
    (1)表达式语句:一个C语言表达式后跟一个分号构成的语句。格式为:表达式;
    (2)函数调用语句:是把函数调用作为一条语句(在写代码过程中会用到很多)。
    (3)空语句:只有一个分号构成的语句。程序在执行是不产生任何操作。
    (4)复合语句:是一对花括号括起来的一组语句。格式为:{语句1 语句2 语句3…语句}
    (5)流程控制语句:用于控制程序流向,它们由系统特定关键字组成。可分为以下三类:
  • 条件判断语句:if语句switch语句
  • 循环语句:do while语句while语句for语句
  • 转向语句:break语句continue语句return语句goto语句

标识符

是用来标识某个实体的符号,标识符分为以下三类:

  • 系统标识符:是C语言的关键字包括数据类型标识符、储存类别标识符、流程控制标识符和存储长度运算符等。
  • 预定义标识符:是C语言中预先定义使用的标识符。图系统常量(NULL等)、库函数名(printf、scanf、sqrt、fabs)等。
  • 用户自定义标识符:使用户在程序中所使用的标识符,标识符的命名规则:以字母或下划线开头,由字母、数字、下划线组成。注意用户标识符不能与系统关键字同名、标识符区分大小写、标识符一个做到“见名知意”(总不能你自己整了个标识符结果自己还不知道啥意思吧)、预定义标识符不是C语言的关键字。

函数定义

函数定义的格式为:
返回值类型 函数名(参数类型1 形式参数名1,…,参数类型N 形式参数N)
{
数据定义
数据操作
}

说明

  • 返回值类型是由系统提供的类型标识符,用以说明该函数返回值的类型,如果没有定义函数返回值类型,系统默认返回值类型为int。
  • 函数名、形式参数名必须是C语言的合法标识符,由用户对其进行命名,命名时必须遵循标识符命名规则。
  • 形式参数简称形参,参数类型是系统提供的类型标识符,用以说明相应形参类型。
  • 一对花括号是函数必不可少的组成部分。其内的部分称为函数体,通常由数据定义和数据操作两部分组成。数据定义部分用以定义函数中将要用到的数据;数据操作由若干条可执行语句组成,由他们给出对数据的所做操作。
  • 如果函数有返回值,通常在函数体内必须有return语句,用来返回函数执行的结果。
  • == return语句的作用:使程序流程从被调函数返回到主调函数的函数调用处,并将被调函数的返回值带回到函数调用处==。

函数调用及函数声明

1.函数调用

如果在一个程序中除了主函数外,还有其他函数,要完成其他函数的功能,必须由主函数或另一个函数来调用,把调用其他函数的称为主调函数,相应的其他函数称为被调函数。
函数调用的一般格式:
【变量=】被调函数名(实际参数)
说明

  • 实际参数简称实参,实参可以是常量,也可以是变量,还可以是表达式,但变量和表达式都必须有确定的值
  • 实参和形参一一对应 ,即实参要与形参的顺序、个数、类型保持一致,两个实参直接用逗号分隔。
  • 方括号的内容是可选的,当被调函数有返回值时,应该将函数调用的结果赋值给一个变量。

2.函数声明

在一个函数调用另一个函数之前,必须对被调函数进行声明。
函数声明格式:
类型标识符 函数名 (形参表)

-函数声明是一个说明语句,必须在结尾加上分号。

主函数的结构

在C语言程序中,必须有一个主函数。
主函数书写格式:
int main
{
数据定义
数据输入
函数调用
数据输出
return 0;
}

-return 0;用于通知操作系统程序正常结束。

注释

  • 以 /开头 ,以/结束,中间写注释内容。用于多行注释。(此处反斜杠有星号,我不知道为啥显示不出来,将就着看一下吧,后面代码部分会展示)
  • 以//开头,在后面写注释内容。用于单行注释。

代码展示

输出你好

#include <stido.h>//预处理命令后面会讲到
int main()/*这是主函数*/
{
	printf("你好\n");//在屏幕上打印显示你好,'\n'为转义字符后面会讲到
	return 0;//这是int main必不可少的,这是在告诉系统,程序到此处运行结束
}

输入两个整数并求出两个整数的和(必须使用函数调用)

首先我们分析题目
1.题上告诉我们要输入两个量和得出结果,所以我们需要定义3个变量
2.有了变量后我们要知道求和公式:输入的nmu1+输入的num2=和
3.此处我们会用到函数调用,所以我们还需要声明自定义函数

#include <stdio.h>//预处理命令
int SUM(int x,int y);//声明自定义函数
int main()//主函数,也是程序的入口
{//以下是主函数的函数体
	int num1,num2,sum;//定义三个变量为整型,每两个变量之间用逗号隔开
	printf("请输入两个整数:");//printf是输出库函数,在这里起到的作用是提示用户输入
	scanf("%d%d",&num1,&num2);//实现输入功能的scanf库函数,'&'这是地址符,scanf的小伙伴,没有它scanf就不想工作了哦
	sum=SUM(num1,num2);//调用自定义函数SUM
	printf("两个整数的和是:%d\n",sum);//输出结果
	return 0;//程序结束
}
int SUM(int x,inty)//有声明必有定义,所以这里是SUM函数的函数定义
{
	int z;//跟主函数里面的sum一样用来装结果的一个变量
	z=x+y;//将x+y的值赋给z
	return z;//程序读到此处z已经有值了,return就开始发挥作用了,带着z的值回到调用处
}

欢迎大佬指正

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 12:34:54  更:2021-11-17 12:35:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:19:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码