綜合知識 百分網手機站

内蒙11选五中奖:php基礎知識期末考試題及答案

時間:2017-09-26 綜合知識 我要投稿

一定牛天津快乐爱彩乐 www.ogifl.com   PHP,是英文超文本預處理語言Hypertext Preprocessor的縮寫。作為一種本廣泛應用的語言,是做網站后端必不可少的語言。下面是百分網小編為大家整理的關于php基礎知識期末考試題,希望大家喜歡!

  php基礎知識期末考試題

  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:需要客戶安裝客戶端 在瀏覽器上打開,并不需要安裝客戶端 C/S 客戶端

  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; 強類型語言定義方式 C## Java

  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 )

  $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 ) 作用:把@符號前面的字符全部截掉

  $email = ‘[email protected]’;

  $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 )

  $nextWeek = time() + (7 * 24 * 60 * 60); 先輸出當前日期在輸出下周日期, 格式化了一下

  echo 'Now: '. date('Y-m-d') ."\n";

  echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";

  ?>

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

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

  C、得到現在的時間(小時-分-秒)

  D、得到現在到下周的時間間隔

  15、以下代碼執行結果為:(D )

  functionprint_A(){

  $A = "phpchina";

  echo "A值為: ".$A."

  ";

  //return ($A); 如果注釋去掉的話就選擇C

  }

  $B = print_A(); 運行時會出錯,因為沒有返回值,是空的

  echo "B值為: ".$B."

  ";

  ?>

  A A值為:

  B值為:

  B A值為:

  B值為: phpchina

  C A值為: phpchina

  B值為: phpchina

  D A值為: phpchina

  B值為:

  16、以下代碼執行結果為:( C )

  $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 )

  $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 代表網頁不存在沒有找到文件 500頁面錯誤

  A 頁面源代碼錯誤

  B 文件不存在

  C 與數據庫連接錯誤

  D 權限不足

  21、以下代碼輸出的結果為(D)

  $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.\n 代表換行 B.\r 代表換行 C.\t 代表制表符 D.\\

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

  A:封裝 B:重載 C:繼承 D:多態

  26、以下關于字符串的說法正確的是(C )

  A:echo “hello\nworld”;在頁面可以實現換行 在源代碼里可以,在頁面里不可以

  B:echo ‘helloworld{$a}’;可以解析變量a的值 單引號不能解析

  C:$str=<<

  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:構造函數construct寫法和普通函數沒有區別 寫法特殊有區別

  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."

  ";

  }

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

  {

  echo $key."=>".$value."

  ";

  }

  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

  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語句。( 對 )

  1.B/S架構和C/S架構:

  B/S架構是依托于瀏覽器的網絡系統,C/S架構是基于客戶端的。

  B/S架構:

  隨著Internet和WWW的流行,以往的主機/終端和C/S都無法滿足當前的全球網絡開放、互連、信息隨處可見和信息共享的新要求,于是就出現了B/S型模式,即瀏覽 器/服務器結構。它是C/S架構的一種改進,可以說屬于三層C/S架構。主要是利用了不斷成熟的WWW瀏覽器技術,用通用瀏覽器就實現了原來需要復雜專用軟件才能實現的強并節約了開發成本,是一種全新的軟件系統構造技術。第一層是瀏覽器,即客戶端,由于客戶不需要安裝客戶端,只要有瀏覽器就能上網瀏覽,所以它面向的是大范圍的用戶。第二層是WEB服務器。第三層是數據庫服務器。

  C/S架構:

  C/S架構軟件(Client/Server,即客戶機/服務器模式)分為客戶機和服務器兩層,第一層是用戶表示層,第二層是數據庫層。C/S架構是一種比較早的軟件架構,主要應用于局域網內。想要使用C/S架構的軟件需要下載一個客戶端,安裝后就可以使用。

  2.若x,y為整形數據,執行以下語句:

  $x=1;

  ++$x;

  $y=$x++;

  則輸出$y結果為:$y=2.

  解釋:

  y=++x相當于:x=x+1,y=x

  y=x++相當于:y=x,x=x+1

  所以本題的意思是:

  $x=1;

  $x=$x+1;(這時$x=2,不需要賦值,直接進行自身的運算)

  $y=$x;($y=2)

  $x=$x+1;($x=3)

  最終輸出$y的結果為2。

  3. exit()和die(),兩者是等價的,遇到都會停止執行下面的腳本

  4. function print_A()

  {

  $A="phpchina";

  echo "A的值為".$A."

  ";

  //return $A;

  }

  $B=print_A();

  echo "B的值為".$B."

  ";

  輸出$A,$B的結果為:$A=phpchina $B=

  解釋:

  //return $A;此句被注釋掉,所以print_A沒有返回值,而$B=print_A();輸出的是print_A的返回值,所以$B的值為空。

  5. 以下代碼的執行結果為:

  $A="Hello ";

  function print_A()

  {

  $A="php mysql!!";

  global $A;

  echo $A;

  }

  echo $A;

  print_A();

  輸出結果為:Hello Hello

  解釋:

  global為全局變量,引用時可以將方法外的變量值引入,所以global$A相當于$A="hello ";輸出print_A()的值是"Hello "。

  全局變量:

  在程序設計中,全局變量是在所有作用域都可訪問的變量,與之對應的是局部變量。它不屬于哪一個函數,它屬于一個源程序文件。其作用域是從定義該變量的位置開始至源文件結束。在函數中使用全局變量,一般應作全局變量聲明。 只有在函數內經過聲明的全局變量才能使用。 但在一個函數之前定義的全局變量,在該函數內使用可不再加以聲明。

  6. 以下代碼輸出結果為:

  $a="aa";

  $aa="bb";

  echo $$a;

  輸出結果為:bb

  解釋:

  $a="aa",$$a=$aa="bb"。

  7. 以下代碼輸出結果為:

  $a=10;

  $b=&$a;

  echo $b;

  $b=15;

  echo $a;

  輸出結果為:1015

  解釋:

  開始$b=$a=10,輸出$b的值為10;后面$b=15,$b重新賦值,$a也重新賦值,所以$a=$b=15。

  8. 在瀏覽器查看網頁時出現404錯誤可能的原因是:文件不存在

  9. 以下代碼輸出結果為:

  $attr=array("0"=>"aa","1"=>"bb","2"=>"cc");

  echo $attr[1];

  輸出結果為:bb

  解釋:

  php是弱類型語言,可以自動轉換

  echo $attr[1];

  echo $attr["1"];//兩種方法都輸出bb

  10. php的源碼是開放的

  11. 下面哪個選項沒有將john添加到users數組中:(B)

  A.$users[]="join"; //沒有指定下標的情況會自動生成

  B.array_add($users,"join"); //沒有這種方式

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

  D.$users["aa"]="join";

  12.php中能隨機輸出1-10隨機數的是:rand(1,10);在數據庫中是:rand()*10

  13. 以下代碼在頁面上會輸出多少行數據

  $attr=array(1,2,3,4);

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

  {

  echo $key."=>".$value."

  ";

  }

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

  {

  echo $key."=>".$value."

  ";

  }

  輸出結果為:4行

  解釋:

  第一個循環中each()函數已經運行到最后,在第二個循環中已無數據,所以一共輸出4行

  14. LAMP具體的結構包括:

  LAMP:架構模式 L:Linux系統 A:阿帕奇服務器 M:Mysql數據庫 P:

  php語言

  LAMP的特點:運行較快的,體積小,

  WAMP:也是一種架構模式的Windows

  15.SQL語句的寫法:

  創建表名:creat table 表名 (

  Code int primary key,

  列名 數據類型...(特別注意最后一列不加逗號)

  );

  添加:insert into 數據庫名.表名 values(數據,按列順序填充逗號隔開)

  eg :insert into users values('p001','張三','男');

  修改:update 表 set 列=新值,列=新值 where 條件

  eg : update users set Code = 'p001' where Code = 'p002';

  刪除:delete form 表 where 條件

  查詢:select 結果顯示列 form 表 where 條件

  改名字:select Code as '代號' from users;

  模糊查詢使用關鍵字like;

  排序查詢asc是升序;desc是降序;

  分頁查詢使用關鍵字limit;

  mysql如果只安服務不安裝界面也可以正常使用;

  16. php中單引號和雙引號包含字符串的區別:

  雙引號里面可以解析轉義字符,單引號里面會原樣輸出;

  雙引號里面可以解析變量,單引號不可以;

  17. implode()將數組拼接成字符串;explode()將字符串拆分成數組

  str_replace("l","a",$str)查找替代,substr($str,6,5)截取字符串,substr_replace($str,"aaa",0,4)截取替代

下一頁更多精彩“php基礎知識期末考試題及答案”