admin 管理员组

文章数量: 887021


2024年2月23日发(作者:樱花视频下载教程)

PHP核心课程测试题

一.单选题( 1’ x 50 = 50’ )

1. PHP是哪一种类型的语言( )

A. 编译型

B. 解释性

C. 两者都是

D. 两者都不是

2. 在用浏览器查看网页时出现404错误可能的原因是( )

A. 页面源代码错误

B. 文件不存在

C. 与数据库连接错误

D. 权限不足

3. 若x,y为int类型变量,则执行以下语句后,y的值为( )

$x = 1;

++ $x;

$y = $x++;

>

A. 1

B. 2

C. 3

D. 0

4. 下列代码执行后,输出结果正确的是( )

function sum( ){

$result = 1;

$result++;

}

sum( );

echo $result;

>

A. 1

B. 2

C. 运行错误

D. 都不对

5. 执行完以下代码后,变量$num的值为( )

$num = 10;

function demo($num){

$num= $num + 20;

}

demo (&$num);

echo $num;

>

A. 10

B. 20

C. 30

D. 显示错误

6. 以下程序运行结果为( )

function total_sum ($c = 5, $b = 3, $c){

echo $a.”+”.$b.”+”.$c.”=”.($a + $b + $c);

}

total_sum (1 );

>

A. 5 + 3 + 1 = 9

B. 1 + 5 + 3 =9

C. 提示错误,并有显示:+ 3 + 1 = 4

D. 9

7. 下面的脚步运行以后,$array数组所包含的值是( )

$array = array (‘1’, ’1’);

foreach ($array as $k => $v){

$v = 2

}

>

A. arra y (‘2’, ’2’)

B. array (1, 1)

C. array (2, 2)

D. array (null,null)

8. 查询名字中第2个字为“阳”的学生的姓名和学号,正确的是( )

A. Select Sname,Sno from student where Sname like ‘_阳%’;

B. Select Sname,Sno from student where Sname like ‘阳%’;

C. Select Sname,Sno from student where Sname like ‘_阳’;

D. Select Sname,Sno from student where Sname like ‘阳_%’;

9. 下面哪个函数可以打开一个文件,以对文件进行读和写操作?( )

A. fget()

B. file_open()

C. fopen()

D. open_file()

10. PHP是一种______脚本语言,基于______引擎。PHP常被用来开发动态的______内容,此为,它同样还可以被用来生成______(以及其它)文档。( )

A. 动态, PHP,数据库,HTML

B. 嵌入式,Zend,HTML,XML

C. 基于Perl的,PHP,Web,静态

D. 嵌入式,Zend,Docbook文档,MySQL

E. 基于Zend的,PHP,图像,HTML

11. 什么情况下声明函数时不能给参数赋默认值( )

A. 当函数只有一个参数时

B. 当函数是类中的成员时

C. 当参数是通过引用传递时

D. 永远不会

12. 借助继承,我们可以创建其他类的派生类,那么在PHP中,子类最多可以继承几个父类?( )

A. 一个

B. 两个

C. 取决于系统资源

D. 想要几个有几个

13. 如何在类的内部调用getName方法?( )

A. $self => getName( );

B. $this->getName( );

C. $current->getName( );

D. $this::getName( );

14. 以下代码是干什么的?( )

require_once "";

MyClass::myMethod();

>

A. 调用静态方法myMethod

B. 生成MyClass的实例并调用myMethod方法

C. 产生一个语法错误

D. 调用名为 MyClass::myMethod() 的方法

15. 以下脚本输出什么?( )

class Animal{

function Animal(){

echo "Animal called";

}

}

class Bird extends Animal{

function Bird(){

}

}

$bird = new Bird();

>

A. Animal called

B. 一个错误

C. 一个警告

D. 什么都没有

16. 以下脚本输出什么?( )

class Person{

var $name;

}

$a = new Person();

$a->name = "张三";

$b = $a;

$b->name = "李四";

echo $a->name;

>

A. 张三

B. 李四

C. Null

D. 什么都没有

17. 如果不给Cookie设置过期时间会怎样?( )

A. 立刻过期

B. 永不过期

C. Cookie无法设置

D. 在浏览器会话结束时过期

18. 在默认情况下,PHP把会话(SESSION)数据存储在_____里。( )

A. 文件系统

B. 数据库

C. 内存

D. 以上都不是

19. 假设浏览器没有重启,那么在最后一次访问后的多久,会话(SESSION)才会过期并被回收?( )

A. 1440秒后

B. 在_maxlifetime设置的时间过了后

C. 除非手动删除,否则永不过期

D. 除非浏览器重启,否则永不过期

20. 以下脚本输出结果是什么?( )

$arr = array('3'=>'a','1b'=>'b','c','d');

echo $arr[1];

>

A. a

B. b

C. c

D. 一个警告

21. 变量$email=****************,以下哪项能得到字符串?( )

A. substr($email, strpos($email, ‘@’));

B. strstr($email, ‘@’);

C. substr($email, strpos($email, ‘@’) + 1);

D. strrpos($email, ‘@’);

22. 如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?( )

A. 解释器输出一个类型错误

B. 字符串将被转成数字,再与整型数字相加

C. 字符串将被丢弃,只保留整型数字

D. 字符串和整形数字将连接成一个新字符串

23. 以下脚本输出什么?( )

$x = "apple";

echo substr_replace($x,'x',1,2);

>

A. x

B. axle

C. axxle

D. applex

24. 函数_____能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用_____函数。( )

A. fgets(), fseek()

B. fread(),fgets()

C. fputs(),fseek()

D. fgets(),fread()

25. DESC在这个查询中起什么作用?( )

SELECT * FROM my_table

WHERE ID > 0

ORDER BY id, name DESC

A. id相同的记录按name升序排列

B. id相同的记录按name倒序排列

C. 返回的记录先按name排序,再按id排序

D. 结果集中包含对name字段的描述

26. 如果一个字段能被一个包含group by 的条件的查询语句读出,以下哪个选项的描述正确?( )

A. 该字段必须有索引

B. 该字段必须包含一个聚集值

C. 该字段必须是主键

D. 该字段不能包含NULL值

27. 以下查询输出什么?( )

SELECT COUNT(*) FROM table1 INNER JOIN table2

ON <>

A. table1和table2不相同的记录

B. 两个表中相同的记录

C. table1中的记录条数乘以table2中的记录条数再减去两表中相同的记录条数

D. 两表中不同记录的条数

28. 以下哪个说法正确?( )

A. 使用索引能加快插入数据的速度

B. 良好的索引策略有助于防止跨站攻击

C. 只有数字记录行需要索引

D. 应当根据数据库的实际应用按理设计索引

29. 下列哪个函数可以用于页面跳转?( )

A. redir( )

B. header( )

C. location( )

D. recirect( )

30. 当把一个有两个同名元素的表单提交给PHP脚本时会发生什么?( )

A. 他们组成一个数组,存储在超级全局变量数组中

B. 第二个元素的值加上第一个元素的值后存储在超级变量数组中

C. 第二个元素将覆盖第一个元素

D. 第二个元素将被自动重命名

31. 循环语句for($x = 2; $x > 10; $x--),循环次数是( )

A. 8次

B. 10次

C. 死循环

D. 0次

32. 执行如下代码,其输出结果是( )

$a = 3;

$b = 4;

$c = $a < 2 && $b++;

echo $b;

A. 4

B. 5

C. 出错

D. 都不是

33. 执行如下代码,结果是( )

$a = -3;

$b = 4;

echo $a | $b;

>

A. -3

B. 4

C. -7

D. 1

34. 执行如下代码,其结果为( )

switch ($i) {

case 0:

echo "i equals 0";

case 1:

echo "i equals 1";

case 2:

echo "i equals 2";

}

>

A. 程序出错

B. i equals 0

C. 输出i equals 0 i equals 1 i equals 2

D. 出现一个警告,并输出i equals 0 i equals 1 i equals 2

35. 执行如下代码,输出结果为( )

define("USER","root");

define("USER","admin");

echo USER;

>

A. root

B. admin

C. 出现一个警告,并输出root

D. 出现一个警告,并输出admin

36. 执行如下代码,输出结果为( )

$a = 3;

$b = &$a;

$b = null;

var_dump($a);

>

A. int(3)

B. NULL

C. 提示未定义变量错误

D. 都不对

37. 执行如下代码,输出结果为( )

$a = 3;

$b = &$a;

unset($b);

var_dump($a);

>

A. int(3)

B. NULL

C. 提示未定义变量错误

D. 都不对

38. 执行如下代码,输出结果分别为( )

$a = 5;

echo $a++ + $a++ + $a++;

$a = 5;

echo ++$a + ++$a + ++$a;

>

A. 17,20

B. 17,21

C. 18,20

D. 18,21

39. 执行如下代码,输出结果为( )

function foo($n){

if($n > 2){

foo($n--);

}

echo $n;

}

foo(5);

>

A. 5 4 3 2

B. 2 3 4 5

C. 2 2 3 4

D. 出错,死循环

40. 执行如下代码,输出结果为( )

$v1 = 1;

function test(){

global $v1;

unset($v1);

}

test();

echo $v1;

>

A. 1

B. 什么都没有

C. 出错

D. 以上都不对

41. 执行如下代码,输出结果为( )

$v1 = 1;

function test(){

unset($GLOBALS["v1"]);

}

test();

echo $v1;

>

A. 1

B.什么都没有,并提示一个警告

C. 出错

D. 以上都不对

42. 执行如下代码,输出结果为( )

function foo(){

static $a = 3;

$a++;

echo $a;

}

foo();

foo();

foo();

>

A. 3 3 3

B. 3 4 5

C. 4 4 4

D. 4 5 6

43. 下面哪一项不是PHP中面向对象的机制( )

A. 类

B. 属性、方法

C. 单一继承

D. 多继承

44. 以下是一个类的声明,对成员属性正确的赋值方式是( )

class Test{

private $a;

static $b;

function setA($a){

$this->a = $a;

}

}

$test = new Test();

>

A. $test->a = “abc”;

B. Test::$b = “abc”;

C. Test::setA(“abc”);

D. $test->b = “abc”;

45. 执行语句“ SELECT ('a'='a') AND ('c'<'d');”结果为 ( )

A. 1

B. 0

C. NULL

D. False

46. 使用下列哪个命令可以使结果表中除了匹配行外,还包括右表有的但左表中不匹配的行?( )

A. LEFT OUTER JOIN

B. RIGHT OUTER JOIN

C. NATURAL JOIN

D. INNER JOIN

47. 在使用union进行集合运算时,保留所有的纪录的关键字为( )

A. ALL

B. both

C. distinct

D. different

48. 消除查询结果中重复纪录的关键字为 ( )

A. distinct

B. limit

C. ALL

D. having

49. 主键的组成( )

A. 只有一个属性

B. 不能多于3个属性

C. 必须是多个属性

D. 一个或多个属性

50. MySQL数据库属于哪种数据模型( )

A. 层次模型

B. 网状模型

C. 关系模型

D. 逻辑模型

二.不定项选择( 1’ x 20 = 20’ )

1.

A.

B.

C.

D.

安装Web服务器程序后,在地址栏中输入( ),可以访问站点默认文档。

在局域网中直接输入服务器的IP地址

在局域网中直接输入服务器所在计算机的名称

如果是在服务器所在的计算机上,直接输入127.0.0.1

如果是在服务器所在的计算机上,直接输入127.0.0.1

2. 下面选项中,哪些属于URL的组成部分?( )

A. 传输协议

B. 主机

C. 端口

D. Internet

3. 下面哪些是SQL的聚合函数( )

A. AVG

B. SUM

C. MAX

D. CONCAT

E. COUNT

4. 取得查询语句的结果集中的记录函数有 ( )

A. mysql_fetch_row

B. mysql_fetch_assoc

C. mysql_num_rows

D. mysql_fetch_array

E. mysql_fetch_object

5. 要获取数组的大小,可以使用函数 ( )

A. list( )

B. count( )

C. length( )

D. sizeof( )

6. 下面哪些可以将 john 添加到users 数组中? ( )

A. $users[] = ‘john’;

B. array_add($users,’john’);

C. array_push($users,‘john’);

D. $users [“name”]= ‘john’;

7. 下面那些标签可以作为PHP起始/结束标记( )

A. <% %>

B.

C.

D.

E. >

8. 下面哪些符合PHP语法?( )

A. $_10

B. ${“MyVar”}

C. &$var

D. $10_a

E. $aVar

9. 以下哪些是把整型变量$a的值乘以4?( )

A. $a *= pow(2, 2);

B. $a >>= 2;

C. $a <<= 2;

D. $a += $a + $a;

E. 一个都不对

10. 假设定义了一个Person类,它的构造函数的函数名是什么?( )

A. __construct

B. initialize

C. person

D. __Person

11. 脚本如何访问表单元素email的值?( )

A. $_GET[“email”]

B. $_POST[“text”]

C. $_POST[“email”]

D. $_REQUEST[“email”]

12. 以下脚本将如何影响$s字符串?( )

$s = 'Hello';

$ss = htmlentities($s);

echo $s;

>

A. 尖括号<>会被转成HTML标记,因此字符串将变长

B. 没有变化

C. 在浏览器上打印该字符串时,尖括号是可见的

D. 在浏览器上打印该字符串时,尖括号及其内容被识别为HTML标签,因此不可见。

13. 以下哪些可以把字符串$s1和$s2组成一个字符串?( )

A. $s1 + $s2

B. “{$s1}{$s2}”

C. $s1.$s2

D. implode(‘’, array($s1,$s2))

14. 以下哪些函数能读取文件的全部内容?( )

A. fgets( );

B. file_get_contents( );

C. fread( );

D. readfile();

E. file();

15. PHP支持下列哪些DBMS?( )

A. MySQL

B. IBM/DB2

C. PostgreSQL

D. Microsoft SQL Server

16. 下面哪些是面向对象的特征?( )

A. 抽象

B. 封装

C. 继承

D. 多态

17. 下面哪些描述是正确的?( )

A. 父类的构造函数与析构函数不会自动被调用

B. 成员变量需要用public、protected、private修饰,在定义变量时不再需要var关键字

C. 父类中定义的静态成员,不可以在子类中直接调用

D. 包含抽象方法的类必须为抽象类,抽象类不能被实例化

18. 关于抽象类和接口的对比分析,正确的有( )

A. 接口和抽象类都可以只声明方法而不实现

B. 抽象类可以定义常量,而接口不能

C. 抽象类可以实现具体的方法,而接口不能

D. 抽象类可以声明属性,而接口不能

19. 在B/S结构的web应用程序中包括( )组件。

A. 文件服务器

B. 浏览器

C. web服务器

D. 数据库服务器

20. 数据库xscj中有xs表,下列哪些语句可以执行( )

A. use xscj

B. use xs

C. rename table xs to xs1

D. rename database xscj to xscj1

三.编程应用题( 6’ x 5 = 30’ )

1. 给定一个数组如array(23,2,17,32,6,44),用PHP实现冒泡排序。

2. 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。

3. 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

4. 有一个留言板,用mysql做数据库

用户信息包括:用户名,密码,email

留言内容包括:留言ID,标题,内容,发表时间,状态(审核,未审核)

请实现下列需求:

1)数据库结构。无需写建表语句,用类似下面的表格,描述清楚即可

表明

字段名

name

gender

table_aaa

字段说明

姓名

性别

字段类型

Varchar(64)

Enum(‘M’,‘F’)

索引

唯一索引

注意,要在索引栏中注明是否需要创建索引,以及要创建的索引的类型

2)用一个sql语句查询出发表留言数量大于10条的用户名及其留言数量,查询结果按留言数量降序排列。

5. 在某宾馆的宴会厅里,有4位朋友正围桌而坐,侃侃而谈。他们用了中、英、法、日4种语言。现已知:

A.甲、乙、丙各会两种语言,丁只会一种语言;

B.有一种语言4人中有3人都会;

C.甲会日语,丁不会日语,乙不会英语;

D.甲与丙、丙与丁不能直接交谈,乙与丙可以直接交谈;

E.没有人既会日语,又会法语。

请问:甲乙丙丁各会什么语言?要求写出推导过程。(IBM笔试题)


本文标签: 结果 函数 输出 错误 文件