首页 > 编程语言 >程序语言基础

程序语言基础

时间:2024-05-05 15:11:53浏览次数:19  
标签:语句 语言 基础 解释程序 程序语言 类型 程序设计

程序语言基础

导航

目录

一、程序设计语言

程序设计语言

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

二、各种程序语言特点

  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+*

八、传值、传址

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

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

标签:语句,语言,基础,解释程序,程序语言,类型,程序设计
From: https://www.cnblogs.com/LiuYueSheng/p/18173510

相关文章

  • 2. 基础配置
    1.配置文件格式1.1配置文件自动提示功能消失解决方案​​1.2SpringBoot配置文件加载顺序(了解)application.properties>application.yml>application.yaml1.3注意事项SpringBoot核心配置文件名为applicationSpringBoot内置属性过多,且所有属性集中在一起修改,在使......
  • Linux基础
    目录一、Linux系统介绍二、Linux文件系统介绍三、什么是路径1、绝对路径2、相对路径3、特殊路径四、终端的使用技巧五、Linux系统命令1、常用的命令2、文件相关的命令3、目录相关的命令4、网络相关的命令5、其它命令六、通配符、管道、重定向1、通配符*代表任意多个字符?代表一......
  • NVIDIA的人形机器人的基础模型Project GR00T已在实体机器人上进行展示
    原文地址:https://blogs.nvidia.com/blog/isaac-generative-ai-manufacturing-logistics/项目GR00T为人型机器人开发谢幕在GTC上展示,由GR00T驱动的人型机器人可以接受多模态指令——文本、视频和演示——以及它们之前的交互,以产生机器人所需的动作。GR00T在来自不同公司的四个......
  • Vue2基础
    【一】初识Vue【1】什么是VueVue是一套用于构建用户界面的渐(逐渐)进(递进)式JavaScript框架Vue可以自底向上逐层应用,由国人尤雨溪开发采用组件化模式,提高代码的复用率、让代码更好维护声明式编码方式,让编码人员无需直接操作DOM,提高开发效率使用虚拟DOM+优秀的Diff......
  • 算法基础课笔记
    二分整数二分有单调性一定可以二分,二分不一定有单调性数的范围intmain(){scanf("%d%d",&n,&m);for(inti=0;i<n;i++)scanf("%d",&q[i]);while(m--){intx;scanf("%d",&x);intl......
  • SDL库基础学习
    初始化intSDL_Init(Uint32flags);*`flags`maybeanyofthefollowingOR'dtogether:**-`SDL_INIT_TIMER`:timersubsystem*-`SDL_INIT_AUDIO`:audiosubsystem*-`SDL_INIT_VIDEO`:videosubsystem;automaticallyinitializestheevents*......
  • 【基础】一些新的STL
    Reduce(C++17)lls=reduce(a+1,a+1+n);//求和lls=reduce(a+1,a+1+n,std::plus<ll>);//求和doubles=reduce(a+1,a+1+n,std::multiples<double>);//求积ints=reduce(a+1,a+1+n,std::max<int>);/......
  • 字符串基础(hash,KMP,AC自动机,trie)
    trie树trie树,又叫字典树,就是把字符串的每个字母看做树上的一个节点,若干个字符串组成了一棵trie树。最一般的trie树好像只能搜索字符串,重点是01trie和可持久化trie树和用trie树来建ac自动机(详见AC自动机)。这里着重介绍一下01trie01trie,就是节点代表了数上的二进制位上的数。......
  • Mysql基础
    为什么要配置环境变量?当你想直接用cmd打开某个.exe软件,但却出现以上情况时,可以通过配置环境变量来解决。配置了常用软件的环境变量后,在系统的任意路径下,打开cmd,输入软件,即可打开应用。环境变量:是在操作系统中用来指定操作系统运行环境的一些参数。环境变量中的path环境变量:......
  • vue-基础
    渲染的范围<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><p>狂神说Java</p><!--view层模板--><divid="app&quo......