信息技术程序设计练习题


必背知识点

填空题和选择题专用
  1. 字长是CPU在单位时间内(同一时间)一次处理的二进制数的位数是衡量计算机性能的一个重要指标,字长越长一次处理的二进制数的位数越多,计算机的运算精度也就越高。
  2. 一个完整的微型计算机系统应包括(硬件系统和软件系统)。
  3. 世界上第一台电子计算机 ENIAC 是 1946 年在美国诞生的,主要采用电子管和继电器,主要用于弹道计算。
  4. 约翰·冯·诺依曼,“现代电子计算机之父”,他提出了现代电子计算机的基本硬件结构由五个部分组成,包括:运算器、控制器、存储器、输入和输出设备,至今计算机仍保持着这个结构。
  5. 人类社会资源体系的三大支柱为(物质、能量、信息)。
  6. 汉字的内码是在计算机内部对汉字进行存储、处理的汉字代码。字模即汉字的字形码,也称为汉字输出码。
  7. 一个汉字可以有多个输人码或字型码,但机内码只有一个。
  8. BCD码是:用4位二进制数来表示1位十进制数中的0~9这10个数码。
  9. 三网融合是:电信网、计算机网和有线电视网。
  10. 计算机的发展趋势是:巨型化、微型化、网络化和智能化。
  11. 信息技术的发展趋势:多元化、网络化、多媒体化、智能化、虚拟化。
  12. 计算机的应用领域:科学计算、数据处理、过程控制、计算机辅助应用(CAE计算机辅助工程、CAT计算机辅助测试、CAM计算机辅助制造、CAI计算机辅助教学、CAD计算机辅助设计)、人工智能、电子商务、虚拟现实。
  13. 大数据处理流程包括:大数据采集、大数据预处理、大数据存储、大数据分析与挖掘以及结果展现与应用等五个步骤。
  14. 人工智能的应用领域包括:机器人、机器翻译、机器证明、智能代理、模式识别、自然语言理解、机器博弈、专家系统、机器学习等多个领域。
  15. 人工智能系统中知识的四个要素:(事实、规则、控制、元知识)。
  16. ASCII占1个字节、UNICODE占2个字节、UTF-8占3至6个字节、GB2312-80占2个字节。
  17. Windows7操作系统是一个(多用户、多任务)操作系统。
  18. “存储程序和程序控制”是指将程序从存储位置自动取出并逐条执行。计算机硬件如何动作最终是由CPU所执行的指令决定。
  19. 计算机内存储器包括(RAM和ROM)。目前内存常用两类存储器器件:一类称为RAM,即随机存取存储器,其内容既允许存入,也允许取出,使用方便灵活,其缺点是切断机器电源时 RAM中的信息会丢失;另一类称为ROM,即只读存储器,其中存储的内容只能供反复读出,而不能重新写入。因此在ROM中存放的是固定不变的程序与数据,其优点是切断机器电源后,ROM中的信息仍然保留不会改变。
  20. 计算机的性能指标:机器字长、数据通路带宽、主存容量、运算速度、主频、存取周期。
  21. MIPS是衡量计算机中运算速度的指标。
  22. 计算机所能安装的最大主存容量取决于(地址总线位数)。(单选:字长、控制总线位数、数据总线位数、地址总线位数)
  23. 计算机从取一条指令开始到执行完该指令所需要的时间称为一个(指令周期)。
  24. CPU可以直接访问内存(内存储器),不可以直接访问外存(外存储器)。内存可以访问硬盘。
  25. 北桥芯片用来处理高速信号,通常处理中央处理器、存储器、PCIe显卡等设备的通信。南桥设计用来处理低速信号,如输入输出和硬盘接口的通信。
  26. 寄存器是CPU的组成部分,高速缓存只是集成到CPU封装,内存完全是和CPU独立的。所以在存取速度上寄存器最快,高速缓存次之,内存比高速缓存慢,外存最慢。高速缓冲器即Cache,其介于CPU与内存之间。
  27. 在软盘、硬盘和光盘中,存取速度最快的是硬盘,存取速度最慢的是软盘。
  28. 计算机硬盘接口可以分为IDE、SATA、SCSI、光纤通道和SAS五种。
  29. 计算机的主机由微处理器(CPU)和内存储器构成的部分。
  30. 按存储器在微机系统中所起的不同作用来分,可分为主存储器、辅助存储器、高速缓冲存储器。
  31. 将计算机的运算器、控制器集成在一块大规模集成电路芯片上,称为中央处理器。
  32. 总线是连接CPU、内存、缓存、外部控制芯片的数据通道。数据总线宽度决定了CPU与外部Cache、主存及输入输出设备之间进行一次数据传输的信息量。数据总线宽度指明了芯片的信息传递能力。地址总线的位数决定了CPU寻址范围。
  33. 主频=外频×倍频(倍率)。外频=300÷3=100MHz。
  34. 计算机存储单元中存储的是数据或指令。
  35. 十进制数转换为二进制数时,小数部分用(乘2取整法)转换。
  36. 把用户要求计算机进行处理的一个计算问题称为一个作业,批量处理作业的操作系统为批处理操作系统,其实现了计算机操作的自动化。批处理操作系统分为批处理单道系统和批处理多道系统。
  37. 【分时操作系统、实时操作系统、网络操作系统】计算机网络是通过通信设施将地理上分散的计算机系统互连起来,实现信息交换、资源共享、互操作的系统。网络操作系统就是在原来各自计算机基本的操作系统之上,按照网络体系结构的各个协议标准开发的软件,包括网络管理、资源共享、通信、系统安全和多种网络服务等。
  38. 分时操作系统是一个联机的多用户交互式操作系统。分时系统一般采用时间片轮转的方式,使每一台计算机为多个终端用户服务。它具有以下特点:交互性、及时性、独立性。
  39. 数据库系统的特点主要有以下几个方面:(1)数据结构化;(2)数据的共享性高,冗余度低,易扩散;(3)数据由DBMS统一管理和控制。
  40. 数据库管理系统是位于用户和操作系统之间的数据管理软件。它和操作系统一样是计算机的系统软件,也是大型复杂的软件系统。
  41. 信息资源管理的三个阶段:传统管理阶段、技术管理阶段、资源管理阶段。
  42. 数据库管理的三个阶段:人工管理阶段、文件系统阶段、数据库管理系统阶段。
  43. 数据库模型的三要素:数据结构、数据操作和完整性约束(完整性规则、数据模型、数据操作)
  44. 关系模型支持实体完整性约束、参照完整性约束和用户自定义的完整性约束。
  45. 数据库的特点有:实现数据共享、减少数据的冗余度、数据的独立性和数据实现集中控制。学生可随时使用任何一部手机刷卡消费体现了数据库具有实现数据共享的特点。
  46. 数据库系统一般由数据库、数据库管理系统、应用程序、用户和硬件构成。
  47. 关系数据模型是用表格结构来表示实体类型以及实体间联系的模型。关系数据模型包括:关系数据模型的数据结构、关系数据模型的操纵、关系数据模型的完整性约束。
  48. 传统的关系运算包括并、交、差。专门关系代数的4个基本运算:选择、投影、连接、除。
  49. 用树形结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体间联系的数据模型称为网状模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。
  50. 数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
  51. 数据结构课程中数据的逻辑结构分为线性结构和非线性结构。常用的线性结构有:线性表、栈、队列、双队列、数组、串。常见的非线性结构有:二维数组、多维数组、广义表、树(二叉树等)、图、集合。
  52. 对于栈,是后进先出;对于队列,是先进先出。
  53. 从逻辑结构上来划分,数据结构可以分为(线性结构、树形结构、图形结构和集合结构)。
  54. 按寄生方式的不同,可将计算机病毒分为引导型病毒、文件型病毒和复合型病毒3种。其中,引导型病毒是指寄生在磁盘引导区或主引导区的病毒;文件型病毒是指能够寄生在文件中的计算机病毒;复合型病毒是指具有引导型病毒和文件型病毒寄生方式的计算机病毒。
  55. 计算机网络主要的可实现的威胁:渗入威胁(假冒、旁路控制、授权侵犯),植入威胁(特洛伊木马、陷门)。
  56. 在电子商务应用系统中,通常使用数字签名技术来模拟文件或资料中的亲笔签名。数字签名的功能主要包括3个方面:保证信息传输过程中的完整性、发送者身份证和防止交易中的抵赖行为发生。
  57. 所谓防火墙指的是一个有软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。防火墙可以限制访问内部主机、防止病毒入侵(不能杀毒)、统计网络流量。
  58. 网络安全最基本的技术是防火墙技术,最核心的技术是信息加密技术。
  59. 交换技术有三种,分别是:电路交换、报文交换、分组交换。局域网中的以太网采用的是分组交换技术。
  60. 网卡、网桥、交换机是工作在数据链路层。中继器、集线器工作在物理层。路由器(Router)工作在网络层。网关可以工作在网络层、传输层和应用层。
  61. 568A 绿白、绿、橙白、蓝、蓝白、橙、棕白、棕;568B 橙白、橙、绿白、蓝、蓝白、绿、棕白、棕(1326相转换)
  62. 计算机病毒具有传染性、寄生性、潜伏性、隐蔽性、可触发性、破坏性、不可预见性等特征。
  63. 资源子网和通信子网:通信子网包括通信设备(如中继器、集线器、网桥、路由器、网关等)、网络通信协议、通信控制软件等,负责信息的传输;资源子网包括计算机系统、终端、终端控制器、连网外设、各种软件资源与信息资源等。
  64. 信道复用技术:频分复用(FDM)、时分复用(TDM)、统计时分复用(STDM)、波分复用(WDM)、码分复用(CDM)。
  65. 在计算机网络中,网络协议主要要素为(语义、语法、时序)。(语义:解释控制信息每个部分的意义。语法:用户数据与控制信息的结构与格式,以及数据出现的顺序。时序:对事件发生顺序的详细说明)
  66. FTP客户机和服务器之间一般需要建立(2)个连接,在使用FTP进行文件传输时,在客户机和服务器之间需要建立两个连接:控制连接和数据连接。
  67. 数据链路层协议的三个基本问题:封装成帧,透明传输,差错检测。
  68. 在Word中,特殊字符、公式和图片都是以对象的形式插入到文档中的,只有表格不是。表格中插入Word2010文档,是以对象插入。
  69. 最适合在网络中传输的动画类型是(Flash)。
  70. FDDI是(双环令牌/光纤分布式数据接口)。FDDI使用双环令牌,传输速率可以达到100Mbps。由于支持高宽带和远距离通信网络,FDDI 通常用作骨干网。
  71. LPT1是(并行口直接控制显示模块)。
  72. 第一个高级编程语言:FORTRAN。
  73. 云存储:指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
  74. 云计算:云计算是分布式处理、并行处理(Parallel Computing)和网格计算的发展,或者说是这些计算机科学概念的商业实现。通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。云计算的优点和缺点
  75. 射频技术(RF)是Radio Frequency的缩写。较常见的应用有无线射频识别
  76. 对信息的鉴别和评价主要从以下三个方面进行:从信息的来源进行判断、从信息的价值取向进行判断和从信息的时效性进行判断。
  77. 多媒体技术的特征包括(多样性、集成性、实时性、数字化和交互性)。
  78. 国标码=区位码+2020H,机内码=国标码+8080H=区位码+A0A0H。汉字的区位码2790(D),机内码为()。
  79. WebQuest是一种基于网络资源、以探究为基础的学习活动,其中使用信息全部或者大部分来自网络。
  80. Unicode划分为17个层面。
  81. 同一单元格内需要另起一行,快捷键是(Alt+Enter)
  82. Excel=MAX(0,-1,TRUE)的值是1,true=1。
  83. LWZ压缩:不属于常用的多媒体信息压缩标准。
  84. 在Windows环境中各个应用程序之间能够交换和共享信息是通过(剪贴板这个公共数据通道)来实现的。
  85. VB表达式中包含mod、+、\ 、*四种运算符,其中*优先级最高,\是整除,次之,mod是求余,再次之,+是最低的。C语言是*和/同级别,从做到右计算。
  86. 将模拟音频信号在时间上进行离散化处理,这一过程叫(采样)。采样是把时间上连续的模拟信号在时间轴上离散化的过程。量化的主要工作就是将幅度上连续取值的每一个样本转换为离散值表示。编码是整个声音数字化的储存和处理。
  87. 汉诺(Hanoi)塔问题通常采用递归方法解决。
  88. PhotoShop中,色阶的快捷键(Ctrl+L),曲线的快捷键(Ctrl+M),色相饱和度的快捷键(Ctrl+U),Shift+F5填充,Shift+F6羽化

C语言程序设计

求100-500的质数
#include <stdio.h>

int main()
{
    int i,j,n,f=1;
    for(i=100;i<=500;i++){
        f=1;
        for(j=2;j<i/2;j++){
           if(i%j==0){
              f=0;
           }
        }
        if(f==1){
            printf("%d是质数\n",i);
        }else{
            printf("%d不是质数\n",i);
        }
    }
    return(0);
}
C语言出租车计费

出租车计费问题。起步价10元 (三公里内),3~ 10公里之间的每公里2.1元,超出10公里部分每公里3元。输入行车里程,得出总费用。

#include<stdio.h>
int main(){
    int a = 0;
    float b = 0.0;
    while(a <= 0){
        printf("Please input a:\n");
        scanf("%d",&a);
        if(a>0 && a <= 3){
            b = 10.0;
        }else if(a>3 && a <= 10){
            b = 10.0 + (a - 3) * 2.1;
        }else if(a>10){
            b = 10.0 + 2.1*7+ (a - 10) * 3.0;
        }else{
            printf("输入错误,请重新输入\n");
        }
    }
    printf("费用为 %f\n",b);
    return 0;
}
C语言基本运算
#include <stdlib.h>
int main()
{
    int a = 100;
    printf("%d\n",a++);//先用后加;100
    printf("%d\n",a);  //先加后用;101
    printf("%d\n",++a);//先加后用;102
    printf("%d\n",-a++);//先用后加;-102
    printf("%d\n",a);  //先加后用;103
    printf("%d\n",a=5);//即时赋值;5
    printf("%d\n",a=(6,6+a,8-a));//及时赋值;8-5=3
    return(0);
}
水仙花程序
#include <stdio.h>
void main()
{
    int i,j,k;
    for(i=0;i<=9;i++)
    {
        for(j=0;j<=9;j++)
        {
            for(k=0;k<=9;k++)
            {
                if(i*i*i + j*j*j + k*k*k == i*100+j*10+k)
                {
                    printf("%d %d %d \n",i,j,k);
                }
            }
        }
    }
}
指针基础
#include <stdio.h> 
int main()
{
    int a = 100;
    int *p = &a;
    printf("%d \n",&a);
    printf("%d",*p);
    return(0);
}
递归调用(迭代)求a的阶乘
#include <stdio.h>
int fib(int b)
{
    int m=1;
    if(b>1)
    {
        m=fib(b-1);
    }
    return b*m;
}
int main()
{
    int a = 6;
    printf("%d \n",fib(a));
    return(0);
}
冒泡排序法求10个数字的排序
#include <stdio.h>
void main()
{
    int arr[10] = {9,8,7,6,5,4,3,2,1,0};
    int temp;
    for(int i=0;i<9;i++)
    {
        for(int j=0;j<9-i;j++)
        {
            if(arr[j] > arr[j+1])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
        for(int k = 0;k<=9;k++)
        {
            printf("%d,",arr[k]);
        }
        printf("\n");
    }
}
8,7,6,5,4,3,2,1,0,9,
7,6,5,4,3,2,1,0,8,9,
6,5,4,3,2,1,0,7,8,9,
5,4,3,2,1,0,6,7,8,9,
4,3,2,1,0,5,6,7,8,9,
3,2,1,0,4,5,6,7,8,9,
2,1,0,3,4,5,6,7,8,9,
1,0,2,3,4,5,6,7,8,9,
0,1,2,3,4,5,6,7,8,9,
选择排序
#include <stdio.h>
 
void main()
{
    int a[10]={18,12,10,84,30,16,78,9,21,38};
    int i,j,k,temp;
    for(i=0;i<10;i++)
    {
        printf("%d\t",a[i]);
    }
    printf("\n");
    for(i=0;i<10;i++)
    {
        k=i;
        for(j=i+1;j<10;j++)
        {
            if(a[k]>a[j]) k=j;
        }
        if(i!=k){
            temp=a[i];
            a[i]=a[k];
            a[k]=temp;
            //printf("%d和%d交换\n",a[i],a[k]);
        }
        for(int m=0;m<10;m++)
        {
            printf("%d\t",a[m]);
        }
        printf("\n");
    }
}
输出菱形图案
#include <stdio.h>
void main()
{
    int line=3;
    for(int i=1;i<=line;i++)
    {
        for(int j=line-i;j>0;j--)
        {
            printf("-");
        }
        for(int j=1;j<=i*2-1;j++)
        {
            printf("*");
        }
        printf("\n");
    }

    for(int i=line+1;i<=line*2-1;i++)
    {
        for(int j=1;j<i-line+1;j++)
        {
            printf("-");
        }
        for(int j=line*4-i*2-1;j>=1;j--)
        {
            printf("*");
        }
        printf("\n");
    }
}
--*
-***
*****
-***
--*
函数返回数组
#include <stdio.h>
int* arrs(int* b)
{
    //在这里排序好
    return b;
}
void main()
{
    int a[] = {1,2,34,5};
    int* c;
    c = arrs(a);
    for(int i=0;i<=3;i++)
    {
        printf("%d \n",c[i]);
    }
}

VB程序设计

字符串处理

Dim s As String
s = "abcdefg"
Print Right(s, 3)  'efg
Print Left(s, 3)   'abc
Print Mid(s, 3, 2) 'cd
If "a" < "b" Then
    Print "真"
End If

If "caaaaa" < "d" Then
    Print "真"
End If
Private Sub Command1_Click()
    Dim x As Double
    Dim n As Integer
    Dim n As Boolbean
    Dim name As String * 20
    x = 13000000000
    n = 0
    Do While x <= 2600000000
        x = x*1.008
        n = n+1
    Loop
    If n >= 1 Then
        Print "___"
    Else
        Print "___"
    End If

    Dim i As Integer
    Dim j As Integer
    For i = 0 To 5
        Print "___"
    Next
    For i = 1 To 9
        For j = 1 To i
            S = i & "*" & j & "=" & i * j
            Print Tab((j - 1) * 9); S;
        Next j
        Print ""
    Next i

    For i = 1 To 20 Step 2
        Print i
    Next i

    Select Case d
        Case 1
            Print "___"
        Case 2
            Print "___"
        Case 3
            Print "___"
        Case else
            Print "___"
    End Select
    Dim n As Integer
    n = InputBox("请输入要判断的年份")
    If n Mod 4 = 0 And n Mod 100 <>0 Or n Mod 400 = 0 Then
        MsgBox "是闰年"
    Else
        MsgBox "不是闰年"
    End If
End Sub
VB的选择排序
Private Sub Command1_Click()
    Dim d(20) As Single
    n = Val(InputBox("请输入数据的总数里"))
    
    For i = 1 To n
        d(i) = Val(InputBox("请输入第" & i & "个数据"))
    Next i
    
    For t = 1 To n
        Print d(t)
    Next t
    
    For i = 1 To n - 1
        Min = d(i):
        m = i
        For j = i + 1 To n
            If d(j) < Min Then
                Min = d(j)
                m = j
            End If
        Next j
        
        If d(i) <> d(m) Then
            Print "交换" & d(i) & "和" & d(m)
            k = d(i)
            d(i) = Min
            d(m) = k
            For t = 1 To n
                Print d(t)
            Next t
        End If
    Next i
End Sub

生成20个10-100的随机数然后统计5的整数倍的和

Private Sub Command1_Click()
    Dim m As Integer
    Dim sum As Integer    
    sum = 0
    For m = 1 To 20
        x = Int(10 + Rnd * 91)
        If x Mod 5 = 0 Then
            Print x
            sum = sum + x
        End If
    Next m
    Print "sum="; sum
End Sub

Python语言备考

print(11//4) #整除得2
print(10**4) #10的4次方

for index in range(6):
    print(index) #输出0到5
for index in range(6,10):
    print(index) #输出6到9

print(4<=5<=6<=7) #输出True
print(4<=5<=6>=7) #输出False
print(len('R\0S\0T')) #输出5

d={"大海":"蓝色","天空":"灰色","大地":"黑色"}
print(d["大地"])            #黑色
print(d.get("天空","黄色")) #灰色
print(d.get("学校","黄色")) #黄色

a=[1,2,3]
print(id(a))
a.append(4)
print(a)
print(id(a))