程序语言基础

news2024/7/6 19:02:45

程序语言基础

导航

文章目录

  • 程序语言基础
  • 导航
    • 一、程序设计语言
    • 二、各种程序语言特点
    • 三、高级程序设计语言
    • 四、编译器的工作阶段
    • 五、程序语言的数据成分
    • 六、程序控制结构
    • 七、表达式的例题
    • 八、传值、传址

一、程序设计语言

程序设计语言

  • 高级语言
  • 低级语言
    • 机器语言
    • 汇编语言
      • 指令语句
      • 伪指令语句
      • 宏指令语句

二、各种程序语言特点

  1. Fortran语言(科学计算,执行效率高)
  2. Pascal语言(为教学而开发的,表达能力强,Delphi)
  3. C语言(指针操作能力强,高效)Lisp语言(函数式程序语言,符号处理,人工智能)
  4. C++语言(面向对象,高效)
  5. Java语言(面向对象,中间代码,跨平台)C#语言(面向对象,中间代码,.Net)
  6. Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统)
  7. Python语言(一种脚本语言)

三、高级程序设计语言

  • 解释程序/编译程序
    • 解释程序 也称解释器 源程序,或者中间代码
    • 编译程序 也称编译器 目标语言程序
    • 区别 是否生产独立的目标程序?(解释程序不会产生),编译程序速度比解释程序快
  • 基本概念
    • 语句
    • 语法
    • 语义
    • 语用

四、编译器的工作阶段

image-20240503222239298

  • 词法错误:非法字符,关键字或标识符拼写错误
  • 语法错误:语法结构出错,if··endif不匹酡,缺分号
  • 语义错误(静态错误:程序编译时候的出错;动态错误:程序执行过程中出错):死循环,零除数,其他逻辑错误

五、程序语言的数据成分

程序设计语言的基本成分包括:数据,运算、控制和传输。

数据是程序操作的对象,具有以下属性:

  • 数据名称:由用户通过标识符命名
  • 数据类型:说明数据占用内存的大小和存放形式存储类别:说明数据在内存中的位置和生存期
  • 作用域:说明可以使用数据的代码范围
  • 生存期:说明数据占用内存的时间范围
数据类型基本类型:整型、字符型、实型、布尔类型
特殊类型:空类型(void)
用户定义类型:枚举类型
构造类型:数组、结构、联合
指针类型:type*
抽象类型:类类型

数据类型转换规则:char,short→int→unsigned→long,float→double

六、程序控制结构

三种基本逻辑结构

  1. 顺序结构:是一种线性有序的结构,由一系列依次执行的语句或模块构成
  2. 循环结构:是由一个或几个模块构成,程序运行时重复执行,直到满足某一条件为止
  3. 选择结构:是根据条件成立与否选择执行路径的结构

七、表达式的例题

  1. 前缀表达式(+ab)
  2. 中缀表达式(a+b)
  3. 后缀表达式(ab-) 逆波兰式

解题方法

  • 先构造二叉树,再后序遍历加括号,再移动运算符
  • 每个小运算用括号包起来,然后提取符号到括号右边,最后按照数学运算顺序去掉所有括号
    • a+b*c+d
      • =((a+(b*c))+d)
      • =((a+bc*)+d)
      • =(abc*++d)
      • =abc*+d+
    • (a-b)*(c+5)
      • =((a-b)*(c+5))
      • =(a-b)(c+5)*
      • ab-c5+*

八、传值、传址

传值调用:实际上重新复制了一个副本给形参,不改变调用函数实参变量的内容(有去无回)

传址调用:将实参地址给形参,将改变调用函数实参变量的内容(有去有回)

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

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

相关文章

关于YOLO8学习(四)模型转换为ncnn

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 关于YOLO8学习(三)训练自定义的数据集 简介 本文将会讲解: (1)如何通过PyCharm,进行pt模型的转换,最后输出一个适合手机端使用的模型 开发环境 win10、python 3.11…

农作物害虫检测数据集VOC+YOLO格式18975张97类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):18975 标注数量(xml文件个数):18975 标注数量(txt文件个数):18975 标…

C++进阶----多态

1.多态的概念 1.1 概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同类型的对象去完成时会 产生出不同的状态。 举个例子:比如有一个基类Animal,它有两个子类Dog和Cat。每个…

三个关于文件操作的实例

内容是:通过文件操作,完成一些小的需求。用来查询某文件或者某个文件里面的关键字 1.例子一 (1)需求:在一个指定的目录下,找到包含该关键字的所有文件 (2)要求输入:一个…

C语言中的goto语句

goto label; C 语言中的 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。 #include <stdio.h> int main(){goto first;printf("我是你好\n");first:printf("nihao\n");second:printf("This is 2\n");return 0; } 使用goto会…

mysql其它补充

exist和in的区别 exists 用于对外表记录做筛选。 exists 会遍历外表&#xff0c;将外查询表的每一行&#xff0c;代入内查询进行判断。 当 exists 里的条件语句能够返回记录行时&#xff0c;条件就为真&#xff0c;返回外表当前记录。反之如果 exists 里的条件语句不能返回记…

Day31:单元测试、项目监控、项目部署、项目总结、常见面试题

单元测试 保证独立性。 Assert&#xff1a;断言&#xff0c;一般用来比较是否相等&#xff0c;比如 Assert.assertEquals 在JUnit测试框架中&#xff0c;BeforeClass&#xff0c;Before&#xff0c;After和AfterClass是四个常用的注解&#xff0c;它们的作用如下&#xff1a; …

Python爬虫:XPath解析爬取豆瓣电影Top250示例

一、示例的函数说明&#xff1a; 函数processing()&#xff1a;用于处理字符串中的空白字符&#xff0c;并拼接字符串。 主函数程序入口&#xff1a;每页显示25部影片&#xff0c;实现循环&#xff0c;共10页。通过format方法替换切换的页码的url地址。然后调用实现爬虫程序的…

Golang日志管理:使用log/slog实现高级功能和性能优化

Golang日志管理&#xff1a;使用log/slog实现高级功能和性能优化 简介基础使用初始化和配置日志级别 高级技巧自定义日志格式器条件日志处理 实战案例场景一&#xff1a;API请求日志记录场景二&#xff1a;错误跟踪和用户通知 性能优化优化日志记录的性能异步日志处理选择合适的…

【项目学习01_2024.05.05_Day05】

学习笔记 4.3 接口开发4.3.1 树型表查询4.3.2 开发Mapper4.3.3 开发Service4.3.4 测试Service 4.4 接口测试4.4.1 接口层代码完善4.4.2 测试接口 4.3 接口开发 4.3.1 树型表查询 4.3.2 开发Mapper 在对应的Mapper里定义一个方法 在同名的xml文件里具体定义相应的sql语句 4…

上市公司代理成本数据集(2000-2022年)

01、数据介绍 上市公司的代理成本是指因代理问题所产生的损失&#xff0c;为了解决代理问题所发生的成本。这些成本包括监督成本、约束成本和剩余损失。由于信息的不对称&#xff0c;股东无法知道经理人是在为实现股东收益最大化而努力工作&#xff0c;还是只为满足平稳的投资…

线性数据结构-手写队列-哈希(散列)Hash

什么是hash散列&#xff1f; 哈希表的存在是为了解决能通过O(1)时间复杂度直接索引到指定元素。这是什么意思呢&#xff1f;通过我们使用数组存放元素&#xff0c;都是按照顺序存放的&#xff0c;当需要获取某个元素的时候&#xff0c;则需要对数组进行遍历&#xff0c;获取到指…

定子的检查和包扎及转子的检查

线圈接好后 用摇表测试 线圈和外壳之间的绝缘性&#xff01; 测试通过后进行焊接&#xff01;&#xff0c;焊接的工具在后面的文章中会介绍&#xff01; 焊接好后&#xff0c;包绝缘管。 焊接完成后 进行星型连接&#xff0c;或者三角形连接&#xff01; 白扎带进行绑扎&…

【Android】Android应用性能优化总结

AndroidApp应用性能优化总结 最近大半年的时间里&#xff0c;大部分投在了某国内新能源汽车的某款AndroidApp开发上。 由于该App是该款车上&#xff0c;常用重点应用。所以车厂对应用性能的要求比较高。 主要包括&#xff1a; 应用冷启动达到***ms。应用热(温)启动达到***ms应…

一测知“芯”!芯片测试如何确保电子设备的“心脏”健康?

文章目录 封装&#xff1a;芯片的“铠甲”与“桥梁”测试&#xff1a;芯片质量的“守门员”《芯片封测从入门到精通》亮点内容简介作者简介目录获取方式 在高科技飞速发展的今天&#xff0c;芯片作为电子设备的心脏&#xff0c;承载着计算、控制、存储等核心功能。然而&#xf…

二.数据结构

单链表 数组实现单链表: int head; //head存储这个单链表的头结点 int value[N];//value存储结点的值 int nextt[N];//nextt存储结点的next指针 int id; //id表示当前用到的点的位置 //初始化: void Init(){head-1,id0;//链表的头节点要指向-1,当前结点位置为0 } //在…

python数据分析——在数据分析中有关概率论的知识

参数和统计量 前言一、总体二、样本三、统计抽样四、随机抽样4.1. 抽签法4.2. 随机数法 五、分层抽样六、整群抽样七、系统抽样八、统计参数九、样本统计量十、样本均值和样本方差十一、描述样本集中位置的统计量11.1. 样本均值11.2. 样本中位数11.3. 样本众数 十二、描述样本分…

分层解耦(IOC-DI引入)

目录 一、为什么要解耦 二、示例分析 三、如何解除耦合&#xff1f; 四、控制反转和依赖注入-简述 一、为什么要解耦 内聚&#xff1a;软件中各个功能模块内部的功能联系耦合&#xff1a;衡量软件中各个层/模块之间的依赖、关联的程度软件设计原则&#xff1a;高内聚低耦合…

FilterListener详解

文章目录 MVC模式和三层架构MVC模式三层架构MVC和三层架构 JavaWeb的三大组件Filter概述快速入门过滤器API介绍过滤器开发步骤配置过滤器俩种方式修改idea的过滤器模板 使用细节生命周期拦截路径过滤器链 案例统一解决全站乱码问题登录权限校验验 ServletContextServletContext…

Java项目:基于SSM框架实现的高校专业信息管理系统设计与实现(ssm+B/S架构+源码+数据库+毕业论文+PPT+开题报告)

一、项目简介 本项目是一套基于SSM框架实现的高校专业信息管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、…