第一章.程序设计基础
1.简述冯-诺依曼计算机的组成与工作原理。
(1)硬件系统:运算器、控制器、存储器、输入设备和输出设备五大部件组成。
(2)采用存储程序的方式工作:用户事先编好程序,然后将程序(包含指令和数据)输入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中一次去除指令并执行。
2.在计算机中为什么要采用二进制?
每个电子元器件都具有两种不同地稳定状态,例如电平的高低,可以分别用二进制的“1”和“0”来表示。由于二进制运算法则简单,硬件实现容易,工作稳定可靠,可方便地进行逻辑运算(判定“真”和“假”),所以在计算机内部广泛采用二进制,无论何种类型的信息都必须以二进制的形式在计算机内部进行处理。
3.什么是数制?在计算机领域经常使用的数制有哪些?
(1)计数制/数制:用数字符号排序成数位,按由高到低的进位方式来表示数的方法。
(2)常用的数制:二进制、八进制、十进制、十六进制。
4.什么是原码?什么是反码?什么是补码?写出下列数的原码、反码和补码:156,-156。
(1)原码:符号位用1(负)或0(正)表示,数值部分是整数的绝对值的二进制。
(2)反码:正数的反码和原码相同,负数的反码把原码中除符号位以外的各位取反。
(3)补码:正数的补码与原码相同,负数的补码=反码+1(进位不改变符号位)。
156
十进制转二进制:
156/2=78 0
78/2=39 0
39/2=19 1
19/2=9 1
9/2=4 1
4/2=2 0
2/2=1 0
1/2=0 1
二进制:1001 1100
正数:原码=反码=补码=0000 0000 1001 1100
计算机存储容量的基本单位是字节(Byte,B)。
最小的单位是比特(bit,b),1B=8b。
156为了添加符号位:1001 1100 需向前补0,则需扩展一个计算机单位B=8b,即添加8个0
-156
十进制转二进制:同156,符号位由0转1,即1000 0000 1001 1100
原码:1000 0000 1001 1100
反码:除符号位取反:1111 1111 0110 0011
补码:反码+1:1111 1111 0110 0100
5.什么是ASCII码?
在计算机中,字符和符号常用国际标准化组织规定的美国标准信息交换码ASCII码表示,一个ASCII码用一个字节表示。
6.将下列十进制数转化为二进制数:78,127,255,432,3.789,8.125。
正数部分:除2取余
小数部分:除2取整
78
78/2=39 0
39/2=19 1
19/2=9 1
9/2=4 1
4/2=2 0
2/2=1 0
1/2=0 1
则78的二进制=100 1110
127
127/2=63 1
63/2=31 1
31/2=15 1
15/2=7 1
7/2=3 1
3/2=1 1
1/2=0 1
则127的二进制=111 1111
255
255/2=127 1
同上
则255的二进制=1111 1111
432
432/2=216 0
216/2=108 0
108/2=54 0
54/2=27 0
27/2=13 1
13/2=6 1
6/2=3 0
3/2=1 1
1/2=0 1
则432的二进制=1 1011 0000
3.789(保留4位)
整数:除2取余
3/2=1 1
1/2=0 1
小数:除2取整
0.7892=1 .578
0.5782=1 .156
0.1562=0 .312
0.3122=0 .624
则3.789的二进制=11.1100
8.125
整数:除2取余
8/2=4 0
4/2=2 0
2/2=1 0
1/2=0 1
小数:除2取整
0.1252=0 .25
0.252=0 .5
0.5*2=1 .0
则8.125的二进制=1000.001
7.将下列八进制数或十六进制数转化为二进制数:(75.612)8,(78A.D3F)16。
(75.612)8
二进制转8进制:3位一组
111 101 . 110 001 010
(78A.D3F)16
二进制转16进制:4位一组
0111 1000 1010 . 1101 0011 1111
8.什么是计算机程序?设计程序的目的是什么?
计算机程序就是将解决某个问题的操作步骤用计算机语言按照严格的语法规则进行描述的一组语句序列,是一组计算机能识别和执行的指令。
计算机程序告诉计算机做什么和怎么做,计算机就会自动按照预设的顺序执行完成每个步骤,有条不紊地工作,从而完成指定的任务。
9.什么是计算机语言?为什么要使用计算机语言?目前流行的计算机语言有哪些?
计算机语言:人类和计算机都能识别的语言作,作为交流的媒介。
为什么:人类要让计算机做事情,就要和计算机进行交流,告诉计算机做什么和怎么做。
流行语言:c,c++,c#,python等。
10.什么是算法?一个正确的算法应该具有哪些特性?如何表达一个算法?
算法:为解决某个具体的问题而采取的确定的、有限的、按照一定次序进行的、可执行的操作步骤。
特性:(1)有穷性。(2)确定性。(3)有效性。(4)输入。(5)输出。
表示:(1)自然语言。(2)传统流程图。(3)N-S流程图。(4)伪代码。(5)计算机语言。
11.程序开发的基本步骤是什么?
程序设计(编程):(1)分析问题。(2)设计算法。(3)编写程序代码。(4)运行程序,分析结果。
12.请说明运行一个c程序的基本过程,以及各阶段的主要任务。
(1)新建文件,编写程序。
(2)输入程序代码。
(3)编译:编译成功,生产目标程序文件.obj。
(4)连接:生产可执行文件.exe.
(5)运行。
(6)关闭项目工作区。
13.参照本章例题1.1编写一个c程序,程序的功能是在屏幕上输出以下内容:
#include <stdio.h>
int main() {
printf("***********************************\n");
printf(" welcome!\n");
printf("***********************************\n");
return 0;
}