编程基础及分支循环语句

编程基础

程序:

  一组能让计算机识别和执行的指令

电子计算机
  能够执行程序的机器

现代计算机:

  艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、
逻辑学家,被称为计算机科学之父,人工智能之父。图灵提出的著名的图灵机模型为现代计算
机的逻辑工作方式奠定了基础
  冯·诺依曼著名匈牙利裔美籍犹太人数学家、计算机科学家、物理学家和化学家,数字计算机之
父。他提出了以二进制作为数字计算机的数制基础,计算机应该按照程序顺序执行,计算机应
该有五大部件。

CPU由运算器和控制器组成

  运算器,完成各种算数运算、逻辑运算、数据传输等数据加工处理

  控制器,控制程序的执行

  存储器,用于记忆程序和数据,例如内存

  输入设备,将数据或者程序输入到计算机中,例如键盘、鼠标

  输出设备,将数据或程序的处理结果展示给用户,例如显示器、打印机等

    硬盘是输入输出设备,CPU只跟内存交换数据

    CPU中还有寄存器和多级缓存Cache

机器语言

  一定位数组成二进制的0和1的序列,称为机器指令。机器指令的集合就是机器语言

  与自然语言差异太大,难学、难懂、难写、难记、难查错
汇编语言
   用一些助记符号替代机器指令,称为汇编语言。ADD A,B 指的是将寄存器A的数与寄存器B的数相加得到的数放到寄存器A中

  汇编语言写好的程序需要汇编程序转换成机器指令
   汇编语言只是稍微好记了些,可以认为就是机器指令对应的助记符。只是符号本身接近自然语言

低级语言

  面向机器的语言,包括机器语言、汇编语言

  不同的机器不能通用,不同的机器需要不同的机器指令或者汇编程序

高级语言

  接近自然语言和数学语言的计算机语言

  高级语言首先要书写源程序,通过编译程序把源程序转换成机器指令的程序

  1954年正式发布的Fortran语言是最早的高级语言,本意是公式翻译

  人们只需要关心怎么书写源程序,针对不同机器的编译的事交给编译器关心处理

低级语言到高级语言

  语言越高级,越接近人类的自然语言和数学语言

  语言越低级,越能让机器理解

  高级语言和低级语言之间需要一个转换的工具:编译器、解释器

  C、C++等语言的源代码需要本地编译

  Java、Python、C#的源代码需要被解释器编译成中间代码(Bytecode),在虚拟机上运行

高级语言的发展

非结构化语言
  编号或标签、GOTO,子程序可以有多个入口和出口
  有分支、循环
结构化语言
  任何基本结构只允许是唯一入口和唯一出口
   顺序、分支、循环,废弃GOTO
面向对象语言
  更加接近人类认知世界的方式,万事万物抽象成对象,对象间关系抽象成类和继承
  封装、继承、多态
 函数式语言
  古老的编程范式,应用在数学计算、并行处理的场景。引入到了很多现代高级语言中
  函数是“一等公民”,高阶函数

Python解释器

  CPython     C语言开发,最广泛的Python解释器

  IPython     一个交互式、功能增强的Cpython

  JPython:将Python代码动态编译成Java字节码,然后在JVM上运行。

  IronPython   与Jython类似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码

  pypy --Python语言写的Python解释器,JIT技术,动态编译Python代码

基础语法

# 注释

数字 不区分long和int

进制x    o     b

bool值 2个值Ture、False

字符串

使用‘ " 单双引号引用的字符的序列
 ‘‘‘和""" 单双三引号,可以跨行、可以在其中自由的使用单双引号
在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理

转义序列

\\     \t    \r   \n    \‘     \"

前缀r

缩进
   未使用C等语言的花括号,而是采用缩进的方式表示层次关系
   约定使用4个空格缩进
续行
  在行尾使用\
  如果使用各种括号,认为括号内是一个整体,内部跨行不用\

标识符

  1. 一个名字,用来指代一个值

  2. 只能是字母、下划线和数字

  3. 只能以字母或下划线开头

  4. 不能是python的关键字,例如def、class就不能作为标识符

  5. Python是大小写敏感的

约定

  不允许使用中文
  不允许使用歧义单词,例如class_
  在python中不要随便使用下划线开头的标识符

常量

  一旦复制就不能改变值的标识符

  python无法定义常量

  字面常量 :一个单独的量,例如12、"abc" 、‘2341356514.03e-9‘

变量

  赋值后,可以改变值的标识符

Python的语言类型

Python是动态语言、强类型语言

静态编译语言

  实现声明变量类型,类型不能再改变
  编译时检查

动态编译语言

  不用事先声明类型,随时可以赋值为其他类型

  编程时不知道是什么类型,很难推断

强类型语言

  不同类型之间操作,必须先强制类型转换为同一类型。print(‘a‘+1)

弱类型语言

  不同类型间可以操作,自动隐式转换,JavaScript中console.log(1+‘a‘)

算数运算符

  + - * / % **

  自然除/结果是浮点数,整除//。注:2.x中/和//都是整除

位运算符

  &   |   ~   ^   <<   >>

  常用方式:乘除2的倍数,32 // 8相当于32 >> 3

  12,0xc,0o14,0b1100

原码、反码、补码,负数表示法

   5=> 0b101,1 => 0b1 ,-1 => -0b1, bin(-1)

反码

  正数的反码与原码相同;负数的反码符号位不变其余按位取反

补码

  正数的补码与原码相同;负数的补码符号位不变其余按位取反后+1

负数表示法

  早期数字电路的CPU中的运算器实现了加法器,但是没有减法器,减法要转换成加法
  负数在计算机中使用补码存储,-1的补码为1111 1111
  5-1 => 5+(-1)直觉上是0b101-0b1,其实计算机中是0b101+0b11111111,溢出位舍弃
  10^9 等于? 10^-9等于?为什么      异或   :相异出1,相同出0

    10->   0000 1010

    9->     0000 1001

       00000011->3

运算符

  ==   !=   >   <   >=   <=    返回一个bool值

逻辑运算符 

  与或非and or not

  短路运算符

    and 如果第一个表达式为False,后面就没有必要计算了,这个逻辑表达式一定是False

    or 如果第一个表达式True,后面没有必要计算了,这个逻辑表达式一定是True

赋值运算符

  a = min(3, 5)

  += -= *= /= %= 等

  x = y = z = 10

成员运算符

  in、not in

身份运算符

  is 、is not

运算符优先级(由高到低)

算数运算符> 位运算符> 身份运算符> 成员运算符> 逻辑运算符

  长表达式,多用括号,易懂、易读

表达式Expression

  由数字、符号、括号、变量等的组合

    算数表达式

    逻辑表达式

    赋值表达式    python中,赋值即定义,如果一个变量已经定义,赋值相当于重新定义

内存管理

变量无须事先声明,也不需要指定类型(动态语言的特性)

Python编程中一般无须关心变量的存亡,一般也不用关心内存的管理

python使用引用计数记录所有对象的引用数

  当对象引用数变为0,它就可以被垃圾回收GC

  计数增加:赋值给其它变量就增加引用计数,例如x=3;y=x

  计数减少:

    函数运行结束时,局部变量就会被自动销毁,对象引用计数减少

    变量被赋值给其它对象。例如x=3;y=x;x=4

有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存,看需求

单分支结构

  if语句
    if condition:
      代码块
    condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)
    if 1<2:
      print(‘1 less than 2‘)

代码块

  类似于if语句的冒号后面的就是一个语句块

  在if、for、def、class等关键字后使用代码块

False等价布尔值,相当于bool(value)

if...elif...else语句
  if condition1:
    代码块1
  elif condition2:
    代码块2
  elif condition3:
    代码块3
  ......
  else:
    代码块

举例
a = 5
if a<0:
  print(‘negative‘)
elif a==0:
  print(‘zero‘)
else:
  print(‘positive‘)

分支嵌套

score = 80
if score<0:
  print(‘wrong‘)
else:
  if score==0:
    print(‘egg‘)
  elif score <= 100:
    print(‘right‘)
  else:
    print(‘too big‘)

语法
while condition:
  block
  当条件满足即condition为True,进入循环体,执行block
  举例
  flag=10
  while flag:
    print(flag)
    flag -= 1

flag 思路是开关,循环语句中,判断循环条件时,一旦出现,就不想再运行本条命令,用此方法。

语法
for element in iteratable:
block
  当可迭代对象中有元素可以迭代,进入循环体,执行block
  range函数
  举例:打印1~10
    for i in range(10):
      print(i+1)

continue

中断当前循环的当次执行,继续下一次循环
   举例:计算10以内的偶数(for循环)
for i in range(10):
  if not i%2:
    print(i)

break终止当前循环

总结
  continue和break是循环的控制语句,只影响当前循环,包括while、for循环
  如果循环嵌套, continue和break也只影响语句所在的那一层循环
  continue和break 不是跳出语句块,所以if cond: break 不是跳出if,而是终止if外的break所在的循环

原文地址:https://www.cnblogs.com/rprp789/p/9395957.html

时间: 2024-10-07 05:30:00

编程基础及分支循环语句的相关文章

Java编程基础-选择和循环语句

一.选择结构语句 选择结构:也被称为分支结构.选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码. Java语言提供了两种选择结构语句:if语句和switch语句 1.if语句 if语句有三种语法格式. (1).if语句第一种语法格式(适合一种判断) if(条件表达式){ 语句体; } 执行流程:判断条件表达式的结果,当为为true时,{}中的执行语句体才会执行,否则不执行语句体. 注意: 条件表达式的结果必须是布尔类型:

PLSQL编程基础 :分支、循环语句

一.分支语句 set serveroutput on declare num number; begin num:=3; if num = 5 then dbms_output.put_line('这个数字是5'); elsif num >7 then dbms_output.put_line('这个数字大于7'); else dbms_output.put_line('其他数字'); end if; end; 二.循环语句 1.loop循环 set serveroutput on declar

python基础之条件循环语句

前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python interprets non-zero values as True. None and 0 are interpreted as False. Python 判断非0的值为 True, 而None和0被认为是 False.注意这里的True和False首字母大写,Py

JAVA基础语法1(循环语句)

1:switch语句的格式: q'wea's'd        Switch语句:选择结构语句                      格式:                    switch(表达式){                    case 值1:                        语句1;                        break;                    case 值2:                        语句2;    

shell基础之三:循环语句for

一.循环语句for bash中的循环控制语句:for,while,until for循环语法1: for 变量名 in 列表;do 循环体 done 运行特性: 第一遍:将列表中的第一个元素赋值"变量名"定义的变量,而后执行完成循环体: 第二遍:...直到元素遍历结束,循环退出 列表的生成方式: 1.直接列出  如: stu100 stu101 stu102  或{stu100,stu101,stu102} 2.生成整数列表  如:{start_num..end_num} 例:{1..

python 基础 5 while循环语句

while循环语句: while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务. 格式为: while 条件判断: 执行的语句 实例:猜数字游戏,定义一个数字,三次之内猜中即可 luck_num = 56 num2 = -1 guess_count = 0 while guess_count < 3: num2 = int(input("please input your num:")) if num2 > luck_num: prin

Python 3基础教程6-for循环语句

本文介绍另外一种循环语句,for循环,直接看例子. 用for实现打印1到9的数字. 方法一:写入一个列表,然后遍历列表 # 这里介绍 for循环# 打印1到9 exampleList = [1,2,3,4,5,6,7,8,9] for eachNumber in exampleList: print (eachNumber)方法二:用Python自带函数range(1,9)# 打印1到9 for i in range(1,10): print (i)注意上面是range(1,10),右边是不包括

Oracle数据库之SQL基础和分支循环

一.SQL基础语言 DECLARE --声明 a varchar2(10); --变量或对象 BEGIN a:='小明';-- := 表示给一个变量赋值 dbms_output.put_line(a); --输出用 dbms_output.put_line() END; 二.分支 DECLARE --声明 A NUMBER(10); B NUMBER(10); BEGIN A := 2; B := 3; IF A < B THEN DBMS_OUTPUT.PUT_LINE('a小于b'); EL

【Python基础】while循环语句

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句…… 执行语句可以是单个语句或语句块.判断条件可以是任何表达式,任何非零.或非空(null)的值均为true. 当判断条件假false时,循环结束. 执行流程图如下: 实例: #!/usr/bin/pythoncount = 0while (count < 9): print 'The count is:', count count