一、阅读程序写结果题(每题5分,共30分)

一、阅读程序写结果题(每题5分,共30分),第1张

全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲

竞赛形式和成绩评定

联赛分两个年龄组:初中组和高中组。每组竞赛分两轮:初试复试

初试形式为笔试,侧重考察学生的计算机基础知识和编程的基本能力,并对知识面的广度进行测试。程序设计的描述语言采用Pascal或Basic或C/C++。各省市初试成绩在本赛区前百分之十五的学生进入复赛。

复试形式为上机,侧重考察学生对问题的分析理解能力,数学抽象能力,驾驭编程语言的能力和编程技巧、想象力和创造性等。程序设计语言可采用Pascal、Basic、C/C++或Java。各省市竞赛的等第奖在复试的优胜者中产生。为鼓励学生多学习较新技术,使用C/C++或Java的学生可以得到适当加分

试题形式

每次联赛的试题分四组:初中组初试赛题;初中组复试赛题;高中组初试赛题;高中组复试赛题。其中,初中组初试赛题和高中组初试赛题类型相同,初中组复试赛题和高中组复试赛题类型相同,但初中组和高中组的题目不完全相同,高中组难度略高,以体现年龄特点和层次要求。

初试:初试全部为笔试,满分100分。试题由四部分组成:

选择题:共20题,每题15分,共30分。每题有5个备选方案,前10个题为单选题(即每题有且只有一个正确答案),后10题为复选题(即每题有1至5个正确答案,只有全部选对才得分)。

问题求解题:共2题,每题5分,共10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。答案以字符串方式给出,考生给出的答案与标准答案的字符串相同,则得分;否则不得分。

程序阅读理解题:共4题,每题8分,共32分。题目给出一段程序(不一定有关于程序功能的说明),有时也会给出程序的输入,要求考生通过阅读理解该段程序给出程序的输出。输出以字符串的形式给出,如果与标准答案一致,则得分;否则不得分。

程序完善题:共2题,每题14分,共28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对的,则得分;否则不得分。

复试:复试的题型和形式向全国信息学奥赛(NOI)靠拢,全部为上机编程题,但难度略低。复试为决出竞赛成绩的最后一个环节。题目包括4道题,每题100分,共计400分。难度有易有难,既考虑普及面,又考虑选拔的梯度要求。每一道试题包括:题目、问题描述、样例说明(输入、输出及必要的说明)。测试时,测试程序为每道题提供了5-10组测试数据,考生程序每答对一组得10分,累计分即为该道题的得分。

试题的知识范围

一、初赛内容与要求:

计算机的基本常识

1计算机和信息社会(信息社会的主要特征、计算机的主要特征、数字通信网络的主要特征、数字化)

2信息输入输出基本原理(信息交换环境、文字图形多媒体信息的输入输出方式)

3信息的表示与处理(信息编码、微处理部件MPU、内存储结构、指令,程序,和存储程序原理、程序的三种基本控制结构)

4信息的存储、组织与管理(存储介质、存储器结构、文件管理、数据库管理)

5信息系统组成及互连网的基本知识(计算机构成原理、槽和端口的部件间可扩展互连方式、层次式的互连结构、互联网络、TCP/IP协议、>

q=m&n^r;

这句中 & 是位与 *** 作,^是位异或 *** 作。

(二进制, 只列举八位)

m = 14 = 0000 1110 

n = 11 =  0000 1011

r = 6 =    0000 0110

-----------------------------

m & n = 0000 1010    -> (m & n) ^ r = 0000 1100 = 12。

1错误,可以有多个返回语句,但返回值只有一个。2错误,系统将返回语句中表达式的类型转换为函数定义时的类型。3,题目不完整。42。54。62。73。84。92。101。

对于读程序题,建议自己用编辑软件写一写,看看运行结果,对你帮助很大。

选择题:

1d

2a

3b

4a

5b

6a

7d

8c

9a

10d

填空:

1循环结构

24

3非0

4if

5跳出本次循环

6char

7假

8for

90

10switch

问答题:

1,不与回答填空有。

2int ,long,char, double, float

3++i是在i的寄存器中直接加1,i++是把i放到临时寄存器中,再临时寄存器中加1,然后临时寄存器中的i值返回个i的寄存器。

4不是任何时候,当值小于255的时候可以的。因为char是1一个字节,最大255,int4个字节最大65535

读程题:

1。a=10,b=8,c=16

2。a=65 a=A b=66 b=66

x=67 x=C y=65 y=65

z=67

编程题:

1#include <stdioh>

#include <unistdh>

#include <stdlibh>

#include <stringh>

#define LINE 1024

void main()

{

int i = 5;

int sum=1;

for( ; i > 0; --i)

sum = i;

printf("%d\n", sum);

return 0;

}

2#include <stdioh>

#include <unistdh>

#include <stdlibh>

#include <stringh>

#define LINE 1024

int main(void)

{

int a[3];

int min, max;

int i=0;

scanf("%d%d%d", &a[0], &a[1], &a[2]);

min = max = a[0];

for (i = 1; i<3;++i)

{

if (min > a[i])

min = a[i];

if (max < a[i])

max = a[i];

}

printf("max=%d min=%d\n", max, min);

return 0;

}

3#include <stdioh>

#include <unistdh>

#include <stdlibh>

#include <stringh>

#define LINE 1024

int main(void)

{

int i=100;

int a,b,c;

for (;i<999;++i)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

if(aaa+bbb+ccc == i)

printf("%d\n", i);

}

return 0;

}

4:

#include <stdioh>

#include <unistdh>

#include <stdlibh>

#include <stringh>

int main(void)

{

int line, i, j;

scanf("%d", &line);

int a[line][line];

int len = 1;

int h;

for(i = 0; i < line; ++i)

for(j = 0; j < line; ++j)

a[i][j] = 0;

for(i = 0; i < line; ++i)

{

for(j = 0; j < len; ++j)

{

if (len == 1)

a[i][j] = 1;

else

{

a[i][0] = 1;

for(h = len - 1; h > 0; --h)

{

a[i][h] = a[i-1][h]+a[i-1][h-1];

}

}

}

len ++;

}

for(i = 0; i < line; ++i)

{

for(j = 0; j < line; ++j)

if (a[i][j] != 0)

printf("%d ",a[i][j]);

printf("\n");

}

return 0;

}

给你升级了,自己输入行数,比如输入10行,就是你想要的。

程序1数组为:

1 第0行

1 1 第1行

1 2 1 第2行

1 3 3 1 第3行

输出为:第2,3行

程序2作用是把输入字符串中各字符的ASCII码加1,遇到z则转成a

故答案是:

17 C

18 D

19 D

20 C

以上就是关于一、阅读程序写结果题(每题5分,共30分)全部的内容,包括:一、阅读程序写结果题(每题5分,共30分)、请问这道C语言程序阅读题答案为什么是x=3,y=6麻烦帮我分析一下、C程序阅读题(求解答几个逻辑运算符)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10165711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存