第10章 程序设计基础_习题参考答案

合集下载

《程序设计基础(C++)》实验教程及完整答案

《程序设计基础(C++)》实验教程及完整答案

《程序设计基础》实验教程对于从事计算机行业的人员来说,设计能力是最主要的基本功之一。

入门课程《程序设计基础》的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。

然而,实践证明,许多初学者在学习这门课程时的效果并不理想。

对初学者来说,如何学好本课程?首先,要理解教材中所给出的语法描述,并学会按语法规定去编写指定问题的求解程序。

经过这样的多次反复,初学者就可以找到编程的感觉。

除了要学好理论知识外,更重要的一点是要到计算机上去验证,因为只有实践才是检验真理的标准。

只有通过到计算机上去实践,才能发现学习中存在的问题,巩固所学知识,加强解决实际问题的能力,增强信心。

因此,《程序设计基础》课程的上机实验是本课程必不可少的实践环节,必须加以重视。

本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程,加深对语言的理解,得到程序设计基本方法和能力的训练。

在独立编写程序、独立上机调试程序的同时,真正能用高级语言这个工具去解决实际问题,对计算机学科的相关知识有所了解,从而为后续课程的学习奠定良好的基础。

本实验指导所用环境是Visual C++ 6.0及以上版本。

考虑到本课程的内容和特点,设置了十四个实验,每次实验需要两至三小时,分别侧重于教材中的一个方面,其中标有“*”号的习题的综合性较强,可供学有余力的学生选择。

实验时也可根据具体情况做适当调整。

虽然可能由于课时和机时限制等原因而不能在实验课时内全部得到安排,但还是建议学生能将其中的每个实验都能认真做一遍,因为这些实验都是学习本课程所必需的。

学生在做实验之前应仔细阅读本实验指导书,初步掌握实验的基本要求和实验方法。

在实验过程中,学生应该有意识的培养自己调试程序的能力,积累发现问题、解决问题的经验,灵活主动的学习。

对于分析运行结果的实验习题,上机前先进行用人工分析,写出运行结果,与上机调试得到的结果进行对照,如有差异,分析其原因。

对于程序编制的实验习题,上机前应考虑出较成熟的编程思路,有意识提供出多种方案,以灵活运用所学知识和技巧。

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。

b) 一个C程序中至少应包括一个 main函数。

c) 在C语言中,输出操作是有库函数 printf( )函数完成。

二、单选题1、A2、C3、B解析:第1题答案:A 。

因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。

且到main函数结束。

第2题答案:C 。

因为 main函数没有限制必须位于程序的最前面。

C程序书写自由,一行内可写几个语句。

在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。

不过C语言本身并没有输入输出语句,输入输出是由函数完成的。

第3题答案:B。

因为一个C语言程序是由若干个函数组成的。

但至少包含一个main 函数,且main函数的位置不限。

三、编程题1、编写一个输出“Welcome to C!”信息的小程序。

解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。

海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。

*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。

*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。

《VISUAL BASIC程序设计基础》习题参考答案

《VISUAL BASIC程序设计基础》习题参考答案

'字体变小
Form1.FontSize = Form1.FontSize - 3
Form1.Cls: Print "欢迎使用 VB"
End Sub
Private Sub Command3_Click()
'字体加粗
Form1.FontBold = True
Form1.Cls: Print "欢迎使用 VB"
Private Sub Form_Load() Text1.Text = "Visual Basic 程序设计"
End Sub Private Sub Form_Resize()
Text1.Top = 0: Text1.Left = 0
Text1.Width = Form1.ScaleWidth/2 '用 Form1.ScaleWidth 效果优于用 Form1. Width
第 2 章 程序设计基础
一、判断题 1.√ 2.× 3.× 4.× 5.√ 6.× 7.√ 8.√ 9.√ 10.×
二、选择题 1.B 2.D 3.A 4.C 5.C 6.B 7.A 8.D 9. C 10.A
三、填空题
1.String 2.4 3."aaa" 4.145 5.6 6.3 7.18 8.False
y = Sqr(x) Else
y=0 End If Print y End Sub
程序 3.界面设计略,过程设计如下: Private Sub Form_Click()
Dim i As Integer, j As Integer For i = 1 To 9
For j = 1 To 9 Print Tab((j - 1) * 4); i * j;

《程序设计基础(C++)》实验教程及完整答案资料

《程序设计基础(C++)》实验教程及完整答案资料

《程序设计基础》实验教程对于从事计算机行业的人员来说,设计能力是最主要的基本功之一。

入门课程《程序设计基础》的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。

然而,实践证明,许多初学者在学习这门课程时的效果并不理想。

对初学者来说,如何学好本课程?首先,要理解教材中所给出的语法描述,并学会按语法规定去编写指定问题的求解程序。

经过这样的多次反复,初学者就可以找到编程的感觉。

除了要学好理论知识外,更重要的一点是要到计算机上去验证,因为只有实践才是检验真理的标准。

只有通过到计算机上去实践,才能发现学习中存在的问题,巩固所学知识,加强解决实际问题的能力,增强信心。

因此,《程序设计基础》课程的上机实验是本课程必不可少的实践环节,必须加以重视。

本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程,加深对语言的理解,得到程序设计基本方法和能力的训练。

在独立编写程序、独立上机调试程序的同时,真正能用高级语言这个工具去解决实际问题,对计算机学科的相关知识有所了解,从而为后续课程的学习奠定良好的基础。

本实验指导所用环境是Visual C++ 6.0及以上版本。

考虑到本课程的内容和特点,设置了十四个实验,每次实验需要两至三小时,分别侧重于教材中的一个方面,其中标有“*”号的习题的综合性较强,可供学有余力的学生选择。

实验时也可根据具体情况做适当调整。

虽然可能由于课时和机时限制等原因而不能在实验课时内全部得到安排,但还是建议学生能将其中的每个实验都能认真做一遍,因为这些实验都是学习本课程所必需的。

学生在做实验之前应仔细阅读本实验指导书,初步掌握实验的基本要求和实验方法。

在实验过程中,学生应该有意识的培养自己调试程序的能力,积累发现问题、解决问题的经验,灵活主动的学习。

对于分析运行结果的实验习题,上机前先进行用人工分析,写出运行结果,与上机调试得到的结果进行对照,如有差异,分析其原因。

对于程序编制的实验习题,上机前应考虑出较成熟的编程思路,有意识提供出多种方案,以灵活运用所学知识和技巧。

《C#程序设计基础教程与实训》习题答案

《C#程序设计基础教程与实训》习题答案

附录Ⅰ各章习题答案第1章C#语言概述一、判断题1、√2、×3、√4、×5、√6、√7、×8、×二、选择题1、C2、B3、C4、A5、A6、B7、B8、B三、填空题1、最新的;面向对象2、C和C++;JA V A3、先进设计思想;安全性能4、灵活性5、集成开发环境(IDE)——Visual 6、Microsoft .NET Framework(微软.NET框架体系)7、最基本的通用语言运行时库CLR(Common Language Runtime);一些提供了具体功能的类库8、需要开发和设计的项目文件;应用程序或组件四、简答题1、①简洁易用的语法。

②自动的资源回收机制。

③与Web的紧密结合。

④完整的安全性与错误处理。

⑤版本处理技术。

⑥灵活性和兼容性。

2、C#程序必须包含一个Main方法,Main方法是程序的入口点,程序控制在该方法中开始和结束。

该方法用来执行任务,并在任务完成后返回信息。

第2章常用标准控件一、判断题1、×2、×3、√4、×5、√6、×7、√8、√二、选择题1、A2、C3、B4、D5、A6、B7、B8、D三、填空题1、输入/输出信息2、属性3、事件4、TextAlign5、Click6、文本框(TextBox)7、保证数据标准化8、Show四、简答题1、简述生成控件的操作过程。

(1)单击工具箱中相应的工具按钮,这一按钮呈现被按下状态,表明被选定。

(2)移动鼠标到窗体上,这时鼠标的指针变成十字形,在需要放置控件的左上角位置按下鼠标左键。

(3)在窗体范围内向下向右拖动鼠标,这时窗体上会显示一个矩形框,当其大小合适时,松开鼠标左键,窗体上就会显示一个相应大小的这种控件。

另外一种快捷的方法是在工具箱中相应的工具按钮上双击此按钮,窗体上就会出现一个系统默认大小的所选按钮。

2、消息框有多少种Button参数设置?OK:只显示“确定”按钮OKCancel:显示“确定”和“取消”按钮AbortRetryIgnore:显示“终止”、“重试”和“忽略”按钮YesNoCancel:显示“是”、“否”和“取消”YesNo:显示“是”和“否”RetryCancel:显示“重试”和“取消”第3章数据类型一、填空题1、-2,147,483,648 到2,147,483,6472、单精度;双精度3、164、15、996、2.27、false8、隐式转换;显式转换二、判断题1、√2、×3、×4、√5、×6、×7、×8、×三、选择题1、A2、C3、D4、A5、B6、B7、D8、C四、简答题1.请说明C#标识符命名规则。

Java程序设计基础习题答案

Java程序设计基础习题答案

Java程序设计基础习题答案Java程序设计基础课后习题参考答案第2章1、关于Java Application得入口方法main()得检验:main()方法得参数名就是否可以改变?main()方法得参数个数就是否可以改变?该方法名就是否可以改变?参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。

(3)该方法名不可以改变。

2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗?参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。

3、下列语句能否编译通过?bytei =127;bytej = 128;longl1 = 999999;long l2= 9999999999;参考答案:byte i 与long l1可以编译通过。

而byte j 与longl2 超出自身数据类型范围,所以编译失败。

4、下列语句能否编译通过?float f1 =3、5;float f2 = 3.5f;参考答案:java中浮点型得数据在不声明得情况下都就是doubl e型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。

5、验证int 与char,int与double等类型就是否可以相互转换。

参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。

6、计算下列表达式,注意观察运算符优先级规则。

若有表达式就是非法表达式,则指出不合法之处且进行解释。

(1)4+5 == 6*2 ?(2) (4=5)/6??(3)9%2*7/3>17(4)(4+5)<=6/3 ?(5) 4+5%3!=7-2(6)4+5/6〉=10%2参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得.7、下列()就是合法得Java标识符。

《程序设计基础(C++)》实验教程及完整答案

《程序设计基础(C++)》实验教程及完整答案

《程序设计基础(C++)》实验教程及完整答案《程序设计基础》实验教程对于从事计算机行业的人员来说,设计能力是最主要的基本功之一。

入门课程《程序设计基础》的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。

然而,实践证明,许多初学者在学习这门课程时的效果并不理想。

对初学者来说,如何学好本课程?首先,要理解教材中所给出的语法描述,并学会按语法规定去编写指定问题的求解程序。

经过这样的多次反复,初学者就可以找到编程的感觉。

除了要学好理论知识外,更重要的一点是要到计算机上去验证,因为只有实践才是检验真理的标准。

只有通过到计算机上去实践,才能发现学习中存在的问题,巩固所学知识,加强解决实际问题的能力,增强信心。

因此,《程序设计基础》课程的上机实验是本课程必不可少的实践环节,必须加以重视。

本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程,加深对语言的理解,得到程序设计基本方法和能力的训练。

在独立编写程序、独立上机调试程序的同时,真正能用高级语言这个工具去解决实际问题,对计算机限的上机时间,有目的的增强调试程序、解决各种实际问题的能力。

每个实验完成后需要写实验报告。

实验0Visual C++ 集成开发环境1. 实验目的要求(1)熟悉和掌握Visual C++ 的集成开发环境(简称为IDE)的部分功能。

(2)熟悉和掌握建立控制台应用程序(3)掌握用IDE编辑、编译和运行简单程序的基本过程。

(4)掌握程序调试的基本方法,包括程序断点的设置与去除,程序的跟踪以及运行期间变量数值的观察。

2. 实验内容(1)了解Visual C++可视化集成开发环境Visual C++是微软公司推出的目前使用极为广泛的基于Windows平台的可视化集成开发环境,它和Visual Basic、Visual Foxpro、Visual J++等其它软件构成了Visual Studio(又名Developer Studio)程序设计软件包。

《C语言程序设计教程》(第三版)李凤霞 主编——第十章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第十章习题答案

习题十一、单选题1~5 DDDCC6~10 AABDB11~14 CADC二、填空题1、34 122、ARRAY a,b,c;3、1 34、a c5、(*b).day=? b->day=?5、分析下列程序执行结果。

#include “stdio.h”main(){static struct s1{char c[4],*s;s1={“abc”,”def”};static struct s2{char *cp;struct s1 ss1;}s2={“ghi”,{“jkl”,”mno”}};printf(“%c%c\n”,s1.c[0],*s1.s); /*output ab */printf(“%s%s\n”,s1.c,s1.s); /*output abcdef */printf(“%s%s\n”,s2.cp,s2.ss1.s); /*output ghimno */printf(“%s%s\n”,++s2.cp,++s2.ss1.s); /* output hino */}6、以下程序的功能是:读入一行字符(如:a,...,y,z),按输入时的逆序建立一个链式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。

#define getnode(type)_________malloc(sizeof(type)) ( (struct node *))main(){struct node{char info;struct node *link;}*top,*p;char c;top=NULL;while((c=getchar())______________) (!='\n'){p=getnode(struct node);p->info=c;p->link=top;top=p;}while(top){_________________; (p=top)top=top->link;putchar(p->info);free(p);}}7、下面的函数将指针p2所指向的线性链表链接到p1所指向的的链表的末端。

程序设计基础练习题(全部有答案版)

程序设计基础练习题(全部有答案版)

一、单项选择题(每小题2分,共20分)第一章D 1.下列说法中错误的是()。

A、程序的执行总是从主函数开始B、主函数可以调用任何非主函数的其它函数C、任何非主函数可以调用其它任何非主函数D、程序可以从任何非主函数开始执行C 2.若a=4,b=7,则输出4*7=28的语句是()。

A、printf(“a*b=%d\n”a+b);B、 printf(“a*b=%d\n”,a*b);C、printf(“%d*%d=%d\n”,a,b,a*b);D、 printf(“%d*%d=%d\n”,a+b);第三章C 1. C语言中int型数据占2个字节,则long型数据占(C )个字节。

A、1B、2C、4D、8D 2.若C中int型数据占2个字节,则double型数据占(D )个字节。

A、1B、2C、4D、8B 3.若a为整型变数,则以下语句(B )。

a=-2L;printf(“%d\n”,a);A、赋值不合法B、输出-2C、输出不确定值D、输出2D 4. 若int型数据占2个字节,则下列语句的输出为(D )。

int k=-1;printf(“%d,%u\n”,k,k);A、-1,-1B、-1,32767C、-1,32768D、-1,65535B 5. 下列程序的输出是(B )。

#include<stdio.h>main(){printf(“%d\n”,null);}A、0B、变量无定义C、-1D、1C 6.若x为float型变数,则以下语句:x=223.82748;printf("%6.2f\n",x);运行结果为(C )。

A、223.8B、223.82C、223.83D、223.827D 7. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a 的值是(D )。

A、3B、0C、9D、-12第四章A 1. 执行语句:a=5,b=8;printf(“%d\n”,c=a/b); 后输出的值为(A )。

《Visual Basic程序设计基础》习题参考答案

《Visual Basic程序设计基础》习题参考答案

《Visual Basic程序设计基础》教材习题参考答案第1章 Visual Basic 6.0程序设计概述一、判断题1.√ 2.√3.×说明:同类控件(如两个标签)相互重叠,设计时可以设置“置前”、“置后”属性。

4.√ 5.× 6.√ 7.× 8.√ 9.√ 10.× 11.√ 12.√13.× 14.√ 15.× 16.√ 17.√ 18.√ 19.√ 20.√二、选择题1. C2. B 3.D 4.C 5.B 6.A 7.D 8.A 9.B 10.A 11.C 12.D三、填空题1.对象、事件 2.属性、方法、事件 3.控件、屏幕(Screen)4.对象 5.Left、Top 6.属性、<对象名>.<属性名>=<表达式>7.网格 8.F orm19.Load或Initialize或Resize或Activate(自动执行的先后顺序也按此排列)10.Activate、Deactivate四、程序设计题程序1.界面设计参看图10-1、10-2以及表10-1。

表10-1 实例2各控件的主要属性设置过程设计如下:Private sub Form_Click()Command2.Enabled = FalseEen SubPrivate Sub Command1_Click()Label2.Visible = FalseLabel1.Caption = Text1.Text + ": 欢迎使用" + Label1.CaptionText1.Visible = FalseCommand1.Enabled = False: Command2.Enabled = TrueEnd SubPrivate Sub Command2_Click()EndEnd Sub程序2.界面设计略,过程设计如下:Private Sub Command1_Click() '字体变大Form1.FontSize = Form1.FontSize + 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command2_Click() '字体变小Form1.FontSize = Form1.FontSize - 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command3_Click() '字体加粗Form1.FontBold = TrueForm1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command4_Click() '字体不加粗Form1.FontBold = FalseForm1.Cls: Print "欢迎使用VB"End Sub运行时,不得连续、过多次单击“字体变小”按钮,因为当FontSize属性值小于0会产生适时错误。

程序设计基础教程(c语言版)课后答案

程序设计基础教程(c语言版)课后答案

z习题解答目录1.2 习题解答 (3)1.2.1 选择题 (3)1.2.2 填空题 (3)1.2.3 编程题 (4)2.2 习题解答 (5)2.2.1 选择题 (5)2.2.2 填空题 (7)2.2.3 编程题 (8)3.2 习题解答 (11)3.2.1 选择题 (11)3.2.2 填空题 (12)3.2.3 编程题 (12)4.2 习题解答 (15)4.2.1 选择题 (15)4.2.2 填空题 (17)4.2.3 编程题 (18)5.2 习题解答 (29)5.2.1 选择题 (29)5.2.2 填空题 (31)5.2.3 编程题 (33)6.2 习题解答 (37)6.2.1 选择题 (37)6.2.2 填空题 (41)6.2.3 编程题 (43)7.2 习题解答 (67)7.2.1 选择题 (67)7.2.2 填空题 (68)7.2.3 编程题 (68)21.2 习题解答1.2.1 选择题1、B【分析】在一个C程序中必须有且只能有一个main函数,而且main函数可以在任何地方出现.2、C【分析】C 语言中合法以的标识符组成为:字母,数字,下划线,且数字不能打头,亦不能为关键字。

A中,-sub 不合法。

B 中4d不合法。

D 中void 为关键字。

3、【分析】4、C【分析】转义字符中,第一个\”输出“,第二\\输出\,第三个\b退格,把前一个\去掉了,第四个\’输出’,第五个\t跳格,第六个\”输出”,第七个\n输出换行。

5、C【分析】本题将10进制17,分别按8、16进制输出。

8的进制21=2*8+1*1=17(10, 16制11=1*16+1*1=17(10)1.2.2 填空题1、主【分析】一个C源程序中至少包括一个主函数,其他函数没有限制。

2、双引号。

【分析】两种写法都是允许的,使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找.使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。

程序设计基础习题及答案

程序设计基础习题及答案

《程序设计基础》习题参考答案【习题1 基本概念】一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?1.7常量与变量的区别?1.8 C语言中的标识符的定义规则?1.9变量为什么要“先定义,后使用”?1.10字符常量'a'与字符串常量"a"有何区别?1.11大小写字母转换的规则是什么?1.12变量的具有哪三种属性?二、单项选择题1.13 C语言中,int型数据在内存中的存储形式是(D)。

A)ASCII码B)原码C)反码D)补码1.14 下面四个选项中,均是不合法的用户标识符的选项是(C)。

A)BA 、x_0、doB)float、1a0、_YC)x-y、goto、123D)_123、tmp、CHAR1.15 下列选项中不正确的常数的选项是(D)。

A)0x12F B)-1.23E-2 C)12.0 D)0388 1.16 下面正确的字符常量是(B)。

A)"a"B)'\\'C)"\n"D)"\376"1.17 下面正确的字符串常量是(C)。

A)'a'B)'376'C)"\\n"D)3761.18 表达式'A'+4*25.0-'b'的正确结果是(B)。

A)67 B)67.0C)不确定D)67L1.19 执行printf("%x",100);后的输出结果是(C)。

A)100 B)0x100 C)0X64 D)641.20 int型的-1在内存中的存储形式是(A)。

A)1111 1111 1111 1111B)0000 0000 0000 0001C)1111 1111 1111 1110D)1000 0000 0000 00011.21 存储字符串"\\\'abc\376"需要的字节数是(D)。

C语言程序设计(第3版)第10章补充习题及答案

C语言程序设计(第3版)第10章补充习题及答案

第10章补充习题及答案习题10.1 选择题(1)当已存在一个abc.txt文件时,执行函数fopen("abc.txt","r+")的功能是。

A.打开abc.txt文件,清除原有的内容B.打开abc.txt文件,只能写入新的内容C.打开abc.txt文件,只能读取原有内容D.打开abc.txt文件,可以读取和写入新的内容(2)若用fopen()函数打开一个已存在的文本文件,保留该文件原有内容,且可以读,可以写。

则文件打开模式是。

A."ab+" B."w+" C."a+" D."a"(3)以下不能将文件指针重新移到文件开头位置的函数是。

A.rewind(fp); B.fseek(fp,0,SEEK_SET);C.fseek(fp,-(long)ftell(fp),SEEK_CUR); D.fseek(fp,0,SEEK_END);(4)若用fopen()函数打开一个新二进制文件,该文件可以读也可以写,则文件的打开模式为 B 。

A."ab+" B."wb+" C."rb+" D."a+"(5)fread(buffer,64,2,fp)的功能是。

A.从fp所指的文件中读取64并存入buffer中B.从fp所指的文件中读取64和2并存入buffer中C.从fp所指的文件中读取64个字节的数据并存入buffer中D.从fp所指的文件中读取2个64字节的数据并存入buffer中(6)以下程序的功能是。

提示:PRN是打印设备。

#include <stdio.h>void main(){ FILE * fp;char chStr[]="HELLO";fp=fopen("PRN","w");fputs(chStr,fp);fclose(fp);}A.在屏幕显示HELLO B.把HELLO存入PRN文件中C.在打印机上打印出HELLO D.以上都不对10.2 填空题(1)使用fopen("abc","r+")打开文件时,若"abc"文件不存在,则返回。

程序设计基础答案

程序设计基础答案

程序设计基础习题一答案一、单项选择题本大题共20小题,每小题2分,共40分a10;合法的数组元素的最小下标值为;A:10B:9C:1D:0答案:D2.以下运算符中优先级最低的是;A:&&B:&C:||D:|答案:C3.若使用一维数组名作函数实参,则以下正确的说法是;A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A4.已知函数的调用形式:freadbuffer,size,count,fp;其中buffer代表的是;A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C5.对以下说明语句int a10={6,7,8,9,10}; 的正确理解是;A:将5个初值依次赋给a1至a5B:将5个初值依次赋给a0至a4C:将5个初值依次赋给a6至a10D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B6.下列程序的输出结果是;main{ int x=1,y=0,a=0,b=0;switchx{case 1:switchy{case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf"a=%d,b=%d\n",a,b;}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B7.下列程序的输出结果为;main{int m=7,n=4;float a=,b=,x;x=m/2+na/b+1/2;printf"%f\n",x;}A:B:C:D:答案:A8.若k为int型变量,则以下程序段的执行结果是; k=-8567; printf"|%06D|\n",k;A:格式描述符不合法,输出无定值B:输出为|%06D|C:输出为|0-8567|D:输出为|-8567|答案:B9.下列程序段的输出结果为;int x=3,y=2;printf"%d",x-=y,x=y+8/5;A:1B:7C:3D:5答案:Ca="This is a program.";输出前5个字符的语句是; A:printf"%.5s",a;B:putsa;C:printf"%s",a;D:a52=0;putsa;答案:A11.下列程序的输出结果是;main{char c1=97,c2=98;printf"%d %c",c1,c2;}A:97 98B:97 bC:a 98D:a b答案:B12.以下选项中合法的实型常数是;A:B:E-3C:.2E0D:答案:C语言中的文件类型只有;A:索引文件和文本文件两种B:ASCII文件和二进制文件两种C:文本文件一种D:二进制文件一种答案:B14.以下叙述不正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C程序的基本组成单位是函数D:在C程序中,注释说明只能位于一条语句的后面答案:D15.以下运算符中,优先级最高的运算符是;A:||B:%C:D:==16.执行以下程序段后,输出结果和a的值是;int a=10;printf"%d",a++;A:10 和10B:10 和11C:11 和10D:11 和11答案:B17.能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是;A:a>=10 or a<=0B:a>=0|a<=10C:a>=10&&a<=0D:a>=10‖a<=0答案:D18.以下叙述中错误的是;A:二进制文件打开后可以先读文件的末尾,而顺序文件不可以B:在程序结束时,应当用fclose函数关闭已打开的文件C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D:不可以用FILE定义指向二进制文件的文件指针答案:D19.下列程序段的输出结果为;float k=;printf"%%%",k100;A:%%B:%C:%D:.85720.若有int p=int mallocsizeofint;则向内存申请到内存空间存入整数123的语句为;A:scanf"%d",p;B:scanf"%d",&p;C:scanf"%d",p;D:scanf"%d",p;答案:A21.经过下列的语句int j,a10,p;定义后,下列语句中合法的是; A:p=p+2;B:p=a5;C:p=a2+2;D:p=&j+2;答案:A22.以下对二维数组a的正确说明是;A:int a3B:float a3,4C:double a14D:float a34答案:C23.经下列语句定义后,sizeofx,sizeofy,sizeofa,sizeofb在微机上的值分别为;char x=65;float y=;int a=100;double b=;A:2,2,2,4B:1,2,2,4C:1,4,2,8答案:C24.以下叙述中不正确的是;A:一个好的程序应该有详尽的注释B:在C程序中,赋值运算符的优先级最低C:在C程序中,j++;是一条赋值语句D:C程序中的include和define均不是C语句答案:B25.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为; A:fcloseB:closeC:freadD:fwrite答案:Astruct {int a1;float a2;char a3;}a10={1,,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是;A:a1B:a-1C:a0D:a10答案:C27.函数的形式参数隐含的存储类型说明是;A:externB:staticC:registerD:auto答案:D28.可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上;A:内存B:缓冲区C:文件D:寄存器答案:C29.若用数组名作为函数的实参,传递给形参的是;A:数组的首地址B:数组第一个元素的值C:数组中全部元素的值D:数组元素的个数答案:Ax;scanf"%lf",&x;不可以赋值给x变量的常量是;A:123B:100000C:A'D:"abc"答案:D31.以下的选择中,正确的赋值语句是;A:a=1,b=2B:j++C:a=b=5;D:y=intx答案:C32.要打开A盘上user子目录下名为的文本文件进行读、写操作, 下面符合此要求的函数调用是;A:fopen"A:\user\","r"B:fopen"A:\\user\\","r+"C:fopen"A:\user\","rb"D:fopen"A:\\user\\","w"33.与实际参数为实型数组名相对应的形式参数不可以定义为;A:float a;B:float a;C:float a;D:float a3;答案:C34.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为;A:自动autoB:静态staticC:外部externD:寄存器register答案:A35.下面有关for 循环的正确描述是;A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在for 循环中,不能用break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D36.下列语句的结果是;main{ int j;j=3;printf"%d,",++j;printf"%d",j++;}A:3,3B:3,4C:4,3D:4,437.执行下列程序后,其输出结果是;main{int a=9;a+=a-=a+a;printf"%d\n",a;}A:18B:9C:-18D:-9答案:C38.以下函数调用语句中实参的个数是;funce1,e2,e3,e4,e5;A:2B:3C:5D:语法错误答案:A39.下列四个选项中,均是C语言关键字的选项是; A:auto enum includeB:switch typedef continueC:signed union scanfD:if struct type答案:B40.下列数组说明中,正确的是;A:static char str="China";B:static char str; str="China";C:static char str15,str2={"China"}; str1=str2;D:static char str1,str2;str2={"China"}; strcpystr1,str2;答案:A语言中,要求运算数必须是整型的运算符是;A:^B:%C:D:>答案:B42.以下不能正确定义二维数组的选项是;A:int a22={{1},{2}};B:int a2={1,2,3,4};C:int a22={{1},2,3};D:int a2={{1,2},{3,4}};答案:D43.设int x=1, y=1; 表达式x||y--的值是;A:0B:1C:2D:-1答案:B44.下列选项中正确的语句组是;A:char s8; s={"Beijing"};B:char s; s={"Beijing"};C:char s8; s="Beijing";D:char s; s="Beijing";答案:D45.若有int a10={0,1,2,3,4,5,6,7,8,9},p=a;则输出结果不为5 的语句为;A:printf"%d",a+5;B:printf"%d",p5;C:printf"%d",p+5;D:printf"%d",p5;答案:D46.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+if值的数据类型为;A:intB:floatC:doubleD:不确定答案:C47.以下叙述正确的是;A:在C程序中,main函数必须位于程序的最前面B:C程序的每行中只能写一条语句C:C语言本身没有输入输出语句D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案:Ca=1,b=2,c=3;ifa>ba=b;ifa>ca=c;则a的值为;A:1B:2C:3D:不一定答案:A语言中,定义结构体的保留字是;A:unionB:structC:enumD:typedef50.逻辑运算符两侧运算对象的数据类型;A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D51.以下叙述中正确的是;A:C语言的源程序不必通过编译就可以直接运行B:C语言中的每条可执行语句最终都将被转换成二进制的机器指令C:C源程序经编译形成的二进制代码可以直接运行D:C语言中的函数不可以单独进行编译52.下列程序的输出结果是;main{ int x=1,y=0,a=0,b=0;switchx{case 1:switchy{case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf"a=%d,b=%d\n",a,b;}A:a=1,b=0B:a=2,b=1C:a=1,b=1答案:B53.若二维数组a有m列,则在aij前的元素个数为;A:jm+iB:im+jC:im+j-1D:im+j+1答案:B54.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是; long a=0xffffff;int b; char c;A:0ffffff 和0x61B:-1和98C:-1和97D:指向同一地址答案:C55.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是;A:地址传递B:单向值传递C:由实参传给形参,再由形参传回实参D:传递方式由用户指定答案:B56.以下数值中,不正确的八进制数或十六进制数是;A:0x16B:16C:-16D:0xaaaa答案:C57.以下运算符中,优先级最高的运算符是;A:=B:>=C:类型D:+答案:C58.以下选项中,与k=n++完全等价的表达式是;A:k=n,n=n+1B:n=n+1,k=nC:k=++nD:k+=n+1答案:A59.结构体类型的定义允许嵌套是指;A:成员是已经或正在定义的结构体型B:成员可以重名C:结构体型可以派生D:定义多个结构体型答案:A60.用户定义的函数不可以调用的函数是;A:非整型返回值的B:本文件外的C:main函数D:本函数下面定义的答案:C二. 多选题本大题共20小题,每小题2分,共40分1.以下对C语言中的函数描述不正确的有;A:可以嵌套定义,不可以嵌套调用B:不可以嵌套定义,可以嵌套调用C:可以嵌套定义,也可以嵌套调用D:嵌套定义和嵌套调用都不允许答案:ACD2.以下叙述正确的是;A:预处理命令行都必须以""开始B:在程序中凡是以""开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理D:define ABCD是正确的宏定义答案:ABD3.以下描述错误的是;A:continue语句的作用是重新开始一次循环体的执行B:只能在循环体内和switch语句体内使用break语句C:在循环体内使用break语句和continue语句的作用相同D:从多重循环嵌套中退出是,只能使用goto语句答案:CD4.有定义语句:int x,y;若要通过scanf"%d,%d",&x,&y;语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中, 正确的有;A:11 12<回车>B:11,<空格>12<回车>C:11,12<回车>D:11,<回车> 12<回车>答案:BCD5.以下合法的十六进制数是;A:oxffB:0XabcC:0x01D:0X9X答案:BC6.以下描述正确的是;A:调用函数时,实参可以是表达式B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元D:调用函数时,实参与形参的类型必须一致答案:ACD7.以下选项中合法的表达式是;A:0<=x<100B:i=j==0C:char65+3D:x+1=x+1答案:ABC8.设有以下定义int a=0;double b=;char c='A';define d 2则下面语句中正确的是;A:a++;B:b++;C:c++;D:d++;答案:ABC9.以下对二维数组a进行正确初始话的是;A:static char word='Turbo\0';B:static char word={'T','u','r','b','o','\0'}; C:static char word={"Turbo\0"};D:static char word="Turbo\0";答案:BCD10.符合C语言语法的实型常量是;A:答案:ABD11.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是; A:a=b=c=d=100;B:d++;C:c+b;D:d=c=22-b++;答案:ABD12.以下关于数组描述错误的是;A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD13.以下正确的if语句形式是;A:if x>y && x=y;B:if x==y x+=y;C:if x=y scanf"%d",&x else scanf"%d",&y;D:if x<y {x++;y++;}答案:ABD14.以下叙述中正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC15.以下合法的十六进制数是;A:oxffB:0XabcC:0x01D:0X9X答案:BC16.以下选项中,合法的字符常量是;A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD17.以下用户标识符,其中合法的是;A:returnB:f2_G3C:A3-3D:abc答案:BD18.以下可以定义为用户标识符的有; A:scanfB:shortC:_3com_D:int答案:AC19.以下选项中合法的表达式是;A:0<=x<100B:i=j==0C:char65+3D:x+1=x+1答案:ABC20.以下不符合C语言语法的实型常量是; A:答案:ABD个选项中,可以看作是一条语句的有;A:{;}B:a=0,b=0,c=0;C:ifa>0;D:ifb==0 m=1;n=2;答案:ABC22.以下选项中,合法的字符常量是;A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD23.以下描述正确的是;A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B:while循环是先判断表达式,后执行循环语句C:do-while和for循环均是先执行循环语句,后判断表达式D:for,while和do-while循环中的循环体均可以由空语句构成答案:ABD24.以下关于数组描述错误的是;A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD25.以下选项中不是C语言合法整数的是;A:10110B:0386C:0XffaD:x2a2答案:BD26.若以下选项中的变量已正确定义,则不正确的赋值语句是;A:x1=%3B:x=3x+xC:x3=0x12D:x4=1+2=3;答案:AD27.下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是; A:只能是0或1B:只能是0或非0正数C:可以是整型或字符型数据D:可以是任何类型的数据答案:ABD28.下列选项中是C语言合法标志符的有;A:good_morningB:mainC:D:8abc答案:AB29.以下对switch语句和break语句中描述错误的有;A:在switch语句中必须使用break语句B:break语句只能用于switch语句C:在switch语句中,可以根据需要使用或不使用break语句D:break语句是switch语句的一部分答案:ABD30.以下叙述中正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC31.下对C语言中的函数描述不正确的有;A:可以嵌套定义,不可以嵌套调用B:不可以嵌套定义,可以嵌套调用C:可以嵌套定义,也可以嵌套调用D:嵌套定义和嵌套调用都不允许答案:ACD32.设有以下定义int a=0;double b=;char c='A';define d 2则下面语句中正确的是;A:a++;B:b++;C:c++;D:d++;答案:ABC33.对do-while语句描述正确的是;A:do-while语句构成的循环可以使用break语句退出循环B:do-while语句构成的循环必须使用break语句退出循环C:do-while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD34.以下可以定义为用户标识符的有;A:scanfB:shortC:_3com_D:int答案:AC35.以下选项中不是C语言合法整数的是;A:10110B:0386C:0XffaD:x2a2答案:BD36.以下叙述中正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC37.以下正确的if语句形式是;A:if x>y && x=y;B:if x==y x+=y;C:if x=y scanf"%d",&x else scanf"%d",&y;D:if x<y {x++;y++;}答案:ABD38.以下选项中不是C语言合法整数的是;A:10110B:0386C:0XffaD:x2a2答案:BD39.以下关于数组描述错误的是;A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD40.以下描述正确的是;A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B:while循环是先判断表达式,后执行循环语句C:do-while和for循环均是先执行循环语句,后判断表达式D:for,while和do-while循环中的循环体均可以由空语句构成答案:ABD41.对do-while语句描述正确的是;A:do-while语句构成的循环可以使用break语句退出循环B:do-while语句构成的循环必须使用break语句退出循环C:do-while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD42.在定义int a23;之后,对a的引用正确的有;A:a02B:a1,3C:a1>21D:a20答案:AC43.以下用户标识符,其中合法的是;A:returnB:f2_G3C:A3-3D:abc答案:BD44.以下选项中不合法的字符常量是;A:"B"B:'\010'C:68D:D答案:ACD45.正确的if语句形式是;A:if x>y && x=y;B:if x==y x+=y;C:if x=y scanf"%d",&x else scanf"%d",&y;D:if x<y {x++;y++;}答案:ABD46.以下叙述正确的是;A:C语言严格区分大小写英文字母B:C语言用";"作为语句分隔符C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上. D:可以使用/…/对C程序中的任何部分作注释答案:ABCD47.以下描述正确的是;A:调用函数时,实参可以是表达式B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元D:调用函数时,实参与形参的类型必须一致答案:ACD48.若以下选项中的变量已正确定义,则不正确的赋值语句是;A:x1=%3B:x=3x+xC:x3=0x12D:x4=1+2=3;答案:AD49.下列选项中是C语言合法标志符的有;A:good_morningB:mainC:D:8abc答案:AB50.以下4个选项中,可以看作是一条语句的有;A:{;}B:a=0,b=0,c=0;C:ifa>0;D:ifb==0 m=1;n=2;答案:ABC51.以下叙述正确的是;A:预处理命令行都必须以""开始B:在程序中凡是以""开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理D:define ABCD是正确的宏定义答案:ABD52.以下选项中不合法的字符常量是;A:"B"B:'\010'C:68D:D答案:ACD53.以下用户标识符,其中合法的是;A:returnB:f2_G3D:abc答案:BD54.以下选项中,合法的字符常量是;A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD55.以下选项中合法的表达式是;A:0<=x<100B:i=j==0C:char65+3D:x+1=x+1答案:ABC56.以下4个选项中,可以看作是一条语句的有; A:{;}B:a=0,b=0,c=0;C:ifa>0;D:ifb==0 m=1;n=2;答案:ABC57.设有以下定义int a=0;double b=;char c='A';define d 2则下面语句中正确的是;A:a++;B:b++;D:d++;答案:ABC58.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是;A:a=b=c=d=100;B:d++;C:c+b;D:d=c=22-b++;答案:ABD59.以下叙述正确的是;A:C语言严格区分大小写英文字母B:C语言用";"作为语句分隔符C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上. D:可以使用/…/对C程序中的任何部分作注释答案:ABCD60.定义语句:int x,y;若要通过scanf"%d,%d",&x,&y;语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有;A:11 12<回车>B:11,<空格>12<回车>C:11,12<回车>D:11,<回车> 12<回车>答案:BCD三、判断题本大题共10小题,每小题2分,共20分语言可以直接访问物理位元元址;T语言既可以用来写系统软件,也可以用来写应用软件;T3.用户标识符中可以出现下划线和中划线减号;F4.在C中变量不定义也可以使用;F5.若a=7,b=5; 则执行a&&b++ 后,b为6; T6.在C中能代表逻辑值“假”的是0; T7.若有static int a10; 则a数组的10个元素的值都是0; T8.全局变量的作用域一定比局部变量的作用域范围大;F9.结构类型变量所占内存长度等于成员的长度;而共享体类型变量所占用的内存长度是各成员的内存长度之和,每个成员分别占用其自己的内存单元;F10.有unsigned int a=16;a=a>>2;则a的值是4;T中的变量必须“先定义,后使用”,函数也不例外;T12.一个C源程序只能有一个main函数;T13.表达式’a’和“a”是不同的,前者长度为1,后者长度为2;T14.自增自减运算符++,--可以用于int型、float型和double型资料;T15.若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1;F16. continue语句可用于switch语句,也可用于for、while和do循环语句中;F17.函数的实参可以传递给形参,形参也可以传递给实参;F18.define命令是在编译之前处理的;T19.有unsigned int a=16;a=a<<2;则a的值是64;T20.一个无符号整数各数字往左移动2位后,一定是原数的4倍;F21.一个C源程序可以由一个main函数和若干个其它函数组成;T程序中和每一行就是一个语句;F23.在某种意义上,char和int通用;T24.自增运算符和自减运算符的结合方向也是“自左向右”;F语句可用于switch语句,也可用于for、while和do循环语句中;T26.数组类型不是C的基本数据类型,而是一种构造类型 ;T27.一个包含命令include可以包含几个头檔;F28.若定义char str;则str="BOOK";是正确的;T语言中,feof函数用来判断即将读入的是否是文件结束标志,它可用于二进制文件,但不能用于文本文件;F语言的文件存取方式只能是顺序存取,不能随机存取;F1.在C语言中,形参的缺省存储类是:A.auto2.以下选项,与K=n++完全等价的表达式是:=n n=n+1=n=1,k=n =++n +=n+13.以下不能实现回车换行的是:A.printf“n” Bputchar“n”stdout,”n” “n”,1,1stdout4. main{ char s="123",p;p=s;printf"%c%c%c\n",p++,p++,p++;}5. 以下错误的是:A.二进制文件打开后可以先读文件的末尾而顺序文件不可用B.在程序结束时,应该用fclose函数关闭已打开的文件C。

C++程序设计基础第二版(高等教育出版社)习题答案

C++程序设计基础第二版(高等教育出版社)习题答案
cin>>f;
c=(f-32)*5/9;
cout<<"c="<<c<<'\n';
}
3.用C++语言写出下列要求的表达式:
判断char型变量ch是否为大写字母。
ch>=65 && ch<=’Z’
设y为int变量,判断y是否为奇数。
y%2 ==1
设x、y、z都为int型变量,描述“x、y和z中有两个为负数”。
(9) x=(a++,r++) 97.(10) ceil(x-0.5) 5.
(11) a=abs(a)%8-10 -6(12)x=fabs(-27.2)+6 33.
(13)floor(x+0.5) 5.(14) ceil((x-=0.5)-0.5) 4.
(15)floor(x*1000+0.5)/1000 4.(16)floor(x+0.5) 5.
解:
#include <iostream.h>
void main(void)
{
int min(int x,int y);
int a,b,m;
cout<<"Input a,b:";
cin>>a>>b;
m=min(a,b);
cout<<"min="<<m<<endl;
}
int min(int x,int y)
(11) !! ch==ch 0(12) !(x&&y)==!x||!y 1

程序设计基础教程课后答案

程序设计基础教程课后答案

z习题解答目录习题解答............................................................................. . (3)1.2.1 选择题............................................................................. .. (3)1.2.2 填空题............................................................................. .. (3)1.2.3 编程题............................................................................. .. (4)习题解答............................................................................. . (5)2.2.1 选择题............................................................................. .. (5)2.2.2 填空题............................................................................. .. (7)2.2.3 编程题............................................................................. .. (8)习题解答............................................................................. (11)3.2.1 选择题............................................................................. . (11)3.2.2 填空题............................................................................. (12)3.2.3 编程题............................................................................. (12)习题解答............................................................................. .. (15)4.2.1 选择题............................................................................. (15)4.2.2 填空题............................................................................. (17)4.2.3 编程题............................................................................. (18)习题解答............................................................................. .. (29)5.2.1 选择题............................................................................. (29)5.2.2 填空题............................................................................. (31)5.2.3 编程题............................................................................. (33)习题解答............................................................................. .. (37)6.2.1 选择题............................................................................. (37)6.2.2 填空题............................................................................. (41)6.2.3 编程题............................................................................. (43)习题解答............................................................................. .. (67)7.2.1 选择题............................................................................. (67)7.2.2 填空题............................................................................. (68)7.2.3 编程题............................................................................. (68)2习题解答1.2.1 选择题1、B【分析】在一个C程序中必须有且只能有一个main函数,而且main函数可以在任何地方出现.2、C【分析】C 语言中合法以的标识符组成为:字母,数字,下划线,且数字不能打头,亦不能为关键字。

《程序设计基础(C++)》实验教程及完整答案.

《程序设计基础(C++)》实验教程及完整答案.

《程序设计基础》实验教程对于从事计算机行业的人员来说,设计能力是最主要的基本功之一。

入门课程《程序设计基础》的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。

然而,实践证明,许多初学者在学习这门课程时的效果并不理想。

对初学者来说,如何学好本课程?首先,要理解教材中所给出的语法描述,并学会按语法规定去编写指定问题的求解程序。

经过这样的多次反复,初学者就可以找到编程的感觉。

除了要学好理论知识外,更重要的一点是要到计算机上去验证,因为只有实践才是检验真理的标准。

只有通过到计算机上去实践,才能发现学习中存在的问题,巩固所学知识,加强解决实际问题的能力,增强信心。

因此,《程序设计基础》课程的上机实验是本课程必不可少的实践环节,必须加以重视。

本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程,加深对语言的理解,得到程序设计基本方法和能力的训练。

在独立编写程序、独立上机调试程序的同时,真正能用高级语言这个工具去解决实际问题,对计算机学科的相关知识有所了解,从而为后续课程的学习奠定良好的基础。

本实验指导所用环境是Visual C++ 6.0及以上版本。

考虑到本课程的内容和特点,设置了十四个实验,每次实验需要两至三小时,分别侧重于教材中的一个方面,其中标有“*”号的习题的综合性较强,可供学有余力的学生选择。

实验时也可根据具体情况做适当调整。

虽然可能由于课时和机时限制等原因而不能在实验课时内全部得到安排,但还是建议学生能将其中的每个实验都能认真做一遍,因为这些实验都是学习本课程所必需的。

学生在做实验之前应仔细阅读本实验指导书,初步掌握实验的基本要求和实验方法。

在实验过程中,学生应该有意识的培养自己调试程序的能力,积累发现问题、解决问题的经验,灵活主动的学习。

对于分析运行结果的实验习题,上机前先进行用人工分析,写出运行结果,与上机调试得到的结果进行对照,如有差异,分析其原因。

对于程序编制的实验习题,上机前应考虑出较成熟的编程思路,有意识提供出多种方案,以灵活运用所学知识和技巧。

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

第10章习题参考答案
一、选择题
1.编写程序时,不需要了解计算机内部结构的语言是( C )。

A.机器语言B.汇编语言
C.高级语言D.指令系统
2.能够把由高级语言编写的源程序翻译成目标程序的系统软件叫( D )。

A.解释程序B.汇编程序
C.操作系统D.编译程序
3.结构化程序设计主要强调的是( B )。

A.程序的规模B.程序的可读性
C.程序的执行效率D.程序的可移植性
4.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( D )。

A.调用语句B.命令C.口令D.消息
5.下列程序段的时间复杂度是( A )。

t=i;
i=j;
j=t;
A.O(1) B.O(3) C.O(n) D.O(3n)
6.一位同学用C语言编写了一个程序,编译和连接都通过了,但就是得不到正确结果,那么下列说法正确的是( C )。

A.程序正确,机器有问题B.程序有语法错误
C.程序有逻辑错误D.编译程序有错误
二、填空题
1.程序设计的基本步骤是(分析问题,确定数学模型)、(设计算法,画出流程图)、(选择编程工具,按算法编写程序)、(调试程序,分析输出结果)。

2.用高级语言编写的程序称为(源程序),把翻译后的机器语言程序叫做(目标程序)。

3.结构化程序设计的3种基本逻辑结构为顺序、选择和(循环)。

4.面向对象程序设计以(对象)作为程序的主体。

5.在面向对象方法中,信息隐蔽是通过对象的(封装)性来实现的。

6.在最坏情况下,冒泡排序的比较次数为(n(n-1)/2)。

三、问答题
1.什么是程序?什么是程序设计?
程序是计算机指令的集合,这些指令描述了计算机的一系列操作步骤。

使用计算机解决实际问题,通常是先要对问题进行分析并建立数学模型(对数值计算问题)或提出对数据处理的需求(对非数值计算问题),然后进行算法设计,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。

这个过程称为程序设计。

2.什么是算法?它有何特征?如何描述算法?
计算机解决问题的方法和步骤,就是计算机解题的算法。

算法具有5个特性:有穷性、确定性、有效性、一般要有数据输入、要有结果输出。

描述算法有多种不同的工具:自然语言、流程图、结构化流程图和伪代码等。

3.简述冒泡排序、折半查询的基本思想。

冒泡法排序法是每趟将相邻的两个数两两进行比较,若满足排序次序,则进行下一次比较,若不满足排序次序,则交换这两个数,直到最后。

总的比较次数为n-1次,此时最后的
元素为最大数或最小数,此为一趟排序。

接着进行第二趟排序,方法同前,只是这次最后一个元素不再参与比较,比较次数为n-2次,依次类推。

作为折半查找的表必须是顺序存储的有序表,即表采用顺序结构存储,表中的元素按关键字值递增(或递减)排列。

假设表中的关键字值递增排列,则折半查找的实现方法是:首先取整个有序表的中间元素A m的关键字同给定值x比较,若相等,则查找成功;否则,若A m的关键字小于x,则说明待查元素只可能落在表的后半部分中,接着只要在表的后半部分子表中查找即可;若A m的关键字大于x,则说明待查元素只可能落在表的前半部分中,接着只要在表的前半部分子表中查找即可。

这样,经过一次关键字的比较,就缩小一半的查找空间,重复进行下去,直到找到关键字为x的元素,或者表中没有待查元素(此时查找区间为空)为止。

4.在一档电视节目中,有一个猜商品价格的游戏,竟猜者如在规定的时间内大体猜出某种商品的价格,就可获得该件商品。

现有一件商品,其价格在0~8000元之间,采取怎样的策略才能在较短的时间内说出正确(大体上)的答案呢?请设计算法并画出相应的N-S 流程图。

采用折半查找的思路,请自行画出N-S流程图。

5.什么是可视化程序设计?它与面向对象程序设计有何区别和联系?
可视化程序设计利用可视化程序设计语言本身所提供的各种工具构造应用程序的各种界面,使得整个界面设计是在“所见即所得”的可视化状态下完成。

相对于编写代码方式的程序设计而言,可视化程序设计具有直观形象、方便高效等优点。

可视化程序设计也是基于面向对象的思想,但不需通过编写程序代码的方式来定义类或对象,而是直接利用工具箱中提供的大量界面元素(在Visual Basic中称为控件),在设计应用程序界面时,只需利用鼠标把这些控件对象拖动到窗体的适当位置,再设置它们的属性,就可以设计出所需的应用程序界面。

界面设计不需要编写大量代码,底层的一些程序代码由可视化程序设计语言自动生成。

相关文档
最新文档