青岛科技大学脚本编程技术期末考试原题

合集下载

青科成人教育《C++程序设计试卷》期末考试复习题及参考答案

青科成人教育《C++程序设计试卷》期末考试复习题及参考答案

学年第一学期C++程序设计课程考试试题(B)卷补考拟题学院(系)高职成教学院拟题人适用专业机械设计制造及自动化校对人(答案写在答题纸上,写在试题纸上无效)一.判断题(每题3分,共60分)1.类成员的默认访问方式是public。

2.拷贝构造函数是用来初始化类的数据成员的一种特殊的成员函数。

3.只有当类的成员函数是public类型时才被类的所有对象所共享。

4.堆对象的生命期是整个程序的生命期,只有当程序运行结束时,堆对象才被删除。

5.当一个派生类有两个以上的基类,而这两个以上的基类又拥有相同的基类时,为了防止该派生类数据成员在使用时产生二义性,应使用虚函数。

6.类的静态成员函数只能访问类的静态数据成员。

7.构造函数是返回值类型为void的类的成员函数。

8.不能仅通过函数的返回值类型来确定函数是否重载。

9.含有虚函数的类是抽象类。

10.类中常量成员的初始化工作必须在初始表中完成。

11.类的成员函数一定是内联函数。

12.类与对象的关系就是类型与变量的关系。

13.同一个类的两个对象占用相同的内存空间。

14.当在类的外部定义成员函数时,必须在函数名前加上类名和作用域运算符“::”。

15.在类的定义体中,决定成员访问权限的关键字private、protected、public在类体内出现的次序是一定的,且只能出现一次。

16.类的公有成员函数是类与外界的接口。

17.析构函数不可以有形参。

18.构造函数在说明类变量时被自动执行。

19.程序中可以定义指向某个类的指针变量。

20.类中的构造函数的函数名与该类的类名同名。

二.阅读程序写出运行结果(每题8分,共40分)1.#include<iostream.h>void main(){int x=4,y=1;cout<<!(y==x/2)<<”,”;cout<<(y!=x%3)<<”,”;cout<<(x>0&&y<0)<<”,”;cout<<(x!=y||x>=y)<<”,”<<endl;}2.#include<iostream.h>void main(){ int x=5,y=6;if(x==5)cout<<”the value of x is”<<x<<endl;elsecout<<”the value of x is”<<x<<endl;if(y=8)cout<<”the value of y is”<<y<<endl;elsecout<<”the value of y is”<<y<<endl;}3.#incliude <iostream.h>int minus(int x=0,int y=0){return x-y;}void main(){cout<<”minus(30-10)=”<<minus(30,10)<<endl;cout<<”minus(10)=”<<minus(10)<<endl;cout<<”minus()=”<<minus()<<endl;}4.#incliude <iostream.h>void main(){int intone;int &rsomeref=intone;intone=5;cout<<”intone:”<<intone<<endl;cout<<”rsomeref:”<<rsomeref<<endl;int inttwo=8;rsomeref=inttwo;cout<<”intone:”<<intone<<endl;cout<<”inttwo:”<<inttwo<<endl;cout<<”rsomeref:”<<rsomeref<<endl;}5.#include <iostream.h>template<typename T>void swap(T &x,T&y){T,z;z=x;x=y;y=x}void main(){ int j=1,k=2;double v=3.0,w=4.0;cout<<”j=”<<j<<”k=”<<k<<endl;cout<<”v=”<<v<<”w=”<<w<<endl;swap(j,k);swap(v,w);cout<<”after swaped:”<<endl;cout<<”j=”<<j<<”k=”<<k<<endl;cout<<”v=”<<v<<”w=”<<w<<endl;}。

Python程序设计智慧树知到期末考试章节课后题库2024年青岛科技大学

Python程序设计智慧树知到期末考试章节课后题库2024年青岛科技大学

Python程序设计智慧树知到期末考试答案章节题库2024年青岛科技大学1.带有else子句的循环结构,如果因为执行了break语句而退出的话,则会执行else子句中的代码。

( )答案:错2.已知A和B是两个集合,并且表达式A<B的值为False,那么表达式A>B的值一定为True。

( )答案:错3.Python集合中的元素可以是列表。

( )答案:错4.在循环中continue语句的作用是跳出当前层循环。

( )答案:错5.Python内置函数sum()用来返回数值型序列中所有元素之和。

( )答案:对6.列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素。

( )答案:对7.已知x和y是两个字符串,那么表达式sum((1 for i,j in zip(x,y) if i==j))可以用来计算两个字符串中对应位置字符相等的个数。

( )答案:对8.使用内置函数open()打开文件时,只要文件路径正确就可以打开。

( )答案:错9.Python集合中的元素不允许重复。

( )答案:对10.Python使用缩进来体现代码之间的逻辑关系。

( )答案:对11.Python有两种注释方式,#是单行注释,而双引号常用于说明文字较多的文本注释。

( )答案:错12.Python变量使用前必须先声明,并且一旦声明就不能在当前作用域内改变其类型。

( )答案:错13.在派生类中可以通过“基类名.方法名()”的方式来调用基类中的方法。

( )答案:对14.在Python 3.x中语句 print(*[1,2,3]) 不能执行。

( )答案:错15.已知x为非空列表,那么表达式 sorted(x, reverse=True) == list(reversed(x))的值一定是True。

( )答案:错16.已知x = [1, 2, 3],执行语句 x = 3 之后,变量x的地址不变。

( )答案:错17.元组的最外边界定符是小括号,元素之间用逗号分隔。

青岛科技大学c语言期末试题及答案

青岛科技大学c语言期末试题及答案

青岛科技大学c语言期末试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. =答案:C3. C语言中,用于定义一个函数的关键字是:A. structB. functionC. voidD. int答案:B4. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. intD. _variable答案:B5. 在C语言中,用于表示逻辑“与”的运算符是:A. &&B. ||C. !D. =答案:A6. 下列哪个选项是C语言中正确的注释?A. // 这是一个注释B. /* 这是一个注释 */C. /* 这是一个注释D. // 这是一个注释答案:A7. C语言中,用于定义一个字符数组的关键字是:A. charB. arrayC. stringD. str答案:A8. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A9. 在C语言中,用于定义一个指针的关键字是:A. pointerB. ptrC. *D. &答案:C10. 下列哪个选项是C语言中正确的数组定义?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是____。

网络游戏脚本编程考试样题

网络游戏脚本编程考试样题

《网络游戏脚本及编程》考试样题一、判断题(每题1分,共10分)1.Torque 脚本程序编译后可直接执行(× )2. Torque 脚本程序的编译器就是torque 引擎程序(√ )3. Torque 脚本变量名前面加上%用于标识该变量是全局变量(× )4. Torque 脚本是没有变量类型的,它也不要求变量的前置声明(√ )5. 对于.cs 源文件来说,如果编译不成功,则不会生成对应的.cs.dso 文件(√ ) 6.变量 %today 和变量%toDAy 是同一个变量( √)7.在torque 脚本中,对象名可以唯一地标识一个对象( ×)8.GameConnection 对象主要提供了由客户端连接到服务器的功能机制( √) 9.所谓区域触发器,就是在游戏世界中某位置划出一块触发区,若玩家进入这块触发区,将会在服务器端引发消息( √)10.使用torque 脚本编程,触发器的放置和事件处理完全由引擎来完成的。

( ×)二、选择题(每空1分,共60分)1. 在torque 脚本中,以下非法的赋值语句是: A 。

A .$n=++$i; B .$n=$j++; C .$n=$i*$j; D .$n=$i-$j;2. 表达式echo(15+15.6);的输出结果是: C 。

A .30 B .30.0 C .30.6 D .313. 关于Console.log 日志文件,下列说法正确的是: B 。

A .记录引擎的运行流程,程序员用它发现其中的错误 B .记录脚本的运行过程,程序员可用它发现一些错误 C .即使不在脚本中作设置,该日志文件也会自动生成 D .日志文件的内容只能重写,不能追加学院 班级 学号 姓名 ------------------------------------装 -------------------------------------------------------------------订--------------------------------------线-----------------4. 在以下的变量命名中,存在错误的是: D 。

编程基础期末考试卷答案

编程基础期末考试卷答案

编程基础期末考试卷答案一、选择题1. C2. B3. A4. D5. C二、填空题1. 变量2. 函数3. 条件语句4. 循环结构5. 面向对象编程三、简答题1. 算法是一系列解决问题的步骤,它具有确定性、有穷性、可行性的特点。

2. 程序设计语言是用于编写计算机程序的一组语法规则,它使得人类能够与计算机进行交流。

3. 数据结构是计算机存储、组织数据的方式,它影响着数据的访问、管理效率。

四、编程题1. 编写一个程序,实现输入两个整数,输出它们的和。

```pythona = int(input("请输入第一个整数:"))b = int(input("请输入第二个整数:"))print("两个整数的和是:", a + b)```2. 编写一个程序,实现判断一个数是否为素数。

```pythondef is_prime(n):if n <= 1:return Falsefor i in range(2, int(n0.5) + 1):if n % i == 0:return Falsereturn Truenum = int(input("请输入一个整数:"))if is_prime(num):print(f"{num} 是一个素数。

")else:print(f"{num} 不是一个素数。

")```五、应用题1. 编写一个程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

```pythondef calculator():while True:print("\n简易计算器")print("1. 加法")print("2. 减法")print("3. 乘法")print("4. 除法")print("5. 退出")choice = input("请选择一个操作(1-5):")if choice == '1':a = float(input("输入第一个数:"))b = float(input("输入第二个数:"))print(f"{a} + {b} = {a + b}")elif choice == '2':a = float(input("输入第一个数:"))b = float(input("输入第二个数:"))print(f"{a} - {b} = {a - b}")elif choice == '3':a = float(input("输入第一个数:"))b = float(input("输入第二个数:"))print(f"{a} * {b} = {a * b}")elif choice == '4':a = float(input("输入被除数:"))b = float(input("输入除数:"))if b != 0:print(f"{a} / {b} = {a / b}")else:print("除数不能为0。

2024年python期末信息技术试卷(含答案)

2024年python期末信息技术试卷(含答案)

2024年python期末信息技术试卷一、选择题:本大题共28小题,共28分。

1.Python相比其他程序设计语言不具有的特点是()A. 交互式B. 解释型C. 面向对象D. 服务端语言2.Python源程序执行的方式是()A. 编译执行B. 解释执行C. 直接执行D. 边编译边执行3.表达式2*3**2//8%7的计算结果为()A. 3B. 2C. 4D. 54.以下选项中不符合 Python 语言变量命名规则的是()A. AB. 3_1C. _AID. TempStr5.为给整型变量x,y,z赋初值8,下面正确的Python赋值语句的是()A. x=8;y=8;z=8B. x,y,z=8C. xyz=8D. x=8,y=8,z=86.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是()A. (x%10)*10+x//10B. (x%10)//10+x//10C. (x/10)%10+x//10D. (x%10)*10+x%107.以下关于字符串类型的操作的描述,错误的是()A. str.replace(x,y)方法把字符串str中所有的x子串都替换成yB. 想把一个字符串str所有的字符都大写,用str.upper()C. 想获取字符串str的长度,用字符串处理函数 str.jye.ai()D. 设 x='aa',则执行x*3的结果是'aaaaaa'8.设 str='python',想把字符串的第一个字母大写,其他字母还是小写,正确的选项是()A. print(str[0].upper()+str[1:])B. print(str[1].upper()+str[-1:1])C. print(str[0].upper()+str[1:-1])D. print(str[1].upper()+str[2:])9.下面代码的输出结果是()weekstr=“星期一星期二星期三星期四星期五星期六星期日”;weekid=3print(weekstr[weekid*3:weekid*3+3])A. 星期二B. 星期三C. 星期四D. 星期一10.Python解释器执行print('金额:{0:f}元'.format(1.5000))的结果为()A. 金额:1.5 元B. 金额:1.500 元C. 金额:1.500000元D. 金额:¥1.50000元11.下列对count()、index()、find()方法描述正确的是()A. count()方法用于统计字符串里某个字符出现的次数B. find()方法检测字符串中是否包含子字符串str,如果包含子字符串返回开始的索引值,否则会报一个异常C. index()方法检测字符串中是否包含子字符串str,如果str不存在返回-1D. 以上都错误12.下列表达式的值为True的是()A. 5+4j>2-3jB. 3>2>2C. 1==1and2!=1D. not(1==1and 0!=1)13.有以下的程序段,其中k取()值时x=3。

2022年青岛科技大学公共课《C语言》科目期末试卷A(有答案)

2022年青岛科技大学公共课《C语言》科目期末试卷A(有答案)

2022年青岛科技大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。

表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x 中从第p位开始的n位求反(1变0,0变1),其他位不变。

请按表达式的求值顺序写出分解步骤,并解释含义。

__________________________________2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

3、C语言的源程序必须通过【】和【】后,才能被计算机执行。

4、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______5、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各位数字是b、a、c的3位数的表达式是_______。

6、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。

7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。

在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。

a[0]=1;a[1]=2;swap(a,2);8、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。

#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

青岛科技大学c语言期末考试题1

青岛科技大学c语言期末考试题1

青岛科技大学c语言期末考试题1一、单项选择题(15个小题,每题2分,共30分):1.一个C语言程序的执行是从_____。

A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个函数开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束2. 正确的自定义标识符是_____。

A.x_2 B.a-b C.2sum D.$1233.下面程序的运行结果是_____。

#define F(x) x*xvoid main( ){ int a=2,b=1;prinft(“%d\n”,F(a+b));}A.3 B.5 C.8 D.94.读以下程序段,判断a的值为_____。

int *p,a=10,b=1;p=&aa=*p+b;A.12 B.10 C.11 D.编译出错5.根据以下说明语句,则下面的叙述中不正确的是_____。

struct student{ int num;char name[10];int score;}stu;A.struct是定义结构体类型的关键字B.stu是结构体变量名C.num, name, score都是结构体成员名D.stu是结构体类型名6.已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2’;后,ch1中的值是_____。

A.D B.67 C.一个不确定的值 D.C7.以下哪种方法不能对一维数组进行正确的初始化_____。

A.int a[ ]={1,2,3}; B.int a[5]={ };C.int a[5]=(1,2,3,4,5); D.int a[ ]={2,3,4*5,6};8.已正确定义字符变量ch1,下面能正确赋值的是_____。

A.ch1=“a”; B.ch1=‘a’;C.ch1=“C语言程序设计”; D.ch1=‘ C语言程序设计’;9.逗号表达式 (a=3*4,a*4),a+5 的值是_____。

Python程序设计期末考试试卷及答案

Python程序设计期末考试试卷及答案

《Python 程序设计基础》期末考试试卷(A )适用班级考试形式班级 姓名 学号一、选择题 (每题2分,共40分)1.下列选项中,不属于Python 的数据类型的是( ) A 、字符串 B 、数组 C 、列表 D 、字典 2.下列选项中,不符合python 变量命名的是()。

A 、01_testB 、test_01C 、pytestD 、_py_test_ 3.以下对字典的说法错误的是A 、字典可以为空B 、字典的键不能相同C 、字典的键不可变D 、字典的键的值不可变 4.以下说法错误的是A 、元组的长度可变B 、列表的长度可变C 、可以通过索引访问元组D 、可以通过索引访问列表 5.list 类型的内置方法pop( )的作用是A 、置顶指定元素B 、给元素排序C 、删除指定元素D 、插入指定元素 6.以下说法正确的是A 、python 属于低级语言B 、python 是面向过程的C 、python 属于解释性语言D 、python 是非开源的 7.在Python 语言中,数据的输入是通过( )来实现的。

A .input( )函数B .print( )函数C .output( )函数D .abs( )函数8.为了提高程序的可读性,可以在该语句后面添加注释语句,Python 程序中用作注释的标识符是( ) A .: B .# C ., D .!9.下列 Python 表达式的值为偶数的是( )A .12*3%5B .len (“Welcome”)C.int (3.9) D .abs (-8)10.可以被计算机直接执行的语言是( ) , Python 语言属于( )语言。

A .机器,高级 B .高级,汇编 C .高级,机器 D .汇编,高级11.在Python 中,不同的数据,需要定义不同的数据类型,可用方括号“[]”来定义的是( a ) A .列表 B .元组 C .集合 D .字典 12.有python 程序如下: S=input ( ) print (S * 3)运行后通过键盘输入6,则运算结果是( )题 号 一 二 三 四 总分 总分人 得 分阅卷人 得分A.666 B.SSS C.18 D.S*313.在编写python程序时缩进的作用是()。

青岛科技大学c语言期末考试题

青岛科技大学c语言期末考试题

青岛科技大学c语言期末考试题文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]第四套试题一、选择题(20个小题,每小题2分,共40分):1、以下不正确的C语言标识符是____。

A.ABC B.abc C.a_bc D.ab.c2、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是____。

A.‘a’&&‘b’ B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1) 3、若有以下定义和语句:char c1=‘b’,c2=‘e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+‘A’);则输出结果是____。

A.2,M B.3,EC.2,e D.输入项与对应的格式控制不一致,输出结果不确定main( ){ int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c);}A.a=98,b=765,c=4321 B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.0 5、设有如下函数定义:int f(char *s){ char *p=s;while(*p!=‘\0’) p++;return (p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为____。

printf(“%d\n”,f(“goodbye!”));A.3 B.6 C.8 D.06、以下程序的输出结果是____。

main( ){ int w=4,x=3,y=2,z=1;printf(“%d\n”,(w<xw:z<yz:x));}A.1 B.2 C.3 D.47、以下程序段的输出结果是____。

编程期末考试题及答案

编程期末考试题及答案

编程期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个不是Python的内置数据类型?A. intB. floatC. listD. string答案:D2. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A3. 在C++中,以下哪个是正确的引用声明?A. int &ref = 10;B. int &ref = "Hello";C. int &ref = nullptr;D. int &ref = ref;答案:A4. JavaScript中,以下哪个是正确的函数声明?A. function myFunction() { }B. function = myFunction() { }C. myFunction = function() { }D. myFunction() = function() { }答案:A5. 在HTML中,以下哪个标签用于定义文档的头部?A. <head>B. <header>C. <title>D. <h1>答案:A6. SQL语句中,用于删除表中数据的关键字是?A. DELETEB. REMOVEC. DROPD. ERASE答案:A7. 在Python中,哪个函数用于将列表转换为元组?A. list()B. tuple()C. dict()D. set()答案:B8. 在Java中,哪个关键字用于创建对象的实例?A. newB. createC. instanceD. object答案:A9. 在JavaScript中,以下哪个是正确的数组声明?A. var arr = new Array();B. var arr = [1, 2, 3];C. var arr = 1, 2, 3;D. var arr = (1, 2, 3);答案:B10. 在HTML中,以下哪个属性用于定义图片的来源?A. srcB. sourceC. imageD. path答案:A二、简答题(每题5分,共30分)1. 解释什么是递归,并给出一个简单的递归函数示例。

青岛大学编程考试题目及答案

青岛大学编程考试题目及答案

青岛大学编程考试题目及答案一、选择题(每题2分,共10分)1. 下列哪个选项不是Python的内置数据类型?A. 列表(List)B. 元组(Tuple)C. 字典(Dictionary)D. 文件(File)答案:D2. 在C语言中,用于计算两个整数和的运算符是:A. +B. -C. *D. /答案:A3. 在Java中,以下哪个关键字用于创建一个类?A. classB. interfaceC. enumD. struct答案:A4. SQL语句中,用于添加新数据行的命令是:A. SELECTB. INSERTC. UPDATED. DELETE答案:B5. 在HTML中,用于创建一个无序列表的标签是:A. <ul>B. <ol>C. <li>D. <dl>答案:A二、简答题(每题5分,共20分)1. 请简述什么是算法的时间复杂度,并给出一个例子。

答案:算法的时间复杂度是指算法执行所需时间与其输入规模之间的关系。

它通常表示为T(n) = O(f(n)),其中T(n)是算法执行的时间,n是问题的规模,f(n)是与输入规模相关的函数。

例如,对于一个简单的循环,如果循环体中的操作是常数时间的,那么这个循环的时间复杂度是O(n),其中n是循环迭代的次数。

2. 请解释什么是数据库的规范化,并说明它的优点。

答案:数据库规范化是将数据库中的表按照一定的规则进行组织,以减少数据冗余和提高数据完整性的过程。

规范化的优点包括:减少数据冗余,节省存储空间;避免数据更新异常,如插入异常、删除异常和更新异常;提高数据的一致性和完整性。

3. 在JavaScript中,如何实现深拷贝?答案:在JavaScript中,可以通过多种方式实现深拷贝,例如使用JSON.parse和JSON.stringify方法,或者使用递归函数。

以下是一个使用递归函数实现深拷贝的例子:```javascriptfunction deepClone(value) {if (typeof value !== 'object' || value === null) {return value;}let cloneValue = Array.isArray(value) ? [] : {};for (let key in value) {cloneValue[key] = deepClone(value[key]);}return cloneValue;}```4. 请解释同步和异步编程的区别,并给出各自的例子。

编程基础期末考试卷子

编程基础期末考试卷子

编程基础期末考试卷子题目:编程基础期末考试卷子一、选择题1. 下列哪个不是编程语言?A. JavaB. PythonC. HTMLD. Photoshop答案:D. Photoshop2. 在Python中,用于注释的符号是?A. //B. \*C. #D. <!--答案:C. #3. 下列哪个不是Python中常用的数据类型?A. intB. stringC. booleanD. array答案:D. array4. 以下哪种循环结构是先判断条件再执行代码块?A. for循环B. while循环C. do-while循环D. if语句答案:B. while循环5. 在Java中,一个类可以继承自另一个类吗?A. 可以B. 不可以答案:A. 可以二、填空题1. HTML是什么意思?(简写形式)答案:超文本标记语言2. CSS是什么意思?(简写形式)答案:层叠样式表3. 在Java中,用于接收用户输入的方法是?答案:Scanner4. 下列哪个关键字用于在Python中定义函数?答案:def5. SQL是什么意思?(简写形式)答案:结构化查询语言三、判断题1. 在HTML中,标签必须成对出现。

答案:正确2. Java是一种动态类型语言。

答案:错误3. 双斜线//是Python中的单行注释符号。

答案:正确4. 数据库中的数据可以通过SQL语句进行增删改查。

答案:正确5. 编程语言中的变量可以直接存储数据。

答案:正确四、简答题1. 请用Python语言编写一个打印"Hello, World!"的程序。

答案:```pythonprint("Hello, World!")```2. 请简述CSS和HTML之间的关系以及各自的作用。

答案:CSS是层叠样式表,用于控制网页的样式和布局,包括字体、颜色、间距等;HTML是超文本标记语言,用于网页结构的描述,包括标题、段落、列表等。

青岛科技大学 信息工程 c语言期末考试题及其答案

青岛科技大学 信息工程 c语言期末考试题及其答案

C语言期末考试题及其答案一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是()。

A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。

main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。

A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是()。

int k=10; while(k=0) k=k-1;A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6.以下程序的输出结果为()。

int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf("\t");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是()。

A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有()个实参。

func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为()。

#define ADD(x) x*xmain( ){ int a=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}A d=70B d=80C d=140D d=70010.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。

青岛科技大学信息工程 VB期末考试题库及答案

青岛科技大学信息工程 VB期末考试题库及答案

试卷方案:201105 Visual Basic 期末考试方案一、单项选择_共50题(选:20题*1’=20分)第1题以下有关对象属性的说法中,错误的是___________.A. 工具箱中的控件并不是VB 中所有的控件B. 若将Frame 的Enabled 属性设置为False ,则不能使用放置在Frame 里面的控件C. 对象的Name 属性在运行时不能改变D. 对象的所有属性都可以在属性窗口中设置第2题数学表达式 ||27sin 3y x e x +++的VB 算术表达式为_______ . A. Sin(27)+Sqr(x+Exp3)/(x+y)B. Sin(27*3.14159/180)+Sqr(x+Exp(3))/Abs(x+y)C. Sin(27*3.14159/180)+Sqr(x+e^3)/Abs(x+y)D. Sin(27*pi/180)+Sqr(x+Exp(3)/Abs(x+y)第3题下列有关对象的叙述中,正确的是______A. 对象由属性,事件和方法构成B. 对象的所有属性既可以在属性窗口设置,又可以在程序运行时用赋值语句设置C. 对象的事件一定就是由VB 预先设置好的人工干预的动作D. 对象的方法是对象响应某个事件后执行的一段程序代码第4题表达式CInt(4.5)+Cint(-4.51)+Int(4.9)+Int(-4.1)+Fix(-1.9)+0 Mod 2的运算结果是___.A. 1B. -1C. –2D. –3第5题下列关于菜单的说法中,错误的是__________.A. 每一个菜单项就是一个对象,并且可设置自己的属性和事件B. 菜单项不可以响应DblClick 事件C. VB6.0允许创建超过四级的子菜单D. 程序执行时,如果要求菜单项是灰色,不能被用户选择,则应设置菜单项的Enabled 属性为False 第6题以下关于数组的说法中,错误的是__________.A. 使用了Preserve 子句的Redim 语句,只允许改变数组最后一维的上界B. 对于动态数组, Redim 语句可以改变其维界但不可以改变其数据类型C. Erase 语句的功能只是对固定大小的数组进行初始化D. Lbound 函数返回值是指定数组某一维的下界第7题设a=3,b=2,c=1,运行print a>b>c 的结果是____________.A. TrueB. FalseC. 1D. 出错以下说法不正确的是____________.A. 使用不带关键字Preserve 的ReDim 语句可以重新定义数组的维数B. 使用不带关键字Preserve 的ReDim 语句可以改变数组各维的上、下界C. 使用不带关键字Preserve 的ReDim 语句可以改变数组的数据类型D. 使用不带关键字Preserve 的ReDim 语句可以对数组中的所有元素进行初始化第9题在列表框List1中有若干列表项,可以删除选定列表项的语句是__________.A. List1.text=""B. List1.List(List1.ListIndex)=""C. List1.ClearD. List1.RemoveItem List1.ListIndex第10题数学表达式 |cos sin |)2(sin ln 2352x x x x e x -+-π对应的VB 表达式是__________. A. (e^(2*π*x-5)*Log(x)+(Sin(2x))^3)/Sqr(Sin(x)-Cos(x^2))B. (Exp(2*3.14159*x-5)*Log(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2))C. (Exp(2*π*x-5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2))D. e^(2*3.14159*x-5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2))第11题以下有关数组参数的说明中,正确的是______A. 在过程中也可用Dim 语句对形参数组进行说明B. 动态数组作为实参时,可用ReDim 语句在过程中改变对应形参数组的维界C. 调用过程时,数组名不能作为实参D. 数组可以按地址传递也可以按植传递第12题下列有关过程的说法中,错误的是_____________.A. 在Sub 或 Function 过程内部不能再定义其它Sub 或 Function 过程B. 对于使用ByRef 说明的形参,在过程调用时形参和实参只能按传址方式结合C. 递归过程既可以是递归Function 过程,也可以是递归Sub 过程D. 可以像调用Sub 过程一样使用Call 语句调用Function 过程第13题要将焦点设置在某个控件上,以下四个选项中正确的是______.A. 只能使用鼠标直接点击控件B. 只能使用Tab 键将焦点移到该控件C. 只能在程序中调用该控件的SetFocus 方法D. A 、B 、C 三选项中涉及的方法均可使用第14题以下Case 语句中,能正确描述Y 的绝对值大于6的是______.A. Case Abs(Y)>6B. Case -6 To 6C. Case Not(-6 To 6)D. Case Is<-6,Is>6以下关于变量作用域的叙述中,正确的是____________.A. 窗体中凡用Private 声明的变量只能在某个指定的过程中使用B. 模块级变量只能用Dim 语句声明C. 凡是在窗体模块或标准模块的通用声明段用Public 语句声明的变量都是全局变量D. 当不同作用域的同名变量发生冲突时,优先访问局限性小的变量第16题以下关于数值常量的说法中,错误的是______A. 八进制数的表示方法是在数字前面加&OB. 十六进制数的表示方法是在数字前面加&HC. 在浮点运算中使用D 来分隔尾数和指数时,系统将把该数值作为单精度型数处理D. 32768是合法的数值常量第17题数学表达式 y x e x ++30sin 3对应的VB 表达式是___________.A. Abs(e^x+Sin(30)^3)∕Sqr(x+y))B. Abs(Exp(x)+Sin(30)^3)∕(Sqr(x+y))C. Abs(e^x+Sin(30*3.14159∕180)^3)∕(Sqr(x+y))D. Abs(Exp(x)+Sin(30*3.14159∕180)^3)∕Sqr(x+y))第18题下面的4个表达式中,有关_________个能够对Single 类型变量x(正数)的第3位小数正确地进行四舍五入计算. Format(x,″#.00″) Int(100*(x+0.005))/100 CInt(100*(x+0.005)/100 Fix(100*(x+0.005))/100A. 1个B. 2个C. 3个D. 4个第19题执行以下语句时,会出现错误提示的是__________.A. Print"2b3 " +12.5B. Print"12.5"+ 12C.Print"12.5" & 12.5D.Print"2e3"+12 第20题以下Case 语句含有错误的是___________.A. Case 0 To 10B. Case Is>10C. Case Is>10 And Is<50D. Case 3,5,Is>10 第21题下列语句中,正确的是__________A. Textl.SetFocusB. Forml.ClearC. Labell.SetFocusD. Listl.Cls第22题下列选项中,所包含的所有表达式能够将两位整数x 的个位数与十位数对调(如将78转换为87)的是_______________.①Val(Right(X,1)&Left(X,1)) ②Val(Right(Str(X),1)&Left(Str(X),1))③Val(Right(CStr(X),1)&Left(CStr(X),1)) ④Val(Mid(X,2,1)+Mid(X,1,1))A. ①②B. ②③C. ②④D. ①③④第23题以下关于子过程或函数的定义中,正确的是______A. Sub f1(n As String*1 )B. Sub f1(n As Integer)As IntegerC. Function f1(f1 As Integer)As IntegerD. Function f1(ByVal n As Integer)下列有关控件数组的说法中,错误的是______.A. 控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组B. 控件数组中的所有控件不得具有各自不同的属性设置值C. 控件数组中的所有控件共享同一个事件过程D. 控件数组中每个元素的下标由控件的Index属性指定第25题以下对数组参数的说明中,错误的是___________ .A. 在过程中可以用Dim语句对形参数组进行声明B. 形参数组只能按地址传递C. 实参为动态数组时,可用ReDim语句改变对应形参数组的维界D. 只需把要传递的数组名作为实参,即可调用过程第26题要向文件datal.txt添加数据,正确的文件打开命令是_____________.A. Open"datal.txt"For Output As #1B. Open"datal.txt"For Input As #1C. Open"datal.txt"For Append As #5D. Open"datal.txt" For Write As #5第27题下面有关数组处理的叙述中,正确的是__________.A. 在过程中使用ReDim语句可以改变动态数组数据的类型B. 在过程中,可以使用Dim 、Private和 Static语句来定义数组C. 用ReDim语句重新定义动态数组时,可以改变数组的大小,但不能改变数组的维数D. 不可以用Public语句在窗体模块的通用处说明一个全局数组第28题下面的表达式中,运算结果为True的是__________.A. "abcrd" <="ABCRD"B. Int(134.69) <=CInt(134.69)C. 3>2>1D. Mid("Visual",1,4)=Right("lausiV",4)第29题设计界面时,要使一个文本框具有水平和垂直滚动条,应先将其________属性置为True,再将ScrollBar属性设置为3.A. MultiLineB. AutoSizeC. AlignmentD. RightToLeft第30题下面有关数组的说法中,正确的是______A. 数组的维下界不可以是负数B. 模块通用声明处有Option Base 1,则模块中数组定义语句Dim A(0 To 5)会与之冲突C. 模块通用声明处有Option Base 1,模块中有Dim A(0 To 5),则A数组第一维维下界为0D. 模块通用声明处有Option Base 1,模块中有DimA(0 To 5),则A数组第一维维下界为1第31题下面有关数组的叙述中,不正确的是______.① 在过程中用ReDim语句定义的动态数组,其下标的上下界可以是变量② 数组作为形式参数时,传递的是每个数组元素的值③ 在窗体模块的通用声明处可以用Public 说明一个全局数组④ 数组定义语句中可以用负数或小数来指定某一维的维下界或维上界的值A. ②③B. ①③④C. ①②③④D. ③④第32题下列关于对象SetFocus与GotFocus的描述中,正确的是_____A. SetFocus是事件,GotFocus是方法B. Setfocus和Gotfocus都是事件C. Setfocus和GotFocus都是方法D. SetFocus是方法,GotFocus是事件第33题创建一个名为"文件"的菜单项,欲使其可用Alt+F方式访问,则在菜单编辑器的标题文本框中应输入_________.A. 文件($F)B. 文件(&F)C. 文件(#F)D. 文件(%F)第34题在下列属性中,属于CommandButton控件、ListBox控件共有的是______.A. Caption、TextB. Visible、FontC. Caption、VisibleD. List、Visible第35题下列能够正确表示条件"X≤Y<Z"的VB逻辑表达式是______A. X≤Y<ZB. X<=Y And Y<ZC. X≤Y OR Y<ZD. X<=Y<Z第36题以下关于Function过程的说法中,错误的是___________.A. Function过程名可以有一个或多个返回值B. 在Function过程内部不得再定义Function过程C. Function过程中可以包含多个Exit Function语句D. 可以像调用Sub过程一样调用Function过程第37题下面的关系表达式中,运算结果为True的是______.A. CInt(1.5)=Int(1.5)B. Fix(1.5)=Int(1.5)C. Fix(-1.5)=CInt(-1.5)D. Fix(-1.5)=Int(-1.5)第38题已知X<Y,A>B,则下列表达式中,结果为True的是______A. Sgn(X-Y)+Sgn(A-B)=-1B. Sgn(X-Y)+Sgn(A-B)=-2C. Sgn(Y-X)+Sgn(A-B)=2D. Sgn(Y-X)+Sgn(A-B)=0第39题执行__________语句时,会出现出错提示信息.A. Print 5+7=14B. Print 16384*2C. Print 32768*2D. Print "14"+32第40题数学表达式yxey x+ +++π2log30sin对应的Visual Basic表达式是______.A. Sin(30*3.14159/180)+Sqr(Log(x)+y)/2*3.14159+Exp(x+y)B. (Sin(30*π/180)+Sqr(Ln(x)+y))/(2*π+Exp(x+y))C. Sin(30*180/3.14159)+Sqr(Log(x)+y)/(2*3.14159+e^(x+y))D. (Sin(30*3.14159/180)+Sqr(Log(x)+y))/(2*3.14159+Exp(x+y))第41题在一个多窗体程序中,可以仅将窗体Form2从内存中卸载的语句是________.A. Form2.UnloadB. Unload Form2C. Form2.EndD. Form2.Hide第42题Print 方法可在______上输出数据.①窗体 ②文本框 ③图片框 ④标签 ⑤列表框 ⑥立即窗口A. ①③⑥B. ②③⑤C. ①②⑤D. ③④⑥第43题若要使逻辑表达式x>y Xor y<z 结果为True,则x 、y 、z 的取值应为下列选项中的_______.A. x=3、y=3、z=4B. x=2、y=1、z=2C. x=1、y=3、z=2D. x=2、y=2、z=2第44题下列____________是合法的变量名.A. absB. –alC. cdc dD. Abe_10第45题下列______是正确的VB 常量.A. D-6B. E-6C. 5DD. 5E-6第46题若在模块中用Private Function Fun(A as Single,B as Integer) As Integer 定义了函数Fun.调用函数Fun 的过程中定义了I 、J 和K 三个Integer 型变量,则下列语句中不能正确调用函数Fun 的语句是___________.A. Fun 3.14,JB. Call Fun(I,365)C. Fun(I),(J)D. K=Fun("24","35")第47题若需要在同一窗体内安排两组相互独立的单选按钮(OptionButton),可使用______控件做容器将它们分开. ①TextBox ②PictureBox ③ Image ④ FrameA. ①或②B. ②或③C. ②或④D. ③或④第48题以下关于文件的叙述中,错误的是__________。

青科期末考试题及答案

青科期末考试题及答案

青科期末考试题及答案一、选择题(每题2分,共20分)1. 计算机科学的基础是______。

A. 电子技术B. 信息技术B. 通信技术D. 自动控制技术2. 下列哪个不是操作系统的功能?A. 文件管理B. 设备管理C. 用户界面D. 网络通信3. 在HTML中,用于定义文档类型声明的标签是______。

A. <!DOCTYPE>B. <html>C. <head>D. <body>4. 数据库管理系统(DBMS)的主要作用是______。

A. 存储数据B. 管理数据C. 保护数据D. 所有以上5. 在C语言中,用于定义一个整型变量的关键字是______。

A. intC. doubleD. char6. 以下哪个是面向对象编程的三大特性之一?A. 继承B. 封装C. 多态D. 所有以上7. 在Java中,哪个关键字用于实现类的继承?A. extendsB. implementsC. overrideD. abstract8. 以下哪个不是网络协议?A. HTTPB. FTPC. SMTPD. HTML9. 以下哪个不是数据结构的类型?A. 线性表B. 栈C. 树D. 文件系统10. 在Python中,用于实现条件判断的关键字是______。

A. ifB. elseD. for答案:1. A2. C3. A4. D5. A6. D7. A8. D9. D10. A二、填空题(每空2分,共20分)1. 在计算机组成原理中,CPU主要由______和______组成。

2. 操作系统的五大功能是:进程管理、存储管理、设备管理、文件管理和______。

3. 在HTML中,用于添加图片的标签是______。

4. 一个关系型数据库管理系统能够实现数据的______、______和______。

5. 在C语言中,使用______关键字可以定义一个函数。

6. 面向对象编程中的多态性允许同一个接口接受不同的数据类型。

3青岛科技大学成人高等教育期末考试JAVA程序设计复习题

3青岛科技大学成人高等教育期末考试JAVA程序设计复习题

3青岛科技⼤学成⼈⾼等教育期末考试JAVA程序设计复习题第 1 页共 7 页JAVA 语⾔程序设计(A 卷)继续教育学院江守寰(答案写在答题纸上,写在试题纸上⽆效)⼀、选择题(共10题,每题2分,共20分)1、关于⽅法重载的描述,以下选项中哪些是不正确的?()A 、⽅法名必须⼀致B 、返回值类型必须不同C 、参数个数不⼀致D 、参数的类型不⼀致2、在jdk1.7及以上,switch 语句判断条件不可以接收的数据类型有哪些?()A 、doubleB 、byteC 、charD 、String3、以下哪个选项可以正确创建⼀个长度为3的⼆维数组?()A 、 new int [2][3];B 、 new int[3][];C 、 new int[][3];D 、以上答案皆不对4、Outer 类中定义了⼀个成员内部类Inner ,需要在main()⽅法中创建Inner 类实例对象,以下四种⽅式哪⼀种是正确的?()A 、 Inner in = new Inner()B 、Inner in = new Outer.Inner();C 、 Outer.Inner in = new Outer.Inner();D 、Outer.Inner in = new Outer().new Inner();5、使⽤this 调⽤类的构造⽅法,下⾯的说法不正确的是?( )A 、使⽤this 调⽤构造⽅法的格式为this.类名([参数1,参数2…])B 、只能在构造⽅法中使⽤this 调⽤其它的构造⽅法C 、使⽤this 调⽤其它构造⽅法的语句必须放在第⼀⾏D 、不能在⼀个类的两个构造⽅法中使⽤this 互相调⽤6、关于内部类,下⾯说法不正确的是?( )A 、成员内部类是外部类的⼀个成员,可以访问外部类的其它成员B 、外部类可以访问成员内部类的成员C 、⽅法内部类只能在其定义的当前⽅法中进⾏实例化D 、静态内部类中只能可以定义静态成员7、关于super 关键字以下说法不正确的是()A 、super 关键字可以调⽤⽗类的构造⽅法B 、super 关键字可以调⽤⽗类的普通⽅法C 、super 与this 不能同时存在于同⼀个构造⽅法中D 、super 与this 可以同时存在于同⼀个构造⽅法中8、以下说法哪些是不正确的?()A 、Java 语⾔中允许⼀个类实现多个接⼝B 、Java 语⾔中不允许⼀个类继承多个类C 、Java 语⾔中允许⼀个类同时继承⼀个类并实现⼀个接⼝D 、Java 语⾔中不允许⼀个接⼝继承⼀个接⼝9、关于抽象类的说法哪些是不正确的?()A 、抽象类中可以有⾮抽象⽅法。

青岛科技大学脚本编程技术期末考试原题

青岛科技大学脚本编程技术期末考试原题

一、判断题(每题2分,共10分)二、名词解释(考5题,每题4分)(1)PyPI:PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。

PyPI推荐使用pip包管理器来下载第三方库。

(2)easy_install:easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来安装egg包。

所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。

setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。

用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。

(3)egg:python的egg文件有点像java中的jar文件,把一系列的python源码文件、元数据文件、其他资源文件zip 压缩,重新命名为.egg 文件,目的是作为一个整体进行发布,便于安装部署。

在理想情况中,egg?是一个使用?zip?压缩的文件,其中包括了所有需要的包文件。

但是在某些情况下,setuptools?会决定(或被开关告知)包不应该是?zip?压缩的。

在这些情况下,egg?只是一个简单的未曾压缩的子目录,但是里面的内容是相同的。

使用单一的版本可以方便地进行转换,并可以节省一点磁盘空间,但是?egg?目录从功能和组织结构上来说都是相同的。

(4)Pip:pip 是一个安装和管理Python 包的工具, 是easy_install 的一个替换品。

pip 一般用来解决项目依赖问题。

将项目所有依赖的第三方库写在一个中用pip 批量安装。

一般和virtualenv 配合使用,将所有包安装在virtualenv 的环境中。

编程期末考试题库及答案

编程期末考试题库及答案

编程期末考试题库及答案一、选择题(每题2分,共10题)1. 下列哪个选项是Python中用于定义类的关键字?A. structB. classC. functionD. interface答案:B2. 在HTML中,用于定义最重要的标题的标签是什么?A. <h6>B. <h1>C. <title>D. <header>答案:B3. JavaScript中,以下哪个函数用于将字符串转换为小写?A. toUpperCase()B. toLowerCase()C. toUpperCase()D. toLower()答案:B4. 在数据库中,用于查询数据的SQL命令是什么?A. INSERTB. UPDATEC. DELETED. SELECT5. 在C++中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. ===D. !=答案:A6. 在CSS中,哪个属性用于设置文本的颜色?A. colorB. font-colorC. text-colorD. text答案:A7. 在Java中,哪个关键字用于声明一个方法?A. methodB. functionC. procedureD. void答案:D8. 在Python中,以下哪个函数用于生成一个指定范围内的数字列表?A. range()B. list()C. array()D. sequence()答案:A9. 在HTML中,用于创建无序列表的标签是什么?B. <ol>C. <dl>D. <menu>答案:A10. 在JavaScript中,以下哪个对象用于处理日期和时间?A. DateB. TimeC. DateTimeD. Calendar答案:A二、填空题(每题2分,共5题)1. 在Python中,使用____函数可以打开一个文件,并返回一个文件对象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、判断题(每题2分,共10分)二、名词解释(考5题,每题4分)(1)PyPI:PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。

PyPI推荐使用pip包管理器来下载第三方库。

(2)easy_install:easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来安装egg包。

所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。

setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。

用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。

(3)egg:python的egg文件有点像java中的jar文件,把一系列的python源码文件、元数据文件、其他资源文件zip 压缩,重新命名为.egg 文件,目的是作为一个整体进行发布,便于安装部署。

在理想情况中,egg?是一个使用?zip?压缩的文件,其中包括了所有需要的包文件。

但是在某些情况下,setuptools?会决定(或被开关告知)包不应该是?zip?压缩的。

在这些情况下,egg?只是一个简单的未曾压缩的子目录,但是里面的内容是相同的。

使用单一的版本可以方便地进行转换,并可以节省一点磁盘空间,但是?egg?目录从功能和组织结构上来说都是相同的。

(4)Pip:pip 是一个安装和管理Python 包的工具, 是easy_install 的一个替换品。

pip 一般用来解决项目依赖问题。

将项目所有依赖的第三方库写在一个中用pip 批量安装。

一般和virtualenv 配合使用,将所有包安装在virtualenv 的环境中。

(5)动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。

Python通过virtualenv工具管理虚拟环境。

Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpreter,而不用与其他Python程序共享统一个library和interpreter。

虚拟环境的好处是避免了不同Python程序间的互相影响。

(6)Fabric:Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行、文件上传、下载及完整执行日志输出等功能。

Fabric 在Paramiko的基础上做了更高一层的封装,操作起来会更加简单。

(7)supervisord:Supervisord是用Python实现的一款非常实用的进程管理工具,类似于monit,都可以对进程进行监控。

monit和supervisord的一个比较大的差异是supervisord管理的进程必须由supervisord来启动,monit可以管理已经在运行的程序;supervisord还要求管理的程序是非daemon程序,supervisord会帮你把它转成daemon程序,因此如果用supervisord来管理nginx的话,必须在n ginx的配置文件里添加一行设置daemon off让nginx以非daemon方式启动。

(8)Pyramid:Pyramid是一个通用、开源的Python 网络应用程序开发框架。

它主要的目的是让Python 开发者更简单的创建网络应用程序。

Gunicorn:Gunicorn是一个Python WSGI UNIX 的HTTP服务器,是基于”pre-fork worker”模型,是从rails的部署工具(Unicorn)移植过来的。

但是它使用的协议是?WSGI,全称是Python Web Server Gateway Interface,部署比较简单。

Django:Django是一个开放源代码的Web应用框架,由Python写成。

采用了MVC的框架模式,即模型M,视图V和控制器C。

Django 框架的核心组件有:1.用于创建模型的2.为最终用户设计的完美管理界面3.一流的URL 设计4.设计者友好的模板语言5.缓存系统。

(9):(芹菜)是基于Python开发的分布式任务队列。

它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。

Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。

(10)Traversal(遍历):指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。

三、分析题(每题10分,共30分)四、论述题(考两个,每题20分)1、请论述web应用开发是Python与PHP的异同。

相同点:都是动态类型的解释型高级脚本语言。

不同点:(1)语法:PHP 的语法看起来就像没有经过精心设计一样,很随意。

有的语法看似很方便(用点来连接字符串), 但是却为之后扩展造成了很多麻烦(点没法用于访问对象的成员), 再比如比较蛋疼的的语法。

Python 相比之下要好一点,但是Python2 和Python3 直接存在着一些不兼容的语法变动。

(2)(2)编写HTML 模版:PHP 可以非常方便地直接用来编写HTML 模版,Python 需要借助其他的语言或库来实现。

(3)(3)包管理器:PHP 的包管理器(PEAR)和扩展管理器(PECL)恐怕根本没人用,这导致引入一个新依赖的成本很高,于是很多人倾向于自己造轮子而不是引入现成的库。

Python 有统一的包管理器,虽然也有问题,但要比PHP 好得多,引入库之后的管理也要比PHP 好。

(4)(4)扩展和库:PHP 和Python 都可以用 C 来编写扩展。

相比之下Python 可用的库要更多一点。

(5)(5)运行方式:PHP 运行方式比较单一(, mod_php), Python 则可以以fastCGI 运行,也可以自行监听端口来处理请求。

(6)(6)性能:因为PHP 运行方式单一,opcode 缓存方案也比较成熟(APC, opcache),缓存opcode 之后运行速度很快。

Python 则可能需要更多地自行优化性能。

(7)(7)类型系统:PHP 和Python 都是动态类型。

PHP 对类型判别比较模糊,有很多陷阱,Python 则严格一些。

(8)(8)学习成本:PHP 和学习成本都不是很高。

PHP 优势在于有比较完整的官方中文文档,而且PHP 应用领域只有Web, 所以需要学习的内容较少。

Python 因为学习路线较多,不太容易找到适合自己的教程和资料。

(9)(10)(9)社区:PHP 的资料遍地,但是高质量的中文社区较少,普遍对官方的新功能不是很关注。

Python 则要好一点。

(11)(10)应用领域:PHP 仅在Web 后端方面被使用,Python 应用领域更广泛一点,如果需要将逻辑移植到其他平台(如桌面), Python 要方便一点。

2、请论述Python语言的特点。

(1)易用性:易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

易于阅读:Python代码定义的更清晰。

易于维护:Python的成功在于它的源代码是相当容易维护的。

(2)扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

?(3)可移植性:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

(4)面向对象:使用面向对象的方式。

Python即支持面向过程的编程,也支持面向对象的编程。

在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。

在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。

与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

(5)丰富的库:Python 标准库确实很庞大。

它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

只要安装了Python,所有这些功能都是可用的。

这被称作Python的“功能齐全”理念。

除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted 、Pygame 和Python图像库等等。

(6)可嵌入:你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

(7)互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

(8)数据库:Python提供所有主要的商业数据库的接口。

(9)GUI编程:Python支持GUI可以创建和移植到许多系统调用。

(10)解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或)转换到一个你的计算机使用的语言(二进制代码,即0和1)。

这个过程通过编译器和不同的标记、选项完成。

当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。

而Python语言写的程序不需要编译成二进制代码。

你可以直接从源代码运行程序。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。

由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

?3、请论述Python语言与C语言的异同。

相同点:不同点:C语言属于编译性语言。

编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

由于执行速度快,同等条件下对系统要求较低,常用于开发操作系统、大型应用程序、系统等。

Python是一种脚本语言。

相关文档
最新文档