南开大学复习资料-程序设计基础(上)0001.docx
《南开大学复习资料-程序设计基础(上)0001.docx》由会员分享,可在线阅读,更多相关《南开大学复习资料-程序设计基础(上)0001.docx(12页珍藏版)》请在咨信网上搜索。
1、程序设计基础(上)课程期末复习资料一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分1、( B )是一种利用计算机解决问题的思维方式,而不是具体的学科知识。A. 逻辑思维计算思维实证思维伦理思维2、( D)常简称“流程图”,是人们对解决问题的方法、思路或算法的一种描述。A. 逻辑图伪代码程序框图程序流程图3、而对问题,需要找出解决问题的方法,我们把这种能够在有限的步骤内解决问题的过程 和方法称为(A )算法程序程序设计编程4、( C )是指设计、编制、调试程序的方法和过程,是寻找算法并用计算机能够理解的 语言表达出来的一种活动。A. 算法程序程序设计编程5、人类使用计算机求
2、解实际问题的基本步骤包括(A B C D )。A. 将实际问题抽象成数学模型设计求解问题的算法编写程序实现算法运行程序求解问题6、编写一个程序并让程序运行起来,一般包括编辑、(C )、连接和执行等步骤。A. 改写设计编译录入7、针对(A )在进行大型项目设计时存在的缺陷,人们提出了面向对象程序设计(ObjectOriented Programming, OOP)方法。A. 结构化程序设计方法面向过程的程序设计方法理论化程序设计方法面向人类的程序设计方法8、( AD )等属于高级程序设计语言。A. C+汇编机器语言Python9、一个C+程序一般由(ABCD )、输入/输出和注释等几部分组成。A
3、. 编译预处理命令函数语句61、C+中的函数分为两类:一类是用户根据待求解问题的需要自己定义的函数;另一类是 系统提供的标准函数,即库函数。(J)62、一个函数如何调用其他函数,他就是递归函数o(X)63、函数的默认形参值可以在两个位置指定:如果有函数声明,则应在函数声明处指定;否 则,直接在函数定义中指定。(J)64、宏定义分为无参宏定义和带参宏定义两种。(J)65、有参宏定义和条件编译结合使用可以解决头文件重复包含问题。(X)66、静态局部变量在定义时若没有初始化,则自动初始化为0。(J)67、使用全局变量非常方便,可以多使用它。(X)68、多文件结构的程序可以使程序结构清晰,便于管理和查
4、找。(。)69、在运行一个程序时,系统将分配给该程序一些内存空间,根据内存空间中存储的数据类 型不同,可将其分为4个区域:代码区、全局数据区、堆区、栈区。(J)70、定义任何一个变量,系统都会为其分配-定大小的内存空间,访问变量实际上就是访问 其所对应内存空间中的数据。(J)71、指针只能是常量,不可以是变量。(X)72、指针可以是常量,也可以是变量。(J)73、int*pl,p2;则表示定义了两个指针变量pl和p2o(X)74、己知“chara=a,b,c,*p=a+l;”,则执行“*p+;后,a的值为矶(X)75、*(指针表达式州与指针表达式i等价。(J)76、己知“char$tr=my;
5、则执行“strcat(str, book”);”后,str 中保存的字符串为mybook”。(X)77、用new动态分配的内存必须用delete释放,否则会产生内存泄漏。(7)78、用new动态分配内存时既可以使用常量也可以使用变量指定元素数目。(J )79、将数组名作为函数实参,表示将数组首地址传递给函数,在函数中可以通过该首地址操 作数组中的元素并更改元素的值.(V)80、函数返回的指针可以是全局变量、静态全局变量或静态局部变量的地址,也可以是局部 变量的地址。(X)81、一个引用在初始化后,其所引用的对象可以改变。(X)O82、只有返回引用的函数可以作为赋值语句的左值。(J)二、主观部分
6、:(一)、填空部分1、现代人类必须掌握的三种思维包括:计算思维、_理论思维和实证思维O2、任何复杂的算法都可以由顺序结构、_选择(分支)结构和循环(迭代)结构这三种基本结构组成。3、程序流程图中的_矩形表示处理,_菱形表示判断。流程图的基本符号和含义4、编译器是一个软件,运行该软件将源代码翻译成计算机能够识别的内部语言_机器语言O5、等都是高级程序设计语言。符号名称图形符号含义圆角矩形(_)开始框或结束框,描述算法的开始或结束矩 形处理框,描述处理平行四边形L_/输入输出框,描述菱 形O判断框,根据某个条件是否满足,进行进一步 相应的处理。流程线 I流程线,面熟各种处理之间的顺序关系高级程序设
7、计语言,例如C、C+、Java、C#、Fortran. Python、R语言等,是为解决 使用机器语言编写程序困难的问题而逐步发展起来的,其语法符合人的习惯,便于普通用户 编程,但计算机却不懂。6、一个C+程序一般由_编译预处理命令、函数、_语句、变量、输入/输出和_注释等几部分组成。7、用C+源程序文件的扩展名为CPP , 一般放在项目的源文件目录中。8、开发一个软件,相当于开发一个 项目 ,项目的作用是协调组织好一个软件中的 所有程序代码、头文件或其他额外资源。9、计算机领域中常用的数制有4种:即二进制、八进制 、进制 和 十六进 O10、十进制数转换成非十进制数的方法是:整数部分的转换采
8、用除基取余法:小数部分的转换采用乘基取整法 。11、64位计耸机占8 个Byte,占 64 个bit。12、在计算机中用二进制数来表示整数,采用_无符号(称为无符号整数)和有符号(称为有符号整数)两种形式。_无符号整数只能表示正整数和0。有符号整数可以用来表示正整数、0和负整数。13、计算机中汉字的表示也是必须采用二进制编码。根据应用目的的不同,汉字编码分 为一外码(输入码)、国际交换码、机内码和字形码。14、在C+中,除了教材中的基本数据类型,还提供了、和等基本数据类型。在 C+中,还提供了 unsigned char、long, unsigned long 和 long double 等基
9、本数 据类型。15源C+中,存储字符串常量采用的是向量法。为了能够识别字符串结束位置,C+系统 会在字符串的末尾自动添加一个ASCII编码为00H的字符(也称空字符或VT)作为字符串的结束符,所以每个字符串的存储长度总是比其实际长度(字符个数)一多1。16、C+中的逻辑型也只有两个值:和,他们分别表示“逻辑真”和“逻辑假”。C+中的逻辑型也只有两个值:true和false,他们分别表示“逻辑真”和“逻辑假”。17、在C+中,字符串常量的表示方法是用一对双引号将字符串括起来。其中的双引号同样是分隔符,不是字符串的-部分。18、在定义变量的同时可以为其赋一个初值,称为变量初始化。在C+中,变量初始
10、化有两 种形式,使用赋值运算符或使用圆括号。19、根据操作数的不同,可将运算符分为三类:、和,根据操作数的不同,可将运算符分为三类:单目运算符(一个操作数)、双目运算符(两 个操作数)和三目运算符(三个操作数)。20、表达式是由运算符将常量、变量、函数调用等连接在-起的式子。一个合法的C+ 表达式经过运算会有一个某种类型的值。使用不同的运算符可以构成不同类型的表达式,如: 术表达式、赋值表达式、关系表达式、逻辑表达式等等。21、写出判断1个字符变量ch是否为英文字母字符的逻辑表达式。或O写出判断1个字符变量ch是否为英文字母字符的逻辑表达式。可以用字符直接常量的形式判断该字符是否为英文字符:
11、ch=*a &| ch=*Ar & ch=97 & ch=65 & ch=9022、若x的值为10,则表达式x%-3的值为 ,表达式x%3的值为 。若x的值为10,则表达式x%-3的值为1,表达式x%3的值为1,即取余运算结果的符 号与被除数符号相同。23、各种那个赋值运算符都是有副作用的运算符,他们所作用的对象必须是其值允许改变的 变量,即赋值运算符的左操作数必须是一个存放数据的空间,这种变量也被称为 MB。24、C+采取两种方法对数据类型进行转换:隐式转换和。25、C+的语句分为:、输入/输出语句和程序流程控制语句等。C+的程序就是由若干条语句构成的,C+的语句分为:定义/声明语句、表达式
12、语句、 复合语句、空语句、输入/输出语句和程序流程控制语句等。26、C+的定义和使用命名空间的关键字是.namespace 。命名空间是ANSI C+引入的可以由用户命名的作用域,用来解决大型程序中标识符重 名的问题。定义一个命名空间的语法格式为:namespace命名空间名( 常量、变量、函数、类、对象等的声明或定义命名空间的声明语法格式是:using namespace命名空间名;27、表达式xO?-x:x的功能是。答案:求x的绝对值。28、若x、y为double型,则表达式x=l,y=l,y+=+x+l/2的值是 , x的值是2, v的值是_3。答案:3,2,329、sizeof (1)
13、的值是 , sizeof (float)的值是, sizeof(“南开大学)的值是_ 9。答案:4,4,930、计算二个表达式的值一般需要引用一些变量。在表达式求值过程中,只提取这些变量的值,但不改变这些变量的值,这样的表达式称为_无副作用的表达式。一个表达式在求值过程中,对使用的变量不但提取变量的值,而且还对它们的值加以改变,这样的表 达式称为有副作用的表达式。31、处理过程中的一些步骤需要根据不同的情况进行不同的处理,这种情况就是_选fi.处理过程中的一些步骤需要根据不同的情况进行不同的处理,这种情况就是选择。32、对于需要进行单路选择处理的问题,C+提供了相应的if 语句,用户可以使用该
14、语句编写程序,让计算机完成问题的求解。对于需要进行单路选择处理的问题,C+提供了相应的if语句,用户可以使用该语句编 写程序,让计算机完成问题的求解。33、在一个选择算法中,选择处理的一路或两路还是一个选择算法,这就构成了选择_嵌。在一个选择算法中,选择处理的一路或两路还是一个选择算法,这就构成了选择的嵌套。34、C+中专门的if-else语句用来实现多路选择算法实现。35、C+中能实现迭代算法的语句包括or语句、.while语句 和do while。36、switch语句中的测试条件表达式只能是_整形 、字符 或枚举型的表达式。switch语句中的测试条件表达式只能是整形、字符型或枚举型的表
15、达式。37、一维数据是指数据元素的值由一个因素唯一确定。38、对于长度为N的一维数组,其下标的取值范围为0 一一 N-1对于长度为N的一维数组,其下标的取值范围为0一NT。39、在定义二维数组的同时可以为数组中的各个元素赋初值,这就是二维数组的初始itO在定义二维数组的同时可以为数组中的各个元素赋初值,这就是二维数组的初始化。40、在C+中,字符串以_字符0 作为结束标识。在存储包含N个字符的字符串时,需要留出一个元素保存、0L使用长度至少为_N+1的一维字符型数组。在C+中,字符串以字符0作为结束标识。在存储包含N个字符的字符串时,需要 留出一个元素保存*0使用长度至少为N+1的一维字符型数
16、组。41、定义结构体类型的关键字是_structo定义结构体类型的关键字是struct,42、结构体数组中的每一个元素都是结构体结构体数组中的每一个元素都是结构体变量。42、只能用枚举常量为枚举变量赋值。43、_模块化是指解决-个复杂问题时将其自顶向下逐层划分为若干子问题的过程。每个子问题就是一个模块。44、函数是一个能够完成某个独立功能的程序模块(子程序)。45、函数和外界的接口体现为参数传递和函数的_返回值。46、定义内联函数的关键字是 inline。47、C+允许不同的函数具有相同的函数名,这就是函数重载 。48、要使用cin、endl等就必须包含该头文件。要使用cin. cout. e
17、ndl等就必须包含该头文件iostream。49、条件编译是一种编译预处理命令,即对某段程序代码中满足条件的语句进行编译、不满足条件的语句不进行编译。50、编译预处理命令都是以#号开头。51 变量的生存期是指变量的寿命长短,即变量在整个程序运行过程中的哪个时间段是存在的,描述的是变量的时间属性。52在32位系统中,内存地址由一 32一位二进制数组成,即 4个字节。53 C+中的指针是用于存放内存地址的一种数据类型。54数组名就是一个指针常量 ,表示该数组所占据内存空间的首地址 。55假设p为指针,n为正整数,则:p+n:从d指向的地址开始的后面第n项数据的地址。p-n:从p指向的地址开始的前面
18、第 项数据的地址。56使用 cin进行字符串输入操作时,实际上是将键盘上输入的字符串存储到指针所指向的内存空间中;使用cout进行字符出输出操作时,实际上是将指针所指向的内存空间中的字符逐个取出并输出到屏幕上,直至遇到 0 结束。使用cin进行字符串输入操作时,实际上是将键盘上输入的字符串存储到指针所指向的 内存空间中;使用cout进行字符串输出操作时,实际上是将指针所指向的内存空间中的字 符逐个取出并输出到屏幕上,直至遇到0结束。57堆内存分配会失败时,系统会返回0或假或falsec58定义一个指针,用它指向一级指针变量所对应的内存 地址 ,这种指向指针的指 针就被称为二级 指针。59如果函
19、数调用时传入的某个实参是字符型数组的首地址,则相应的形参应是char类型的指针变量。60变量的引用就是变量的别名,对引用的操作就是对所引用 变量的操作。(二)、程序设计题1、请设计“求1-100所有5的倍数的数和”的算法,并写出C+程序。参见讲稿章节:3-8答案:判断一个整数是5的倍数的方法是:判断该数是否能被5整除,能被5整除的数是 5的倍数的数。所以,这是一个选择算法。需要选择出对1100以内所有5的倍数的数 和,这又是迭代算法。因此,解决该问题的算法是迭代和选择嵌套算法:(1)用n来存储要判断的整数,sum存最终的结果(2)对整数n (1100),重复如下操作:如果n除以5的余数为0则将
20、你n累加到sum中。C+参考程序如F:#include using namespace std; int main()int n,sum=O;for(n=l;n=100;n+)if(n%5=0)sum=sum+n;coutz, 1-100所有5的倍数的数和为:wsum;return 0;2、可以根据用户输入的年份判断该年是否是闰年,直到用户输入0年停止处理。参见讲稿章节:3-8答案:在学习双路选择问题时已经实现了判断某一年是否是闰年的问题。现在的问题是需要重复若干次这样的判断,直到用户输入的年份为0,这又是一个迭代算法。解决该问题的迭代与选择嵌套算法如下表所示:步 骤处理1输入一个年份year
21、2当year不等于0时重复下面的操作: 如果year满足闰年条件输出“是闰年”否则输出“不是闰年”C+参考程序如下:#includeusing namespace std;int main() int year;bool isLeapYear;cout请输入一个年数(0退出程序):endl;cinyear;while (year!=0)(isLeapYear=(year % 4 = 0 & year%100 != 0)| | (year%400 =0); if(isLeapYear)coutyear年是闰年! endl;elsecoutyear年不是闰年! endl;cout请输入一个年数(0
22、退出程序):“endl; cinyear;)return 0;3、靖设计“求任意10个整数数的最小值”的算法,并写出C+程序。参见讲稿章节:4-1, 3.5, 3. 1答案:用一个一维整形数组a来存储用户输入的10个整数。假设aO最小,通过循环依次在ai(li9)寻找是否有更小的。C+参考程序如下:#includeusing namespace std;int main)(int a10,t;for(int i=0; i10;i+)cinai;t=0;for(int i=l;i10;i+)if(aiat)t=i;cout”输入的最小的整数为:wa t;return 0;4、请设计“求n!”的递
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南开大学 复习资料 程序设计 基础 0001
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。