PHP程序设计习题答案.docx

上传人:h**** 文档编号:163406 上传时间:2018-07-12 格式:DOCX 页数:12 大小:49.93KB
下载 相关 举报
PHP程序设计习题答案.docx_第1页
第1页 / 共12页
PHP程序设计习题答案.docx_第2页
第2页 / 共12页
PHP程序设计习题答案.docx_第3页
第3页 / 共12页
PHP程序设计习题答案.docx_第4页
第4页 / 共12页
PHP程序设计习题答案.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、第 1章 PHP 开篇 习题 一、 填空题 1. Apache 的 httpd 服务程序使用的是 【 80 】 端口。 2. 在进行软件开发时有两种基本架构, B/S 架构和 【 C/S 】 架构。 3. URL 的英文全称是 【 Uniform Resource Locator 】 , 中文 名称为 【 统一资源定位符】。 4. 【 HTTP 】 协议是计算机硬件与软件之间数据交换的格式。 5. 【 HTTP 】 表示传输数据所使用的协议, 【 WWW 】 表示要请求的服务器主机名。 二、 判断题 1. 使用 PHP 写好的程序,在 Linux 和 Windows 平台上都可以运行 。 (

2、) 2. PHP 可以支持 MySQL 数据库,但不支持其它的数据库。 ( ) 3. PHP 有很多流行的 MVC 框架,这些框架可以使 PHP 的开发更加快捷。 ( ) 4. Zend Studio 是 PHP 中常用的 IDE(集成开发环境) 。 ( ) 5. 进行 PHP 程序开发时,可以借助软件和工具来提高效率。 ( ) 三、 选择题 1. 下列选项中,不是 URL 地址中所包含的信息是( D )。 A. 主机名 B. 端口号 C. 网络协议 D. 软件版本 2. PHP 是一种( A) 的编程语言。 A. 解释型 B. 编译型 C. 两者都是 D. 两者都不是 3. PHP 是个网站

3、开发中非常流行的脚本语言,其流行的原因不包含( C ) 。 A. 易学 B. 易用 C. 易调试 D. 易扩展 4. PHP 与 Linux、 Apache 和 MySQL 一起共同组成了一个强大的 Web 应用程序平台,下列选项中为该平台简称的是 ( B )。 A. WAMP B. LAMP C. LNMP D. WNMP 5. 在下列选项中,哪些不属于 PHP 的突出特点 ( B )。 A开源免费 B. 开发成本高 C. 跨平台性 D. 支持多种数据库 四、 简答题 1. 请简要说明 PHP 的突出特点是什么? 1. 开源免费 2 跨平台性 3.面向对象 4.支持多种数据库 5.快捷性 .

4、 第 2章 基本语法 习题 一、 填空题 1. 任何一个程序文件的 php 代码的开始和结束都要使用 【 ” 进行标记 。 2. PHP 中,多行注释以 【 /* 】 开始,以 【 */ 】 结束。 3. PHP 标识符允许包含字母、 【 数字 】 、 【 下划线 】 字符。 4. 在 PHP 中用于实现继承的关键字 是【 extends 】 。 5. 如果我们想把错误隐藏起来,可以使用错误控制运算符 【 】。 二、 判断题 1. 标准标记具有更好的兼容性、可移植性、可复用性。 ( ) 2. ASP 式标记的使用与短标记类似,必须在配置文件中启用 asp_tags 选项。 ( ) 3. PHP

5、 的块注释需要使用 的形式 。 () 单行注释 #, / 多行注释 /* */ 4. 这段 PHP 代码“ ”是不会运行的。 () 5. 注释用于对程序中某些代码进行说明,不会被解释。 ( ) 三、 选择题 1. php 代码的开始标记以下哪个不可以 ( D )。 A. B. C. D. 4. 下列 PHP 标记中,哪些标记对任何配置都有效? ( A ) 。 A.标准标记 B. 短标记 C. ASP 标记 D. SCRIPT 标记 5. 下列选项中,哪个不是 PHP 的注释符( A) 。 A. B. # C. /*/ D. / 四、 简答题 1. 请编写符合 PHP 语法的程序,输出“ Hel

6、lo World! ”; 第 3章 函数 习题 一、 填空题 1. 能将字符串转换为数组的函数是 【 explode()】。 2. 在 PHP 中, 【 implode 】 函数能将数组转化为字符串。 3. 使用 【 strcmp】 函数比较两个字符串的大小,结果相同返回 true,不同返回 false。 4. strcmp()函数是根据 【 ASCII 码值 】 比较两个字符串的大小。 5. str_replace()函数的返回值类型是 【 Bool(布尔) 】 类型。 二、 判断题 1. 在 PHP 中,函数名称区分大小写 。 () 2. 函数的参数不可以设定默认值。() 3. 在一个 P

7、HP 文件中同时定义函数 f1()和 F1()时,程序不会报错 。 () 4. 在同一个文件中,可以先调用后定义函数 。 () 5. 在 PHP 中,定义函数时可以没有返回值。 () 三、 选择题 1. 下列选项中,函数返回的关键字是( C ) 。 A: back B: go C: return D: break 2. PHP 中存在多种变量,其中在函数内部定义的变量称之为 ( B )。 A: 变量 B: 局部变量 C: 全局变量 D: 内部变量 3. PHP 中存在多种变量,其中在函数外定义的变量称之为( D ) 。 A: 局部变量 B: 变量 C: 超全局变量 D: 全局变量 4. 若想要

8、在函数内部使用函数外定义的变量,可以使用的方式是 ( A ) 。 A: GLOBAL 关键字 B: 预定义变量 $GLOBAL C: PUBLIC 关键字 D: GLOBALS 关键字 5. 在实际编程中,使用可变函数可以增加程序的 ( D ) 。 A: 可读性 B: 实用性 C: 复用性 D: 灵活性 四、 简答题 1请简述如何在函数内部使用函数外部的变量? 在函数内部使用 global 修饰变量 第 4章 数组 一、 填空题 1. 数组分为索引数组和【关联 】数组两种类型。 2. 索引数组 是指下标为【整数 】的数组。 关联数组 是指下标为字符串的数组 。 3. 通常情况下,关联数组元素的

9、【键 】和值之间有一定的业务逻辑关系。 。 4. 在数组中,【 键 】是数组元素的唯一标识。 5. 使用【 unset() 】函数可以删除数组中的元素。 二、 判断题 1. 在数组操作符中,“ +”表示将两个数组中的各元素进行加法运算。 ( ) 2. 使用联合运算符合并数组时,如果遇到相同下标的元素,后面的会覆盖前面的。 ( ) 3. 在数组操作运算符中,联合运算符“ +”用于合并数组。 ( ) 4. 一个数组只能有一个数组指针。 ( ) 5. 数组指针默认情况下指向数组的最后一个元素。 ( ) 三、 选择题 1. 下列选项中,哪些不是数组指针操作函数( C ) 。 A: current()

10、B: next() C: count() D: each() 2. 下列选项中,可以将数组的指针指向第一个元素的是( B ) 。 A: restart () B: reset () C: prev () D: current () 3. 关于 array_unique()函数,下列说法错误的是( C) 。 A: 该函数将会返回新的数组对象 B: 该函数的作用是移除数组中的重复元素 C: 该函数第二个参数是递归处理多维数组 D: 如果 两个元素 的 值 相等 只保留第一个元素的键名 4. 关于 array_search()函数,下面说法错误的是 ( D )。 A: 第一个参数表示在数组中要查找的

11、值 B: 第二个参数表示被查询的数组 C: 如果要查找的值没有找到,就返回 FALSE D: 如果要查找的值找到了,就返回 TRUE 5. 关于 array_keys() 函数,下面说法错误的是 ( B )。 A: 该函数用于获取数组中元素对应的键名 B: 当匹配结果有多个时,只返回第一个匹配的键名 C: 函数的第一个参数表示被查询的数组 D: 如果只传一个数组, 则返回数组中所有的键 四、 简答题 1. 什么是数组 ? 数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。 第 5章 面向对象编程 习题 一、 填空题 1. 继承的关键字为 【

12、Extends 】 ,实现接口的关键字为 implements。 2. PHP 中有很多以两个下划线开头的方法,称之为 【 魔术方法 】。 3. 在魔术方法中, _construct()是 构造 方法, _destruct()是 【 析构 】 方法 。 4. 如果不想让一个类被实例化,只能被继承,那么可以将该类声明为 【 抽象类 】类 。 5. 声 明问抽象类的关键字是 【 Abstract 】 二、 判断题 1. 在 PHP5 中,析构方法的名称是 _destruct(),并且不能有任何参数 。 () 2. PHP 中类常量使用 define 来定义的。 ()? 3. 当我们希望某些数据在内

13、存中只有一份,并且可以被类的所有实例对象所共享,那么就将该属性声明成静态属性。() 4. 当我们希望在不创建对象的情况下调用某个类的方法时,可以将这个方法声明成静态方法。() 5. 在 PHP 中,使用 $this 可以访问静态成员 。 () 三、 选择题 1. 在下列选项中,不属于面向对象三大特征的是( C ) 。 A: 封装性 B: 多态性 C: 抽象性 D: 继承性 2. 以下关于面向对象的说法错误的是( D ) 。 A: 是一种符合人类思维习惯的编程思想 B: 把解决的问题按照一定规则划分为多个独立对象,通过调用对象的方法来解决问题 C: 面向对象的三大特征为封装、继承和多态 D: 在

14、代码维护上没有面向过程方便 3. 以下关于面向对象三大特征错误的是( D ) 。 A: 封装就是将对象的属性和行为封装起来,不让外界知道具体实现细节 B: 继承性主要描述的是类与类之间的关系,通过继承可以在无需重新编写原有类的情况下对原有类的功能进行扩展 C: 多态是指同一操作作用于不同的对象,会产生不同的执行结果 D: 多态性是面向对象的核心思想 4. 以下关于面向对象说法错误的是( C ) 。 A: 面向对象编程具有开发时间短、效率高、可靠性强等特点 B: 面向对象编程其代码更易于维护、更新和升级 C: 抽象性是面向对象的三大特征之一 D: 封装是把客观事物封装成抽象的类,并且类可以把自己

15、的数据和方法只让可信的类或者对象操作 5. 以下关于面向对象的说法错误的是( D ) 。 A: 面向对象就是把要处理的问题抽象为对象,通过对象的属性和行为来解决对象的实际问题 B: 抽象就是忽略事物中与当前目标无关的非本质特征,更充分的注意与当前目标有关的本质特征,从而找出事物的共性 C: 封装的信息隐蔽作用反映了事物的相对独立性,可以只关心它对外所提供的接口 D: 面向对象编程要将所有属性都封装起来不允许外部直接存取 四、 简答题 1. 构造方法和析构方法是在什么情况下调用的,作用是什么 。 构造方法在类实例化对象时自动调用,用于对类中的成员进行初始化。析构方法在对象销毁之前被自动调用,用于

16、完成清理工作 。 第 6章 错误处理及调试 习题 一、 填空题 1. 在运行 PHP 文件时,如果遗漏了一个分号,这属于 【 语法 】 错误 。 2. 在 PHP 中一般有两种方法处理错误,分别为标准 PHP 错误报告和 【 异常处理 】。 3. E_ALL 表示除 【 E_STRICT 】 以外的所有错误和警告。 4.在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是 【 E_NOTICE 】。 5.在程序开发中,可以使用 【 tigger-error 】 函数手动触发错误 。 二、 判断题 1. 异常的处理不属于错误的处理方式。() 2. 在 PHP 中,错误级别表示当前错误的等级。

17、 ( ) 3. PHP 采用常量的形式来表示错误级别。 ( ) 4. 在 PHP 中,每个错误级别都采用字符串形式表示。() 5. E_ALL 表示除 E_STRICT 以外的所有错误和警告。 ( ) 三、 选择题 1. 在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是 ( D )。 A: E_ERROR B: E_WARNNING C: E_PARSE D: E_NOTICE 2. 在程序开发中,可以使用 ( A ) 函数触发错误 。 A: trigger_error() B: error_reporting() C: error_trigger() D: reporting_err

18、or() 3. Trigger_error 函数有( ) 个参数是必需的,有()个参数是可选的 ( D ) 。 A: 2, 1 B: 2, 2 C: 1, 2 D: 1, 1 4. 在使用 trigger_error()函数之前,一定要使用 ( A ) 函数让错误显示。 A: ini_set() B: set_ini() C: reporting_error() D: error_reporting() 5. 在 PHP 中,显示错误报告的方式有( A ) 。 A: 修改配置文件 。 B: error_reporting()和 echo ()函数 。 C: error_reporting()和

19、 die()函数 。 D: ini_set()和 die()函数 。 四、 简答题 1. 在 php.ini 文件中,和错误有关的设置 都 有 那些 ? (1)error_reporting,设定错误级别 (2)display_errors,是否显示错误报告,设置为 ON 则打开 ,设置为 OFF 则关闭所有错误提示 (3)log_errors,默认设置为 OFF,是否记录错误日志 ; (4)track_errors,默认设置为 OFF,该选项可以帮助解决代码中的错误 ,而不是让 PHP 提供其默认的功能。 第 7章 HTTP 协议 习题 一、 填空题 1. HTTP 是 Hyper Text

20、 Transfer Protocol 的缩写,其中文是 【 超文本传输协议 】。 2. 【 HTTP】 协议是一种请求 /响应式的协议。 3. 在浏览器与服务器的交互过程中,也得遵循一定的规则,这个规则就是 【 HTTP】。 1. HTTP 允许传输任意类型的数据,但是该数据的类型需要由 【 Content-Type 协议 】加以标记。 4. 基于 HTTP1.0 协议的客户端与服务器在交互过程中需要经过 【 4】 个步骤 。 二、 判断题 1. HTTP1.0 协议每次只能处理一个 HTTP 请求。() 2. HTTP1.1 协议在一个 TCP 连接上可以传送多个 HTTP 请求和相应。()

21、 3. http:/ 的 Web 服务器根目录下的默认资源。() 4. 如果网页上的 form 表单不设置 method 属性,则默认以 post 方式发送请求。() 5. POST 方式提交表单是将表单元素及数据作为实体内容发送给服务器。() 三、 选择题 1. HTTP 响应行位于请求消息的第一行,它不包含哪几个部分? ( D ) 。 A: 状态码 B: 状态描述信息 C: HTTP 协议版本 D: 响应返回的目标地址 2. 关于以下在开发中比较常见的状态码描述错误的是 ( C ) 。 A: 状态码 200 表示服务器成功处理了客户端的请求。 B: 状态码 302 表示请求的资源从不同的

22、 URI 响应请求,但请求者应继续使用原有位置来进行以后的请求。 C: 状态码 404 表示服务器拒绝处理客户端的请求。 D: 状态码 500 表示服务器发生错误,无法处理客户端的请求。 3. http:/ ( C ) 。 A: 3306 B: 23 C: 80 D: 21 4. HTTP 请求行位于请求消息的第一行,它不包含哪几个部分? (C) A: 请求方式 B: 资源路径 C: 请求来源 D: 使用的 HTTP 协议版本 5. HTTP 请求消息中,最常使用的请求方式是 ( D ) 。 A: POST 和 HEAD 方式 B: GET 和 HEAD 方式 C: HEAD 和 OPTION

23、S 方式 D: POST 和 GET 方式 四、 简答题 1. 请简单概括 HTTP 协议的主要特点 。 1、支持客户 /服务器模式。 2、 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、 HEAD、 POST。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。 3、灵活: HTTP 允许传输任意类型的数据对象。正 在传输的类型由 Content-Type 加以标记。 4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种

24、方式可以节省传输时间。 5、无状态: HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 第 8章 PHP 与 Web 页面交互 习题 一、 填空题 1. 【 strip_tags() 】 函数用于去除字符串中的 HTML 和 PHP 标记 。 1. 【 htmlentities() 】 函数可以将 HTML 和 PHP标记转换成字符,以文本的形式输出。 。 2. 【 isset() 】 函数用于检测变量是否具有值,包括 0、 FALSE 或者一个空字串,但不能是 NULL。 3.

25、【 empty() 】 函数用于检测变量是否具有空值,包括空字串、 0、 null 或 false。 2. 【 is_numeric() 】 函数用于检测变量是否是数字或数字字符串 。 二、 判断题 1. PHP 是一种运行在服务器端的语言,为了方便进行用户交互,通常和 HTML 结合使用 。 ( ) 2. 服务器将获取到的静态资源通过 HTTP 请求发送到浏览器端。() 3. 请求 PHP文件, Apache会将请求交给 PHP模块处理,结果以 HTML形式返回给 Apache。( ) 4. 表单由表单标签和表单元素两部分组成。 ( ) 5. 用户通过表单提交的数据, PHP 后台程序可以直

26、接访问并使用。() 三、 选择题 1. 以下数据使用 isset()函数检测,返回 false 的是( D ) 。 A: 0 B: false C: D: NULL 2. 以下关于浏览器请求服务器过程说法错误的是( C ) 。 A: 浏览器是通过 URL 地址来访问服务器的 。 B: 数组在传输过程中需要遵循 HTTP 协议 。 C: 当数据传输到 Web 服务器时, Web 服务器自己会对数据进行处理。 D: 处理好的数据以 HTML 形式返回给浏览器 。 3. Form 标签中“ name”属性、“ method”属性、“ action”属性和“ enctype”属性的作用分别是( A )

27、。 A: 设置表单名称;设置表单提交方式;设置接收数据路径;设置提交数据的编码格式 。 B: 设置表单提交方式;设置提交数据的编码格式;设置表单名称;设置接收数据路径 。 C: 设置表单名称;设置接收数据路径;设置表单提交方式;设置提交数据的编码格式 。 D: 设置表单名 称;设置提交数据的编码格式;设置接收数据路径;设置表单提交方式 。 4. 标记 type属性有多种值,其中 text、 checkbox、 password、 radio分别代表( C )。 A: 文本框、密码框、复选框、单选按钮 B: 密码框、文本框、单选按钮、复选框 C: 文本框、复选框、密码框、单选按钮 D: 密码框、

28、复选框、文本框、单选按钮 5. 以下关于 GET 方式提交和 POST 方式提交数据说法错误的是( C ) 。 A: get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一 一对应,在 URL 中可以看到。 B: post 是通过 HTTP post 机制,将表单内各个字段与其内容放置在 HTML HEADER内一起传送到 ACTION 属性所指的 URL 地址。用户看不到这个过程。 C: get 安全性非常低, post 安全性较高。而且 post 的执行效率也比 get 好。 D: 在 FORM 提交的时候,如果不指定 Method,则默认为 G

29、ET 请求, Form 中提交的数据将会附加在 url 之后,以 ?分开与 url 分开。 四、 简答题 1. 请简要介绍 GET 与 POST 的区别? 1. get 是从服务器上获取数据, post 是向服务器传送数据。 2. get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一一对应,在 URL 中可以看到。 post 是通过 HTTP post 机制,将表单内各个字段与其内容放置在 HTML HEADER 内一起传送到 ACTION 属性所指的 URL 地址。用户看不到这个过程。 3. 对于 get 方式, 服务器端 用 Request.Q

30、ueryString 获取变量的值,对于 post 方式, 服务器端 用 Request.Form 获取提交的数据。 4. get 传送的数据量较小,不能大于 2KB。 post 传送的数据量较大,一般被默认为不受限制。但理论上, IIS4 中最大量为 80KB, IIS5 中为 100KB。 5. get 安全性非常低, post 安全性较高。但是 GET 执行效率却比 Post 方法好。 第 9章 PHP 会话技术 习题 一、 填空题 1. 在实际开发中,注销功能是通过删除 【 session 】 和 cookie 实现的 。 2. 在实际开发中,可以通过设置 【 cookie 】 的有效

31、期来实现用户 7 天免登录的功能。 。 1. 执行 【 session_destroy() 】 函数可以同时删除 session 数据和文件。 3. PHP 中 session 的设置和读取都是由超全局数组 【 $_SESSION 】 来完成。 。 4. 从 session 中获取数据,需要使用 【 session_start() 】 函数开启 session。 。 二、 判断题 1. 若要存储从 session 中获取的数据只能是数组或基本数据类型。() 2. PHP 中 session 支持任意类型的数据。() 3. 由于 $_SESSION是超全局数组,所以数组内每个元素可 以对应多个

32、session数据。() 4. 在 PHP 中,必须使用超全局数组 $_SESSION向 session 添加数据。() 5. 在调用 session_start()前不能有任何输出,包括空格和空行,否则会报错 。 () 三、 选择题 1. PHP 可以利用( D)配置项实现自动开启 session 的机制 。 A: session_auto B: session_start C: session_auto_start D: session.auto_start 2. 下列选项中不可以保存到 session 里的数据类型是 ( C ) 。 A: 字符串 B: 数组 C: 对象 D: 布尔类型

33、3. 下列选项中( A)是将数据存储在浏览器端的会话技术,并以此来跟踪和识别用户。 A: Cookie B: Session C: Request D: A 和 B 4. 用户第一次访问服务器时,服务器会在响应消息中增加( C)头字段,并将信息发送给浏览器。 A: SetCookie B: Cookie C: Set-Cookie D: 以上答案都不对 5. 在 PHP 程序开发中,通过( A )函数创建 Cookie。 A: setcookie() B: set_cookie() C: cookie() D: 以上答案都不对 四、 简答题 1. 在项目开发中,经常使用 isset()函数和 empty()函数来判断变量,请简述他们的区别。 isset()判断 一个变量是否已经被设置并且不为 null,如果是则返回 true,否则返回 false。 empty()判断一个变量, 非空非零返回 false。否则返回 true。 、 0、 0、 null、 false、array()、以及没有任何属性的对象都被认为是空的。 第 10章 正则表达式 习题 一、 填空题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。