栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

python(1)——宏定义+程序语法元素分析

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python(1)——宏定义+程序语法元素分析

 一、宏定义

宏定义是比较常用的预处理指令,即使用“标识符”来表示“替换列表”中的内容。标识符称为宏名,在预处理过程中,预处理器会把源程序中所有宏名,替换成宏定义中替换列表中的内容。

常见的宏定义有两种,不带参数的宏定义和带参数的宏定义。

无参宏定义:即最常见“#define PI 3.1415926”

格式:#define 标识符 替换列表

说明:1)前面可以有空格,但是只允许有空格,或者在行首。

      2)宏定义不是语句,是预处理指令,故结尾不加分号。如果不小心添加了分号,虽然有时该宏定义没问题,但在宏替换时,可能导致 C 语法错误,或得不到预期结果。(按着格式写就好)

      3)当替换列表一行写不下时,可以使用反斜线作为续行符延续到下一行。(若该宏定义中替换列表为字符串常量,如果该串较长,或为了使替换列表的结构更清晰,可使用续行符 把该串分若干行来写,除最后一行外,每行行尾都必须加续行符 。例如:

  1. #define USA "The United
  2. States of
  3. America"

)

     4)还有一类,由于宏定义仅是做简单的文本替换,故替换列表中如有表达式,必须把该表达式用括号括起来,否则可能会出现逻辑上的“错误”。

01#define N (3+2)
02int r=N*N;

结果r=25;

以上是扩括号的,没有括号的话,结果会有很大变化;

01#define N 3+2
02int r=N*N;

此时r=11;

为什么会产生变化呢?因为在宏定义中只能简单的替换;如果没有括号的话,计算机并不能把N识别成(3+2),只能是识别成3+2;所以没有括号的话,N*N只能是3+2*3+2=11;

而不是(3+2)*(3+2)=25。

带参宏定义:格式:#define 标识符(参数1,参数2,...,参数n) 替换列表

例如:#define MAX(a,b) ((a)>(b)?(a) : (b))==》替换列表,我自己认为基本就是相当于参数进行的操作,比如这个就是比较两个参数谁大。
注意:标识符与参数表的左括号之间不能有空格,否则预处理器会把该宏理解为普通的无参宏定义。

二、程序语法元素分析

1.缩进:(四个空格)缩进表达了从属关系。

注意:print()这样的简单语句不表达包含关系,不能使用缩进。

2.注释:对语句、函数、数据结构等进行说明,提升代码的可读性。

              单行注释以#开头,多行注释以'''(三个单引号)开头和结尾。

3.命名和保留字:

             命名和c语言相同。

             保留字,也称为关键字,指被编程语言内部定义并保留使用的标识符。33个保留字,区分大小写。

4.字符串:由0个或多个字符组成的有序字符序列,字符串由一对单引号或一对双引号表示。

                 可以按照单个字符或字符片段进行索引。比如:“computer"中”c"是第0个字符。

5.赋值语句:和c语言基本相同,不同的是:采用同步赋值,一行语句即可,比如:“x,y=1,2"

6.input()函数:从控制台获得用户输入的函数

              

  • input()函数的使用格式 :
    <变量>=input(<提示信息字符串>)
  • 用户输入的信息以字符串类型保存在<变量>中
    `TempStr = input(“请输入带有符号的温度值:”) #TempStr保存用户输入的信息
  • 注意:无论用户输入的是什么类型,输出的都是字符串型。

7.分支语句:和C语言差不多,注意C语言中的if语句中的else if 变成了elif。

8.eval()函数:以python表达式的方式解析并执行。就是将输入的字符串转变成python语句,并执行该语句。

  • eval()函数的基本使用格式:
  • 例如:eval(TempStr[0:-1])
    如果TempStr[0:-1]值是“12.3”,输出是12.3

 

9.print()函数:以字符形式向控制台输出结果的函数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012659.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号