小学生信息学奥赛c++练习

合集下载

信息学奥赛基础知识习题(答案缩小版)

信息学奥赛基础知识习题(答案缩小版)

信息学奥赛基础知识习题(答案版)1.我们把计算机硬件系统和软件系统总称为 C 。

(A)计算机CPU (B)固件(C)计算机系统 (D)微处理机2.硬件系统是指 D 。

(A)控制器,运算器(B)存储器,控制器(C)接口电路,I/O设备(D)包括(A)、(B)、(C)3. 计算机软件系统包括 B 。

A) 操作系统、网络软件B) 系统软件、应用软件C) 客户端应用软件、服务器端系统软件D) 操作系统、应用软件和网络软件4.计算机硬件能直接识别和执行的只有 D 。

(A)高级语言 (B)符号语言(C)汇编语言 (D)机器语言5.硬盘工作时应特别注意避免 B 。

(A)噪声 (B)震动(C)潮湿 (D)日光6.计算机中数据的表示形式是 C 。

(A)八进制 (B)十进制(C)二进制 (D)十六进制7.下列四个不同数制表示的数中,数值最大的是 A 。

(A)二进制数11011101 (B)八进制数334(C)十进制数219 (D)十六进制数DA8.Windows 9x操作系统是一个 A 。

(A)单用户多任务操作系统(B)单用户单任务操作系统(C)多用户单任务操作系统(D)多用户多任务操作系统9.局域网中的计算机为了相互通信,必须安装___B__。

(A)调制解调器(B)网卡(C)声卡(D)电视卡10.域名后缀为edu的主页一般属于__A____。

(A)教育机构(B)军事部门(C)政府部门(D)商业组织11. 香港在世界上注册的顶级域名是__A____。

(A)hk (B)cn (C)tw (D)com12.计算机能够自动、准确、快速地按照人们的意图进行运行的最基本思想是(D)。

(A)采用超大规模集成电路(B)采用CPU作为中央核心部件(C)采用操作系统(D)存储程序和程序控制13.设桌面上已经有某应用程序的图标,要运行该程序,可以 C 。

(A)用鼠标左键单击该图标(B)用鼠标右键单击该图标(C)用鼠标左键双击该图标(D)用鼠标右键双击该图标14.若己选定某文件,不能将该文件复制到同一文件夹下的操作是 C 。

小学信息学编程比赛模拟题(C++)

小学信息学编程比赛模拟题(C++)

小学信息学编程比赛模拟题(C++)试题说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。

“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。

做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查。

多余的格式检查可能会适得其反,使用你的程序错误。

在测试的时候,系统会自动将输入数据输入到你的程序中,你不能给任何提示。

比如,你在输入的时候提示“请输入A、B”之类的话是不需要的,这些多余的输出会使得你的程序被判定为错误。

“输出格式”是要求你的程序在输出结果的时候必须满足的格式。

在输出时,你的程序必须满足这个格式的要求,不能少任何内容,也不能多任何内容。

如果你的内容和输出格式要求的不一样,你的程序会被判断为错误,包括你输出了提示信息、中间调试信息、计时或者统计的信息等。

“数据规模与约定”中给出了试题中主要参数的范围。

这个范围对于解题非常重要,不同的数据范围会导致试题需要使用不同的解法来解决。

比如本题中给的A、B范围不大,可以使用整型(int)来保存,如果范围更大,超过int的范围,则要考虑其他方法来保存大数。

有一些范围在方便的时候是在“问题描述”中直接给的,所以在做题时不仅要看这个范围,还要注意问题描述。

“样例输入”给出了一组满足“输入格式”要求的输入的例子。

这里给出的输入只是可能用来测试你的程序的一个输入,在测试的时候,还会有更多的输入用来测试你的程序。

“样例输出”给出了一组满足“输出格式”要求的输出的例子。

样例输出中的结果是和样例输入中的是对应的,因此,你可以使用样例的输入输出简单的检查你的程序。

要特别指出的是,能够通过样例输入输出的程序并不一定是正确的程序,在测试的时候,会用很多组数据进行测试,而不局限于样例数据。

有可能一个程序通过了样例数据,但测试的时候仍只能得0分,可能因为这个程序只在一些类似样例的特例中正确,而不具有通用性,再测试更多数据时会出现错误。

信息学奥赛经典算法C语言经典例题100例

信息学奥赛经典算法C语言经典例题100例

信息学奥赛经典算法C语言经典例题100例经典C源程序100例1.【程序1】三位数组合题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码: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);} }==============================================================2.【程序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.程序源代码: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;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus); }==============================================================3.【程序3】完全平方数题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

c 信息学奥赛一本通编程启蒙练3211

c 信息学奥赛一本通编程启蒙练3211

c 信息学奥赛一本通编程启蒙练3211C语言是一门广泛应用于计算机科学和软件开发领域的编程语言。

对于初学者来说,掌握C语言的基本知识是非常重要的。

而《信息学奥赛一本通编程启蒙练3211》则是一本以C语言为基础的编程启蒙练习书籍,旨在帮助读者打好编程基础。

我们来了解一下C语言的基本概念和特点。

C语言是一种结构化的、面向过程的编程语言,它可以用来编写系统软件和应用软件。

C语言具有简洁、高效、灵活等特点,因此在很多领域都有广泛的应用。

在C语言的学习过程中,我们首先要了解C语言的基本语法和数据类型。

C语言中的基本语法包括变量的定义、赋值和运算符的使用等。

数据类型则包括整型、浮点型、字符型等。

掌握这些基本知识是编写C程序的基础。

接下来,我们需要学习C语言中的控制结构和循环结构。

控制结构包括条件语句和选择语句,它们用于根据条件执行不同的代码块。

循环结构则用于反复执行一段代码,有助于提高程序的效率和灵活性。

C语言还提供了丰富的函数库,可以方便地实现各种功能。

函数库中包含了各种常用的函数,如输入输出函数、数学函数等。

熟练掌握函数库的使用可以大大提高编程的效率。

在编写C程序时,我们还需要注意一些常见的错误。

例如,变量未初始化、数组越界、内存泄漏等。

了解这些错误的原因和解决方法可以帮助我们编写出更加健壮和可靠的程序。

除了基本的语法和知识,编程中的算法和数据结构也是非常重要的。

算法是指解决问题的方法和步骤,而数据结构则是存储和组织数据的方式。

掌握常用的算法和数据结构可以帮助我们更好地解决实际问题。

在《信息学奥赛一本通编程启蒙练3211》这本书中,作者通过一系列的练习题和案例,引导读者逐步掌握C语言的基本知识和编程技巧。

这些练习题从简单到复杂,涵盖了C语言的各个方面。

通过不断地练习和实践,读者可以逐渐提高自己的编程水平。

C语言是一门重要的编程语言,掌握C语言的基本知识对于初学者来说是非常必要的。

《信息学奥赛一本通编程启蒙练3211》这本书提供了一系列的练习题和案例,帮助读者逐步掌握C语言的基础知识和编程技巧。

第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)精编版

第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)精编版

第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题一、单项选择题(每题1.5分,共22.5分)。

1. 以下哪个是面向对象的高级语言( ).A. 汇编语言B. C++C. FORTRAND. Basic2. 1TB代表的字节数量是( ).A. 2的10次方B. 2的20次方C. 2的30次方D. 2的40次方3. 二进制数00100100和00010101的和是( ).A. 00101000B. 001010100C. 01000101D. 001110014. TCP协议属于哪一层协议( ).A. 应用层B. 传输层C. 网络层D. 数据链路层5. 下列几个32位IP地址中,书写错误的是( ).A. 162.105.128.27B. 192.168.0.1C. 256.256.129.1D. 10.0.0.16. 在无向图中,所有定点的度数之和是边数的( )倍.A. 0.5B. 1C. 2D. 47. 对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为( ).A. n/2B. (n+1)/2C. (n-1)/2D. n/48. 编译器的主要功能是( ).A. 将一种高级语言翻译成另一种高级语言B. 将源程序翻译成指令C. 将低级语言翻译成高级语言D. 将源程序重新组合9. 二进制数111.101所对应的十进制数是( ).A. 5.625B. 5.5C. 6.125D. 7.62510. 若有变量int a, float x, y, 且a=7, x=2.5, y=4.7, 则表达式x+a%3*(int)(x+y)%2/4的值大约是( ).A. 2.500000B. 2.750000C. 3.500000D. 0.00000011. 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个续结点。

struct node { data next data next data next int data;struct node *next; ↑p ↑q ↑r} *p,*q,*r;现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是( ).A. q->next = r->next; p-> next = r; r->next = q;B. p->next = r; q->next = r->next; r->next = q;C. q->next = r->next; r->next = q; p->next = r;D. r->next = q; q->next = r->next; p->next = r;12. 同时查找2n 个数中的最大值和最小值,最少比较次数为( ).A. 3(n-2)/2B. 4n-2C. 3n-2D. 2n-213. 设G是有6个结点的完全图,要得到一颗生成树,需要从G中删去( )条边.A. 6B. 9C. 10D. 1514. 以下时间复杂度不是O(n2)的排序方法是( ).A. 插入排序B. 归并排序C. 冒泡排序D. 选择排序15. 以下程序实现了找第二小元素的算法。

信息学奥赛c++试题

信息学奥赛c++试题

信息学奥赛C 试题示例及其实现信息学奥赛C++试题通常包括以下几种类型:1.基础编程题:这类题目主要考察学生对C++语言基础知识的掌握程度,包括变量、数据类型、运算符、控制结构、函数等。

2.数据结构题:这类题目通常涉及到一些常见的数据结构,如数组、链表、栈、队列、树等,要求学生能够熟练掌握这些数据结构的操作和算法。

3.算法题:这类题目通常涉及到一些常见的算法,如排序、查找、动态规划等,要求学生能够熟练掌握这些算法的实现和应用。

4.数学题:这类题目通常涉及到一些基本的数学知识和概念,如数论、几何、概率等,要求学生能够熟练掌握这些数学知识和概念的应用。

以下是一个简单的信息学奥赛C++试题示例:题目:给定一个长度为n的数组,将数组中的元素按照从大到小的顺序排列。

要求:1.实现一个函数,将给定数组按照从大到小的顺序进行排序。

2.函数的时间复杂度应为O(nlogn)。

3.函数的空间复杂度应为O(1)。

实现示例:#include <iostream>#include <algorithm>using namespace std;void sortArray(int arr[], int n) {sort(arr, arr + n, greater<int>());}int main() {int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};int n = sizeof(arr) / sizeof(arr[0]);sortArray(arr, n);for (int i = 0; i < n; i++) {cout << arr[i] << " ";}cout << endl;return 0;}以上代码使用了C++标准库中的sort函数进行排序,greater<int>()指定了降序排序。

小学c编程竞赛试题及答案

小学c编程竞赛试题及答案

小学c编程竞赛试题及答案小学C编程竞赛试题及答案1. 题目:编写一个C程序,计算并输出1到100之间所有奇数的和。

答案:以下是一个简单的C程序,用于计算1到100之间所有奇数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of odd numbers from 1 to 100 is %d\n", sum);return 0;}```2. 题目:编写一个C程序,实现两个整数的加法,并输出结果。

答案:以下是一个简单的C程序,用于实现两个整数的加法。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum of %d and %d is %d\n", num1, num2, sum); return 0;}```3. 题目:编写一个C程序,找出并输出一个数组中的最大值。

答案:以下是一个C程序,用于找出并输出一个数组中的最大值。

```c#include <stdio.h>int main() {int arr[] = {10, 20, 30, 40, 50};int max = arr[0];for (int i = 1; i < 5; i++) {if (arr[i] > max) {max = arr[i];}}printf("The maximum value in the array is %d\n", max); return 0;}```4. 题目:编写一个C程序,实现字符串的反转。

信息学奥赛辅导(C语言一)

信息学奥赛辅导(C语言一)

信息学奥赛辅导(C语言一)信息学奥赛辅导:C语言复习题(一)第1~3章练习题一、选择题1、一个C语言程序总是从____A、主过程开始执行B、主函数开始执行C、子程序开始执行D、主程序开始执行2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_A、4B、16C、32D、523、下面四个选项中,均是C语言关键字的选项是____A、auto enum includeB、switch typedef continueC、signed union scanfD、if struct type4、下面四个选项中,均是合法整型常量的选项是____A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x5、下面四个选项中,均是合法浮点数的选项是___A、+1e+1 5e-9.4 03e2B、-.60 12e-4 -8e5C、123e 1.2e-.4 +2e-1D、-e3 .8e-4 5.e-0A、'\'' '\\' '\n'B、'\' '\017' '\"'C、'\018' '\f' 'xab'D、'\\0' '\101' 'xlf'7、下面正确的字符常量是____A、'\X17'B、'\80'C、'\\'D、"\n"8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____A、-10 0x8f -011B、0abc -017 0xcC、010 -0x11 0xf1D、0a12 -0x123 -0xa9、下面四个选项中,均是正确的数值常量或字符常量的选项是____A、0.0 0f 8.9e '&'B、"a" 3.9E-2.5 1e1 '\"'C、'3' 011 0xFF00 0aD、+001 0xabcd 2e2 50.10、若有代数式,则正确的C语言表达式是____A、2*ln(x)*cos(x)/3*xB、2*ln(x)*cos(x)/(3*x)C、2*log(x)*cos(x)/3*xD、2*log(x)*cos(x)/(3*x)11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确定,说明不正确12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____A、*=→?:→%→>→sizeofB、?:→*=→>→%→sizeof13、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b+d-c的结果类型为____A、floatB、charC、intD、double14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b++)D、a=9+b++=a+715、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____A、DB、68C、一个不确定的值D、C16、以下运算符中优先级最高的运算符是____A、&&B、++C、?:D、!=17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___A、2.500000B、2.7500000C、3.500000D、0.00000018、sizeof(float)是____A、双精度型表达式B、一个整型表达式C、一个函数调用D、一个不合法的表达式19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.020、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____A、0~255B、0~65535C、-32768~+32767D、-256~+25521、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12)A、n%=(m%=5)B、n%=(m-m%5)C、n%=m-m%5D、(n%=m)-(m%=5)22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是___< bdsfid="170" p=""></b?a:c<d?c:d 的值是___<>A、4B、3C、2D、123、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___A、20B、100C、表达式不正确D、4524、putchar函数可以向终端输出一个____A、整型变量值B、实型变量值C、字符串D、字符或字符型变量值25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf("%f,%f",&x1,&x2);B、scanf("%f%f",&x1,&x2);C、scanf("%3.2f└─┘%2.1f",&x1,&x2);D、scanf("%3.2f%2.1f",&x1,&x2);26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为___{int a1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A、a1+a2+a3=48B、a1+a2+a3=25B、a1+a2+a3=10D、不确定值27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____A、132<回车>B、a=1b=3c=2<回车>C、1<回车>3<回车>2<回车>D、a=1<回车>b=3<回车>c=2<回车>28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____A、int x=y=z=5;B、int x,y,z=5;C、int x=5,y=5,z=5;D、x=5,y=5,z=5;29、执行下面程序段后,x的值是____int x;printf("%d\n",(x=3*5,x+5));30、下面程序段的输出结果是____int a=023;printf("%d\n",--a);A、23B、17D、2431、已知ch是字符型变量,则不正确的赋值语句是____A、ch=5+9;B、ch='\0';C、ch='7'+'9';D、ch='a+b';32、设x,y是float型变量,则不正确的赋值语句是____A、++x;B、y=int(5);C、x*=y+1;D、x=y=0;33、设有说明:double b=0.5,c=1.5;int a=10;则正确使用了C语言库函数的赋值语句是____A、c=asin(c)+fabs(a);B、b=log10(b)+pow(b);C、c=sqrt(b-c);D、a=(int)(atan2((double)a,b)+exp(b-0.2));34、以下程序段的输出结果是____int i=1,j=4,k=2;float x=5.5,y=9.0,z;z=(i+j)/k+sqrt((double)y)*1.2/k+x;printf("%f\n",z);A、9.800000B、9.300000C、8.500000D、8.00000035、若a为int类型变量,则执行以下程序段后a的值为____a=5;a*=a/=a++;B、1C、40D、336、若a和b均为int型变量,则执行以下程序断后x的输出是____x=15;y=15;printf("%d\n",x%=(y%=2));A、0B、1C、6C、1237、若x为unsigned int类型变量,则执行以下程序段后x的值是____x=65535;printf("%d\n",x);A、65535B、1C、无定值D、-138、以下语句的执行结果是____printf("%d\n",NULL);A、1B、0C、-1无定值39、若x为int类型变量,则执行以下程序段后的输出结果是____x=0xDEF;printf("%4d,%4o,%4x\n",x,x,x);A、3567,6757,defB、3567,6757,xdefC、3567,06757,0xdefD、3567,6757,0def40、若a、b、c均为int型变量,则执行以下程序段后的输出结果为____b=(a=10,a+5,c=10);printf("a=%d,b=%d,c=%d\n",a,b,c);c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);A、a=10,b=15,c=10B、a=10,b=10,c=10a=10,b=5,c=10 a=10,b=5,c=10C、a=10,b=10,c=10D、a=10,b=10,c=10a=10,b=5,c=15a=10,b=5,c=541、若a1、a2、a3、a4均为char类型变量,则执行以下程序段后的输出结果为____a1='1';a2='2';a3='3';a4='4';printf("%1c\n",a1);printf("%2c\n",a2);printf("%3c\n",a3);printf("%4c\n",a4);A、1B、1C、1D、输出格式的描述符不正确2 2 023 3 0034 4 000442、执行语句printf("The program's name is c:\\tools\book.txt");后的输出是____B、The program's name is c:\tools book.txtC、The program's name is c:\\tools book.txtD、The program's name is c:\toolook.txt43、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是____scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);A、1234123121<回车>B、1234123412341234<回车>C、1234+1234+1234+1234<回车>D、1234+123+12+1<回车>44、设c1、c2均是char类型变量,则以下不正确的函数调用是____A、scanf("c1=%cc2=%c",&c1,&c2);B、getchar( )C、putchar(c2);D、putchar(c1,c2)45、逻辑运算符两侧运算对象的数据____A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据46、判断char型变量c1是否为大写字母的正确表达式是____A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')C、(c1>='A')&&(c1<='Z')D、('A'<=c1) AND ('Z'>=c1)47、执行以下程序段后的a值是___,b的值是___,c的值是___int a=5,b=6,c=1,x=2,y=3,z=4;A、0B、6C、1D、548、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是_A、'i'&&'j'B、i<=jC、i||j+k&&j-kD、!((i<j)&&!k||1)< bdsfid="334" p=""></j)&&!k||1)<>49、设ch是char类型变量,其值是A,则以下表达式的值是____ch=(ch>='A'&&ch<='Z')?(ch+32):chA、ZB、AC、aD、z50、若希望当num的值为奇数时,表达式的值为“真”,num 的值为偶数时,表达式的值为“假”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

小学生信息学奥赛c++练习一、选择题(共20小题,每题2分,共40分)1、将十进制数89化为九进制数是()A) 88B) 89C) 98D) 108(正确答案)2、机器语言是用()编写的A) 二进制码(正确答案)B) ASCII码C) 十六进制码D)国标码3、下面()软件更适宜创建多媒体演示报告。

A) WordB) ExcelC) PowerPoint(正确答案)D) Windows4、我们经常听到的“3G”的含义是()A) 信息技术、电子技术、通迅技术B)第三代移动通讯技术(正确答案)C)高速互联网D)极速5、微型计算机的性能主要取决于()A) 内存B)中央处理器(正确答案)C) 主板D) 硬盘6、BIOS(基本输入输出系统)是一组固化在计算机内()上一个ROM芯片上的程序。

A) 控制器B) CPUC) 主板(正确答案)D) 内存条7、计算机中表示乘号的标识符是’’,它和数字8同在一个键上,输入这个符号,应配合使用其他()键A) shift(正确答案)B) AltC) Caps LockD) Ctrl8、下列文件扩展名为音乐格式的是:()A) .docB) .jpgC) .mp3(正确答案)D) .swf9、在C++系统中,下列可作为变量名的是()A) 北京B) whileC) do3(正确答案)D) mp(3)10、在C++程序中,以下结果为实数型的是( )A) 4&3B) 11/3C) fabs(3-1)D) sqrt(4)(正确答案)11、有以下程序段s=0;for (i=1;iif (a[i]% 2 == 0 ) s=s+1;cout该程序段的主要功能是( )[单选题]A) 判断数组a中是否有偶数B) 判断数组a中是否有奇数C) 判断数组a中是偶数的个数(正确答案)D) 判断数组a中是奇数的个数12、执行下面程序段后,x,y,z的值分别是( )cin>>x>>y>>endl; cin>>z>>endl;cout<<x<<y<<z<<endl;运行时输入:10 20 30 40 5060 70 80[单选题]A) 10 20 30B) 20 30 40C) 10 20 60(正确答案)D) 10 20 7013、下列哪个函数能从一个字符串中取得一个子串()?A)strlenB) charC) posD) substr(正确答案)14、下面程序段运行时循环体执行的总次数是( )。

t1=’M’;t2=’Q’;for (cx=t1 ;cx<=t2;cx++) s=s+ord(cx);A) 6B) 5(正确答案)C) 3D) 415、表达式28 / 4 %(-3) + int(3.675)的值是()A) 5B) 4(正确答案)C) 3D) 216、(15 / 2>5) || false 中运算符/,||和>,下列哪组运算次序是正确的()A) > → / → ||B) || → > →/C) || →/→ >D) /→ > → ||(正确答案)17、已知二维数组定义longint a[4][4];每个元素占用4个字节,则数组a 需要占用的总字节数是()。

A) 12B) 16C) 48D) 64(正确答案)18、排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置。

这是哪种排序方法的基本思想()?A) 冒泡排序(正确答案)B) 直接插入排序C) 快速排序D) 堆排序19、以下哪一个不是队列的基本运算?()A) 从队尾插入一个新元素B) 从队列中删除第i个元素(正确答案)C) 判断一个队列是否为空D) 读取队头元素的值20、设全集E={a,b,c,d,e};A,B,C都是E的子集,其中A={a,b};B={a,b,e};C={b,d};则(A∪B) ∩~C= ( )A) {b,d}B) {a,e}(正确答案)C) {a,b,e}D) {b}二、问题求解(每题6分,共12分)1、甲、乙二人投飞镖比赛,规定每中一次记10分,脱靶每次倒扣6分,两人各投10次,共得152分,其中甲比乙多得16分,问:两人各中多少次?_________________________________(答案:甲中9次,乙中8次)2、如图,连接一个正六边形的各顶点。

问图中共有多少个等腰三角形(包括等边三角形)?_________________________________(答案:38)三、阅读程序(每题8分,共24分)1、#include<iostream>using namespace std;int main(){int a,b,c,d;cout<<”input a , b:”;cin>>a>>b>>endl;;cout<<endl;cout<<a<< ’/’<< b << ’=’;c=a /b;d=a% b;cout<<c<<”…”<< d<<endl;cin>>endl;}输入:490 25输出:_________________________________(答案:490/25=19…15)2、#include<iostream>using namespace std;int main(){ int a,b,c,t;cout<<”input a,b,c=”;cin>>a >> b >> c;if (a>b ){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (b>c ){t=b; b=c; c=t;}cout<<set(4)<<a<<set(4)<<b<<set(4)<<c<<endl;cin>>endl;;}输入:25 49 23输出:_________________________________(答案:23 25 49)3、#include<iostream>using namespace std;int main(){int a1,a2,a3,a4,a5;cout<<”input 5 numper:”;cin>>a1>>a2>>a3>>a4>>a5>>endl;cout<<’(’ <<a1 << ’,’ <<a2<< ’,’ <<a3<< ’,’<<a4<<’,’<<a5, ”)=”;a1=gcd(a1,a2);a1=gcd(a1,a3);a1=gcd(a1,a4);a1=gcd(a1,a5);cout<<a1<<endl;}int gcd(int x,int y){ int n;while (x% y != 0 ){n=x; x=y; y=n % x;};return y;}输入:250 200 400 300 600输出:_________________________________(答案:(250,200,400,300,600)=50)四、完成程序(每空4分,共24分)1、猜价格:现如今在各种场合都会碰到“猜价格”的游戏节目或活动。

现在请编程模拟这一游戏:由计算机随机产生200至5000之间的一个整数,作为某件商品的价格,然后由你去猜是多少,若你猜的数在了,则计算机输出提示“Gao”,若你猜的数小了,则计算机输出提示“Di”,然后根据提示继续猜,直到你猜对了,计算机会提示“Ok”,并统计你猜的总次数。

#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int main(){ int t,x,a;srand(time(0));x=rand()%4801+200;t=0;do{(1)Cout<<”[’,t,’] qing ni cai jia ge:”;cin>>a>>endl;if (2) then cout<<”Gao”;if (3) then cout<<”Di”;if (4) then cout<<”Ok”;}while(a!=x)cout<<”ni zong gon cai le:’,t,’ci!”<<endl;}_________________________________(答案:1、t=t+1 2、a>x3、a)2、编程输入十个正整数,然后自动按从大到小顺序输出。

#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int main(){const int N=11;int i,j,a [N];for i=1;i<N;i++){Cout<<i<< ’:’;Cin>>( (5) );}for (j=1 ;j<N-1;j++)for( i=1 ;i<=N-j;i++)if (a[i]<a[i+1]) (6) )for( i=1;i<N;i++)cout<<setw(6)<<a[i];cin>>end;}void swap(intx,int y);{int t;t=x; x=y; y=t;}_________________________________(答案:5、a[i]6、)。

相关文档
最新文档