二阶段测试改错与反思(数据库+面向对象)----2017-04-24

一、错误原因:

1、基础概念、基础知识掌握不牢

2、粗心

二、错题

11、下列说法正确的是:( A )

A. 数组的下标必须为数字,且从“0”开始

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

C. 数组中的元素类型必顺一致  PHP  F 强类型语言T

D. 数组的下标必须是连续的   PHP F 强类型语言T

解析: 正确答案b;ACD在php中是错误的;在强类型语言中是正确。

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

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

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

C、使用die()函数的地方也可以使用exit()函数替换

D、die()函数和exit()函数没有区别

解析: 正确答案c;die()函数和exit()函数 都是使程序退出 ;可以给参数,参数为字符串类型,执行此函数后下面的代码不再执行。d也正确。

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

<?php

$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、得到现在到下周的时间间隔

解析: 正确答案b。

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

<?php

function print_A(){

$A = "phpchina";

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

//return ($A);

}

$B = print_A();    //没有返回值

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

?>

A  A值为:

B值为:

B  A值为:

B值为: phpchina

C  A值为: phpchina

B值为: phpchina

D  A值为: phpchina

B值为:

解析: 正确答案d。

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

<?php

$A="Hello ";

function print_A()

{

$A = "php mysql !!";

global $A;        //将变量A作为全局变量; 从此处开始,a的值为函数外层的值

echo $A;

}

echo $A;

print_A();

?>

A Hello

B php mysql !!

C Hello Hello

D Hello  php mysql !!

解析: 正确答案c。正常情况下;在函数外边定义的变量在函数里面是访问不到的;如果设置为全局变量则可以访问外面的变量;

如果将

$A = "php mysql !!";

global $A;

变为

global $A;   //此处的a为hello

$A = "php mysql !!";   //此处的a已经重新赋值,为php mysql !!

则选d

24、php如何输出反斜杠(  B   )

A.\n    B.\r    C.\t     D.\\

解析: 正确答案d。ab为回车,c为制表符    转义字符

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

A:public void Show(){  }        强类型语言

B:function Show($a=5,$b){  }

C:function Show(a,b){  }

D:function Show(int $a){  }    php中不加变量类型

解析: 正确答案b

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

A. $users[] = "john";

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

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

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

解析: 正确答案b; ac都是在数组最后追加元素。 粗心

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

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

B:unset()方法不能删除数组里面的某个元素      可以  做题时与删除变量混淆

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

D:php里面只有索引数组

解析: 正确答案c;

三、注意的题

1、什么是LAMP?(考试时忘了)

Linux

Linux 是免费开源软件,这意味着源代码可用的操作系统。

Apache

Apache 是使用中最受欢迎的一个开放源码的WEB服务器软件。

MySQL

MySQL 是多线程、多用户的SQL数据库管理系统。

MySQL 已由Oracle公司自 2010 年 1 月 27 日通过SUN购买。SUN 最初于 2008 年 2 月 26 日收购 MySQL。

PHP,Perl 或 Python

PHP 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。Perl 和 Python 类似。

10 . 以下程序横线处应该使用的函数为:(B  )

<?php

$email = ‘[email protected]’;

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

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

____($info);

?>

输出结果为:

Array ([0] => @thizlinux [1]=>com[2]=>cn)   没有输出类型,排除ad

A:strchr,split, var_dump

B:strstr, explode, print_r

C:strstr,explode, echo

D:strchr, split, var_dump

解析:strchr()将前面的截去,留下后面的;

20、在用浏览器查看网页时出现404错误可能的原因是 (文件不存在/访问地址错误 )   常识

26、

A:echo “hello\nworld”;在页面可以实现换行   错误  因为\n在源代码中可以实现换行,在网页中不行,需要用</br>/<p></p>

D:print $a,”hello”;可以输出数据不报错       print 每次输出一个

35、

B:构造函数写法和普通函数没有区别   构造函数 写法特殊;执行时间特殊

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

A:多态在每个对象调用方法时都会发生    满足条件

B:多态是由于子类里面定义了不同的函数而产生的

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

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

39、

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

反思:理解不彻底;做题粗心大意;知识不连贯。。。。。

时间: 2024-10-27 06:43:27

二阶段测试改错与反思(数据库+面向对象)----2017-04-24的相关文章

二阶段测试

--创建数据库create database DHGL--锁定要使用的数据库use DHGL--创建仓库表(仓库号.城市.面积)create table cangku( cno nvarchar(50) not null, city nvarchar(50) not null, area int not null)--创建职工表(仓库号.职工号.工资)create table zhigong( cno nvarchar(50) not null, zno nvarchar(50) not nul

模块管理常规功能自定义系统的设计与实现(21--第二阶段设计目标)

第二阶段设计目标 前面的章节讲了建立单个模块的各种功能,从现在开始要加入若干个具有关联的模块,使其协同工作.我设计了一个简易的销售管理系统,系统的结构如下图所示,从本节开始将逐步的搭建此系统. 在上图中,各模块之间都能通过一定的路径产生联系,而具有关联的二个模块具有直接的关系,例如省是市的父模块,市是省的子模块:客户单位是市的子模块也是省的子模块.这种上下级关系将会是处理的重点.各模块间的关系要明确,不能出现关系不明确或者循环引用的模块,那样权限的设置将会有问题. 例如有如下模块结构: 在上图中

【学习笔记】2017年7月18日MySQL测试:模拟QQ数据库

模拟测试: QQ数据库管理 一.创建数据库并添加关系和测试数据 1 ##创建QQ数据库,完成简单的测试 2 3 #创建数据库 4 DROP DATABASE IF EXISTS MyQQ; 5 CREATE DATABASE MyQQ; 6 USE MyQQ; 7 8 #在数据库创建基本数据表 9 10 #创建User表 11 DROP TABLE IF EXISTS `User`; 12 CREATE TABLE `User`( 13 qqID INT(11) NOT NULL PRIMARY

分布式基础之二阶段提交

分布式基础之二阶段提交 二阶段提交(Two Phase Commit)在分布式事务处理中非常常见.它主要用来保证分布式事务处理的一致性,决定事务的提交或回滚.目前二阶段提交广泛应用于关系型数据库的分布式事务处理中,它是分布式系统中的一个常见协议. 需求 为什么要二阶段提交?因为在分布式系统中,每个节点只知道自己的事务是否执行成功了,而分布式系统要求一致性,也就是所有的节点的状态都应该一致.如果某一个事务只在部分节点执行成功,那么势必会导致各分布式节点不一致.二阶段提交就是用来保证要么所有的节点都

Java进阶(二十五)Java连接mysql数据库(底层实现)

Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜索.特将之前使用的方法做一简单的总结.也能够在底层理解一下连接数据库的具体步骤. 实现 首先需要导入相关的jar包,我使用的为:mysql-connector-java-5.1.7-bin.jar. 下面来看一下我所使用的数据库连接方法类: MysqlUtil.java package cn.edu

mysql 2PC二阶段协义 与 日志闪回

mysql两份日志: binlog :server innodb redo log:engine 两份日志顺序一致性:否则主备不一致 两份日志:原子性,同时都有,同时都无 2PC二阶段协义: 第一阶段:准备界段 第二阶段:提交阶段 买房子示例 准备界段: 房产局确认: 买方:钱是否准备好 卖方:房子是否可卖 提交界段: 政务中心: 买方: 确认按手印 卖方:确认按手印 ----------------------------------------------------------------

MongoDB官方文档翻译系列之 -- 执行二阶段提交

简介 本篇文档提供了一个使用二阶段提交将数据写入多个文档的方法来处理多文档更新或"多文档事务".在此基础上,你可以扩展实现类似数据回滚的功能. 背景 在MongoDB数据库中,作用于单个document的操作总是原子性的:但是,涉及到多个document的操作,也就是我们常说的"多文档事务",是非原子性的. 由于document可以设计的非常复杂并且能包含多个"内嵌"document,因此单文档原子性对很多实际场景提供了必要的支持.(译者注:比如

分布式入门之4:二阶段提交

1. 背景: 初时提出,是为解决分布式数据库的事务问题.单机数据库事务可靠日志技术,MVCC技术实现.分布式情况下,就需要额外的手段来保证,这才出现了二阶段提交. 2. 流程: 从角色上,二阶段提交分为两种角色:协调者(coordinate),参与者(participant).流程思路上很简单: 1. 协调者询问询问所有参与者,能否提交:参与者返回是否能提交的结果: 2. 协调者根据参与者的返回结果决定是否提交事务,并通知参与者执行. 但实际上,二阶段提交需要考虑不少异常场景: 对照上图: 1

二阶段提交应用项目(Two-phase commit protocol )2PC 高并发

整个系统的需求文档为英文描述. A Simple 2-Phase Commit System The company ABC provides its customers wire transfer service. For example, it can withdraw $1000 from John's account in Bank of China and deposit the money to John's another account in China Construction