PHP程序设计习题答案.docx
- 文档编号:28438859
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:21
- 大小:27.17KB
PHP程序设计习题答案.docx
《PHP程序设计习题答案.docx》由会员分享,可在线阅读,更多相关《PHP程序设计习题答案.docx(21页珍藏版)》请在冰豆网上搜索。
PHP程序设计习题答案
第1章PHP开篇
习题
一、填空题
1.Apache的httpd服务程序使用的是【80】端口。
2.在进行软件开发时有两种基本架构,B/S架构和【C/S】架构。
3.URL的英文全称是【】,中文名称为【统一资源定位符】。
UniformResourceLocator4.【HTTP】协议是计算机硬件与软件之间数据交换的格式。
5.【HTTP】表示传输数据所使用的协议,【WWW】表示要请求的服务器主机名。
二、判断题
1.使用PHP写好的程序,在Linux和Windows平台上都可以运行。
(√)
2.PHP可以支持MySQL数据库,但不支持其它的数据库。
(×)
3.PHP有很多流行的MVC框架,这些框架可以使PHP的开发更加快捷。
(√)
4.ZendStudio是PHP中常用的IDE(集成开发环境)。
(√)
5.进行PHP程序开发时,可以借助软件和工具来提高效率。
(√)
三、选择题
1.下列选项中,不是URL地址中所包含的信息是(D)。
A.主机名B.端口号
C.网络协议D.软件版本
2.PHP是一种(A)的编程语言。
A.解释型B.编译型C.两者都是D.两者都不是
3.PHP是个网站开发中非常流行的脚本语言,其流行的原因不包含(C)。
A.易学B.易用
C.易调试D.易扩展
4.PHP与Linux、Apache和MySQL一起共同组成了一个强大的Web应用程序平台,下列选项中为该平台简称的是(B)。
A.WAMPB.LAMP
C.LNMPD.WNMP
5.在下列选项中,哪些不属于PHP的突出特点(B)。
A开源免费B.开发成本高
C.跨平台性D.支持多种数据库
四、简答题
1.请简要说明PHP的突出特点是什么?
1.开源免费2跨平台性3.面向对象
.
快捷性5.支持多种数据库4.
第2章基本语法
习题
一、填空题
1.任何一个程序文件的php代码的开始和结束都要使用【
php】和“?
>”进行标记。
2.PHP中,多行注释以【/*】开始,以【*/】结束。
3.PHP标识符允许包含字母、【数字】、【下划线】字符。
4.在PHP中用于实现继承的关键字是【】。
extends5.如果我们想把错误隐藏起来,可以使用错误控制运算符【@】。
二、判断题
1.标准标记具有更好的兼容性、可移植性、可复用性。
(√)
2.ASP式标记的使用与短标记类似,必须在配置文件中启用asp_tags选项。
(√)
3.PHP的块注释需要使用
---->的形式。
(×)单行注释#,//
4.多行注释/**/
5.这段PHP代码“
--
phpsomePHPcode;?
>-->”是不会运行的。
(×)
6.注释用于对程序中某些代码进行说明,不会被解释。
(√)
三、选择题
1.php代码的开始标记以下哪个不可以(D)。
php<%B.A.
<< 2.一般在成熟的项目里边,纯php代码文件“结束标记”最好不要设置,为什么? (B)。 A.为了加快开发速度。 B.如果在结束标记后边无意中设置回车信息,则该文件在被包含的时候回车信息会作为输出内容,对header头设置或打印图片效果有影响。 C.html标记里边规定,没有结束标记也可以。 D.apache规定的标准。 3.PHP支持多种风格的标记,以下不是PHP标记的是(C)。 A. php? > B. ? > C. ----> D.<%%> 4.下列PHP标记中,哪些标记对任何配置都有效? (A)。 A.标准标记B.短标记C.ASP标记D.SCRIPT标记 5.下列选项中,哪个不是PHP的注释符(A)。 A. ---->B.# C./**/D.// 四、简答题 1.请编写符合PHP语法的程序,输出“HelloWorld! ”; php echo'HelloWorld! '; ? > 第3章函数 习题 一、填空题 1.能将字符串转换为数组的函数是【explode()】。 2.在PHP中,【implode】函数能将数组转化为字符串。 3.使用【strcmp】函数比较两个字符串的大小,结果相同返回true,不同返回false。 4.strcmp()函数是根据【ASCII码值】比较两个字符串的大小。 5.str_replace()函数的返回值类型是【Bool(布尔)】类型。 二、判断题 1.在PHP中,函数名称区分大小写。 (×) 2.函数的参数不可以设定默认值。 (×) 3.在一个PHP文件中同时定义函数f1(){}和F1(){}时,程序不会报错。 (×) 4.在同一个文件中,可以先调用后定义函数。 (√) 5.在PHP中,定义函数时可以没有返回值。 (√) 三、选择题 1.下列选项中,函数返回的关键字是(C)。 D: breakB: goC: returnA: back 2.PHP中存在多种变量,其中在函数内部定义的变量称之为(B)。 A: 变量B: 局部变量C: 全局变量D: 内部变量 3.PHP中存在多种变量,其中在函数外定义的变量称之为(D)。 A: 局部变量B: 变量C: 超全局变量D: 全局变量 4.若想要在函数内部使用函数外定义的变量,可以使用的方式是(A)。 A: GLOBAL关键字B: 预定义变量$GLOBAL C: PUBLIC关键字D: GLOBALS关键字 5.在实际编程中,使用可变函数可以增加程序的(D)。 A: 可读性B: 实用性C: 复用性D: 灵活性 四、简答题 1.请简述如何在函数内部使用函数外部的变量? 在函数内部使用global修饰变量 第4章数组 一、填空题 1.数组分为索引数组和【关联】数组两种类型。 2.索引数组是指下标为【整数】的数组。 关联数组是指下标为字符串的数组。 3.通常情况下,关联数组元素的【键】和值之间有一定的业务逻辑关系。 。 4.在数组中,【键】是数组元素的唯一标识。 5.使用【unset()】函数可以删除数组中的元素。 二、判断题. 1.在数组操作符中,“+”表示将两个数组中的各元素进行加法运算。 (×) 2.使用联合运算符合并数组时,如果遇到相同下标的元素,后面的会覆盖前面的。 (×) 3.在数组操作运算符中,联合运算符“+”用于合并数组。 (√) 4.一个数组只能有一个数组指针。 (√) 5.数组指针默认情况下指向数组的最后一个元素。 (×) 三、选择题 1.下列选项中,哪些不是数组指针操作函数(C)。 current()next()count()each()D: B: A: C: 2.下列选项中,可以将数组的指针指向第一个元素的是(B)。 A: restart()B: reset() C: prev()D: current() 3.关于array_unique()函数,下列说法错误的是(C)。 A: 该函数将会返回新的数组对象 B: 该函数的作用是移除数组中的重复元素 C: 该函数第二个参数是递归处理多维数组 D: 如果两个元素的值相等只保留第一个元素的键名 4.关于array_search()函数,下面说法错误的是(D)。 A: 第一个参数表示在数组中要查找的值 B: 第二个参数表示被查询的数组 C: 如果要查找的值没有找到,就返回FALSE D: 如果要查找的值找到了,就返回TRUE 5.关于array_keys()函数,下面说法错误的是(B)。 A: 该函数用于获取数组中元素对应的键名 B: 当匹配结果有多个时,只返回第一个匹配的键名 C: 函数的第一个参数表示被查询的数组 D: 如果只传一个数组,则返回数组中所有的键 四、简答题 1.什么是数组? 数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。 数组的每个实体都包含两项: 键和值。 第5章面向对象编程 习题 一、填空题 1.继承的关键字为【Extends】,实现接口的关键字为implements。 2.PHP中有很多以两个下划线开头的方法,称之为【魔术方法】。 3.在魔术方法中,__construct()是构造方法,__destruct()是【析构】方法。 4.如果不想让一个类被实例化,只能被继承,那么可以将该类声明为【抽象类】类。 5.声明问抽象类的关键字是【Abstract】 二、判断题. 1.在PHP5中,析构方法的名称是__destruct(),并且不能有任何参数。 (×) 2.PHP中类常量使用define来定义的。 (×)? 3.当我们希望某些数据在内存中只有一份,并且可以被类的所有实例对象所共享,那么就将该属性声明成静态属性。 (√) 4.当我们希望在不创建对象的情况下调用某个类的方法时,可以将这个方法声明成静态方法。 (√) 5.在PHP中,使用$this可以访问静态成员。 (×) 三、选择题 1.在下列选项中,不属于面向对象三大特征的是(C)。 封装性多态性抽象性继承性D: A: C: B: 2.以下关于面向对象的说法错误的是(D)。 A: 是一种符合人类思维习惯的编程思想 B: 把解决的问题按照一定规则划分为多个独立对象,通过调用对象的方法来解决问题 C: 面向对象的三大特征为封装、继承和多态 D: 在代码维护上没有面向过程方便 3.以下关于面向对象三大特征错误的是(D)。 A: 封装就是将对象的属性和行为封装起来,不让外界知道具体实现细节 B: 继承性主要描述的是类与类之间的关系,通过继承可以在无需重新编写原有类的情况下对原有类的功能进行扩展 C: 多态是指同一操作作用于不同的对象,会产生不同的执行结果 D: 多态性是面向对象的核心思想 4.以下关于面向对象说法错误的是(C)。 A: 面向对象编程具有开发时间短、效率高、可靠性强等特点 B: 面向对象编程其代码更易于维护、更新和升级 C: 抽象性是面向对象的三大特征之一 D: 封装是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作 5.以下关于面向对象的说法错误的是(D)。 A: 面向对象就是把要处理的问题抽象为对象,通过对象的属性和行为来解决对象的实际问题 B: 抽象就是忽略事物中与当前目标无关的非本质特征,更充分的注意与当前目标有关的本质特征,从而找出事物的共性 C: 封装的信息隐蔽作用反映了事物的相对独立性,可以只关心它对外所提供的接口 D: 面向对象编程要将所有属性都封装起来不允许外部直接存取 四、简答题 1.构造方法和析构方法是在什么情况下调用的,作用是什么。 构造方法在类实例化对象时自动调用,用于对类中的成员进行初始化。 析构方法在对象销毁之前被自动调用,用于完成清理工作。 . 第6章错误处理及调试 习题 一、填空题 1.在运行PHP文件时,如果遗漏了一个分号,这属于【语法】错误。 2.在PHP中一般有两种方法处理错误,分别为标准PHP错误报告和【异常处理】。 3.E_ALL表示除【E_STRICT】以外的所有错误和警告。 4.在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是【E_NOTICE】。 5.在程序开发中,可以使用【tigger-error】函数手动触发错误。 二、判断题 1.异常的处理不属于错误的处理方式。 (×) 2.在PHP中,错误级别表示当前错误的等级。 (×) 3.PHP采用常量的形式来表示错误级别。 (√) 4.在PHP中,每个错误级别都采用字符串形式表示。 (×) 5.E_ALL表示除E_STRICT以外的所有错误和警告。 (√) 三、选择题 1.在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是(D)。 E_ERRORE_WARNNINGA: B: E_PARSEE_NOTICED: C: 2.在程序开发中,可以使用(A)函数触发错误。 A: trigger_error()B: error_reporting() C: error_trigger()D: reporting_error() 3.Trigger_error函数有()个参数是必需的,有()个参数是可选的(D)。 A: 2,1B: 2,2 C: 1,2D: 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()和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是HyperTextTransferProtocol的缩写,其中文是【超文本传输协议】。 2.【HTTP】协议是一种请求/响应式的协议。 3.在浏览器与服务器的交互过程中,也得遵循一定的规则,这个规则就是【HTTP】。 1.HTTP允许传输任意类型的数据,但是该数据的类型需要由【Content-Type协议】加以标记。 4.基于HTTP1.0协议的客户端与服务器在交互过程中需要经过【4】个步骤。 二、判断题 1.HTTP1.0协议每次只能处理一个HTTP请求。 (√) 2.HTTP1.1协议在一个TCP连接上可以传送多个HTTP请求和相应。 (√) 3.请求的是域名为服务器根目录下的默认资源。 (×) 4.如果网页上的form表单不设置method属性,则默认以post方式发送请求。 (×) 5.POST方式提交表单是将表单元素及数据作为实体内容发送给服务器。 (√) 三、选择题 1.HTTP响应行位于请求消息的第一行,它不包含哪几个部分? (D)。 状态码状态描述信息B: A: HTTP协议版本响应返回的目标地址D: C: 2.关于以下在开发中比较常见的状态码描述错误的是(C)。 A: 状态码200表示服务器成功处理了客户端的请求。 B: 状态码302表示请求的资源从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。 C: 状态码404表示服务器拒绝处理客户端的请求。 D: 状态码500表示服务器发生错误,无法处理客户端的请求。 3.该地址访问服务端口号是多少? (C)。 A: 3306B: 23C: 80D: 21 4.HTTP请求行位于请求消息的第一行,它不包含哪几个部分? (C) A: 请求方式B: 资源路径C: 请求来源D: 使用的HTTP协议版本 5.HTTP请求消息中,最常使用的请求方式是(D)。 A: POST和HEAD方式 B: GET和HEAD方式 C: HEAD和OPTIONS方式 D: POST和GET方式 四、简答题 1.请简单概括HTTP协议的主要特点。 1、支持客户/服务器模式。 2、简单快速: 客户向服务器请求服务时,只需传送请求方法和路径。 请求方法常用的有GET、HEAD、POST。 每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3、灵活: HTTP允许传输任意类型的数据对象。 正在传输的类型由Content-Type加以标记。 、无连接: 无连接的含义是限制每次连接只处理一个请求。 服务器处理完客户的请求,并收到4. 客户的应答后,即断开连接。 采用这种方式可以节省传输时间。 5、无状态: HTTP协议是无状态协议。 无状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 第8章PHP与Web页面交互 习题 一、填空题 strip_tags()函数用于去除字符串中的HTML和PHP标记。 】1.【 1.【htmlentities()】函数可以将HTML和PHP标记转换成字符,以文本的形式输出。 。 2.【isset()】函数用于检测变量是否具有值,包括0、FALSE或者一个空字串,但不能是NULL。 3.【empty()】函数用于检测变量是否具有空值,包括空字串、0、null或false。 2.【is_numeric()】函数用于检测变量是否是数字或数字字符串。 二、判断题 1.PHP是一种运行在服务器端的语言,为了方便进行用户交互,通常和HTML结合使用。 (√) 2.服务器将获取到的静态资源通过HTTP请求发送到浏览器端。 (×) 3.请求PHP文件,Apache会将请求交给PHP模块处理,结果以HTML形式返回给Apache。 (√) 4.表单由表单标签和表单元素两部分组成。 (√) 5.用户通过表单提交的数据,PHP后台程序可以直接访问并使用。 (×) 三、选择题 1.以下数据使用isset()函数检测,返回false的是(D)。 A: 0 B: false C: ‘' D: NULL2.以下关于浏览器请求服务器过程说法错误的是(C)。 A: 浏览器是通过URL地址来访问服务器的。 B: 数组在传输过程中需要遵循HTTP协议。 C: 当数据传输到Web服务器时,Web服务器自己会对数据进行处理。 D: 处理好的数据以HTML形式返回给浏览器。 3.Form标签中“name”属性、“method”属性、“action”属性和“enctype”属性的作用分别是(A)。 A: 设置表单名称;设置表单提交方式;设置接收数据路径;设置提交数据的编码格式。 B: 设置表单提交方式;设置提交数据的编码格式;设置表单名称;设置接收数据路径。 C: 设置表单名称;设置接收数据路径;设置表单提交方式;设置提交数据的编码格式。 D: 设置表单名称;设置提交数据的编码格式;设置接收数据路径;设置表单提交方式。 4.标记type属性有多种值,其中text、checkbox、password、radio分别代表(C)。 A: 文本框、密码框、复选框、单选按钮 B: 密码框、文本框、单选按钮、复选框 C: 文本框、复选框、密码框、单选按钮 密码框、复选框、文本框、单选按钮D: 5.以下关于GET方式提交和POST方式提交数据说法错误的是(C)。 A: get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。 B: post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTMLHEADER内一起传送到ACTION属性所指的URL地址。 用户看不到这个过程。 C: get安全性非常低,post安全性较高。 而且post的执行效率也比get好。 D: 在FORM提交的时候,如果不指定Method,则默认为GET请求,Form中提交的数据将会附加在url之后,以? 分开与url分开。 四、简答题 1.请简要介绍GET与POST的区别? 1.get是从服务器上获取数据,post是向服务器传送数据。 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。 post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTMLHEADER内一起传送到ACTION属性所指的URL地址。 用户看不到这个过程。 3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 4.get传送的数据量较小,不能大于2KB。 post传送的数据量较大,一般被默认为不受限制。 但理论上,IIS4中最大量为80KB,IIS5中为100KB。 5.get安全性非常低,post安全性较高。 但是GET执行效率却比Post方法好。 第9章PHP会话技术 习题 一、填空题 1.在实际开发中,注销功能是通过删除【session】和cookie实现的。 2.在实际开发中,可以通过设置【cookie】的有效期来实现用户7天免登录的功能。 。 1.执行【session_destroy()】函数可以同时删除session数据和文件。 3.PHP中session的设置和读取都是由超全局数组【$_SESSION[]】来完成。 。 4.从session中获取数据,需要使用【session_start()】函数开启session。 。 二、判断题 1.若要存储从session中获取的数据只能是数组或基本数据类型。 (×) 2.PHP中session支持任意类型的数据。 (×) 3.由于$_SESSION是超全局数组,所以数组内每个元素可以对应多个session数据。 (×) 4.在PHP中,必须使用超全局数组$_SESSION[]向session添加数据。 (√) 5.在调用session_start()前不能有任何输出,包括空格和空行,否则会报错。 (√) 三、选择题 1.PHP可以利用(D)配置项实现自动开启session的机制。 session_autoA: session_startB: session_auto_startC: session.auto_startD: 2.下列选项中不可以保存到session里的数据类型是(C)。 A: 字符串B: 数组C: 对象D: 布尔类型 3.下列选项中(A)是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 程序设计 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)