信息学奥赛初赛天天练-82-NOIP2014普及组-完善程序-机器语言、汇编语言、高级语言、计算机存储、二进制加法、IP地址、整数除法

news/2024/9/21 22:39:33/文章来源:https://www.cnblogs.com/myeln/p/18393139

1 NOIP 2014 普及组 基础题1

1 以下哪个是面向对象的高级语言( )
A 汇编语言
B C++
C Fortran
D Basic

2 TB 代表的字节数是( )
A 2 的10 次方
B 2 的20 次方
C 2 的30 次方
D 2 的40 次方

3 二进制数 00100100 和 00010101 的和是( )
A 00101000
B 001010100
C 01000101
D 00111001

12 下列几个 32 位 IP 地址中,书写错误的是( )
A 162.105.135.27
B 192.168.0.1
C 256.256.129.1
D 10.0.0.1

13 要求以下程序的功能是计算 s=1+1/2+1/3+...1/10

#include <iostream>  
using namespace std;  
int main()  
{ int n;     float s;     s = 1.0; for(n = 10; n > 1; n--)       s = s + 1 / n;     cout << s << endl;     return 0;   
} 

程序运行后输出结果错误,导致错误结果的程序行是( )
A s = 1.0
B for(n = 10; n > 1; n--)
C s = s + 1 / n;
D cout << s << endl;

2 相关知识点

1) 编程语言

编制程序的过程称程序设计。书写程序用的“语言”叫做程序设计语言即计算机语言。计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。

一般的计算机目前还不能在人类的自然语言上直接操作,用计算机解决实际问题,必须对所要解决的问题周密考虑一个明确的处理方法(算法),再使用计算机能理解的计算机语言编制成程序,然后通过输入设备才能告诉计算机该怎么去做

机器语言

机器语言是指一台计算机全部的指令集合,由“0”和“1”组成的二进制数指令序列,运算效率是所有语言中最高的。机器语言,是第一代计算机语言。

机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行

汇编语言

汇编语言用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串。

比如,用“ADD”代表加法,“MOV”代表数据传递等等。汇编语言,是第二代计算机语言,如:PUSH AX、PUSH BX、POP AX、ADD CX,BX等。

为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言,亦称符号语言。由于汇编语言是面向具体机型的,仍离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。汇编语言是低级语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途

高级语言

计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

高级语言普遍的有BASIC、Pascal、C、C++、VC、VB、Delphi、JAVA等。与机器语言、汇编语言相比,高级语言的主要好处包括:

高级语言接近算法语言,易学、易掌握;
高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;
高级语言远离机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率高;
自动化程度高,开发周期短

描述客观系统分类

面向过程语言

以“数据结构+算法”程序设计范式构成的程序设计语言,称为面向过程语言。前面介绍的程序设计语言大多为面向过程语言。

面向对象语言

以“对象+消息”程序设计范式构成的程序设计语言,称为面向对象语言。比较流行的面向对象语言有 Delphi、Visual Basic、Java、C++等

2) 计算机存储

比特(bit)

比特是计算机中最基本的存储单元,它代表数字信息的最小单位。比特只能表示两种状态之一,通常用0和1来表示

字节(byte)

字节(byte)是计算机存储容量的基本单位之一,通常用来表示数据的大小或存储空间的大小。一个字节由8个比特组成

千字节(kilobyte) 简称KB,1KB等于1024字节

常用存储单位

1B=8b

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

3) 二进制加法

二进制加法,和十进制加法类似,可以使用竖式进行相加

和十进制加法区别为,十进制是逢十进一,二进制加法是逢二进一

例如

1001+0011=1100

 1001
+0011
-----1100

4) IP地址

现在的Internet最早起源于60年代末期美国国防部的ARPANET(阿帕网)。Internet上的每一台机器(包括服务器、PC等)都有自己独立的IP(Internet Position)地址。通过这些IP地址可以对这些机器在Internet进行唯一标识,而计算机的使用者就可以通过这些IP地址对这些计算机进行访问了。

通常一个IP地址共有32位,分为4段,每段8位(也即1个字节)。它的表示方法如下:xxx,xxx,xxx,xxx,其中每段的取值范围为0~255

5) 整数除法

整数除法中,默认是向下取整

例如 5/2=2

#include<bits/stdc++.h>
using namespace std;
/*2个整数相除结果也是整数,如果不能整除会向下取整 
*/ 
int main(){int a=15,b=2;int c=15/2;cout<<"15/2为:"<<c<<endl; return 0;
}
/*
输出:
15/2为:7
*/ 

3 思路分析

1 以下哪个是面向对象的高级语言( B )
A 汇编语言
B C++
C Fortran
D Basic

分析

A 汇编语言是一种低级语言,它的语法与计算机的硬件指令非常接近,它不属于面向对象的高级语言。
B C++是一种高级编程语言,它在C语言的基础上增加了面向对象的特性,如类、对象、继承、封装和多态等,C++是一种面向对象的高级语言。
C Fortran是一种高级编程语言,主要用于科学计算和数值分析。虽然它是一种高级语言,但它不是面向对象的编程语言。
D Basic是一种高级编程语言,它的语法简单,易于学习,Basic不是一种面向对象的编程语言
所以选B

2 TB 代表的字节数是( D )
A 2 的10 次方
B 2 的20 次方
C 2 的30 次方
D 2 的40 次方

分析

1TB = 1024 GB
1GB = 1024 MB
1MB = 1024 KB
1KB = 1024 B
1TB = 1024 * 1024 * 1024 * 1024 B = 2^10 * 2^10 * 2^10 * 2^10 B = 2^(10+10+10+10) B=2^40 B

3 二进制数 00100100 和 00010101 的和是( D )
A 00101000
B 001010100
C 01000101
D 00111001

分析

根据二进制加法规则,列竖式,逢二进一00100100
+00010101
----------00111001

12 下列几个 32 位 IP 地址中,书写错误的是( C )
A 162.105.135.27
B 192.168.0.1
C 256.256.129.1
D 10.0.0.1

分析

一个IP地址共有32位,分为4段,每段8位(也即1个字节)。它的表示方法如下:xxx,xxx,xxx,xxx,其中每段的取值范围为0~255
256超出了取值范围
所以选C

13 要求以下程序的功能是计算 s=1+1/2+1/3+...1/10

#include <iostream>  
using namespace std;  
int main()  
{ int n;     float s;     s = 1.0; for(n = 10; n > 1; n--)       s = s + 1 / n;     cout << s << endl;     return 0;   
}

程序运行后输出结果错误,导致错误结果的程序行是( C )
A s = 1.0
B for(n = 10; n > 1; n--)
C s = s + 1 / n;
D cout << s << endl;

分析

根据整数除法规则,两数相除不能整除会向下取整
1/10=0
2/10=0
1/n会导致丢失小数,所以选C

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/791121.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线性整数规划建模精解

线性整数规划(Linear Integer Programming)是一种优化问题,它的目标是在满足一系列线性约束条件的情况下,最大化或最小化一个线性目标函数。整数规划(Integer Programming)是一类特殊的线性规划问题,其中某些或所有的决策变量必须取整数值。这种限制使得整数规划在某些情…

奥鹏教师教育网刷课脚本-JavaScript编写

脚本 学习网站:奥鹏教师教育网: http://www.ourteacher.com.cn/ 脚本地址:奥鹏教师教育网-刷课脚本 教程 1.插件安装(以Microsoft Edge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩展搜索Ta…

【Kafka】binlog kafka并行消费提升小窍门

线上库存Process实例配置详情: 背景:1.业务是通过监听 上游mysql binlog完成的 2.binlog是通过 DDH kafka下发的 3.consumer消费 已经做到了 7ms的单条消息消费性能优化 4.怎样还能再提醒 消费方的消费速率呢? 5.当先consumer实例 蓝绿组共12个实例 2C2G (CPU2核,内存…

oracle 查看表空间

SELECT segment_name,segment_type,sum(bytes) / 1024 / 1024/ 1024 "GB"FROM dba_extentsWHERE segment_name = FABCAPABILITYBANKGROUP BY segment_name, segment_type;

antd-Vue 3.X版本 a-Checkbox 未回显的问题

1.3.X版本要求得value值的而类型为[string],如果是number则不会显示、 <a-form-item label=人员 name="person"><a-checkbox-group v-model:value="person":option="personList" /> </a-form-item>

Kettle 发送Http请求获取数据,并保存到db

布局图 Generate rows:设置请求参数 配置第一个接口(登录) - POST 往请求head中插入数据从响应的head中读取数据 对获取的数据进行处理 配置第二个接口(获取数据) - GET 从响应的结果中,反序列化数据 保存到DBReference: Kettle 连接 Oracle 使用手册 及 问题解决方案…

山财培训网刷课脚本-JavaScript编写

脚本 学习网站:山财培训网首页-会计培训专家: http://training.sdufe.edu.cn/ 脚本地址:山财培训网-刷课脚本 教程 1.插件安装(以Microsoft Edge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩…

svnhooks--给用户提交权限,实现单次提交

在上一篇文章说到,我们通过getuser的方法向服务器请求到svn配置文件有写权限的用户,下面我们需要把用户显示在前端文件中,简单列一下前端的核心显示代码,具体的css样式就不列出来了<div class="user-container" id="userList" {% if commitSwitch==…

内蒙古巴彦淖尔市事业单位工作人员在线培训网刷课脚本-JavaScript编写

脚本 学习网站:byne.chinahrt.cn 脚本地址:内蒙古巴彦淖尔市事业单位工作人员在线培训网-刷课脚本 教程 1.插件安装(以Microsoft Edge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩展搜索Tam…

标题

标题 二级标题 加粗更多交流,请加微信:itzixueba.请备注好友来自博客园<虫吧>

Apache DolphinScheduler大规模任务调度系统对大数据实时Flink任务支持

转载自神龙大侠 我是用olphinScheduler 3.2.1版本做源代码编译部署(部署方式参考我的另外一篇文档《源代码编译,Apache DolphinScheduler前后端分离部署解决方案》) 二进制文件部署本文也适用,只需要修改相对应的配置即可。 资源管理底层基座替换成hdfs Flink程序jar包是在…

JAVA-IO流之字节的输入输出流

一、IO流的分流按流的流向分为:输入流、输出流 根据处理的数据类型分为:字节流、字符流 在计算机中、将硬盘上的文件向内存中的流为输入流(读取)、将内存中的流输出到硬盘为输出流(写)二、java流-字节输入输出流概念:流可以理解为一个数据序列、输入流表示从一个源读取数…