程序设计基础题库答案,c++程序设计基础教程课后答案(清华大学出版社郑莉 董渊著)
程序设计基础题库答案,c++程序设计基础教程课后答案(清华大学出版社郑莉 董渊著)详细介绍
本文目录一览: 智慧树知到《Python程序设计基础(山东联盟)》章节测试答案
智慧树知到《Python程序设计基础(山东联盟)》章节测试答案
绪论
1、学好Python程序设计要注意的几个问题是
A、多看多练
B、多想多整理
C、多交流多请教
D、只看视频,不思考、不练习
正确答案:ABC
2、本门课程将主要介绍哪些内容
A、运算符
B、内置函数
C、常用数据类型
D、文件操作
正确答案:ABCD
第一章测试
1、下面特点属于Python语言的有哪些?
A、开源
B、免费
C、跨平台
D、解释执行
正确答案:ABCD
2、Python支持函数式编程。
正确答案:√
3、对于Python程序,对代码缩进的要求非常严格。
正确答案:√
4、一般建议,每行Python代码的长度不要超过屏幕宽度,如果确实太长的话,应使用续行符。
正确答案:√
5、一般来说,程序中的重要代码应加上适当的注释。
正确答案:√
6、下面导入标准库对象的语句,正确的有?
A、from math import sin
B、from random import random
C、from math import *
D、import *
正确答案:ABC
第二章测试
1、Python无法表示99999999999999999999这样大的整数。
正确答案:X
2、集合中的元素都是唯一的,不会有重复。
正确答案:√
3、Python中变量的类型是动态的,随时可以变化。
正确答案:√
4、可以使用break作为变量名。
正确答案:X
5、Python支持复数以及相关的运算。
正确答案:√
6、Python中没有++和--这两个运算符。
正确答案:√
第三章测试
1、已知x = [1, 2, 3],执行语句x.append(4)之后,x的值是什么?
A、[1, 2, 3, 4]
B、[4]
C、[1, 2, 3]
D、4
正确答案:A
2、已知x = [1, 2, 3, 4, 5, 6, 7],那么x.pop()的结果是?
A、1
B、4
C、7
D、5
正确答案:C
3、已知x = [1, 2]和y = [3, 4],那么x+y的结果是?
A、3
B、7
C、[1, 2, 3, 4]
D、[4, 6]
正确答案:C
4、sum([i*i for i in range(3)])的计算结果是?
A、3
B、5
C、2
D、14
正确答案:B
5、字典的“键”和集合的元素都是唯一的,不允许重复。
正确答案:√
6、字典中元素的“值”是可以重复的,不同的“键”可以对应相同的“值”。
正确答案:√
第四章测试
1、在循环结构中不能包含选择结构。
正确答案:X
程序设计基础 C语言习题答案
1、10,12,a
2、n、n/10
3、
void main()
{
int Small=0, Big=0, i;
char a[100];
scanf("%s", a);
while(a[i] != '\0')
{
if('a' <= a[i] <= 'z' )
Small++;
if('A' <= a[i] <= 'Z' )
Big++;
}
}
1、
10,12,ai=2E2、
#include
main(){ int n,sum=0; scanf ("%d",&n); while(n!=0){ sum=sum+n%10; n=n/10; } printf("sum=%d",sum);}3、
#include
int main(){ int up = 0,low = 0; char array[100] = {0}; gets(array); for(int i = 0;i<100;i++){ if(array[i]>='a'&&array[i]<='z'){ up++; }else if(array[i]>='A'&&array[i]<='Z'){ low++; } } printf("大写字母个数:%d,小写字母个数:%d",up,low); return 0;}4、
#include
int main(){ float score[10]={0}; float sum = 0; int pass = 0; float ave = 0; for(int i = 0;i<10;i++){ scanf("%g",&score[i]); sum+=score[i]; if(score[i]>=60){ pass++; } } ave=sum/10.0; printf("平均分%g\n",sum/10.0); printf("及格人数%d\n",pass); printf("高于平均分的分数:\n"); for(int i =0;i<10;i++){ if(score[i]>=ave){ printf("%g\n",score[i]); } } return 0;}
c语言程序设计的基础题目求教,请给解析(多追积分)
1:已知a=13,b=6,a%b的十进制数值为()
a%b,整数%整数,表示求余数,因此13%6=1
2:设x的值为15,n的值为了2,则表达式x%=(n+3)运算后的x的值是()
x%=(n+3)相当于x=x%(n+3),x%=n+3也表示x=x%(n+3),类似的有+=,-=,*=,/=
因此x=x%(n+3),x=15%5,x=0.
3:int
x=y=4,z=2;x=y==z;则x的值为()
x=y=4,等号是右结合的,也就是这种情况下要从右向左计算,因此相当于y=4;x=y;
而x=y==z,==的优先级比=高,因此相当于x=(y==z),y=4,z=2所以y==z不成立,所以y==z这个表达式的值是false,也就是0,所以x=0
4:若有定义:int
a=10,b=9,c=8;接着顺序执行后下列语句是,变量b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
由上面的几题为基础,
c=(a-=(b-5))相当于c=(a=a-(b-5)),c=(a=10-(9-5)),c=(a=6),所以a=6,c=6,b=9(表达式b-5并没有改变b的值)
c=(a%11)+(b=3)相当于,c=6%11+3=6+3=9,所以a=6,c=9,b=3
5:int
x=2,y=2,z=0;则表达式的x==y>z的值为()
x==y>z这个一个复合逻辑表达式,>优先级高于==,所以相当于x==(y>z),y>z成立,所以y>z==1,x==1不成立,所以表达式的值为0
6:若有以下定义和语句int
a[4]={0,1,2,3},*p;
p=&a[2];则*--p的值是()
p=&a[2];表示p是a[2]的地址
*--p相当于*(--p),就是先将p减1,也就是a[1]的地址,然后用*操作符取出地址中的值,也就是1
求《程序设计基础》课后题答案
第一章 VB程序设计概述
二、选择题
CADAB ACDAB CBDBB
第二章 VB可视化编程基础
二、选择题
ABDCA CACBC DADAD BDBBB
三、填空题
1.可视 2.LEFT TOP WIDTH HEIGHT
3.按字母序 4.查看代码 5.工具、选项
6.Form1 Font 7.Multiline
8.只读属性
9.工程 属性 通用 Form1.show
10.tabindex 0
第三章 VB语言基础
二、选择题
BCADB ADBBC DBCBA BAABB
三、填空题
1.整型、长整型、单精度、双精度
2.sin(30*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)
3.160 今天是:3-22
4.False
5.-4 3 -3 3 -4 4
6.“CDEF”
7.(x mod 10)*10+x\10
8.(35\20)*20=20 ( 35 \ 20 ) * 20 = 20
9.x mod 3=0 or x mod 5=0
10.27.6 8.2 8 1 100 397 true false
第四章 VB程序控制结构
二、选择题
DBCAD ABBAB D25BAC CBACB DAABC
三、填空题
1.正确性、有穷性、可行性、有输入、有输出
2.1 2 3
3.x>7
4.x
<amin 5.1024 6.11 7.12 8.6 i “*”;
9.0 100 i+1 10.2*I 6 “*”;
三、编程题
1. Private Sub Form_Click()
Dim n As Integer, i As Integer, s As Long
s = 1
n = Val(InputBox("请输入一个整数:"))
For i = 1 To n
s = s * i
Next i
MsgBox n & "!=" & s
End Sub
2.Private Sub Form_Click()
Dim i%, k%
For j = 3 To 100
k = Int(Sqr(j))
For i = 2 To k
If j Mod i = 0 Then Exit For
Next i
If i > k Then
y$ = y$ & " " & j
End If
Next j
MsgBox y, , "显示质数"
End Sub
3.Private Sub Form_Click()
Dim i%, s%
For i = 1 To 100
s = s + i
Next i
MsgBox "1+2+3+……+100=" & s
End Sub
4.Private Sub Form_Click()
Dim x%, y%
For x = 1 To 50
For y = 1 To 33
z = 100 - x - y
If 2 * x + 3 * y + 0.5 * z = 100 Then
Print "小鸡、公鸡、母鸡分别为:"; x; y; z
End If
Next y
Next x
End Sub
5.Private Sub Command1_Click()
Dim a%, b%, c%, p!, s!
do
a = Val(InputBox("请输入三角形的第一条边"))
if a=-1 then exit do
b = Val(InputBox("请输入三角形的第二条边"))
c = Val(InputBox("请输入三角形的第三条边"))
If a + b > c And a + c > b And b + c > a Then
p = (a + b + c) / 2
s = Sqr(p * (p - a) * (p - b) * (p - c))
Print s
Else
MsgBox "你输入的三边不能构成三角形,请重新输入"
End If
loop
End Sub
6. Private Sub Form_Click()
Dim i As Integer, j As Integer,k as integer
For i = 1 To 8
For k=1 to 8-i
Print spc(3);
Next k
For j = 1 To 2 * i - 1
Print i;
Next j
Print
Next i
End Sub
7. Private Sub Form_Click()
Dim i As Integer, j As Integer, k As Integer
For i = 1 To 30
For j = 1 To 30
For k = 1 To 30
If i ^ 2 + j ^ 2 = k ^ 2 Then
Print i & " ^ 2 + " & j & "^ 2 =" & k & "^ 2"
End If
Next k
Next j
Next i
End Sub
8.Private Sub Form_Click()
Dim x As Integer, a As Integer, b As Integer, c As Integer, ss As String
ss = ""
For x = 100 To 999
a = Int(x / 100)
b = Int((x - 100 * a) / 10)
c = x - 100 * a - 10 * b
If a ^ 3 + b ^ 3 + c ^ 3 = x Then
ss = ss & " " & x
End If
Next x
Print ss
End Sub
9.Dim sr As Long, r As Single
sr = Val(InputBox("请输入收入:"))
Select Case sr
Case Is < 200
r = 0
Case 200 To 400
r = (sr - 200) * 0.04
Case 400 To 5000
r = sr * 0.04
Case Is >= 5000
r = sr * 0.05
End Select
Print "收入为" & sr & "时所缴纳的税为:" & r
End Sub
10.Private Sub Form_Click()
Dim t As Single, wf As Single
t = Val(InputBox("请输入上网时间:"))
Select Case t
Case Is < 10
wf = 50
Case 10 To 60
wf = t * 6
Case Is >= 60
wf = t * 4
End Select
If wf >= 200 Then
wf = 200
End If
Print "上网时间为" & t & "小时上网的费用为:" & wf
End Sub
11. Private Sub Form_Click()
Dim yf As Integer
yf = Val(InputBox("请输入月份"))
Select Case yf
Case 12, 1, 2
MsgBox yf & "月份是冬季"
Case 3, 4, 5
MsgBox yf & "月份是冬季"
Case 6, 7, 8
MsgBox yf & "月份是冬季"
Case 9, 10, 11
MsgBox yf & "月份是冬季"
Case Else
MsgBox "输入错误,请重新输入"
End Select
End Sub
12.if的方法
Private Sub Form_Click()
Dim x As Single, f As Single
x = Val(InputBox("请输入一个数"))
If x < 0 Then
f = 2 * x - 1
ElseIf x = 0 Then
f = 4 * x
ElseIf x > 0 Then
f = 7 * x - 5
End If
Print "f(" & x & ")=" & f
End Sub
Select case语句:
Private Sub Form_Click()
Dim x As Single, f As Single
x = Val(InputBox("请输入一个数"))
Select Case x
Case Is < 0
f = 2 * x - 1
Case 0
f = 4 * x
Case Is > 0
f = 7 * x - 5
End Select
Print "f(" & x & ")=" & f
End Sub
第五章 数组
一、选择题
DCACD DBCDC BADAD
二、填空题
1.名称 Index 2.preserve 3.变体 4.2
3
5.1 2 3 1 4 1 6.1 2 3 2 4 6 7. max max=arr1(i)
三、编程题
1. Option Base 1
Private Sub Form_Click()
Dim a(10) As Integer, i%, temp%
For i = 1 To 10
a(i) = Val(InputBox("请输入第" & i & "个整数"))
Next i
计算机基础知识简答题库及答案
1. 计算机基础知识简答题
计算机基础知识简答题 计算机基础考试(50道选择题)(在线等)
1、关于桌面上的图标,正确的说法是______。
A:删除桌面上的应用程序的快捷方式图标,并未删除对应的应用程序文件 B:删除桌面上的应用程序的快捷方式图标,就是删除对应的应用程序文件 C:在桌面上建立应用程序的快捷方式图标,就是将对应的应用程序文件复制到桌面上 D:在桌面上只能建立应用程序快捷方式图标,而不能建立文件夹快捷方式图标2、文件夹窗口 *** 有 15 个文件,其中有 5个被选定,执行"编辑"菜单中"反向选择"命令后,有______个文件被定。 A: 5 B:15 C:10 D:0 3、件夹窗口中选定若干个不相邻的文件,应先按住______键,再单击各个待选的文件。
A:Shift上档键 B:Ctrl控制键 C:制表Tab键 D:Alt换档键4、选中一个文件,点击鼠标右键,再选中"删除",则该文件______.A:被彻底删除 B:只是被放入回收站,还可以还原 C:只是被放入回收站,但不可还原 D:被放入了剪贴板中5、环境中,若应用程序出现故障,这时应优先考虑的操作是______。 A:关掉计算机主机的电源 B:连续按两次 Ctrl+Alt+DelC:按一次 Ctrl控制键+Alt换档键+Del D:按计算机主机上的"RESET"复位键 6、在"对话框"窗口中,选项前有"□"框的按钮是______按钮。
A:单选 B:复选 C:命令 D:滚动 7、激活快捷菜单的操作是______。 A:单击鼠标左键 B:移动鼠标 C:拖放鼠标 D:单击鼠标右键 8、"控制面板"窗口中不包含______图标。
A:日期/时间 B:记事本 C:显示 D:键盘 9、桌面上有"记事本"程序的快捷图标,不能启动"记事本"的方法___。 A:双击桌面上的"记事本"图标 B:从"开始"菜单"程序"项的"附件"中,单击"记事本" C:从"资源管理器"中,找到"记事本",并双击它 D:从"资源管理器"中,找到"记事本",并单击它 10、文件名命名不能______ 。
A:使用汉字字符 B:包括空格字符 C:长达255个字符 D:使用?和* 11、使用"开始"菜单中的______命令可以迅速找到文件和文件夹。 A:帮助 B:查找 C:程序 D:运行 12、 如果要把C盘某个文件夹中的一些文件复制到C盘另外的一个文件夹中,在选定文件后,若采用鼠标拖曳操作,______操作可以将选中的文件复制到目标文件夹。
A:直接拖曳 B: CTRL控制键+拖曳 C:SHIFT上档键+拖曳 D:单击 13、下列关于"任务栏"的叙述,哪一项是错误的 ( D ).A:可以将任务栏设置为自动隐藏 B:任务栏可以移动。C:通过任务栏上的按钮,可实现窗口之间的切换D:在任务栏上,只显示当前活动窗口名14、下列对Windows窗口的描述中,错误的是______。
A:可以对窗口进行"最小化","最大化"操作B:可以同时打开多个窗口,但只有一个活动窗口 C:可以通过鼠标或键盘进行窗口的切换 D:可以改变窗口大小,但不能移动15、Windows 中能更改文件名的操作是______.A:用鼠标左键双击文件名,然后选择"重命名",键入新文件名后按回车键B:用鼠标左键单击文件名,然后选择"重命名",键入新文件名后按回车键C:用鼠标右键双击文件名,然后选择"属性",键入新文件名后按回车键D:用鼠标右键单击文件名,然后选择"重命名",键入新文件名后按回车键16在Windows中,默认的切换中英文输入的方法是 ______.A:CTRL +空格 B:CTRL +SHIFTC:SHIFT +ALT +CTRL D:ALT +空格17、Windows 的整个显示屏幕称为 ______.A:窗口 B:操作台 C:工作台 D:桌面18、某个菜单项呈灰暗色,表示 ______.A:该菜单项永远不能使用 B:软件设计上的缺陷C:当前不能使用菜单项 D:以上都不对19、用于切换大小写字母的键是______.A:数码锁定NumLock B:大写锁定CapsLock C:Ctrl控制键控制 D:Shift上档键上档20、在同一磁盘的两个文件夹间移动选定的文件,除可用鼠标直接拖动实现外,还可以使用的方法是______.A:先"复制"后"粘贴" B:先"移动"后"粘贴"C:先"删除"后"粘贴" D:先"剪切"后"粘贴"21、以下正确的叙述是( )。 A. Office是一种电子表格软件 B. Office是一种操作系统 C. Office是一组办公应用软件 D. Office是一种字处理软件22、Word中的段落标记符是通过( )产生的。
A. 插入分页符 B. 插入分段符 C. 按Enter键 D. 按Shift+Enter键23、在Word中可以选取矩形区域的文字块,方法是在按住( )键的同时按住鼠标左键并拖动。 A. Shift B. Alt C. Ctrl D. Tab24、Word的样式是一组( )的 *** 。
A. 格式 B. 模板 C. 公式 D. 控制符25、保护一个工作表,可以使不知道密码的人( )。 A. 看不到工作表内容 B. 不能复制工作表的内容 C. 不能修改工作表的内容 D. 不能删除工作表所在的工作簿文件。
26、Excel图表是( )。 A. 工作表数据的图表表示 B. 图片 C. 可以用画图工具进行编辑 D. 根据工作表数据用画图工具绘制的27、Excel主要应用在( )。
A. 美术、装璜、图片制作等各个方面 B. 工业设计、机械制造、建筑工程 C. 统计分析、财务管理分析、股票分析和经济、行政管理等 D. 多媒体制作28、将Word表格中两个单元格合并成一个单元格后,单元格中的内容( )。
求计算机基础试题及答案大全
一、单项选择题(每小题 1 分,共60 分 )1. 在计算机内部,一切信息的存取、处理和传送都是以( )形式进行的。
A )EBCDIC码 B )ASCII码 C )十六进制 D )二进制2. 目前,被人们称为“3C”技术的是( )。 A )微电子技术、通信技术和计算机技术 B )通信技术、计算机技术和控制技术 C )信息基础技术、信息系统技术和信息应用技术 D )微电子技术、光电子技术和计算机技术3. 世界上第一台电子数字计算机取名为( )。
A )UNIVAC B )EDSAC C )ENIAC D )EDVAC4. 用来表示计算机辅助教学的英文缩写是( )。 A )CAD B )CAM C )CAI D )CAT5. 1 MB 是( )Bytes。
A )100*100 B )1000*1024 C )1024*1000 D )1024*10246. 下列一组数中,最大的数是( )。 A )(2B )16 B )(44 )10 C )(52 )8 D )(101001 )27. 24*24点阵的一个汉字,其字形码所占字节是( )。
A )72 B B ) 576 B C )36 B D )48 B8. 物理器件采用晶体管的计算机被称为( )。 A )第一代计算机 B )第二代计算机 C )第三代计算机 D )第四代计算机9. 运算器的主要功能是( )。
A )负责读取并分析指令 B )存放运算结果 C )指挥和控制计算机的运行 D )算术运算和逻辑运算10. CPU是计算机硬件系统的核心,它是由( )组成的。 A ) 运算器和存储器 B )控制器和存储器 C ) 运算器和控制器 D )加法器和乘法器11. 下面关于显示器的叙述,正确的是( )。
A )显示器是输入设备 B )显示器是输出设备 C )显示器是输入/输出设备 D )显示器是存储器12. MIPS常用来描述计算机的运算速度,其含义是( )。 A )每秒钟处理百万个字符 B )每分钟处理百万个字符 C )每秒钟处理百万条指令 D )每分钟处理百万条指令 13. PC机上通过键盘输入一段文章时,该段文章首先存放在主机的( )中,如果希望将这段文章长期保存,应以( )形式存储于( )中。
A )内存、文件、外存 B )外存、数据、内存 C )内存、字符、外存 D )键盘、文字、打印机14. 下面说法中正确的是( )。 A )16位字长计算机能处理的最大数是16位十进制 B )电源关闭后,Rom中的信息会丢失 C )计算机区别于其它计算工具的最主要特点是能存储程序和数据 D )一个完整的计算机系统是由微处理器,存储器和输入/ 输出设备组成15. 微型计算机系统采用总线结构对CPU、存储器和外部设备进行连接。
总线通常由三部分组成,它们是( )。 A )逻辑总线、传输总线和通信总线 B )数据总线、地址总线和控制总线 C )数据总线、信息总线和传输总线 D )地址总线、运算总线和逻辑总线16. 计算机的存储系统通常包括( )。
A )内存储器和外存储器 B )软盘和硬盘 C )内存和硬盘 D )ROM和RAM17. 我们通常所说的“裸机”指的是( )。 A )只装备有操作系统的计算机 B )未装备任何软件的计算机 C )计算机主机暴露在外 D )不带输入输出设备的计算机18. 操作系统的作用是( )。
A )将源程序翻译成目标程序 B )控制和管理计算机系统的各种硬件和软件资源的使用 C )负责诊断机器的故障 D )负责外设与主机之间的信息交换19. Windows XP中默认的键盘中英文切换方法是( )。 A )Ctrl+Space B )Ctrl+Shift C )Ctrl+Alt D )Shift+Alt 20. Windows“我的电脑”窗口中,当选中某驱动器(如D: )后,选择( )菜单中的“格式化”命令可以完成所选中的磁盘格式化工作。
A )文件 B )编辑 C )查看 D )帮助 21. 在“资源管理器”窗口中选定文件或文件夹后,若想将它们立即删除,而不是放到“回收站”中,正确的操作是( )。 A )按Delete(Del )键 B )按Shift+Delete(Del )键 C )选择“文件”菜单中的“删除”命令 D )用鼠标直接将文件或文件夹拖放到“回收站”中22. Windows XP中,可用“我的电脑”或( )菜单打开控制面板窗口。
A )命令 B )编辑 C )开始 D )快捷 23. 在Windows XP中,要选定多个不连续的文件,可以先按住( )键不放,然后用鼠标逐个左单击要选择的文件即可。 A )Alt B )Ctrl C )Del D )Shift24. 在Windows XP默认安装的情况下,在桌面上新建了一个文件,则该文件保存在( )中了。
A )A盘 B )C盘 C )D盘 D )内存25. 在Windows XP中下列说法错误的是( )。 A )在“我的电脑”窗口中,按“Alt+F”可以打开文件菜单 B )按“Ctrl+V”,可以实现粘贴功能 C )按Alt+F4,有利于程序正常运行 D )按“Ctrl+X”,可以实现剪切功能26. 在下列有关Windows菜单命令的说法中,不正确的是( )。
A )带省略号(… )的命令执行后会打开一个对话框,要求用户输入信息 B )命令前有符号(√ )表示该命令有效 C )当鼠标指向带符号(? )的命令时,会弹出一个子菜单 D )命令项呈暗淡的颜色,表示相应的程序被破坏27. 在搜索文件时,若用户输入“*.*”,则将搜索( )。 A )所有含有“*”的文件 B )所有扩展名中含有*的文件 C )所有文件 D )以上全不对28. 将鼠标指针移至( )上拖曳,即可移动窗口位置。
A )格式化栏 B )工具栏 C )标题栏 D )状态栏29. Windows XP Professional版是一个( )操作系统。 A )单用户多任务 B )单用户单任务 C )多用户多任务 D )多用户。
计算机基础考试试题答案
1. ( n )2. ( n )3. y )4. n )5. 在计算机系统中,一个汉字的内码占2个字。
( n )6. 浮点数分为阶码和尾数两部分,阶码用定点整数表示,尾数用定点小数表示。( y )7. 在计算机内部,一切信息都表示为二进制数。
( y )8. 无符号八位二进制数能表示的最大十进制整数为256。( n )9. 逻辑运算是指对因果关系进行分析的一种运算,是按位进行的。
( n )10. 不论正数还是负数,对其补码再求补码就可以得到原码。( n )11. 在计算机中,所有的信息如数字、符号、以及图形等都是用电子元件的不同状态表示的。
( y )12. 在计算机中,对有符号的机器数常用原码、反码和补码三种方式来表示,其主要目的是解决减法运算的问题。( y )13. 在计算机中,处理含有小数部分的数值时,解决小数点的表示问题主要通过定点数和浮点数来表示。
( y )14. BCD码是用4位二进制编码来表示1位十进制数。( n )15. 硬盘经过分区后就可以使用。
( n )16. Cache专指在CPU和内存之间设置的高速小容量存储器。( y )17. AGP是Intel为高性能图形和视频支持而专门设计的一种新型系统接口。
( y )18. 程序存储的主要目的是使计算机执行计算时不需要操作人员干预,能自动逐条取出指令并能正确地沿着程序设计的流程执行指令。( n )19. 虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器,它借助于磁盘等辅助存储器来扩大主存的容量,使之为更大或更多的程序所使用。
( y )20. 运算器是计算机的一个主要组成部件,其主要功能是进行算术运算和逻辑运算,它又叫CPU(中央处理器)。( y )。
计算机基础考试试题答案
1. ( n )
2. ( n )
3. y )
4. n )
5. 在计算机系统中,一个汉字的内码占2个字。( n )
6. 浮点数分为阶码和尾数两部分,阶码用定点整数表示,尾数用定点小数表示。( y )
7. 在计算机内部,一切信息都表示为二进制数。( y )
8. 无符号八位二进制数能表示的最大十进制整数为256。( n )
9. 逻辑运算是指对因果关系进行分析的一种运算,是按位进行的。( n )
10. 不论正数还是负数,对其补码再求补码就可以得到原码。( n )
11. 在计算机中,所有的信息如数字、符号、以及图形等都是用电子元件的不同状态表示的。( y )
12. 在计算机中,对有符号的机器数常用原码、反码和补码三种方式来表示,其主要目的是解决减法运算的问题。( y )
13. 在计算机中,处理含有小数部分的数值时,解决小数点的表示问题主要通过定点数和浮点数来表示。( y )
14. BCD码是用4位二进制编码来表示1位十进制数。( n )
15. 硬盘经过分区后就可以使用。( n )
16. Cache专指在CPU和内存之间设置的高速小容量存储器。( y )
17. AGP是Intel为高性能图形和视频支持而专门设计的一种新型系统接口。( y )
18. 程序存储的主要目的是使计算机执行计算时不需要操作人员干预,能自动逐条取出指令并能正确地沿着程序设计的流程执行指令。( n )
19. 虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器,它借助于磁盘等辅助存储器来扩大主存的容量,使之为更大或更多的程序所使用。( y )
20. 运算器是计算机的一个主要组成部件,其主要功能是进行算术运算和逻辑运算,它又叫CPU(中央处理器)。( y )
计算机基础试题目
计算机基础知识1、一般认为,世界上第一台电子数字计算机诞生于______。
1946年2、计算机当前已应用于各种行业、各种领域,而计算机最早的设计是针对______。科学计算3、计算机硬件系统的主要组成部件有五大部分,下列各项中不属于这五大部分的是______。
软件4、计算机软件一般分为系统软件和应用软件两大类,不属于系统软件的是______。客户管理系统5、计算机系统中,最贴近硬件的系统软件是______。
操作系统6、计算机内部用于处理数据和指令的编码是______。二进制码7、计算机程序设计语言中,可以直接被计算机识别并执行的是______。
机器语言8、二进制数10110001相对应的十进制数应是______。1779、计算机断电后,会使存储的数据丢失的存储器是______。
RAM10、微型计算机中,微处理器芯片上集成的是______。控制器和运算器11、计算机有多种技术指标,其中决定计算机的计算精度的是______。
字长12、保持微型计算机正常运行必不可少的输入输出设备是______。键盘和显示器13、计算机中,信息的最小单位是______。
位14、在微型计算机中,将数据送到软盘上,称为______。写盘15、下列各项中,不是微型计算机的主要性能指标的是______。
硬盘容量16、自计算机问世至今已经经历了四个时代,划分时代的主要依据是计算机的______。构成元件17、世界上第一台电子数字计算机采用的逻辑元件是______。
电子管18、早期的计算机体积大、耗能高、速度慢,其主要原因是制约于______。元器件19、当前的计算机一般被认为是第四代计算机,它所采用的逻辑元件是______。
大规模集成电路20、个人计算机属于______。微型计算机21、以下不属于数字计算机特点的是______。
体积庞大22、计算机可以进行自动处理的基础是______。存储程序23、计算机进行数值计算时的高精确度主要决定于______。
基本字长24、计算机具有逻辑判断能力,主要取决于______。编制的软件25、计算机的通用性使其可以求解不同的算术和逻辑问题,这主要取决于计算机的______。
可编程性26、计算机的应用范围很广,下列说法中正确的是______。辅助设计是用计算机进行产品设计和绘图27、当前计算机的应用领域极为广泛,但其应用最早的领域是______。
科学计算28、最早设计计算机的目的是进行科学计算,其主要计算的问题面向于______。军事29、计算机应用中最诱人、也是难度最大且目前研究最为活跃的领域之一是______。
人工智能30、当前气象预报已广泛采用数值预报方法,这种预报方法会涉及计算机应用中的______。科学计算和数据处理31、利用计算机对指纹进行识别、对图像和声音进行处理属于的应用领域是______。
信息处理32、计算机最主要的工作特点是______。存储程序与自动控制33、用来表示计算机辅助设计的英文缩写是______。
CAD34、利用计算机来模仿人的高级思维活动称为______。人工智能35、计算机网络的目标是实现______。
资源共享和信息传输36、下列四项中,不属于多媒体所包括的媒体类型的是______。X光37、所谓的信息是指______。
处理后的数据38、在下面的描述中,正确的是______。键盘是输入设备,显示器是输出设备39、一个完备的计算机系统应该包含计算机的______。
硬件和软件40、计算机系统由两大部分组成,它们是______。硬件系统和软件系统41、构成计算机物理实体的部件被称为______。
计算机硬件42、组成计算机主机的主要是______。中央处理器和主存储器43、微型计算机的微处理器芯片上集成了______。
控制器和运算器44、以下不属于外部设备是______。中央处理器和主存储器45、下列对软件配置的叙述中不正确的是______。
软件配置独立于硬件46、下面各组设备中,同时包括了输入设备、输出设备和存储设备的是______。鼠标器、绘图仪、光盘47、个人计算机(PC)必备的外部设备是______。
显示器和键盘48、在微型计算机的各种设备中,既可输入又可输出的设备是______。磁盘驱动器49、冯.诺依曼结构计算机的五大基本构件包括运算器、存储器、输入设备、输出设备和______。
控制器50、时至今日,计算机仍采用程序内存或称存储程序原理,原理的提出者是______。冯?诺依曼51、冯?诺依曼计算机的基本原理是______。
程序存储52、计算机的工作原理是______。程序存储53、计算机中,运算器的主要功能是完成______。
算术和逻辑运算54、计算机中用来保存程序和数据,以及运算的中间结果和最后结果的装置是______。内存和外存55、超市收款台检查货物的条形码,这属于对计算机系统的______。
输入56、下列不属于输入设备的是______。打印机57、计算机的硬件主要包括:中央处理器(CPU)、存储器、输入设备和______。
输出设备58、下列四项中属于输出设备的是______。显示器59、在计算机领域中,通常用大写英文字母“B”来表示______。
字节60、指令的操作码表示的是______。做什么操作61、为解决某一特定的问题而设计的指令序列称为______。
程序62、计算机能计算有大量数据和程序语句的问题,起主要。
计算机基础考试试题
BBCBACCCCD运算器,控制器,存储器,输入设备,输出设备地址总线,数据总线,控制总线应用软件和系统软件集成性,交互性,多样化数据链路层,网络层计算题太复杂不想动笔四.存储程序和程序控制运算器,控制器,存储器,输入设备,输出设备运算器是负责对数据进行逻辑运算和算术运算控制器是控制计算机各个部件进行工作存储器是用于存储计算机中的数据和程序D数据链路层,网络层171.75 253.60001001000001001.01010110 记得0不可舍去0.11111011 10.00000001。
计算机笔试基础试题,题目以及答案.! 求好心人帮忙
计算机基础模拟试题一、填空题1、 计算机的逻辑元件采用大规模、超大规模集成电路的时代是第____代。
2、 计算机中____的主要功能是存放数据和程序。3、 计算机软机系统包括____和____。
4、 在一个二进制数中,左面一位是其相邻的右面一位的____倍。5、 WINDOWS2000是一种____。
6、 在WINDOWS2000下复合键“Ctrl+C”的功能是____。7、 在WINDOWS2000下,不同任务的切换可以通过单击____上有关窗口的按钮。
8、 在Word2000的编辑状态下,文档中的一部分内容被选择,执行编辑菜单中的“剪切”命令后____。9、 在Word2000下设置字体的命令菜单是____。
10、 在Word2000中,“文件”命令的下拉式菜单底部默认最多可列出____个最近使用过的文档文件名。11、 在Excel中____是计算和储存数据的文件。
12、 在Excel中一个____就是一个Excel文件。13、 在Excel中每个单元格用它的行号和列号来引用,如六行第一列所对应的单元格可用____来表示。
14、 Powerpoint是____公司推出的图形展示软件包。15、 电子邮件用英文表示为____。
16、 网络诞生于____国。17、 INTER的中文名称是____。
18、 IP地址由____位二进制数字组成。19、 World Wide Web简称WWW或Web也称____。
二、选择题1、在计算机中下列部件访问速度最快的是______。 A、硬盘 B、软盘 C、磁带 D、RAM2、______不是CPU的部件。
A、地址寄存器 B、程序计数器 C、算术逻辑运算单元 D、通用寄存器组3、计算机中运算器的主要功能是_____________。 A、逻辑运算 B、算术运算 C、算术运算和逻辑运算 D、控制计算机运行4、与二进制小数0.1B等值的16进制数是____________。
A、0.2H B、0.1H C、0.4H D、0.8H5、WINDOWS2000是一个___________操作系统。 A、单用户单任务 B、单用户多任务 C、多用户多任务 D、多用户单任务6、在WINDOWS2000中文件夹是指_______. A、文档 B、程序 C、磁盘 D、目录7、操作系统________。
A、 一种使计算机便于操作的硬件B、 一种计算机的操作规范C、 一种管理系统资源的软件D、一种便于操作的计算机系统8、在WORD2000中编辑文档时,当前光标所在位置的前面是宋体,后面的字体是隶书,再在光标处输入文字时,其字体是_____________。 A、宋体 B、隶书 C、取决于最近一次输入的字体 D、取决于最近一次光标停留处的字体9、下面选项中不能关闭WORD2000的是_____。
A、 双击标题栏左边的“W”。B、 单击标题栏右边的“X”。
C、 单击文件菜单中的“关闭”。D、单击文件菜单中的“退出”。
10、在EXCEL工作表中,数值型数据的默认对齐格式是________。 A、左对齐 B、居中对齐 C、跨列对齐 D、右对齐11、在EXCEL工作表中,已知A1单元格的公式=A1复制到D2单元格后,D2单元中的值将与________单元中的值相等。
A、B2 B、A2 C、A1 D、B112、在EXCEL工作表中若已将A1单元格中的内容跨5列居中,要修改该跨列居中的内容,必须选取定______。 A、区域A1:E1 B、单元格E1 C、单元格A1 D、单元格C113、POWERPOINT中,正在编辑的演示文稿若想换名保存,可以________。
A、 单击“保存”工具按钮B、 单击“文件”的“另存为”命令C、 单击“另存为”工具按钮D、单击“文件”菜单的“保存”命令14、下列网络类型不属于按地理范围分类的是_______。 A、广域网 B、校园网 C、城域网 D、局域网15、下列不是计算机病毒特点的是_________。
A、传染性 B、免疫性 C、潜伏性 D、破坏性16、冯。诺依曼为现代计算机的结构奠定了基础,他的主要设计思想是____________。
A、程序存储 B、数据存储 C、虚拟存储 D、采用电子元件17、第四代电子计算机使用的逻辑器件是________。A. 晶体管 B.电子管C.中、小规模集成电路 D.大规模和超大规模集成电路18、把高级语言写的源程序变为目标程序要经过________。
A. 汇编B.编辑C.编译D.解释19、________中的两个软件都属于系统软件。A. DOS和 MIS B. DOS和UNIX C. UNIX 和MIS D.WPS和XENIX20、微型计算机系统中的中央处理器通常是指________。
A. 内存储器和控制器 B.内存储器和运算器 C.控制器和运算器 D.内存储器,控制器和运算器21、在计算机系统中,通常用文件的扩展名来表示________。A. 文件的内容 B.文件的版本 C.文件的类型 D.文件的建立时间22、在WINDOWS2000中,桌面指的是________。
A、 窗口、图表和对话框所在的屏幕背景B、 电脑台C、 资源管理器窗口D、活动窗口23、在WINDOWS2000中,任务列表中列出的内容是________。A、 正在进行的各个应用程序B、 当前活动任务的程序名C、 已被打开的各文档的文件名D、系统中各个可执行的程序名24、WINDOWS2000最突出的特点是________。
A、 能同时运行多个程序,即多任务功能B、 能同时有多个活动窗口C、 能同时打开多个对话框D、能同时使用键盘和鼠标操作25、WINDOWS2000的对话框具有________的特点。A、 不能改变大小B、 不能移动C、 不能忽略D、没有窗口标题栏26、在WINDOWS。
foxpro程序设计基础
有关多表查询结果中,以下说法正确的是(c)
选项:
a、只可包含其中一个表的字段
b、必须包含被查询表的所有字段
c、可包含被查询表的所有字段,也可只包含被查询表的部分字段
d、以上说法均不正确
题号:16 题型:是非题 本题分数:5
内容:
编辑框(Edit)对象的 ScrollBars 属性可以设置编辑框对象中有无垂直滚动条。(对)
选项:
1、 错
2、 对
题号:17 题型:是非题 本题分数:5
内容:
打开数据库后,该数据库中所管理的数据表就会自动打开。(错)
选项:
1、 错
2、 对
题号:18 题型:是非题 本题分数:5
内容:
欲将标签的名称设置为“学号”,可以通过在属性窗口中修改标签的 CAPTION 属性值实现。(对)
选项:
1、 错
2、 对
题号:19 题型:是非题 本题分数:5
内容:
在数据库表中为某字段设置了字段标题,以后就可以在表达式中用字段标题代替字段名。(错)
选项:
1、 错
2、 对
题号:20 题型:是非题 本题分数:5
内容:
任何对象都具有ControlSource 属性。(错)
选项:
1、 错
2、 对
提问者: 24
c语言程序设计试题
c语言程序设计试题
阐述编程语言的概念,学习进制转换以及程序的基本运行原理,让大家先有一个整体上的认识。下面是我整理的关于c语言程序设计基础知识,希望大家认真阅读!
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
getch();
}
【程序2】
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0. 1;
bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus);
getch();
}
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。请看具体分析:
2.程序源代码:
代码如下:
#include "math.h"
#include "stdio.h"
#include "conio.h"
main()
{
long int i,x,y,z;
for (i=1;i<100000;i++)
{
x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("\n%ld\n",i);
}
getch();
}
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的.第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) /*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);
getch();
}
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;} /*交换x,z的值*/
if(y>z)
{t=y;y=z;z=t;} /*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
getch();
}
【程序6】
题目:用*号输出字母C的图案。
1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
printf("Hello C-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
getch();
}
【程序7】
题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
1.程序分析:字符共有256个。不同字符,图形不一样。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
char a=176,b=219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);
getch();
}
【程序8】
题目:输出9*9口诀。
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,result;
printf("\n");
for (i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/
}
printf("\n"); /*每一行后换行*/
}
getch();
}
【程序9】
题目:要求输出国际象棋棋盘。
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
2.程序源代码:
代码如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0)
printf("%c%c",219,219);
else
printf(" ");
printf("\n");
}
getch();
}
;
2001年4月份全国高等教育自学考试计算机基础与程序设计试题及答案
江苏成人计算机统考网提供计算机统考试题成人大专计算机试题。
2001年4月份全国高等教育自学考试
计算机基础与程序设计试题及答案
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.I/O设备指的是计算机的()
A、存储设备
B、输入和输出设备
C、控制器
D、运算器
2.具有只读功能的内存储器是指()
A、ROM
B、RAM
C、硬盘
D、CD-ROM
3.C语言源程序的基本单位是()
A、过程
B、函数
C、子程序
D、语句
4.字符串常数"CHINA"在内存中存储时占的字节数是()
A、5个
B、6个
C、7个
D、8个
5.设有int p,q;以下不正确的语句是()
A、p*=3
B、p/=q
C、p+=3
D、p&&=q
6.如果a=1,b=2,c=3,d=4,则表达式a>b?a:cA、1
B、2
C、3
D、4
7.下面程序段的运行结果是( )
main( )
{Int a=11,b=10;
a-=b+1;
printf("%dn",a);
}
A、1
B、0
C、2
D、5
8.下列程序段执行后输出结果为()
int i=-1;
if(i<=0)printf("****n");
else printf("%%%%n");
A、****C
B、%%%%
C、%%%%C
D、****
9.若所用变量已正确地定义,则下列程序段输出结果为()
a=10;b=50;c=30;
if(a>b)a=b
b=c;c=a
printf("a=%d,b=%d,c=%dn",a,b,c);
A、a=10,b=50,c=10
B、a=10,b=30,c=10
C、a=50,b=30,c=10
D、a=50,b=3,c=50
10.下述循环的循环次数是()
int k=2;
while(k=0)printf("%d",k);
k--;printf("n")
A、无限次
B、0次
C、1次
D、2次
11.在下列选项中,没有构成死循环的程序段是()
A、int i=100;
while(1)
{i=i0+1;
if(i>100)break;
}
B、for(;;)
C、int k=1000;
do(++k;) while(k>=10000);
D、int s=36;
while(s);--s;
12.若有以下定义和语句,且0<=i<10,则对数组元素的错误引用是()
int a[]={0,1,2,3,4,5,6,7,8,9},*p,i;
p=a
A、*(a+i)
B、a[p-a]
C、p+i
D、*(&a[i])
13.下面能正确将字符串"Boy"进行完整赋值操作的语句是()
A、char s[3]={'B','o','y'};
B、char s[ ]="Boy";
C、char s[3]={"Boy"};
D、char s[3];
s[0]='B';s[1]='o';s[2]='y'
14.以下程序段的输出结果是( )
char arr[ ]="ABCD";
char*ptr;
for(ptr=arr;ptrprintf("%sn",ptr);
A、ABCD
B、
A
C、
D
D、
ABCD
B
C
BCD
C
B
CD
D
A
D
15.下面说法不正确的是()
A、一个源程序文件由一个或多个函数组成。
B、一个C程序由一个或多个源程序文件组成。
C、一个C程序以函数为独立的编译单位。
D、一个C程序必须有一个main()函数。
16.C语言的auto型变量是()
A、存储在动态存储区中。
B、存储在静态存储区中。
C、存储在计算机CPU的寄存器中。
D、存储在外存储器中。
17.以下程序的运行结果是()
void swapl(x,y)
int x,y;
{int t;t=x;x=y;y=t;}
void swap2(p1,p2)
int *p1,*p2;
{*p1=*p2;*p2=*p1;}
main()
{int a=3,b=5,*x1=&a,*x2=&b;
swap1(a,b);
printf("a=%d,b=%dn",a,b);
swap2(x1,x2);
printf("a=%d,b=%dn",a,b);}
A、
a=5,b=3
B、
a=3,b=5
C、
a=5,b=3
D、
a=3,b=5
a=5,b=3
a=3,b=5
a=3,b=3
a=5,b=5
18.下列定义中,不是指针数组定义的是( )
A、int *p[5];
B、float *q[4];
C、int (*r)[6];
D、char *w[7];
19.以下程序的运行结果是()
#define sl(x)(3.14*(x)*(x))
#include
main()
{float x,s;
s=s1(10);
printf("%.2fn",s);}
A、3.14
B、31.40
C、314.00
D、6.28
20.测试文件是否结束函数的函数名是()
A、feof
B、EOF
C、eof
D、FEOF
二、多项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的五个选项中有二至五个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。多选、少选、错选均无分。
21.下列哪些设备属外存储设备()
A、RAM
B、光盘
C、硬盘
D、软盘
E、磁带
22.?X*.C可以代表的文件是()
A、AXCD.C
B、AXCD.D
C、ABX.C
D、RX.C
E、XX1234.C
23.若有int x;float y;指出下面结果为整型数的表达式()
A、(int)(x+y)
B、(int)x+y
C、'a'+x
D、x+(int)y
E、x*y
24.若所用变量已正确定义,下列for循环语句中语法正确的有()
A、for(x=0;i=0;i<=10;i++)
x++;
B、for(x=0,i=0,i<=10,i++)
x++;
C、for(x=0,i=0;i<=10;i++)
x++;
D、i=0;x=0;
for(i<=10;i++)
x++
E、i=0;x=0;
for(;i<=10;i++)
x++
25.若有定义及赋值:()
int y,*p,*p1;
p=&y;p1=p;*p1=4;
则可以输出变量y的地址的语句是
A、printf("%un",y);
B、printf("%un",p);
C、printf("%un",*p);
D、printf("%un",&y);
E、printf("%un",*p1);
26.若有定义及赋值:()
int a[10]={0,1,2,3,4,5,6,7,8,9},*p;
p=a;
则引用a中值为5的元素的表达式是
A、a[5]
B、a[4]
C、*(a+5)
D、p[5]
E、*(p+4)
27.若有定义及赋值:()
int a[6][6],*p;
p=*a;
则下列各式中表示地址的表达式是
A、a[1]
B、a[1]+1
C、a[3][3]
D、&a[1][3]
E、p[0][0]
28.若有定义及赋值:()
int x[5][6],*p;
p=*x;
则不能正确引用数组元素x[0][2]的值的表达式是
A、x[0][2]
B、p[0][2]
C、x[0]+2
D、*x+2
E、*(*x+2)
29.下面各式正确的是()
A、struct 1_num
{long num;struct 1_num*next;}num1,*p1;
p1=&num1;
B、struct animal
{char name [30],float weight,}rabbits;
C、struct star
{int bh,char name [20],}my_star;
my_star.name="moon";
D、struct {char x[20];char y[30];int u;}x1,y;
E、struct food
{int code;char name [30];struct food *p;};
struct food *tail;
30.设有int y,u=0,x=15,下列各项中能使y值为0的是()
A、y=x∧x;
B、y=x∣u;
C、y=x>>4;
D、y=x&u;
E、y=~u;
第二部分非选择题
三、填空题(本大题共10小题,每小题1分,共10分)
31.写出查看A盘TC子目录下扩展名为C的所有文件的目录操作命令C:>____________。
32.组成C程序的基本单位是____________。
33.putchar()函数的功能是____________。
34.当s=7时,执行以下程序段后x=____________。
if((s>0)&&(s<=10))
if((s>=3)&&(s<=6))x=2;
else if((s>1)||(s>8))x=3;
else x=1;
else x=0;
35.设i和x都是int型,则for循环语句最多执行次数为____________。
for(i=0,x=0;I<=9&&x!=876;i++)scanf("%d",&x);
36.以下程序的输出结果是____________。
main()
{int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;
for(i=0;i<4;i++)p[i]=&a[i*3];
printf("%dn",p[3][2]);}
37.定义变量可以在函数内部,也可以在函数外部,在函数内部定义的变量称为____________。
38.若有定义int x=3,*p;则使p指向变量x的赋值语句为____________。
39.共用体的所有成员共享同一段存储空间,它的各个成员的数据类型可以是____________。
40.设有FILE*fp;则关闭fp所联系文件的C语句是____________。
四、简答题(本大题共4小题,第41、42每小题2分,第43、44每小题3分,共10分)
41.简述在Turbo C 2.0集成开发环境下完成一个C程序的全过程。
42.写出下列程序段所对应的数学式子。
if(x!=0)
if(x>0)y=1;
else y=-1;
else y=0;
43.定义char *string="I am a boy";
和定义char *string;
string="I am a boy";
等价吗?为什么?
44.简述C对ASCII码文件或二进制文件的操作步骤。
五、阅读分析题(本大题共10小题,每小题2分,共20分)
45.阅读下列程序,写出运作结果
main()
{int a=100,b=-1;
printf("a=%d,%xn",a,a);
printf("b=%x,%un",b,b);}
46.下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格):
main()
{char mark=''A'';
switch(mark)
{case''A'':
case''B'':
case''C'':printf(">=60n");
case''D'':printf("<60n");
default:printf("Errorn");}}
该程序执行后会产生什么错误?请分析并予以更正。
第47题,第48题,第49题请参阅下面程序,并回答相关问题
main()
{int u,v,a,b,t,r;
u=24;v=16;
if(u>v){t=u;u=v;v=t;}
a=u;b=v;
while((r=%ba)!=0)
{b=a;a=r;}
printf("a=%dn",a);
}
47.程序的输出结果是多少?
48.该程序完成什么功能?
49.若将while循环替换为do-while循环,请写出相应的程序段。
第50题,第51题,第52题请参阅下面程序,并回答相关问题。
long fac(int n)
{if(n>0)return n*fac(n-1);
else return 1L;
}
main( )
{int i,m;
long s=0;
scanf("%d",&m);
for(i=1;i<=m;i++)
s=s+fac(i);;
printf("%1dn",s);
}
50.该程序的功能是什么?fac函数是一个什么函数?
51.若fac函数的返回值定义为int型,合适吗?
52.如果求(1!)!+(2!)!+(3!)!+…+(m!)!,程序如何修改?
第53题、第54题请参阅下面程序,并回答相关问题。
struct food
{int amount;
struct food*next;
}*head=NULL;
void create(int each_amt)
{struct food * p;
p=(struct food*)malloc(sizeof(struct food));
p→amount=head_amt;
p→next=head;
head=p;
}
53.语句p=(struct food *)malloc(sizeof(struct food));
和p→amount=each_amt;是功能是什么?
54.语句p→next=head;head=p;的功能是什么?
六、程序设计题(本大题共2小题,第55题8分,第56题12分,共20分)
55.对任意一个3行3列的二维整型数组,编程实现:
(1)从键盘对数组元素赋初值。
(2)查找每一列中元素值最大的元素并输出其值及行下标和列下标。
(假设数组中各元素值都不相同)
56.编写字符串拷贝函数将指针str2指向的字符串复制到由指针str1所指的字符串中。请在主函数中调用字符串拷贝函数并输出str1指向的字符串。
(不得用C中的strcpy标准库函数)
计算机基础与程序设计试卷参考答案
一、单项选择题(本大题共20小题,每小题1分,共20分)
1.B
2.A
3.B
4.B
5.D
6.C
7.B
8.D
9.A
10.B
11.C
12.C
13.B
14.D
15.C
16.A
17.D
18.C
19.C
20.A
二、多项选择题(本大题共10小题,每小题2分,共20分)
21.BCDE
22.ADE
23.ACD
24.CE
25.BD
26.ACD
27.ABD
28.CD
29.ADE
30.ACD
三、填空题(本大题共10小题,每小题1分,共10分)
31.DIR A:TC*.C
32.函数
33.向终端输出一个字符
34.3
35.10次
36.12
37.局部变量
38.p=&x
39.不相同的
40.fclose(fp)
四、简答题(本大题共4小题,第41、42题每题2分;第43、44题每题3分,共10分)
41.[参考答案]
(1)利用编辑功能生成C源程序。
(2)利用编译功能生成相应的目标程序。
(3)利用连接功能生成可执行程序。
(4)运行可执行程序。
42. [参考答案]
y=-1(x<0)
y=0(x=0)
y=1(x>0)
43. [参考答案]
(1)等价。(1分)
(2)因为string是字符型指针变量。(1分)
(3)无论哪种赋值方式都只是将字符串的首地址赋给了string,而不是将整个字符串赋给了string。(1分)
44[参考答案]
(1)按规定的格式打开文件。(1分)
(2)对打开的文件进行读/写操作。(1分)
(3)关闭已打开的文件。(1分)
五、阅读分析题(本大题共10小题,每小题2分,共20分)
45. [参考答案]
a=100,64(1分)
b=ffff,65535(1分)
46. [参考答案]
(1)该程序有逻辑错误。当mark为''A''(或''B''或''C'')时,三条printf语句全部要执行一次。(1分)
(2)要得到正确的结果,应做下面修改:(1分)
case''C':printf(">=60n");break;
case''D'':printf("<60n");break;
47. [参考答案]
a=8(2分)
48. [参考答案]
该程序用于求u和v的最大公约数。(2分)
49. [参考答案]
while语句可以改为:(2分)
r=b%a;
do
{
if(f= =0)break;
b=a;a=r;
}while((r=b%a)!=0);
50. [参考答案]
51. [参考答案]
不合适。会产生整数溢出。
即使定义为long型,输入的m值也不宜过大,否则仍会产生溢出。(2分)
52. [参考答案]
只要将s=s+fac(i)改为:
s=s+fac(fac(i))即可。(2分)
53. [参考答案]
(1)前一句用于创建一个新结点,并使指针P指向新结点。(1分)
(2)后一句用于接受调用程序的实参,并将其值赋给新结点的成员amount。(1分)
54. [参考答案]
(1)前一句用于将新结点与原head指向的结点串接在一起。(1分)
(2)后一句用于使head指向新加入的结点P。(1分)
六、程序设计题(本大题共2小题,第55题8分,第56题12分,共20分)
55. [参考答案]
参考程序如下:
#include
void main(void)
{
int i,j,im,jm,x[3][3],max;
for(i=0;j<3;i++)
for(j=0;j<3;j++)
scanf("%d",&x[i][j]);
for(j=0;j<3;j++)
{
max=x[0][j];im=0;jm=j;
for(i=1;i<3;i++)
if(max {
max=x[i][j];
im=i;
jm=j;
}
printf("i=%d j=%d max=%dn",i,j,max);
}
}
56. [参考答案]
参考程序如下:
#include
void strcpy(char *,char * );
void main(void)
{
char *str1,*str2="abcdef";
strcpy(str1,str2);
printf("%s",str1);
}
void strcpy(char *s1,char *s2)
{
int i=0;
while((s1[i]=s2[i])!='''')
i++;
}
c++程序设计基础教程课后答案(清华大学出版社郑莉 董渊著)
第 一 章 概述
1-1 简述计算机程序设计语言的发展历程。
解:
迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?
解:
面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?
解:
结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
1-4 什么是对象?什么是面向对象方法?这种方法有哪些特点?
解:
从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。
面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。
面向对象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。
1-5 什么叫做封装?
解:
封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
1-6 面向对象的软件工程包括哪些主要内容?
解:
面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等主要内容。
1-7 简述计算机内部的信息可分为几类?
解:
计算机内部的信息可以分成控制信息和数据信息二大类;控制信息可分为指令和控制字两类;数据信息可分为数值信息和非数值信息两类。
1-8 什么叫二进制?使用二进制有何优点和缺点?
解:
二进制是基数为2,每位的权是以2 为底的幂的进制,遵循逢二进一原则,基本符号为0和1。采用二进制码表示信息,有如下几个优点:1.易于物理实现;2.二进制数运算简单;3.机器可靠性高;4.通用性强。其缺点是它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。
1-9 请将以下十进制数值转换为二进制和十六进制补码:
(1)2 (2)9 (3)93
(4)-32 (5)65535 (6)-1
解:
(1) (2)10 = (10)2 = (2)16
(2) (9)10 = (1001)2 = (9)16
(3) (93)10 = (1011101)2 = (5D)16
(4) (-32)10 = (11100000)2 = (E0)16
(5) (65535)10 = (11111111 11111111)2 = (FFFF)16
(6) (-1)10 = (11111111 11111111)2 = (FFFF)16
1-10 请将以下数值转换为十进制:
(1)(1010)2 (2)(10001111)2 (3)(01011111 11000011)2
(4)(7F)16 (5)(2D3E)16 (6)(F10E)16
解:
(1)(1010)2 = (10)10
(2)(10001111)2 = (143)10
(3)(01011111 11000011)2 = (24515)10
(4)(7F)16 = (127)10
(5)(2D3E)16 = (11582)10
(6)(F10E)16 = (61710)10
1-11 简要比较原码、反码、补码等几种编码方法。
解:
原码:将符号位数字化为 0 或 1,数的绝对值与符号一起编码,即所谓"符号——绝对值表示"的编码。
正数的反码和补码与原码表示相同。
负数的反码与原码有如下关系:
符号位相同(仍用1表示),其余各位取反(0变1,1变0)。
补码由该数反码的最末位加1求得。
第 二 章 C++简单程序设计
2-1 C++语言有那些主要特点和优点?
解:
C++语言的主要特点表现在两个方面,一是全面兼容C,二是支持面向对象的方法。C++是一个更好的C,它保持了C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对C的类型系统进行了改革和扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。 C++语言最重要的特点是支持面向对象。
2-2 下列标识符哪些是合法的?
Program, -page, _lock, test2, 3in1, @mail, A_B_C_D
解:
Program, _lock, test2, A_B_C_D是合法的标识符,其它的不是。
2-3 例2.1中每条语句的作用是什么?
#include
void main(void)
{
cout<<"Hello!\n";
cout<<"Welcome to c++!\n";
}
解:
#include
//指示编译器将文件iostream.h中的代码
//嵌入到该程序中该指令所在的地方
void main() //主函数名,void 表示函数没有返回值
{ //函数体标志
cout<<"Hello!\n"; //输出字符串Hello!到标准输出设备(显示器)上。
cout<<"Welcome to c++!\n"; //输出字符串Welcome to c++!
}
在屏幕输出如下:
Hello!
Welcome to c++!
2-4 使用关键字const而不是#define语句的好处有哪些?
解:
const定义的常量是有类型的,所以在使用它们时编译器可以查错;而且,这些变量在调试时仍然是可见的。
2-5 请写出C++语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。
解:
const float PI = 3.1416;
float a = PI;
2-6 在下面的枚举类型中,Blue的值是多少?
enum COLOR ;
解:
Blue = 102
2-7 注释有什么作用?C++中有哪几种注释的方法?他们之间有什么区别?
解:
注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的大小。适当地使用注释,能够提高程序的可读性。在C++中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。
2-8 什么叫做表达式?x = 5 + 7是一个表达式吗?它的值是多少?
解:
任何一个用于计算值的公式都可称为表达式。x = 5 + 7是一个表达式,它的值为12。
2-9 下列表达式的值是多少?
1. 201 / 4
2. 201 % 4
3. 201 / 4.0
解:
1. 50
2. 1
3. 50.25
2-10 执行完下列语句后,a、b、c三个变量的值为多少?
a = 30;
b = a++;
c = ++a;
解:
a:32 ; b:30 ; c:32;
2-11 在一个for循环中,可以初始化多个变量吗?如何实现?
解:
在for循环设置条件的第一个";"前,用,分隔不同的赋值表达式。
例如:
for (x = 0, y = 10; x < 100; x++, y++)
2-12 执行完下列语句后,n的值为多少?
int n;
for (n = 0; n < 100; n++)
c语言程序设计能力教程答案
1 【C语言】《C语言程序设计教程(第二版)》习题答案
说 明
1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理
工大学出版社出版的,绿皮。
2 第1章 程序设计基础知识
一、单项选择题(第23页)
1-4.CBBC 5-8.DACA
二、填空题(第24页)
1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言 7.有穷性 8.直到型循环 9.算法 10.可读性 11.模块化 12.对问题的分析和模块的划分
三、应用题(第24页)
2.源程序:
main()
{int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */
printf("cock hen chick\n");
for(i=1;i<=20;i++)
for(j=1;j<=33;j++)
for(k=1;k<=33;k++)
if (i+j+k*3==100&&i*5+j*3+k==100)
printf(" %d %d %d\n",i,j,k*3);}
执行结果:
cock hen chick
4 18 78
8 11 81
12 4 84
3.现计算斐波那契数列的前20项。
递推法 源程序:
main()
{long a,b;int i;
a=b=1;
for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/
{printf("%8ld%8ld",a,b);
a=a+b;b=b+a;}}
递归法 源程序:
main()
{int i;
for(i=0;i<=19;i++)
printf("%8d",fib(i));}
fib(int i)
{return(i<=1?1:fib(i-1)+fib(i-2));}
执行结果:
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
4.源程序:
#include "math.h";
main()
{double x,x0,deltax;
x=1.5;
do {x0=pow(x+1,1./3);
deltax=fabs(x0-x);
x=x0;
}while(deltax>1e-12);
printf("%.10f\n",x);}
执行结果:
1.3247179572
5.源程序略。(分子、分母均构成斐波那契数列)
结果是32.66026079864
6.源程序:
main()
{int a,b,c,m;
printf("Please input a,b and c:");
scanf("%d %d %d",&a,&b,&c);
if(a
<b){m=a;a=b;b=m;}
if(a
<c){m=a;a=c;c=m;}
if(b
<c){m=b;b=c;c=m;}
printf("%d %d %d\n",a,b,c);}
执行结果:
Please input a,b and c:123 456 789
789 456 123
7.源程序:
main()
{int a;
scanf("%d",&a);
printf(a%21==0?"Yes":"No");}
执行结果:
42
Yes
3 第2章 C语言概述
一、单项选择题(第34页)
1-4.BDCB 5-8.AABC
二、填空题(第35页)
1.主 2.C编译系统 3.函数 函数 4.输入输出 5.头 6. .OBJ 7.库函数 8.文本
三、应用题(第36页)
5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN90、x1234、until、cos2x、s_3是标识符。
8.源程序:
main()
{int a,b,c;
scanf("%d %d",&a,&b);
c=a;a=b;b=c;
printf("%d %d",a,b);}
执行结果:
12 34
34 12
4 第3章 数据类型与运算规则
一、单项选择题(第75页)
1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB
二、填空题(第77页)
1.补码 2.±(10^-308~10^308) 3.int(整数) 4.单目 自右相左 5.函数调用 6.a或b 7.1 8.65,89
三、应用题(第78页)
1.10 9
2.执行结果:
11
0
0
12
1
5 第4章 顺序结构程序设计
一、单项选择题(第90页)
1-5.DCDAD 6-10.BACBB
二、填空题(第91页)
1.一 ;2. 5.169000 3.(1)-2002500 (2)I=-200,j=2500 (3)i=-200
j=2500 4.a=98,b=765.000000,c=4321.000000 5.略 6.0,0,3 7.3 8.scanf("%lf%lf%lf",&a,&b,&c); 9. 13 13.000000,13.000000 10.a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。)
三、编程题(第92页)
1.仿照教材第27页例2-1。
2.源程序:
main()
{int h,m;
scanf("%d:%d",&h,&m);
printf("%d\n",h*60+m);}
执行结果:
9:23
563
3.源程序:
main()
{int a[]={-10,0,15,34},i;
for(i=0;i<=3;i++)
printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);}
执行结果:
-10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F
4.源程序:
main()
{double pi=3.13800979,r=5;
printf("r=%lg A=%.10lf S=%.10lf\n",r,2*pi*r,pi*pi*r);}
执行结果:
r=5 A=31.4159265359 S=49.3480220054
5.源程序:
#include "math.h";
main()
{double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if (a+b>c&&a+c>b&&b+c>a)
{double s=(a+b+c)/2;
printf("SS=%.10lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));}
else printf("Data error!");}
执行结果:
4 5 6
SS=9.9215674165
6.源程序:
main()
{int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56;
printf("a=%3d,b=%-4d,c=**%d\nd=%g\ne=%6.2f\nf=%-10.4f**\n",a,b,c,d,e,f);}
7.源程序:
main()
{int a,b,c,m;
scanf("%d %d %d",&a,&b,&c);
m=a;a=b;b=c;c=m;
printf("%d %d %d\n",a,b,c);}
执行结果:
5 6 7
6 7 5
8.源程序:
main()
{int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("average of %d,%d and %d is %.2f\n",a,b,c,(a+b+c)/3.);
执行结果:
6 7 9
average of 6,7 and 9 is 7.33
9.不能。修改后的源程序如下:
main()
{int a,b,c,x,y;
scanf("%d %d %d",&a,&b,&c);
x=a*b;y=x*c;
printf("a=%d,b=%d,c=%d\n",a,b,c);
printf("x=%d,y=%d\n",x,y);}
6 第5章 选择结构程序设计
一、单项选择题(第113页)
1-4.DCBB 5-8.DABD
二、填空题(第115页)
1.非0 0 2.k==0
3.if (abs(x)>4) printf("%d",x);else printf("error!");
4.if((x>=1&&x<=10||x>=200&&x<=210)&&x&1)printf("%d",x);
5.k=1 (原题最后一行漏了个d,如果认为原题正确,则输出k=%。)
6. 8! Right!11 7.$$$a=0 8.a=2,b=1
三、编程题(第116页)
1.有错。正确的程序如下:
main()
{int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("min=%d\n",a>b?b>c?c:b:a>c?c:a);}
2.源程序:
main()
{unsigned long a;
scanf("%ld",&a);
for(;a;printf("%d",a%10),a/=10);}
执行结果:
12345
54321
3.(1)源程序:
main()
{int x,y;
scanf("%d",&x);
if (x>-5&&x<0)y=x;
if (x>=0&&x<5)y=x-1;
if (x>=5&&x<10)y=x+1;
printf("%d\n",y);}
(2)源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<10) if(x>-5) if(x>=0) if(x>=5)y=x+1;
else y=x-1; else y=x;
printf("%d\n",y);}
(3)源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<10) if(x>=5)y=x+1;
else if(x>=0)y=x-1;
else if(x>-5)y=x;
printf("%d\n",y);}
(4)源程序:
main()
{int x,y;
scanf("%d",&x);
switch(x/5)
{case -1:if(x!=-5)y=x;break;
case 0:y=x-1;break;
case 1:y=x+1;}
printf("%d\n",y);}
4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。
现给出Delphi源程序和C++ Builder源程序。
Delphi源程序:
procedure TForm1.Button1Click(Sender: TObject);
begin
edit3.Text:=format('%.0f天',[strtodate(edit2.text) -strtodate(edit1.text)]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit2.Text:=datetostr(now);
button1click(form1)
end;
C++ Builder源程序:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit3->Text=IntToStr(StrToDate(Edit2->Text)-StrToDate(Edit1->Text))+"天";
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit2->Text=DateToStr(Now());
Button1Click(Form1);
}
执行结果:(运行于Windows下) http://img378.photo.163.com/nxgt/41463572/1219713927.jpg
5.源程序:
main()
{unsigned a,b,c;
printf("请输入三个整数:");
scanf("%d %d %d",&a,&b,&c);
if(a&&b&&c&&a==b&&a==c)printf("构成等边三角形\n");
else if(a+b>c&&a+c>b&&b+c>a)
if(a==b||a==c||b==c)printf("构成等腰三角形\n");
else printf("构成一般三角形\n");
else printf("不能构成三角形\n");}
执行结果:
请输入三个整数:5 6 5
构成等腰三角形
6.源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<20)y=1;
else switch(x/60)
{case 0:y=x/10;break;
default:y=6;}
printf("x=%d,y=%d\n",x,y);}
7.源程序:
main()
{unsigned m;float n;
scanf("%d",&m);
if(m<100)n=0;
else if(m>600)n=0.06;
else n=(m/100+0.5)/100;
printf("%d %.2f %.2f\n",m,m*(1-n),m*n);}
执行结果:
450
450 429.75 20.25
8. 2171天(起始日期和终止日期均算在内)
本题可利用第4小题编好的程序进行计算。把起始日期和终止日期分别打入“生日”和“今日”栏内,单击“实足年龄”按钮,将所得到的天数再加上1天即可。
9.源程序:
#include "math.h";
main()
{unsigned long i;
scanf("%ld",&i);
printf("%ld %d\n",i%10,(int)log10(i)+1);}
执行结果:
99887
7 5
10.源程序:
main()
{unsigned long i;unsigned j[10],m=0;
scanf("%ld",&i);
for(;i;){j[m++]=(i+2)%10;i/=10;}
for(;m;m--)i=i*10+j[m-1];
printf("%ld\n",i);}
执行结果:
6987
8109
(注:要加密的数值不能是0或以0开头。如果要以0开头需用字符串而不能是整数。)
7 第6章 循环结构程序设计
一、单项选择题(第142页)
1-4.BCCB 5-8.CBCA
二、填空题(第143页)
1.原题可能有误。如无误,是死循环 2.原题有误。如果把b=1后面的逗号改为分号,则结果是8。 3.20 4.11 5. 2.400000 6.*#*#*#$ 7.8 5 2 8.①d=1.0 ②++k ③k<=n 9.①x>=0 ②x
<amin
三、编程题(第145页)
1. 源程序:
main()
{int i=1,sum=i;
while(i<101){sum+=i=-i-2;sum+=i=-i+2;}
printf("%d\n",sum);}
执行结果:
51
2.源程序:
main()
{double p=0,n=0,f;int i;
for(i=1;i<=10;i++)
{scanf("%lf",&f);
if (f>0)p+=f; else n+=f;}
printf("%lf %lf %lf\n",p,n,p+n);}
3.源程序:
main()
{unsigned a;
scanf("%ld",&a);
for (;a;printf("%d,",a%10),a/=10);
printf("\b \n");}
执行结果:
23456
6,5,4,3,2
4.源程序:
main()
{unsigned long a,b,c,i;
scanf("%ld%ld",&a,&b);
c=a%1000;
for(i=1;i
<b;i++)c=c*a%1000;
if(c<100)printf("0");
if(c<10)printf("0");
printf("%ld\n",c);}
执行结果:
129 57
009
5.略
6.原题提供的计算e的公式有误(前面漏了一项1)。正确的公式是e= 1 + 1 + 1/2! + 1/3! + … + 1/n! + …
(1)源程序:
main()
{double e=1,f=1;int n;
for(n=1;n<=20;n++){f/=n;e+=f;}
printf("e=%.14lf\n",e);}
执行结果:
e=2.71380005
(2)源程序:
main()
{double e=1,f=1;int n;
for(n=1;f>1e-4;n++){f/=n;e+=f;}
printf("e=%.4f\n",e);}
执行结果:
e=2.7183
7.源程序:
main()
{unsigned long a=0,b=1,c=0;int i,d;
scanf("%d",&d);
for (i=1;i<=(d+2)/3;i++)
printf("%10ld%10ld%10ld",a,b,(a+=b+c,b+=c+a,c+=a+b));}
本题还可以用递归算法(效率很低),源程序如下:
unsigned long fun(int i)
{return i<=3?i:fun(i-1)+fun(i-2)+fun(i-3);}
main()
{int i,d; scanf("%d",&d);
for(i=1;i<=d;i++)
printf("%10ld",fun(i));}
执行结果:
15
1 2 3 6 11 20 37 68
125 230 423 778 1431 2632 4841
8.源程序:
main()
{int i;
for(i=1010;i<=9876;i+=2)
if(i/100%11&&i%100%11&&i/10%100%11&&i/1000!=i%10&&i/1000!=i/10%10&&i/100%10!=i%10)printf(" %d",i);}
执行结果:
1024 1026 1028 1032 1034 1036 …… …… 9874 9876
9.源程序:
main()
{int i,j,k;
printf("apple watermelon pear\n");
for(i=1;i<=100;i++)
for(j=1;j<=10;j++)
if((k=100-i-j)*2==400-i*4-j*40)
printf("%4d%7d%9d\n",i,j,k);}
执行结果:
apple watermelon pear
5 5 90
24 4 72
43 3 54
62 2 36
81 1 18
10.源程序:
#include "stdio.h";
#define N 4 /* N为阶数,可以改为其他正整数 */
main()
{int m=N*2,i,j;
for(i=1;i
<m;printf("\n"),i++)
for(j=1;j
<m;
putchar(N-abs(i-N)<=abs(j++-N)?' ':'*'));}
如果把N值改为5,则执行结果如下:
*
***
*****
*******
*********
*******
*****
***
*
</amin