zoukankan      html  css  js  c++  java
  • Php基础知识测试题

    PHP 基础知识测试题 答案分析

     

    一:选择题(单项选择,每题2分):

     

    1. LAMP具体结构不包含下面哪种(A      )

    A:Windows系统              如果是这个就是WMP

    B:Apache服务器 

    C:MySQL数据库

    D:PHP语言

    2. 以下哪个SQL语句是正确的(D    )

    A:insert into users 少了一个values (‘p001’,’张三’,’男’);

    B:create table (Code int primary key);     漏了一个表名

    C:update users 少了一个set Code=’p002’ where Code=’p001’;

    D:select Code as ‘代号’ from users;

    3. 以下哪种类型是B/S架构的正确描述(C)     B/S 浏览器

    A:需要客户安装客户端    在浏览器上打开,并不需要安装客户端

    B:不需要安装就可以使用        浏览器的一些程序也需要安装后在使用的   例如cms

    C:依托浏览器的网络系统

    D:不需要服务器的系统        每种程序都需要服务器

    4 .php中哪个语句可以输出变量类型(C)

    A:echo    输出字符串        

    B:print    输出字符串

    C:var_dump()    输出类型  变量的值

    D:print_r()   输出数组的 并没输出类型

     

     

    5 .php定义变量正确的是(  B     )

    A:var a = 5;    JS定义方式

    B: $a = 10;     

    C:int b = 6;    强类型语言定义方式

    D:var $a = 12;     前面不需要加var

    6 .php中单引号和双引号包含字符串的区别正确的是(D)   

    A:单引号速度快,双引号速度慢        

    B:双引号速度快,单引号速度慢       A和B定义方式没有速度差别

    C:单引号里面可以解析转义字符      单引号可以原样输出

    D:双引号里面可以解析变量

    7 .若x,y为整型数据,以下语句执行的$y结果为(     B)

    $x = 1;                        x定义等于1           

    ++$x;                          x等于2了

     $y =$x++;                  先把x值附给y,在把x自加1所有等于2!!如果是++$x就是3

        A:1    B:2    C:3    D:0

    8 .php中关于字符串处理函数以下说法正确的是(     C     )

    A:implode( )方法可以将字符串拆解为数组           应该用explode     implode是合并 正好相反

    B:str_replace()可以替换指定位置的字符串          查找替换把满足的全部替换 可以用substr_replace 这种是用来替换指定位置

    C:substr( )可以截取字符串            

    D:strlen( )不能取到字符串的长度               可以获取长度

    9 .以下代码运行结果为:(A       )

           <?php

    $first = "This course is very easy !";     定义了一个变量first=

    $second = explode(" ",$first);              由定义了一个变量second=拆分字符串   用空格拆分的

    $first = implode(",", $second);              将数字组合并了字符串

    echo $first; 

    ?>

    A  This,course,is,very,easy,!            把原来的空格变成了 ,

    B  This course is very easy !

    C  This course is very easy !,

    D  提示错误

     

    10 .以下程序横线处应该使用的函数为:( B )         作用:把@符号前面的字符全部截掉

    <?php

          $email = ‘langwan@thizlinux.com.cn’;    

          $str = ____($email,‘@’);

          $info = ____(‘.’,$str);

          ____($info);

       ?>

       输出结果为:

    Array ([0] => @thizlinux [1]=>com[2]=>cn)    输出结果是一个数组

    A:strchr, split, var_dump        如果是这个的话就应该有类型,长度

    B:strstr, explode, print_r         strstr 也可以截取字符串,不常用

    C:strstr,explode, echo

    D:strchr, split, var,_dump

    11、下列说法正确的是:(B)    如果不放在php里面那么ACD都是正确的

    A. 数组的下标必须为数字,且从“0”开始           放强类型语言是对的

    B. 数组的下标可以是字符串       

    C. 数组中的元素类型必顺一致       可以存储任意类型

    D. 数组的下标必须是连续的         可以不连续

    12、下面哪项描述是错误的?(A,C)

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

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

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

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

    13、关于exit( )与die( )的说法正确的是( C  D)

    A、当exit( )函数执行会停止执行下面的脚本,而die()无法做到                exit   die都是终止程序

    B、当die()函数执行会停止执行下面的脚本,而exit( )无法做到

    C、die()函数等价于exit()函数

    D、die()函数于exit()函数没有直接关系     

    例:

    $a =10;

    exit ();或者die();

    echo $a;

    变量a没有输出,说明程序走到exit退出了或者走到 die也退出了

    它俩的区别:

     

    $a =10;

    echo"该程序出错了";

     

    exit;

     

    echo $a;

    它会输出一个错误信息并且把程序终止掉

    如果是

    $a =10;

    die("该程序出错了");   可以给它参数,当执行到这的时候给出一个错误并且终止程序

    echo $a;

     

     

    14、下面程序运行结果( B )

    <?php
    $nextWeek = time() + (7 * 24 * 60 * 60);               先输出当前日期在输出下周日期,   格式化了一下
    echo 'Now: '. date('Y-m-d') ." ";
    echo 'Next Week: '. date('Y-m-d', $nextWeek) ." ";
    ?>

     

    A、得到今天的日期(月-日)

    B、得到今天的日期(年-月-日)与下周的日期(年-月-日)

    C、得到现在的时间(小时-分-秒)

    D、得到现在到下周的时间间隔

    15、以下代码执行结果为:(D  )

     

    <?php

    functionprint_A(){

          $A = "phpchina";

          echo "A值为: ".$A."<p>";

    //return ($A);         如果注释去掉的话就选择C   

          }

          $B = print_A();   运行时会出错,因为没有返回值,是空的

          echo "B值为: ".$B."<P>";

        ?>

    A  A值为:

       B值为:

    B  A值为:

    B值为: phpchina

    C  A值为: phpchina

       B值为: phpchina

    D  A值为: phpchina

       B值为: 

    16、以下代码执行结果为:( C )

     

    <?php

    $A="Hello ";                 

    functionprint_A()              

    {

     $A = "phpmysql !!";

    global $A;                                               global    全局变量         函数是独立的模块                  $A外界定义的

    echo $A;

    }

     

    echo $A;

    print_A();

    ?>

     

    A Hello

    B phpmysql !!

    C Hello Hello

    D Hello  phpmysql !!

    17、以下代码输出的结果是(B    )    可变变量

    $a = "aa";

    $aa = "bb";

    echo $$a;

    A aa

    B bb

    C $aa

    D $$a

    18、以下代码输出的结果是(A    )

    <?php

    $a = 10;

    $b = &$a;   取a

    echo $b;      b也指向10

    $b = 15;      

    echo $a;

    ?>

    A 1015

    B 1010

    C 1515

    D 1510

     

    19、php输出拼接字符串正确的是(   C     )

    A echo $a+”hello”           php里不是用+

    B echo $a+$b

    C echo $a.”hello”

    D echo ‘{$a}hello’          错在用的是单引号,双引号就对了

    20、在用浏览器查看网页时出现404错误可能的原因是 ( B )         404  代表网页不存在没有找到文件

    A 页面源代码错误

    B 文件不存在

    C 与数据库连接错误

    D 权限不足

    21、以下代码输出的结果为(D)

    <?php

    $attr = array("0"=>"aa","1"=>"bb","2"=>"cc");         加了索引是关联数组

    echo $attr[1];

    ?>

    A 会报错!

    B aa

    C 输出为空

    D bb         弱类型语言,可以自动转换

    22、面向对象的三大特性中哪个不属于封装的做法(B       )

    A 将成员变为私有的

    B 将成员变为公有的

    C 封装方法来操作成员

    D 使用__get()和__set()方法来操作成员

    23、php的源码是(A   )   开源语言

    A.开放的    B.封闭的    C.需购买的     D.完全不可见的

     

    24、php如何输出反斜杠(  D     )   转义字符

    A.  代表换行  B.  代表换行    C.   代表制表符  D.\

    25、下列哪项不属于OOP的三大特性(B    )

    A:封装      B:重载        C:继承        D:多态

    26、以下关于字符串的说法正确的是(C     )

        A:echo “hello world”;在页面可以实现换行             在源代码里可以,在页面里不可以

        B:echo ‘helloworld{$a}’;可以解析变量a的值           单引号不能解析

        C:$str=<<<AA            定义字符串的第三种方法

            Hello world

    AA;标识

    该方式可以定义字符串

    D:print $a,”hello”;可以输出数据不报错             print只能输出一个字符串,不能连续输出

    27、下列说法不正确的是(  D     )

    A:list()函数可以写在等号左侧            唯一可以写在等号左边的

    B:each()函数可以返回数组里面的下一个元素     如果each第一次调的时候返回的第一个,把第一个当做下一个没有问题,如果  把第一个当做第一个就有问题

    C:foreach()遍历数组的时候可以同时遍历出key和value

    D:for循环能够遍历关联数组                           不能遍历关联数组

    28、关于面向对象的说法不正确的是(C     )

        A:OOP是面向对象的简称

        B:静态成员是属于类的

        C:普通成员是属于类的                属于对象的

        D:类里面的$this关键字代表该对象本身

    29、下列定义函数的方式是正确的(   B     )

        A:public void Show(){  }               不是php里面的

        B:function Show($a=5,$b){  }       给了个默认值

       C:function Show(a,b){  }               变量前面加$符号

       D:functionShow(int $a){  }            不需要加int

    30、下面哪个选项没有将 john 添加到 users 数组中? ( B )

    A. $users[] = "john";

    B. array_add($users, "john");              php没有这种方法添加

    C. array_push($users, "john");

    D. $users [“aa”]= "john" ;

    31、php中以下能输出1到10之间的随机数的是(C    )

        A:echo rand();

        B:echorand()*10;

        C:echo rand(1,10);

        D:echorand(10);

     

    32、php中以下能输出当前时间格式像:2016-5-6 13:10:56 的是(A   )

        A:echodate(“Y-m-d H:i:s”);      date方法用来  格式化输出时间  括号里面写的是格式化字符串

        B:echo time();     直接输出时间戳了

        C:echodate();      方法会报错

        D:echotime(“Y-m-d H:i:s”);   time里面不能写双引号

    33、以下哪项不属于函数的四要素(   D     ) 返回类型,函数名,参数列表,函数体

        A:返回类型

        B:函数名

        C:参数列表

        D:访问修饰符

    34、以下说法正确的是(C   )

        A:@符号可以屏蔽所有错误        
        B:exit;后面的语句可以继续执行

        C:10/4得出的结果是2.5    整数除以整数可以得出小数

        D:$$a;这种写法是错误的

     

    35、以下关于构造函数说法不正确的是(    B     )

        A:研究一个类,首先我们要研究的函数是构造函数
        B:构造函数写法和普通函数没有区别                             写法特殊有区别

        C:构造函数执行比较特殊

        D:如果父类中存在构造函数并且需要参数,子类在造对象的时候也应该传入相应的参数。

    36、以下关于多态的说法正确的是(   D     )

        A:多态在每个对象调用方法时都会发生
        B:多态是由于子类里面定义了不同的函数而产生的

        C:多态的产生不需要条件

        D:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在父类引用调用相应的函数的时候表现出的不同称为多态。

    37、以下代码在页面上会输出多少行数据(A     )

    $attr = array(1,2,3,4);       数组里面总共4个元素 

    while(list($key,$value) = each($attr))          each方法会把指针往下调,如果最后了就停止了while循环是进不来的,所以只能输出4行

        {

            echo $key."=>".$value."<br>";

        }

    while(list($key,$value) = each($attr))

        {

            echo $key."=>".$value."<br>";

        }

    A:4  B:6  C:8   D:12

    38、以下说法正确的是(C   )

        A:$attr代表数组,那么数组长度可以通过$attr.length取到      

        B:unset()方法不能删除数组里面的某个元素          可以删除

        C:php的数组里面可以存储任意类型的数据

        D:php里面只有索引数组    还有关联数组

    39、以下说法不正确的是(  B     )

        A:模糊查询使用的关键字是like
        B:排序查询asc是降序,desc是升序               反了

        C:分页查询使用的关键字是limit

        D:mysql如果只安装服务不安装界面也可以正常使用

    40、以下代码输出的结果为(D    )   三目运算符

    $a = "cc";

    $cc = "dd";

    echo $a=="cc"?"{$$a}":$a;

        A:cc
        B:$a

        C:$$a

        D:dd

     

    二、判断题(共10题,每题2分)

     

    1.php中布尔类型数据只有两个值:真和假。(  对  )  逻辑的真和假

    2.php中连接两个字符串的符号是“+ ”。(  错   )  用的是   点  .

    3.php可以使用“scanf”来打印输出结果。(   错  )     echo   print

    4.每个语句结尾都要加“;”来表示语句结束。 ( 对    ) 

    5.php变量使用之前需要定义变量类型。(  错   )    不需要  会根据后边的值自动确定类型

    6.在php中“==”的意思是“等于”。(    对  )  一个等号代表赋值,双等号代表等于

    7.while和do-while语句都是先判断条件再执行循环体。(  错   )  while是先判断条件 do-while是先执行循环体再判断

    8.“break ”代表的意思是跳出循环。(  对   )  continue是跳出当前这一次循环

    9.若定义数组时省略关键字key,则第三个数组元素的关键字为3。( 错  )   应该是2   定义数组时省略关键字key,说明定义了一个索引数组,索引数组里第三元素是2

    10.mysql数据库中查询数据用select语句。( 对      )

  • 相关阅读:
    Mysql外键和表关系
    列类型-字符类型
    列类型-日期时间型
    列类型
    破解MySQL的root密码
    数据库简单使用
    数据库简介
    socketserver
    python网络编程-粘包问题的解决
    python-网络编程,简单模型
  • 原文地址:https://www.cnblogs.com/zzzy0828/p/8207096.html
Copyright © 2011-2022 走看看