文档库 最新最全的文档下载
当前位置:文档库 › 互联网程序设计第一章简答题

互联网程序设计第一章简答题

互联网程序设计第一章简答题
互联网程序设计第一章简答题

第一章:简答题

1.问:什么是套接字?套接字的类型有哪些?区别在哪?

答:套接字是操作系统开放给程序员的网络编程接口,是介于应用层与传输层之间的一种软件抽象层,是属于操作系统级别的API。

套接字类型:流式套接字;数据报套接字;原始套接字。

区别:

(1)流式套接字提供连接服务,进行双向可靠的数据传输,它调用传输层TCP模块,保证数据无差错、无重复地发送并按顺序接收,数据被看做成是字节流,无长度限制。

(2)数据报套接字提供无连接服务,调用传输层UDP模块。报文以独立包的形式发送,不提供无差错控制,数据可能丢失或重复,顺序也可能混乱。

(3)原始套接字允许应用进程越过传输层,对较低层次协议模块直接调用的访问,可以接收发向本机的ICMP、IGMP报文,或者接收TCP模块、IP模块不能处理的数据报,或者访问设备配置信息等。

2.问:TCP/IP四层模型中各层的主要功能是什么?

答:TCP/IP网络模型从上至下由应用层、传输层、网络层、链路层组成。

应用层:应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP 实现都会提供下面这些通用的应用程序:Telnet远程登录、SMTP(简单邮件传输协议)、FTP(文件传输协议)、HTTP(超文本传输协议)等。

传输层:传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。

网络层:网络层处理分组在网络中的活动,例如分组的选路。在TCP/IP 协议族中,网络层协议包括IP协议(网际协议)、ICMP协议(网际控制报文协议)和IGMP协议(网际组管理协议)。

链路层:链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

3.问:Java Socket API有哪些?熟悉每个类的定义与用法。

答:(1)socket():

函数原型:int socket(int domain,int type, int protocol);

函数作用:用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源的函数

(2)inet_ntoa():

函数原型:char *inet_ntoa(struct in_addr in);

函数作用:将IP地址,转换为点分十进制的字符串格式;

(3)inet_pton():

函数原型:int inet_pton(int af, const char *src, void *dst);

函数作用:将点分十进制的字符串格式的IP地址,转换成整数格式。

(4)inet_addr():

函数原型:in_addr_t inet_addr(const char *cp);

函数作用:inet_addr()的功能是将一个点分十进制的IP转换成一个长

整数型数(u_long类型)。

(5)select 函数以及 select相关函数:

函数原型:int select(int maxfdp, fd_set* readfds, fd_set* writefds,

fd_set* errorfds, struct timeval* timeout);

函数作用:它能够监视我们需要监视的文件描述符的变化情况——读写

或是异常。

4.问:描述创建Java线程的基本方法。

答:有两种基本方法:

(1)从Runnable接口入手,编写实现Runnable接口的类。Runnable接口仅包含一个run()方法,创建一个新的类实现Runnable接口。或者创建一个Runnable对象,将Runnable对象传递给Thread类的构造函数。

(2)从Thread类入手,编写Thread的子类。Thread类自身已实现了Runnable 接口,但它的run()方法没有定义任何代码,所以子类必须重写run()方法。

5.问:客户机与服务器是如何通信的?分别就TCP与UDP两种协议,描述其通信模型。

答:TCP:

UDP:

6.问:以TCP协议为例,描述客户机编程模板与服务器编程模板。

答:

客户机编程模板:

//1.创建客户机套接字

Socket clientSocket = new Socket();

//2.连接服务器

clientSocket.connect(remoteAddr);

//3.与服务器会话

BufferedReader in = new BufferedReader(

new InputStreamReader(

clientSocket.getInputStream())); BufferedWriter out = new BufferedWriter(

new OutputStreamWriter(

clientSocket.getOutputStream()));

String sendStr="有朋自远方来";

out.write(sendStr); //向服务器发送字符串

out.newLine();

out.flush();

String recvStr=in.readLine(); //从服务器接收字符串

//4.关闭套接字和流

if (in != null) in.close();

if (out != null) out.close();

if (clientSocket != null) clientSocket.close();

服务器编程模板:

//1.启动服务器

ServerSocket listenSocket = new ServerSocket();

listenSocket.bind(serverAddr);

//2.处理连接

Socket clientSocket = listenSocket.accept();

//3.与客户机会话

BufferedReader in = new BufferedReader(

new InputStreamReader(

clientSocket.getInputStream())); BufferedWriter out = new BufferedWriter(

new OutputStreamWriter(

clientSocket.getOutputStream()));

String recvStr=in.readLine(); //从客户机接收字符串

out.write(recvStr); //向客户机回送字符串

out.newLine();

out.flush();

//4.关闭套接字和流

if (in != null) in.close();

if (out != null) out.close();

if (listenSocket != null) listenSocket.close(); if (clientSocket != null) clientSocket.close();

程序设计基础实验指导书

说明 每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求 者拒收) 目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。 实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!

实验1 C 的实验环境和C 语言的数据类型 1. 实验目的 ⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。 ⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。 ⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它 们赋值的方法。 ⑷ 掌握不同的类型数据之间赋值的规律。 ⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+ +)和自减(--)运算符的使用。 2. 实验内容和步骤 检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 3. 实验题目 输入下面的程序 # include "stdio.h" void main() { printf( "This is a c program.\n" ); } 程序无误,其运行的结果为:(请填写) ⑵ 输入并编辑一个有错误的 C 程序。 # include “ stdio.h ” void main() { int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum); } 运行后程序出现几处错误,请分别指出,并逐一更改: ⑶ 若k,g 均为int 型变量, 则下列语句的输出为, : # include "stdio.h" void main() { int k, g; k=017; g=111;

互联网+安全管理系统介绍

互联网+安全管理系统介绍 一、系统开发背景 1、国家政策要求 2014年12月,交通运输部安全与质量监督管理司以交安监发【2014】233号文发布了《交通运输部关于加强公路水运工程和安全管理工作的若干意见》其中第十九条强调“着力开展公路水运工程质量和安全形势评估预警,施工质量和安全风险源辨识、评估与控制技术,质量和安全控制与信息化监管技术,为强化工程质量和安全工作提供科技支撑“,明确要求在公路水运工程领域实现信息化监管技术。 杨传堂部长在全国交通运输安全生产电视电话会议上的讲话中关于扎实做好2016年安全生产重点工作中指出“要做实'互联网+安全',加快推进安全生产监管、交通运行监测与应急指挥等信息系统建设,加强安全风险防控关键技术和安全生产先进装备设施研发运用”,明确要求开展“互联网+安全”信息系统建设。 2016年12月9日,中共中央、国务院印发的《关于推进安全生产领域改革发展的意见》,明确提出了提升现代信息技术与安全生产融合度,统一标准规范,加快安全生产信息化建设,构建安全生产与职业健康信息化全国“一张网”和建立政府购买安全生产服务制度的要求。同时要求加强安全生产理论和政策研究,运用大数据技术开展安全生产规律性、关联性特征分析,提高安全生产决策科学化水平。 2、行业管理要求 在交通运输安全生产实践中,由于没有统一的、细化的、标准的安全管

理要求,行业监管人员和企业安全人员对于安全生产工作具体该管些什么,管到什么程度,如何评判管理的是否尽责、到位等,并没有一个清晰的、标准的可遵循的依据。现有的监督管理模式还主要依靠法律法规条文和工作经验,依赖管理人员到实地进行调研和工作检查,管理质量欠佳、效率低下,难以应对复杂的生产局面。同时,监理企业、施工企业等从业单位员工并不全面掌握自身工作和项目所面临的风险,通常无法辨别自身在工作时的安全措施是否规范、是否真正有效,无法保证必要的安全生产资金、设备设施投入。 在公路工程建设的过程中,也可能存在以下的问题: 因此探索科学、实用的公路工程建设项目安全质量管理体系势在必行。 二、系统应用价值 1、安全管理工作标准化,解决了公路工程建设过程安全管理“管什么”的问题 系统内置了全面的安全管理清单标准,包括现场安全检查清单、安全生产条件清单、安全管理制度清单、应急预案清单、安全法律法规清单、安全台账管理清单、安全操作规程清单、安全专项活动清单、安全教育培训清单、安全权责清单等等,将安全管理工作完全清单化标准化。

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

Windows程序设计题(含简答题答案)

Windows 程序设计》模拟题 单项选择题 1. 在 VC++ 中,项目文件的扩展名是( B )。 A ) exe B)dsp C ) dsw D ) cpp 2. 在 MFC 中,利用 ClassWizard 不能( D )。 A )建立新类 B )进行消息映射 C )增加类的成员变量 D )插入资源 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送( 3. C )消 息。 4. 5. A ) WM_CHAR B ) WM_HSCROLL C ) W M_VSC ROLL 更新菜单状态的消息是( C A ) WM_COMMAND )。 C ) UPDATE_COMMAND_UI 对于消息队列描述正确的是( A )在Windows 中只有一个消息系统, 据结构,用于临时存储消息。 D ) WM_CHANG E B ) UPDATE D) INVALIDATE 即系统消息队列。 消息队列是一个系统定义的数 B )系统可从消息队列将信息直接发给窗口。 另外,每个正在 Windows 下运行的应用程 序都有自己的消息队列。 C )系统消息队列中的每个消息最终都要被 USER 模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D )以上都正确 6. 在 MFC 中,所有的控件都是( B )类的派生类,都可以作为一个特殊的窗口来处理。 CView B ) CWnd C) 7. 使用 CWindow C) D ) CDialog GetDC () 获取的设备上下文在退出时,必须调用( A )释放设备上下文。 ReleaseDC() B ) delete() DeleteDC () D ) Detach () 8. 希望菜单无效,应该用 CCmdUI 类的( A )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 9.希望菜单前出现一个“V”,应该用 CCmdUI 类的(C )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 10.下面(A )不是MFC 设备环境类CDC 类的派生类。 A ) GDI B ) CPaintDC C) CClientDC D) CWindowDC 11.在MFC 中,所有的文档类都派生于( C ),所有的视图类都派生于( A )。 A) CView B) CWindow C) CDocument D) CFormView

程序设计基础实验内容

实验指导 实验一 Visual C++开发环境使用 1.实验目的 (1)熟悉Visual C++集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include ; int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容 (1)整数相除 #include<> int main() {

int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include<> int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include<> int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的 (1)掌握格式字符使用的方法。 (2)掌握printf()进行格式化输出的方法。 (3)掌握scanf()进行格式化输入的方法。 2.实验内容 (1)输入如下程序,观察运行结果 #include<>

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

程序设计基础知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

Windows程序设计题(含简答题答案)

《Windows程序设计》模拟题 一.单项选择题 1、在VC++中,项目文件得扩展名就是(B)。 A)exe????B)dsp C)dsw???D)cpp 2、在MFC中,利用ClassWizard不能(D)。 A)建立新类??B)进行消息映射 C)增加类得成员变量?D)插入资源 3、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR??B)WM_HSCROLL C)W M_VSCROLL???D)WM_CHANGE 4、更新菜单状态得消息就是(C )。 A)WM_MANDB)UPDATE C)UPDATE_MAND_UI D)INVALIDATE 5、对于消息队列描述正确得就是(D) A)在Windows中只有一个消息系统,即系统消息队列。消息队列就是一个系统定义得 数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行得应用程序都有自己得消息队列。 C)系统消息队列中得每个消息最终都要被USER模块传送到应用程序得消息队列中去。 应用程序得消息对列中存储了程序得所有窗口得全部消息. D)以上都正确 6、在MFC中,所有得控件都就是(B)类得派生类,都可以作为一个特殊得窗口来处理。 A)CView??B)CWnd C)C Window???D)CDialog 7、使用GetDC()获取得设备上下文在退出时,必须调用(A)释放设备上下文. A)ReleaseDC()???B)delete() C)D eleteDC()???D)Detach() 8、希望菜单无效,应该用CCmdUI类得(A )成员函数。 ???B)SetRadio A)Enable?? ? C)SetCheck???D)SetText 9、希望菜单前出现一个“√",应该用CCmdUI类得(C)成员函数. A)Enable ???B)SetRadio C)SetCheck??D)SetText 10、下面(A)不就是MFC设备环境类CDC类得派生类. A)GDI ????B)CPaintDC C)CClientDC ??D)CWindowDC 11、在MFC中,所有得文档类都派生于(C),所有得视图类都派生于(A )。 A)CView B)CWindowC)CDocumentD)CFormView 12、采用C++进行绘图时,(B)用于指定图形得填充样式,(A)用于指定图形得边框样式.

C语言程序设计基础实验报告3【VIP专享】

实验3 逻辑结构程序设计一、实验目的 1、了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if 语句和switch 语句。 4、结合程序掌握一些简单的算法。 5、学习调试程序。 二、实验内容和步骤 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1、改错题。给定程序MODI1.C 的功能是:对于如下函数: 用scanf 函数输入x 的值,求y 值。/* MODI1.C */#include void main() { int x, y; /***********found***********/ scanf ("%d", &x);if ( x < 1 )y = x; /***********found***********/else if ( 1 <=x&& x < 10 ) y = 2*x -1 ; else y = 3*x -11; printf("y = %d\n", y ); } 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 修改程序后,运行程序,输入x 的值(分别为x<1、1≤x<10、x ≥10三种情况,如0.5、8、15),检查输 出的y 值是否正确。 ?? ? ??≥-<≤-<=)10(113) 101(12)1(x x x x x x y

2、从键盘输入某学生的考试成绩,要求输出成绩等级A 、B 、C 、D 、E 。学生的成绩可分成5个等级,90- 100分为A 级,80-89分为B 级,70-79分为C 级,60-69分为D 级,0-59分为E 级。要求在输入负数时, 给出错误提示。 ① 事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。 ② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之 能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。 3、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位 数字,例如:原数据为321,应输出123。(BX4.6) 分别用1位正整数、2位正整数、3位正整数、4位正整数、5位正整数作为测试数据进行测试。 除此之外,程序还应当对不合法的输入作必要的处理。例如:当输入负数时或输入的数超过5位(如123 456)数时。4、输入3 个整数,要求按由小到大的顺序输出。

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

Windows程序设计题(含简答题标准答案)

《Windows程序设计》模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B)。 A)exe ????B)dsp C)d sw?????D)cpp 2.在MFC中,利用ClassWizard不能(D )。 A)建立新类?????B)进行消息映射 C)增加类的成员变量?D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR ?B)WM_HSCROLL C)WM_VSCROLL???D)WM_CHANGE 4. 更新菜单状态的消息是(C)。 A)WM_COMMANDB)UPDATE C)UPDATE_COMMAND_UI D)INVALIDATE 5.对于消息队列描述正确的是( D ) A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程 序都有自己的消息队列。 C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在MFC中,所有的控件都是(B )类的派生类,都可以作为一个特殊的窗口来处理。 ?B)CWnd A)CView ??? C)C Window ???D)CDialog 7.使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。 A)ReleaseDC()???B)delete() C)D eleteDC() ?D)Detach() 8. 希望菜单无效,应该用CCmdUI类的(A )成员函数。 A)Enable ???B)SetRadio C)S etCheck ??D)SetText 9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。 A)Enable??B)SetRadio C)SetCheck????D)SetText 10. 下面(A)不是MFC设备环境类CDC类的派生类。 A)GDI??????B)CPaintDC C)C ClientDC ???D)CWindowDC 11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A )。 A)CViewB)CWindowC)CDocument D)CFormView 12. 采用C++进行绘图时,(B )用于指定图形的填充样式,(A)用于指定图形的边框样式。 A)画笔B)画刷C)区域D)位图

《程序设计基础》记分作业4答案

《程序设计基础》记分作业4答案 单选题。(共16道试题,每题3分) 1、树的典型特点是各个结点之间是( C )。 A、没有直接关系 B、一对一关系 C、一对多关系 D、多对多关系 2、采用顺序空间作为栈的存储空间时,在进行栈操作的时候( D )。 A、不需要判断栈是否空,不需要判断栈是否满 B、不需要判断栈是否空,但需要判断栈是否满 C、需要判断栈是否空,不需要判断栈是否满 D、需要判断栈是否空,也需要判断栈是否满 3、在存储线性表时,( C )。 A、只能采用顺序存储结构 B、只能采取链式存储结构 C、可以任意采用顺序或链式存储结构 D、没有明确的结论 4、线性表表长的含义是( C )。 A、线性表所占用的内存字节数量 B、线性表占用的内存和外存的字节数量 C、线性表中所包含的元素数量 D、线性表在内存中元素的数量 5、采用链式存储保存线性表与采用顺序存储保存线性表进行比较,在链式存储线性表时进行插入操作的执行效率( C )。 A、比较低 B、一样 C、比较高 D、没有明确结论 6、对于一张一般的图,其中的各个结点之间的关系是( D )。 A、集合关系 B、一对一关系 C、一对多关系 D、多对多关系 7、数据的存储结构分为( D )。 A、线性存储结构和非线性存储结构 B、有序存储结构和非有序存储结构 C、树型存储结构和图型存储结构 D、链式存储结构和顺序存储结构 8、进行折半查找的条件是( A )。 A、数据有序且采用顺序存储方式 B、数据不需要有序,但需要顺序存储 C、数据有序且采用链式存储方式 D、数据不需要有序,但需要链式存储 9、采用链式存储的有序数据要进行查找,可以采用( A )。 A、顺序查找 B、折半查找 C、顺序索引查找 D、顺序或折半查找 10、下面4句结论中只有一句是错误的,它是( B )。

Java语言程序设计(一)复习资料--Java简答题

Java语言程序设计(一)复习资料--Java简答题 1、简述java语言的特点? 1.2 Java语言是目前使用最为广泛的网络编程语言之一 (1分) 具有面向对象 (1分) 与平台无关性 (1分) 多线程性 (1分) 动态性等特点 (1分) 2、简述Java程序的开发过程? 1.3 (1)使用一个文字编辑器,编写源文件。(1分) (2)使用java编译器,编译源文件得到字节码文件。(2分) (3)运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程 序。(2分) 3、 java源文件的命名规则是什么? 1.3 如果源文件中有多个类,那么只能有一个类是public类(1分) 如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java (2分) 如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java (2分) 4、怎样区分应用程序和小应用程序? 1.4 一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其main方法必须被说明为public static void (2.5分) 一个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet 类,即它是Applet类的主类。(2.5分) 5、 Java中共有哪些基本数据类型? 2.2 基本类型共有8种,分四类分别是(1分)

逻辑型(1分) 字符型(1分) 整型(1分) 浮点型(1分) 6、 Java中数据类型分别用什么符号来表示的? 2.2 逻辑型用boolean 表示(1分) 字符型用char表示(1分) 整型共有4种分别是 byte、short、long、int (2分) 浮点型共两种float和double (1分) 7、简答标示符的概念及定义原则? 2.1 标示符是用来标识类名、变量名、方法名、类型名等有效字符序 列。(2.5分) Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,及java中的关键字不能用作标示符。(2.5分) 8、简答什么是强制类型转换及转换格式? 2.2 当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。当把在内存中占字节数较少的变量的值赋给占字节较多的变量时,系统自动完成数据类型的转换(2.5分) 格式:(数据类型名)变量名或表达式(2.5分) 9、简答表达式++x和x++的区别 3.1 ++x表示在使用x之前,先使x的值加1 (2.5) x++表示在使用x之后,使x的值加1 (2.5) 10、Java中常用的运算符按功能分有哪些? 3.1 Java运算符按功能分6种,具体如下(1分) 算术运算符、关系运算符、逻辑运算符(2分)

程序设计基础实验内容

实验指导 实验一 Visual C++6.0开发环境使用 1.实验目的 (1)熟悉Visual C++6.0集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include (stdio.h); int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容

(1)整数相除 #include int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&& a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的

网络对应用系统的支持规范

XXXXXXXX管理局企业标准 Q/SL STA-h-2002 网络对应用系统的支持规范 1适用范围 XXXXXXXX各级单位 2规范解释权 本规定适用于XXXXXXXX管理局信息安全管理中心和下属各单位中心机房。 3网络对应用系统支持概述: 网络为用户数据流的传输和获得用户信息而提供一种传输机制。网络和支持它的基础设施必须防止阻碍用户信息传输的拒绝服务攻击。支撑性基础设施可以是管理系统或者其他任何支持网络运行的系统。 网络支持三种不同的数据流:用户、控制和管理。用户通信流就是简单的在网上传输用户信息。网络有责任分割用户通信流。必须维护单个用户连结的隔离,以确保可信赖的发出信息。 控制通信流是为了建立用户连结而在所必备的网络组件之间传送的任意信息。控制通信流由一个信令协议提供,包括编址、路由信息和发信令。 网络基础设施的正确编址是用户通信流的基础,它确保了数据能被传送到目的地址。 管理通信流使用来配置网络组件或表明网络组件状态的信息,与其相关的协议包括简单网络管理协议(SNMP)公共管理信息协议(CMIP)、超文本传输协议(HTTP)等。网络管理通信流对于确保网络组件没有被非授权用户改变非常重要。 下面将从两个方面说明网络在支持应用系统安全时因该注意的地方

4油田专有骨干网的可用性 这一部分内容强调了改善油田骨干传输系统的可用性,使得即使在信息战的攻击下仍能够满足网络的操作需求。 骨干网可用性的基本要求是当需要通过骨干网来完成任务时它们能够发挥作用。以下是我们对其确定的特别需求: ?骨干网必须提供得到认可级别的响应、服务连续性、通信服务中的 抗意外性和抗故意中断服务。(认可是在网络拥有者和网络用户之间 达成的)。 ?骨干网不需要太多的提供用户数据的安全服务(比如保密性和数据 完整性),那一般在子网网络边界提供。 ?骨干网必须保证信息不拖延、误传递或不传递。 ?作为端到端的信息传输系统,骨干网提供的服务必须对用户透明。 ?作为透明需求的一部分,骨干网与其它骨干网或者本地网络必须无 缝连接。 4.1 骨干网安全要求 访问控制 ?访问控制必须能够区分用户对数据传输的访问和管理员对网络管理和控制的访问。比如,用户对状态信息访问时,必须实施比访 问配置信息更强的访问控制。 ?访问控制必须能够限制对网络管理中心的访问。 认证 ?网络设备必须能认证从其它网络设备外发出的所有通信的来源,比如路由信息。 ?网络设备必须认证网络管理人员的所有的连接要求。 ?网络管理系统必须在同意访问之前能认证网络管理人员。 ?网络管理中心必须认证从外网进入网络管理中心的所有通信源。 ?网络管理中心必须认证制造商提供的材料的来源。 ?网络管理中心必须认证制造商提供的软件的来源。比如,新版本的操作系统必须经相应级别的信息安全机构评审认可后才能在网 络上使用。 ?在所有拨号用户进入网络管理之前,网络管理中心必须认证他们。 可用性 ?硬件和软件(比如用户代理和服务器)对用户必须是可用的。 ?服务商必须向用户提供高层次的系统可用性。 保密性 ?必须提供关键材料的保密性。 ?网络管理员必须提供路由信息、信令信息、网络管理通信流的保密性,以保障它们的安全。 完整性

相关文档
相关文档 最新文档