Problem A: 信息学竞赛练习题
Description
单选题:
1.以下运算符中,优先级最高的是:()
A.*=
B.||
C.&&
D.>=
2.以下变量命名不符合规范的是?()
A. day
B. for
C.my_name
D._school
3.在 C++中使用cin和cout来输入输出,可以用以下哪两个语句替代 ()
A.scanf(),printf()
B. scan(),print()
C. for(),if()
D. get(),put()
4.已知:double a=123.4;int b=a*10;double c=b/10.0;则执行语句:cout<<c<<end1;后
输出在屏幕的值为()
A.123.4
B.123.4000000
C.123
D.123.000000
5.要通过什么方法才能将char c中的字符转化为大写字符()
A.c-‘A’+’a’
B. c-‘a’+’A’
C..c-‘b’+’a’
D.c-‘a’+’a’
6.二进制数 1001011加上二进制数1011,运算结果转换成十进制是多少?()
A. 86
B.96
C.97
D.87
7. for(i=0;i<=10;i++)这个循环结束后,i的值是()。
A. 9
B.10
C.11
D.12
8.下列程序的循环次数是()次。
int k=0;
while(k<10){
if(k<1) k++;
if(k==4) break:
k++;
}
A. 5
B.死循环,不能确定循环次数
C.6
D.3
9.标准ASCII码(American Standard Code for Information Interchange, 美国信
息交换标准码)使用二进制数组合来表示(【18】)种可能的字符,包括大写和小写字母、
数字 0~9、标点符号,以及在美式英语中使用的特殊控制字符。
A.256
B.128
C.64
D.32
10.若w=1,x=2,y=3,z=4,则条件表达式w>x?w:z<y*10?y:z的值是()。
A.4
B.3
C.2
D.1
11.小明写程序时很不注意格式的规范,当他写完下面一段程序后自己也看不清程序逻
辑了,请大家帮他分析一下:当 a=1,b=5,c=4,d=3时,执行完这段程序后x的值是()。
x=3
For(int i=a;i<b;i++){
If(i%d==0 || i%c==0) x++;
}
Cout<<x<<endl;
A.1
B.4
C.5
D.6
12.已知一个数组int a[]={1,3,5,7,9} 请问声明后的a数组大小,以及a[3]的值()
A.5,7
B. 6,7
C. 3,1
D. 5,5
13. 求 a=3+4%5*2的结果()
A.4
B.10;
C.11
D.14
14.请问以下计算的结果a=15.0%3
A.0
B.5.
C.报错,程序无法运行
D.5.0
15. 二进制数 -
10 的原码、反码、补码正确的是( )
A. 10001010、11110101、11110110
B. 10001010、11110110、11110101
C. 11110110、10001001、10001010
D. 11110101、10001010、10001001
16.对于正数 +5,其原码、反码、补码分别是( )
A. 00000101、00000101、00000101
B. 00000101、11111010、11111011
C. 10000101、11111010、11111011
D. 10000101、00000101、00000101
填空题:
17.
十进制数 1008转化为十六进制数为:()
18.
十六进制数A7转换为十进制为多少:()
19
C++中当一个函数为int get(double x) ,则该函数应返回什么数据类型()。
20.
若有 int a[10]={1,2,3,4,5,6,7,8,9,10};,则 a[a[1]+2*a[2]-(‘3’-‘0’)]的值是()。
21.对于递推公式:F(n)=F(n-1)+3,已知F(1)=2,求F(5)的值是()。
22.有以下程序:
int i,s=2;
for(i=0;i<20;i++){
s+=i;
i++;
}
cout<<s;
程序执行后的输出结果s的值是()。
23.
定义如下变量和数组:
int k;
int a[5]={9,8,7};
则语句 for (k=1;k<5 ;k++) cout<<a[k] <<’
的输出结果是()(用空格分隔每个值)。
24.
两个整数为56,24求这对数的最小公倍数,
25.
10个三好学生名额分配到7个班级,每个班级至少有一个名额,一共有几种不同的分配方案
代码阅读题:
1.
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
for(int i=0;i<s.size();i++)
{
if(s[i]>='a' && s[i]<='z'){
s[i]=s[i]-'a'+'A';
cout<<s[i];
}
else if(s[i]>='0' && s[i]<='9'){
cout<<s[(s[i]-'0')%5];
}
}
return 0;
}
题目编号 |
26 |
27 |
28 |
输入数据 |
abcd |
abcdef46 |
ilovec++6 |
输出数据 |
|
|
|
2.
#include<bits/stdc++.h>
using namespace std;
int fun(int n){
if(n==1||n==0) return 1;
else return n+fun(n-1)+fun(n-2);
}
int main(){
int a;
cin>>a;
cout<<fun(a)<<endl;
return 0;
}
题目编号 |
29 |
30 |
31 |
输入数据 |
1 |
3 |
6 |
输出数据 |
|
|
|
HINT
题目中出现要输出空格的,都只需空一格。
在输入答案的时候,选项均为大写,要在编号后面空一格输入自己的答案