Zend 认证考试模拟题之一编程基础doc.docx
《Zend 认证考试模拟题之一编程基础doc.docx》由会员分享,可在线阅读,更多相关《Zend 认证考试模拟题之一编程基础doc.docx(9页珍藏版)》请在冰豆网上搜索。
Zend认证考试模拟题之一编程基础doc
1
PHP编程基础
你必须有一定的经验才能完成这套测试题。
这并不意味着你必须是超级高手——很简
单,为了通过这套测试,你只需在日常生活有足够的接触PHP的时间。
因此,了解自己对“基础”的掌握程度非常重要。
尽管这些知识非常“底层”,但却是
PHP永恒的基本元素。
没有回答好本套测试其他章节的题目可能只是说明那些问题并不是
你日常PHP编程中经常接触的部分;但如果在本章就做错大量的题目,你就要警惕了。
总
之,如果你基础薄弱,就会影响你对进阶知识的理解。
2
问题
1.选择合适的答案填入空白处
PHP是一种______脚本语言,基于______引擎。
PHP最常被用来开发动态的______内
容,此外,它同样还可被用来生成______(以及其他)文档。
A.动态,PHP,数据库,HTML
B.嵌入式,Zend,HTML,XML
C.基于Perl的,PHP,Web,静态
D.嵌入式,Zend,Docbook文档,MySQL
E.基于Zend的,PHP,图像,HTML
2.以下哪种标签不是PHP起始/结束符?
A.<%%>
B.
?
>
C.
=?
>
D.
!
>
E.
php?
>
3.以下代码哪个不符合PHP语法?
A.$_10
B.${“MyVar”}
C.&$something
D.$10_somethings
E.$aVaR
4.运行以下代码将显示什么?
php
define(myvalue,"10");
$myarray[10]="Dog";
$myarray[]="Human";
$myarray['myvalue']="Cat";
$myarray["Dog"]="Cat";
print"Thevalueis:
";
print$myarray[myvalue]."\n";
?
>
3
A.TheValueis:
Dog
B.TheValueis:
Cat
C.TheValueis:
Human
D.TheValueis:
10
E.Dog
5.print()和echo()有什么区别?
A.print()能作为表达式的一部分,echo()不能
B.echo()能作为表达式的一部分,print()不能
C.echo()能在CLI(命令行)版本的PHP中使用,print()不能
D.print()能在CLI(命令行)版本的PHP中使用,echo()不能
E.没有区别:
两个函数都打印文本!
6.以下脚本输出什么?
php
$a=10;
$b=20;
$c=4;
$d=8;
$e=1.0;
$f=$c+$d*2;
$g=$f%20;
$h=$b-$a+$c+2;
$i=$h<<$c;
$j=$i*$e;
print$j;
?
>
A.128
B.42
C.242.0
D.256
E.342
7.如何给变量$a,$b和$c赋值才能使以下脚本显示字符串“Hello,World!
”?
php
$string="Hello,World!
";
$a=?
;
4
$b=?
;
$c=?
;
if($a){
if($b&&!
$c){
echo"GoodbyeCruelWorld!
";
}elseif(!
$b&&!
$c){
echo"Nothinghere";
}
}
else{
if(!
$b){
if(!
$a&&(!
$b&&$c)){
echo"Hello,World!
";
}else{
echo"GoodbyeWorld!
";
}
}else{
echo"Notquite.";
}
}
?
>
A.False,True,False
B.True,True,False
C.False,True,True
D.False,False,True
E.True,True,True
8.以下脚本输出什么?
php
$array='0123456789ABCDEFG';
$s='';
for($i=1;$i<50;$i++){
$s.=$array[rand(0,strlen($array)-1)];
}
echo$s;
?
>
A.50个随机字符组成的字符串
B.49个相同字符组成的字符串,因为没有初始化随机数生成器
C.49个随机字符组成的字符串
D.什么都没有,因为$array不是数组
5
E.49个字母‘G’组成的字符串
9.哪种语句结构用来表现以下条件判断最合适?
php
if($a=='a'){
somefunction();
}elseif($a=='b'){
anotherfunction();
}elseif($a=='c'){
dosomething();
}else{
donothing();
}
?
>
A.没有default的switch语句
B.一个递归函数
C.while语句
D.无法用别的形式表现该逻辑
E.有default的switch语句
10.要修改每个元素的值,如何遍历$myarray数组最合适?
php
$myarray=array("MyString","AnotherString","Hi,Mom!
");
?
>
A.用for循环
B.用foreach循环
C.用while循环
D.用do…while循环
E.办不到!
11.考虑如下代码片段:
php
define("STOP_AT",1024);
$result=array();
/*在此处填入代码*/
{
6
$result[]=$idx;
}
print_r($result);
?
>
标记处填入什么代码才能产生如下数组输出?
Array
{
[0]=>1
[1]=>2
[2]=>4
[3]=>8
[4]=>16
[5]=>32
[6]=>64
[7]=>128
[8]=>256
[9]=>512
}
A.foreach($resultas$key=>$val)
B.while($idx*=2)
C.___________for($idx=1;$idxD.for($idx*=2;STOP_AT>=$idx;$idx=0)
E.while($idx12.为用户定义函数is_leap()选择一个合适的函数声明。
is_leap使用2000作为默认年份。
php
/*函数声明处*/
{
$is_leap=(!
($year%4)&&(($year%100)||
!
($year%400)));
return$is_leap;
}
var_dump(is_leap(1987));/*Displaysfalse*/
var_dump(is_leap());/*Displaystrue*/
?
>
A.functionis_leap($year=2000)
B.is_leap($yeardefault2000)
C.functionis_leap($yeardefault2000)
7
D.functionis_leap($year)
E.functionis_leap(2000=$year)
13.运行以下代码将显示什么值?
假设代码运行时的URL是:
testscript.php?
c=25
php
functionprocess($c,$d=25)
{
global$e;
$retval=$c+$d-$_GET['c']-$e;
return$retval;
}
$e=10;
echoprocess(5);
?
>
A.25
B.-5
C.10
D.5
E.0
14.考虑如下代码:
php
functionmyfunction($a,$b=true)
{
if($a&&!
$b){
echo"Hello,World!
\n";
}
}
$s=array(0=>"my",
1=>"call",
2=>'$function',
3=>'',
4=>"function",
5=>'$a',
6=>'$b',
7=>'a',
8=>'b',
9=>'');
$a=true;
8
$b=false;
/*GroupA*/
$name=$s[?
].$s[?
].$s[?
].$s[?
].$s[?
].$s[?
];
/*GroupB*/
$name(${$s[?
]},${$s[?
]});
?
>
脚本中的每个问号(?
)代表$s数组的一个数字索引。
要想代码执行时显示Hello,World!
字符
串,该如何选择数字索引?
A.GroupA:
4,3,0,4,9,9GroupB:
7,8
B.GroupA:
1,3,0,4,9,9GroupB:
7,6
C.GroupA:
1,3,2,3,0,4GroupB:
5,8
D.GroupA:
0,4,9,9,9,9GroupB:
7,8
E.GroupA:
4,3,0,4,9,9GroupB:
7,8
15.运行时(run-time)包含一个PHP脚本使用______,而编译时(compile-time)包含一
个PHP脚本使用______。
A.include_once,include
B.require,include
C.require_once,include
D.include,require
E.以上皆可
16.什么情况下声明函数时不能给参数赋默认值?
A.当参数是布尔值时
B.当函数是类中的成员时
C.当参数是通过引用传递时
D.当函数只有一个参数时
E.永远不会
17.______操作符在两个操作数中有一个(不是全部)为True时返回True。
答案:
____________
18.全等运算符===如何比较两个值?
A.把它们转换成相同的数据类型再比较转换后的值
B.只在两者的数据类型和值都相同时才返回True
9
C.如果两个值是字符串,则进行词汇比较
D.基于strcmp函数进行比较
E.把两个值都转换成字符串再比较
19.以下哪个选项是把整型