程序设计语言的组成

程序设计语言的组成

程序设计语言基本上由数据、运算、控制、传输组成

数据成分

数据是程序操作的对象,具有存储类别、类型、名称、作用域和生存期等属性

从不同角度可将数据进行不同的划分。

数据类型的分类如下:

程序运行过程中数据的值能否改变,可分为常量(整型常量、实型常量、字符常量、符号常量)和变量。

数据的作用域范围可分为全局量和局部量。

数据组织形式的不同可分为基本类型、用户自定义类型、构造类型及其他类型。

运算成分

大多数程序设计语言的基本运算可分为算术运算、关系运算、逻辑运算。为了确保运算结果的唯一性,运算符号规定优先级和结合性。

控制成分

控制成分指明语言允许表达的控制结构,程序员使用控制成分来构造程序中的控制逻辑。

理论上已经表明,可计算问题的程序都可以用顺序、选择和循环这三种控制结构来描述。

传输成分

传输成分指明语言允许的数据传输方式,包括赋值处理、数据的输入、输出

函数

函数是程序模块的主要组成部分,它是一块具有独立功能的程序代码模块。

函数的三个基本概念为:函数定义、函数声明、函数调用。
函数定义

在程序中用到的所有函数,必须“先定义,后使用”,指定函数的名字、函数返回值类型、函数实现的功能以及参数的个数与类型,并将这些信息通知编译系统。
函数声明

如果使用自己定义的函数,而该函数的位置在调用它的函数(即主调函数)的后面(在同一个文件中),应该在主调函数中对被调用的函数作声明(declaration)。

声明的作用是把函数名、函数参数的个数和参数类型等信息通知编译系统,以便在遇到函数调用时,编译系统能正确识别函数并检查调用是否合法。如果被调用函数的定义出现在主调函数之前,或在文件的开头(在所有函数之前)已对本文件中所调用的函数进行了声明,则在各函数中不必对其所调用的函数再作声明。
函数调用

一个函数需要使用另一个函数的功能时,称为函数调用。

  • 嵌套调用:函数的嵌套调用是指在调用一个函数的过程中,又调用另一个函数。
  • 递归调用:函数的递归调用是指在调用一个函数的过程中又直接或间接地调用该函数本身

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ncc匹配提速总结

我们ncc最原始的匹配方法是:学习模板w*h个像素都要带入ncc公式计算 第一种提速,学习模板是w*h,而我们支取其中的w/2*h/2,匹配窗口同理,计算量只有1/4。 另外一种因为ncc是线性匹配,我们在这上面也做了文章&#xff0…

Lua weak表

之前写过一篇博客专门介绍了weak表:Lua弱引用表-CSDN博客,这两天阅读了《programming in lua》后有了些新的体会,在这里只做一些之前没有了解的补充内容。 定义 Lua 自动进行内存的管理。程序只能创建对象(表,函数等…

鸿蒙harmony--TypeScript对象详解

生活就是用那一两分的甜,冲淡那八九分的苦,把身体照顾好,把喜欢的事做好,把重要的人待好,你要的一切都在路上! 目录 一,定义 二,属性修饰符 2.1 可选属性 2.2 readonly 属性 三&…

【面试】互联网软件研发岗位,面试内容准备方向(技术面试考察点)

【面试】互联网软件研发岗位,面试内容准备方向(技术面试考察点) 文章目录 1、简历筛选与面试评价2、面试内容(通用 & 沟通表达)3、面试内容(八股 & 基础知识)4、面试内容(项…

《UE5_C++多人TPS完整教程》学习笔记2 ——《P3 多人游戏概念(Multiplayer Concept)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P3 多人游戏概念(Multiplayer Concept)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译…

如何把手机平板变为电脑的屏幕

文章目录 安装软件运行效果结尾 本文首发地址 https://h89.cn/archives/181.html 最新更新地址 https://gitee.com/chenjim/chenjimblog 闲置的手机平板、触屏音箱等,均可作为电脑的扩展屏,为电脑增加一块显示屏,本文介绍如何使用免费的软件s…

DS Wannabe之5-AM Project: DS 30day int prep day12

Q1. Where is the confusion matrix used? Which module would you use to show it? 混淆矩阵 混淆矩阵常用于评估分类模型的性能,特别是在二分类或多分类问题中。它展示了实际类别与模型预测类别之间的关系。在Python中,可以使用sklearn.metrics模块…

代码随想录算法训练营DAY13 | 栈与队列 (3)

一、LeetCode 239 滑动窗口最大值 题目链接&#xff1a;239.滑动窗口最大值https://leetcode.cn/problems/sliding-window-maximum/ 思路&#xff1a;使用单调队列&#xff0c;只保存窗口中可能存在的最大值&#xff0c;从而降低时间复杂度。 public class MyQueue{Deque<I…

【闲谈】初识深度学习

在过去的十年中&#xff0c;深度学习彻底改变了我们处理数据和解决复杂问题的方式。从图像识别到自然语言处理&#xff0c;再到游戏玩法&#xff0c;深度学习的应用广泛且深入。本文将探讨深度学习的基础知识、关键技术以及最新的研究进展&#xff0c;为读者提供一个全面的视角…

9 scala的类继承及trait

1 class 继承 为了提高代码的重用性&#xff0c;提高开发效率&#xff0c;Scala 的 class 是支持继承的。 Scala 的继承与 Java 的继承非常类似&#xff1a; (1) 单继承&#xff1a; 类似于 Java&#xff0c;Scala 也只支持单继承&#xff0c;一个类只能直接继承自一个父类…

第三节 zookeeper基础应用与实战2

目录 1. Watch事件监听 1.1 一次性监听方式&#xff1a;Watcher 1.2 Curator事件监听机制 2. 事务&异步操作演示 2.1 事务演示 2.2 异步操作 3. Zookeeper权限控制 3.1 zk权限控制介绍 3.2 Scheme 权限模式 3.3 ID 授权对象 3.4 Permission权限类型 3.5 在控制台…

Linux中孤儿/僵尸进程/wait/waitpid函数

孤儿进程&#xff1a; 概念&#xff1a;若子进程的父进程已经死掉&#xff0c;而子进程还存活着&#xff0c;这个进程就成了孤儿进程。 为了保证每个进程都有一个父进程&#xff0c;孤儿进程会被init进程领养&#xff0c;init进程成为了孤儿进程的养父进程&#xff0c;当孤儿…

DataBinding简易入门

简介 DataBinding是Google在18年推出的数据绑定框架&#xff0c;采用了MVVM模式来降低各模块之间代码的耦合度&#xff0c;使得整体代码逻辑设计更加清晰。众所周知&#xff0c;MVVM类似于MVC&#xff0c;主要目的是为分离View&#xff08;视图&#xff09;和Model&#xff08…

学习之旅10------掌握jQuery:实用应用案例深度解析

目录 写在开头1. jQuery基础知识回顾1.1. 选择器1.2. 事件1.3. 效果1.4. DOM操作1.5. AJAX 2. 实用应用案例分析2.1. 动态内容加载2.2. 表单验证2.3. 图像滑动门效果2.4. 创建动态导航菜单 3. 高级技巧与最佳实践3.1. 优化jQuery代码的性能3.2. jQuery插件的使用和自定义3.3. j…

人工智能在金融领域的革新:挑战与机遇

人工智能在金融领域的应用已经带来了革命性的变化&#xff0c;它不仅提高了金融服务的效率和便利性&#xff0c;也为金融机构提供了更多的数据分析和风险管理工具。然而&#xff0c;人工智能在金融领域的应用也面临着一些挑战&#xff0c;下面将就这些挑战和机遇进行探讨。 挑战…

MATLAB知识点:isempty函数(★★★★☆)判断数组是否为空

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章&#xff1a;课后习题讲解中拓展的函数 在讲解第…

rk3568 适配USB

rk3568 适配 USB USB(通用串行总线)是一种常见的电脑外部设备连接标准。它是一种用于连接计算机和外部设备的通信接口。USB接口是一种热插拔技术,能够在计算机运行时插拔设备而无需重启系统。 RK3568 USB接口的最新版本是USB 3.0,它提供了更高的传输速度和更大的带宽。USB…

OpenCV入门:图像处理的基石

在数字图像处理领域&#xff0c;OpenCV&#xff08;开源计算机视觉库&#xff09;是一个不可或缺的工具。它包含了一系列强大的算法和函数&#xff0c;使得开发者可以轻松地处理图像和视频数据。本文将带你走进OpenCV的世界&#xff0c;了解其基本概念和常见应用。 1. OpenCV简…

uniapp微信小程序开发踩坑日记:Pinia持久化

如果你使用过Pinia&#xff0c;那你应该知道Pinia持久化插件&#xff1a;https://prazdevs.github.io/pinia-plugin-persistedstate/zh/ 但由于官方文档提供的说明并不是针对小程序开发&#xff0c;所以我们在使用这个插件实现uniapp小程序开发中Pinia持久化会出现问题 我在C…

Rust函数入门与函数重载

在Rust中&#xff0c;函数是一种重要的组织代码的方式&#xff0c;允许开发者将一段特定的功能封装成可重用的模块。本篇博客将介绍Rust中函数的基本概念&#xff0c;并深入探讨函数的重载以及一些常见的函数用法。 函数基础 声明和调用函数 在Rust中&#xff0c;函数的声明…