PHP网络编程-期中考试试题及答案(共4页).doc
精选优质文档-倾情为你奉上PHP网络编程 期中考试试题一、 单项选择题(每题3分共计30分)1、在HTML中嵌入PHP代码,有以下几种方法,其中错误的是()。A. 以”<?php”开头,以”?>”结束,中间为PHP代码。B. 以<script language=“php”>开头,</script>以结束,中间为PHP操作代码。C. 以”<?”开头,以”?>”结束,中间为PHP操作代码。D. 以”<!”开头,以”!>”结束,中间为PHP操作代码。2、以下变量的值不为65的是()。A. $a=065; B. $a=0x41; C. $a=A; D. $a=0101;3、在下列()情况下,变量不被认为是NULL。A. 变量赋值为NULL B. 变量赋值为空字符串 C. 变量尚未赋值 D. 变量被unset函数释放4、下列变量名称有误的是()。A. $_1na=12; B. $myweb=“”; C. $Site163=“”; D. $我的变量=“test”;5、假设$a=5,有$a+=2,则$a的值为()。A. 5 B. 6 C. 7 D. 86、在PHP中属于比较运算符的是()。A. = B.! C. = = D. &7、下列()函数可以判断读取是否至压缩文件的末尾。A. feof( ) B. gzeof( ) C. gzrewind( ) D. gzseek( )8、下列说法中,错误的是()。A. echo、print、printf可以打印变量内容,但不能显示数组及系统超级变量数组B. print_r不仅可以打印数组、标量变量,还可以打印对象的内容C. echo是一个语句,可以使用.(小圆点)来拼接字符串,而print则不可以。D. echo语句可以有返回值9、下列有关get和post方法传递参数的说法中,正确的是()A. get方法是发送请求HTTP协议通过URL参数传递进行接收,传递参数简单,且没有长度限制。B. post方法是通过表单传递参数,可以提交大量的信息。C. 使用post方法传递参数会出现页面参数泄露在地址栏中的情况。D. 使用URL可以传递多个参数,参数之间需要用“$”连接。10、在PHP函数中,属于选择数据库函数的是()。A. mysql_fetch_row B. mysql_fetch_object C. mysql_result D. mysql_select_db 二、 写出下列 各小题的输入结果(第1、2小题各3分,第3、4小题各6分,第5、6小题各8分,共34分)1、<?php $a=1; function test() echo $a; test();?>2、<?php $b=201;$c=40;$a=$b>$c?4:5;echo $a;?>3、<?php $arr=array(5=>1,12=>2); $arr=3; $arr"x"=4; print_r($arr); echo "<br>" unset($arr5); print_r($arr); echo “<br>”; unset($arr); print_r($arr); ?>4、<?php $i=1; for(;) if($i>10) break; echo $i+." " echo "<br>"?>5、<?php $m=2;$n=3; $table="<table border='1'>" for($i=1;$i<=$m;$i+) $table.="<tr>" for($j=1;$j<=$n;$j+) $table .= "<td>m:$i, n:$j</td>" $table .= "</tr>" $table .= "</table>" echo $table;?>6、<?php $id=gzopen("test.gz","w"); gzwrite($id,"n",5); gzclose($id); $id=gzopen("test.gz","r"); echo gzgetc($id)."<br>" echo gzgets($id,4)."<br>" gzclose($id);$id=gzopen("test.gz","w"); gzputs($id,"<html><title>this is a test.</title>n"); gzputs($id,"</html>the second line.n"); gzclose($id);$id=gzopen("test.gz","r"); echo gzgetss($id,10)."<br>" gzpassthru($id); echo "<br>" gzclose($id);?>三、 编程题(第1小题15分,第2小题21分共36分)1、有一个数组$a=array(4,3,8,9,2),将其重新排序并输入结果,按从小到大的顺序排列。2、数据库qzh中有一个表user,其结构为(name,tel,content,date),已有如下三条记录张三 大专毕业 2006-10-11张三 本科毕业 2006-10-15张四 021- 中专毕业 2006-10-15请使用php编写程序实现:(1)查询所有姓名为“张三”的记录,并使用mysql_fetch_array函数输出查询结果;(2)添加记录(小王 高中毕业 2007-05-06)至表中;(3)张三的时间更新成为当前系统时间。注意:请将以上三个操作作为一个事务来处理,即以上三个操作全部成功时,才提交事务,只要有一个操作失败,其余两个操作不能提交。答案一:D B B D C C B D B D二:1、无输出 2、4 3、Array ( 5 => 1 12 => 2 13 => 3 x => 4 ) Array ( 12 => 2 13 => 3 x => 4 )4、1 2 3 4 5 6 7 8 9 105、m:1, n:1m:1, n:2m:1, n:3m:2, n:1m:2, n:2m:2, n:36、1234tle>this is a test.the second line.三、1、<?php$a = array(4,3,8,9,2); $j = 1; $temp = 0; while($j < count($a) for ($i=0; $i<count($a)-$j; $i+) if($a$i > $a$i+1) $temp = $a$i; $a$i = $a$i+1; $a$i+1 = $temp; $j+; print_r($a);?>2、<?php/用户注册事务开始$dbconn = mysqli_connect("localhost", "root", "123", "test") or die("不能连接到数据库");mysqli_autocommit($dbconn, false);/查询user表中所有姓名为“张三”的记录$sql1 = "select * from user where name='张三'"$result = mysqli_query($dbconn, $sql1);if($result != true) mysqli_rollback($dbconn); /如果出错,则回滚到开始状态/添加记录(小王 高中毕业 2007-05-06)至表中$sql2 = "insert into user(name,tel,content,nf) values('小王','','高中毕业',)"$result = mysqli_query($dbconn,$sql2);if($result != true) mysqli_rollback($dbconn); /如果出错,则回滚到开始状态/更改张三的毕业时间为当前系统时间$sql3 = "update user set nf=now() where name='张三'"$result = mysqli_query($dbconn, $sql3);if($result != true) mysqli_rollback($dbconn); /如果出错,则回滚到开始状态/没有任何错误,则提交,完成一次事务操作mysqli_commit($dbconn);/关闭数据库连接mysqli_close($dbconn);?><?php$conn = mysql_connect('localhost','root','123');mysql_select_db('test');$query = "SELECT * FROM user"$result = mysql_query($query,$conn);/使用mysql_fetch_array函数输出查询结果while($row = mysql_fetch_array($result) echo $row0." " echo $row1." " echo $row2." " echo $row3."<br>"?>专心-专注-专业