程序设计引论1
- 格式:docx
- 大小:105.70 KB
- 文档页数:13
语言程序设计范文
随着现代计算机的发展,程序设计语言作为实现计算机编程任务的基础性工具而被广泛使用。
程序设计语言的类型众多,其中最受欢迎的一种是面向对象的程序设计语言(OOP)。
面向对象的程序设计语言(OOP)是一种以对象为中心的程序设计语言,它能够将复杂的程序设计问题分解为一系列简单的任务,然后用对象来表示这些任务。
使用OOP技术可以使程序设计的过程更加清晰、有效。
它的最大优势在于,程序员可以重复使用许多类似的对象,以便更快地完成编程任务,而无需理解每一种对象都有哪些特性。
OOP语言的基础是面向对象的编程,因为它能够将复杂的程序设计任务分解为一系列简单的任务,然后用对象来表示这些任务。
面向对象的编程语言就是一种把程序的功能和数据封装到对象中,使用对象之间的关系来实现功能的一种编程方法。
使用OOP程序设计语言可以帮助开发者编写更高效、更安全的程序,以及更容易维护的程序。
OOP程序设计语言还有助于程序员更好地理解程序,从而更准确地完成任务。
其他优点还包括更好的可扩展性和易于维护性,因为编写的代码可以被重复使用,所以可以更容易地更新和修改代码。
学分:4 学时:72考试方式:闭卷考试内容:概念本课程的内容:主要介绍设计和构造分布式操作系统的基本原理和部分实现技术。
并且给出了两种描述并发程序验证的数学模型,时态逻辑和Petri网。
参考书:《分布式操作系统设计》何炎详编著海洋出版社《高级操作系统》何炎详宋文欣彭锋编著科学出版社《操作系统高等教程》郑衍德徐良贤主编上海交通大学出版社《高级操作系统》徐甲同编著西安电子科技大学出版社,1998, ISBN 7-5606-0551-6/TP.0273《CENTRALIZED AND DISTRIBUTED OPERATING SYSTEMS》GARY J. NUTT PRENTICE HALL《MODERN OPERATING SYSTEMS》Andrew S. Tanenbaum《分布式操作系统Distributed Operating Systems》ISBN 7-302-02411-1Andrew S. Tanenbaum 清华大学出版社 PRENTICE HALL 《DISTRIBUTED OPERATING SYSTEMS—The Logical Design》 ISBN 0-201-417049A. Goscinski ADDISON-WESLEY《ADVANCED CONCEPTS IN OPERATING SYSTEMS DISTRIBUTED, DATABASE, AND MULTIPROCESSOR OPERATING SYSTEMS》ISBN 0-07-057572-XMUKESH SINGHAL & NIRANJAN G. SHIVARATRI McGraw-Hill 《DISTRIBUTED OPERATING SYSTEMS: concepts and design》ISBNPradeep K. Sinha IEEE press第-i - 页第 - 1 - 页第一章 引论在本章中,我们研究操作系统的基本概念及其发展历史。
18秋《程序设计引论》作业1C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为()A..exeB..cC..objD..cpp正确答案:A以下命令不是编译预处理命令的是()。
A.#defineB.#includeC.#ifD.typedef正确答案:D顺利执行文件关闭操作时,fclose函数的返回值是()A.1B.-1C.0D.非0值正确答案:C下面有关C程序操作过程的说法中,错误的是()A.C源程序经过编译,得到的目标文件即为可执行文件B.C源程序的链接实质上是将目标代码文件和库函数等代码进行连接的过程C.C源程序不能通过编译,通常是由于语法错误引起的D.导致不能得到预期计算结果的主要原因是程序算法考虑不周正确答案:A若有定义:int a[5]={3,5,4,6,8},*p=a;则引用数组元素错误的是()。
A.a[3]B.*(a+1)C.&a[2]D.p[2]正确答案:C下列不是C语言关键字的选项是()。
A.ifB.printfC.caseD.while正确答案:B一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程正确答案:C以下叙述中最准确的是()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合正确答案:D下列变量名定义错误的是()。
A.a4B.sumC._chD.f(x)正确答案:DC语言属于()。
A.机器语言B.汇编语言C.低级语言D.高级语言正确答案:D数组名作为参数时,以下叙述错误的是()A.函数调用时是将实参数组的所有元素传给形参B.函数调用时是将实参数组的首地址传给形参C.函数调用时是将实参数组的第一个元素传给形参D.函数调用时是将实参数组的所有元素地址传给形参正确答案:ACD以下函数首部的定义形式错误的是()A.int fun(int x;int y)B.int fun(int x,int y)C.int fun(int x,y)D.int fun(int x,int y)正确答案:ACD在下列有关宏替换的叙述中,错误的是()A.宏替换占用运行时间B.宏替换只是字符替换C.带参数的宏替换和函数等价D.宏名有类型正确答案:ACD以下关于宏的叙述错误的是()A.宏名必须用大写字母表示B.宏替换时要进行语法检查C.宏替换不占用运行时间D.宏定义中不允许引用已有的宏名正确答案:ABD以下关于文件的描述正确的是()A.用fopen函数时一般会判断打开文件操作是否出错B.在C程序中直接使用文件名来访问文件C.文本文件和二进制文件的数据存储方式是不同的D.C语言把文件看成是一个字节的序列正确答案:ACDint fun(int x,int y)函数首部的定义形式是正确的。
北语18春《程序设计引论》18春《程序设计引论》作业_1一、单选题1. 有如下程序main(){int a[3][3] = 1,2},{3,4},{5,6, i,j,s = 0;for(i = 1; i < 3; i++)for(j = 0; j <= i; j++)s += a[i][j];printf("%d\n",s);}该程序的输出结果是______。
( )A. A. 18B. B. 19C. C. 20D. D. 21答案A2. 下面选项中两个标识符都是不合格的选项是()A. W,p_1B. _abc,sumC. a-1,intD. x1O答案C3. 下列变量名定义错误的是()。
A. a4B. sumC. _chD. f(x)答案D4. 假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是______。
( )A. A. 4B. B. 3C. C. 2D. D. 1答案D5. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是______。
( )A. A. 3B. B. 6C. C. 10D. D. 20答案D6. 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#include#define N 10void fun(int x[N]){ int i=0;while(i<N) scanf("%d",______);}在程序中下划线处应填入的是______。
( )A. A. x+iB. B. &x[i+1]C. C. x+(i++)D. D. &x[++i]7. 下列说法中错误的是( )A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行8. 有以下程序#includemain(){ char a=4;printf("%d\n",a=a<<1);}程序的运行结果是______。
程序设计基础与VC++主讲教师:景红教授信息科学与技术学院鞭策与评价●平时/印象:出勤、交流、超越作业要求的成果●上机成绩:计划内上机●期中成绩:期中考试●期末成绩:期末考试 超越了作业要求加分胡乱堆积减分 N次宽限推迟提交+减分缺勤减分与老师的交互方式 联系: 87600326,66368326课程主要内容程序设计的思想和方法,辅以程序设计语言基本知识的学习,主要内容包括:算法基础知识、程序设计基础知识、C++语言的基本语法以及程序调试技术。
什么是程序设计演示为什么学习程序设计●信息化的社会●相应的社会技术是信息技术●信息技术的核心是计算机技术●计算机已不仅仅是辅助工具,而成为了各个学科本身的重要组成部分为什么学习程序设计(续)●计算机基础教育既是文化基础教育、人才素质教育,又是强有力的各个专业的技术基础教育●程序设计是计算机基础教育最基本的内容之一随着计算机技术的迅猛发展,软件开发商们为用户设计编写了大量的应用软件,使得用户在日常工作中遇到的任务多数都可以借助现有的软件来完成,如:文字处理软件Word,表格处理软件Excel,网页制作软件FrontPage等等。
----大量应用软件方便了用户但往往需要解决的问题繁杂多变,特别是在工程应用领域,很难设计出一个包罗万象的通用软件;同时,面对大量具体问题,使用通用软件来解决其效率会很低,甚至可能无法完成任务。
在这种情况下,由用户自行开发具有针对性的应用软件就成为唯一的解决办法。
----为具体问题自行开发软件软件开发过程(续)●理解和表达用户需求●给出系统说明书软件开发过程(续)●建立系统的结构●给出模块说明书软件开发过程(续)●可以是一般程序设计员,可以用代码生成器●给出可运行的程序系统软件开发过程(续)●系统的维护和使用●改进系统算法的概念例:分水果例:野生动物园例:游泳解决某类具体问题的方法和步骤→算法计算机算法●利用计算机解决某类问题的方法和步骤→计算机算法,简称算法一些指令的集合指令执行流程的体现●分为数值算法和非数值算法两大类算法的表示表示一个算法,可以用不同的方法,常用的有:●自然语言●传统流程图●结构化流程图-三种基本结构的流程图-N-S流程图●伪代码●IPO图算法的分类算法按处理对象分为两大类●数值算法数值计算●非数值算法应用范围十分广泛,最常见的是事务管理领域,例如图书检索、人事管理、行车调度管理等。
编译原理第三版答案编译原理是计算机科学中非常重要的一门课程,它涉及到程序设计语言的语法、语义和编译器的设计与实现等内容。
《编译原理》(Compilers: Principles, Techniques, and Tools)是编译原理领域的经典教材,由Alfred V. Aho、Monica S. Lam、Ravi Sethi和Jeffrey D. Ullman合著,已经出版了三个版本。
本文将针对《编译原理》第三版中的习题和答案进行整理和总结,以帮助学习者更好地理解和掌握编译原理相关知识。
第一章,引论。
1.1 什么是编译器?编译器是一种将源程序翻译成目标程序的程序,它包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。
1.2 编译器的主要任务是什么?编译器的主要任务是将高级语言程序翻译成等价的目标程序,同时保持程序的功能和性能。
1.3 编译器的结构包括哪些部分?编译器的结构包括前端和后端两部分,前端包括词法分析、语法分析和语义分析,后端包括中间代码生成、代码优化和目标代码生成。
第二章,词法分析。
2.1 什么是词法分析?词法分析是编译器中的第一个阶段,它将源程序中的字符序列转换成单词(Token)序列。
2.2 词法分析的主要任务是什么?词法分析的主要任务是识别源程序中的单词,并将其转换成单词符号表中的标识符。
2.3 词法分析中常见的错误有哪些?词法分析中常见的错误包括非法字符、非法注释、非法标识符等。
第三章,语法分析。
3.1 什么是语法分析?语法分析是编译器中的第二个阶段,它将词法分析得到的单词序列转换成抽象语法树。
3.2 语法分析的主要任务是什么?语法分析的主要任务是识别源程序中的语法结构,并检查语法的正确性。
3.3 语法分析中常见的错误有哪些?语法分析中常见的错误包括语法错误、缺失分号、缺失括号等。
第四章,语义分析。
4.1 什么是语义分析?语义分析是编译器中的第三个阶段,它对源程序的语义进行分析和处理。
一、单选题1.(4分)有以下程序#includemain(){ char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcat(p,r); strcpy(p+strlen(q),q);printf("%d\n",strlen(p));}程序运行后的输出结果是______。
( )∙ A.A. 9∙ B.B. 6∙ C.C. 11∙ D.D. 7纠错得分: 0知识点: 5.5 字符数组与字符串展开解析2.(4分)若有定义:int a=5,*b=&a;,则printf("%d",*b);语句的输出结果为()。
∙ A. 随机值∙ B. a的地址∙ C. 6∙ D. 5纠错得分: 4知识点: 6.1 指针的基本概念收起解析答案 D解析3.(4分)以下叙述中错误的是______。
( )∙ A.A. 用户定义的函数中可以没有return语句∙ B.B. 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值∙ C.C. 用户定义的函数中若没有return语句,则应当定义函数为void类型∙ D.D. 函数的return语句中可以没有表达式纠错得分: 4知识点: 3.3 定义函数收起解析答案 B解析用户定义的函数中可以没有return语句,所以选项A正确;如果被调函数中没有return语句,并不带回一个确定的、用户所希望得到的函数值,但实际上,函数并不是不带回值,而只是不带回有用的值,带回的是一个不确定的值,为了明确表示"不带回值",可以用"void"定义"无类型",这样,系统就保证不使函数带回任何值,所以选项C正确;当函数中不需要指明返回值时,可以写成"return",所以选项D正确;一个函数中可以有一个以上的return语句,执行到哪一个return 语句,哪一个语句起作用,即返回主函数,不再执行它下面的其他语句,所以选项B错误。
4.(4分)下列哪组标识符是正确的()。
∙ A. a3,7d∙ B. _x1,temp∙ C. for,max∙ D. f(x),b2纠错得分: 4知识点: 5.1 一维数组的定义和使用收起解析答案 B解析5.(4分)下面有关高级语言的说法中,正确的是()。
∙ A. 高级语言编写的程序可读性好,执行效率也最高∙ B. 高级语言程序必须翻译成机器语言程序,计算机才能执行∙ C. 解释方式和编译方式相比,具有占用内存少、执行速度快的特点∙ D. C语言是一种解释型高级语言纠错得分: 4知识点: 1.2 C 语言和简单 C 程序收起解析答案 B解析6.(4分)下列字符列中,可以作为“字符串常量”的是。
( )∙ A. A.ABC∙ B. B.″xyz″∙ C. C.′uvw′∙ D. D.′a′纠错得分: 4知识点: 5.5 字符数组与字符串收起解析答案 B解析字符串常量用""号表示7.(4分)有以下程序#includevoid fun(int a, int b){ int t;t=a; a=b; b=t;}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0}, i;for(i=0;i<10;i+=2) fun(c[i],c[i+1]);for(i=0;i<10;i++) printf("%d,",c[i]);printf("\n");}程序的运行结果是______。
( )∙ A.A. 1,2,3,4,5,6,7,8,9,0,∙ B.B. 2,1,4,3,6,5,8,7,0,9,∙ C.C. 0,9,8,7,6,5,4,3,2,1,∙ D.D. 0,1,2,3,4,5,6,7,8,9,纠错得分: 4知识点: 5.2 一维数组编程实例收起解析答案 A解析本题中c[i],c[i+1]的值是实参,a,b是形参。
C语言规定,实参变量对形参变量的数据传递是"值传递",即单向传递,只由实参传给形参,而不能由形参传回来给实参。
在内存中,实参单元与形参单元是不同的单元。
在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。
所以函数fun中对a,b值的交换不影响主函数中c数组的值,故输出的c数组的值为c数组初始化时的值。
8.(4分)对于用流程图描述算法,以下说法错误的是()。
∙ A. 直观形象∙ B. 易于修改∙ C. 易于理解∙ D. 对流程线的使用没有严格限制纠错得分: 4知识点: 2.1 基本字符、标识符、关键字收起解析答案 C解析9.(4分)一个C语言程序是由()组成的。
∙ A. 主程序∙ B. 子程序∙ C. 函数∙ D. 过程纠错得分: 4知识点: 1.2 C 语言和简单 C 程序收起解析答案 C解析10.(4分)顺利执行文件关闭操作时,fclose函数的返回值是()∙ A. 1∙ B. -1∙ C. 0∙ D. 非0值纠错得分: 4知识点: 8.文件输入和输出收起解析答案 C解析11.(4分)阅读以下函数fun(char *sl,char *s2){ int i=0;while(sl[i]==s2[i]&&s2[i]!='\0') i++;return(sl[i]=='\0'&&s2[i]=='\0');}此函数的功能是______。
( )∙ A. A. 将s2所指字符串赋给s1∙ B. B. 比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0∙ C. C. 比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0∙ D. D. 比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0纠错得分: 4知识点: 5.顺序数据组织数组收起解析答案 A解析字符串的比较规则是对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止,若全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准,该函数就实现了此功能。
12.(4分)计算机程序用哪种语言编写机器可以直接运行()∙ A. 高级语言∙ B. 汇编语言∙ C. 机器语言∙ D. 低级语言纠错得分: 4知识点: 1.2 C 语言和简单 C 程序收起解析答案 C解析13.(4分)C语言编译程序的首要工作是()。
∙ A. 检查语法错误∙ B. 检查逻辑错误∙ C. 检查程序的完整性∙ D. 生成exe文件纠错得分: 4知识点: 4.关于C程序中结构的进一步分析收起解析答案 A解析14.(4分)若有定义:int a[5]={3,5,4,6,8},*p=a;则引用数组元素错误的是()。
∙ A. a[3]∙ B. *(a+1)∙ C. &a[2]∙ D. p[2]纠错得分: 4知识点: 5.6 字符数组与字符串编程实例收起解析答案 C解析15.(4分)对结构化程序设计方法的特点描述错误的是()。
∙ A. 自顶向下∙ B. 具有继承性∙ C. 模块化设计∙ D. 逐步求精纠错得分: 4知识点: 4.1 几种控制语句收起解析答案 B解析二、多选题1.(4分)以下对C语言中的函数描述不正确的有()∙ A. 可以嵌套定义,不可以嵌套调用∙ B. 不可以嵌套定义,可以嵌套调用∙ C. 可以嵌套定义,也可以嵌套调用∙ D. 嵌套定义和嵌套调用都不允许纠错得分: 0知识点: 3.3 定义函数收起解析答案 A,C,D解析C语言中函数的定义不可以嵌套,但函数的调用可以嵌套。
2.(4分)在下列有关宏替换的叙述中,错误的是()∙ A. 宏替换占用运行时间∙ B. 宏替换只是字符替换∙ C. 带参数的宏替换和函数等价∙ D. 宏名有类型纠错得分: 0知识点: 7.用户自义数据类型收起解析答案 A,C,D解析3.(4分)以下叙述正确的是()∙ A. 在C语言中,若整型变量作为函数参数,调用函数时是把实参的值传送给形参∙ B. 在C的函数中,应该尽量多的使用全局变量∙ C. 在C语言中,函数的返回值使用return语句返回∙ D. 在C语言中,函数可以嵌套调用纠错得分: 4知识点: 3.变量、函数和流程控制收起解析答案 A,C,D解析4.(4分)用typedef将double说明成一个新类型名REAL,错误的方法是()∙ A. typedef REAL double∙ B. typedef double REAL∙ C. typedef REAL =double∙ D. typedef double =REAL纠错得分: 4知识点: 7.用户自义数据类型收起解析答案 A,C,D解析5.(4分)以下各项描述错误的是()∙ A. 在程序的一行中可以出现多个有效的预处理命令行∙ B. 使用带参数的宏时,实参的类型应与宏定义时的一致∙ C. 宏替换不占用运行时间,只占用编译时间∙ D. 在宏的定义中,宏名可以由任意的字符组成纠错得分: 0知识点: 4.4 预处理和宏定义收起解析答案 A,B,D解析三、判断题1.(4分)变量根据其作用域的范围可以分作局部变量和全局变量∙∙纠错得分: 4知识点: 3.2 变量的概念和使用收起解析答案正确解析变量分为局部变量和全局变量2.(4分)如果函数值类型与返回值类型不一致,应以函数值类型为准。
∙∙纠错得分: 4知识点: 3.变量、函数和流程控制收起解析答案正确解析3.(4分)for的循环体包含多条语句时必须使用花括号括起来。
∙∙纠错得分: 4知识点: 7.用户自义数据类型收起解析答案错误解析4.(4分)共用体所有成员共用的内存单元的大小为各成员需要占用内存大小之和。
∙∙纠错得分: 4知识点: 7.5 共用体收起解析答案错误解析共用体所有成员都共用同一内存单元5.(4分)在C语言中,%是只能用于整数运算的运算符。
∙∙纠错得分: 4知识点: 2.1 基本字符、标识符、关键字收起解析答案正确。