一、选择题
第 1 题 以下不属于计算机输出设备的有(A)。
A、麦克风
B、音箱
C、打印机
D、显示器
解释:3月时已经考过,选择A
(脑抽了,刚开始看选B·-·)
第 2 题ChatGPT 是 OpenAI研发的聊天机器人程序,它能通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,完成很多工作。请你猜猜看,下面任务中,ChatGPT不能完成的是(C)。
A.改邮件 B.编剧本 C.擦地板 D.写代码
解释:聊天机器人不会擦地板,但是它可能会让你擦地板·-·
第 3 题 常量’3’的数据类型是(C )。
A.double
B.float
C.char
D.int
解释:怎么跟3月的题都差不多嘞·-·
第 4 题 下列关于C++语言变量的叙述,正确的是(D)。
A.变量可以没有定义
B.对一个没有定义的变量赋值,相当于定义了一个新变量
C.执行赋值语句后,变量的类型可能会变化
D.执行赋值语句后,变量的值可能不会变化
解释:A 变量必须经过定义才能使用;B:整句话都是错的,没啥地方好改的·-· ;C:类型不会变化的。
第 5 题 以下可以作为C++标识符的是(A)。
A.number_of_Chinese_people_in_millions
B.360AntiVirus
C.Man&Woman
D.break
解释:B以数字开头,C有符号&,D为关键字,这些都不能是标识符
第 6 题 以下哪个不是C++语言的关键字?(D)
A.double
B.else
C.while
D.endl
解释:endl不是黑体
第 7 题 如果a、b和c都是int类型的变量,下列哪个语句不符合C++语法?(D)
A.a = (b == c);
B.b = 5.5;
C.c = a + b + c;
D.a + c = b + c;
解释:实验题·-·
第 8 题 如果用一个int类型的变量a表达正方形的边长,则下列哪个表达式不能用来计算正方形的面积?(C)
A.a * a
B.1 * a * a
C.a ^ 2
D.a * 2 * a / 2
实验题·-·
第 9 题 表达式(4 * (11 + 12) / 4)的计算结果为(C)。
A.47
B.20
C.23
D.56
解释:小学计算题·-·
第 10 题 如果a为int类型的变量,且a的值为6,则执行a %= 4;之后,a的值会是( B)。
A.1
B.2
C.3
D.4
实验题
第 11 题 如果a和b均为int类型的变量,下列表达式能正确判断“a等于0且b等于0”的是(B)
A.(a == b == 0)
B.!(a || b)
C.(a + b == 0)
D.(a == 0) + (b == 0)
实验题
第 12 题 如果a和b为int类型的变量,且值分别为7和2,则下列哪个表达式的计算结果不是3.5?(A)
A.0.0 + a / b
B.(a + 0.0) / b
C.(0.0 + a) / b
D.a / (0.0 + b)
实验题
第 13 题 在下列代码的横线处填写(C),使得输出是“20 10”。
A.a + b
B.b
C.a - b
D.b - a
实验题
第 14 题 在下列代码的横线处填写(B),可以使得输出是“147”。
A.i % 2 == 1
B.i % 3 == 1
C.i = i + 3
D.i + 3
实验题·-·
第 15 题 执行以下C++语言程序后,输出结果是(D)。
A.63
B.98
C.113
D.无法确定
sum是局部变量,局部变量初始值是随机的。
二.判断题
第 1 题 计算机硬件主要包括运算器、控制器、存储器、输入设备和输出设备。
正确
常识题
第 2 题 诞生于1958年的103机是中国第一台通用数字电子计算机,比1946年在美国诞生的第一台通用电子计算机 ENIAC 晚了十多年。
正确
常识题
第 3 题 在C++语言中,计算结果必须存储在变量中才能输出。
错误
不一定,比如:a=5,b=4,cout<
第 4 题 在C++语言中,标识符的命名不能完全由数字组成,至少有一个字母就可以。
错误
常识题
(可恶,脑子又抽了,字母和下划线一定要在第一个!!!)
第 5 题 10是一个int类型常量。
正确
第 6 题 if语句可以没有else子句。
正确
第 7 题 do … while语句的循环体至少会执行一次。
正确
第 8 题 如果a和b为int类型的变量,则表达式a = b可以判断a和b是否相等。
错误
少了一个等号
第 9 题 如果a为int类型的变量,则表达式(a % 4 == 2)可以判断a的值是否为偶数。
错误
第 10 题 表达式(37 / 4)的计算结果为9,且结果类型为int。
正确
编程第一题
试题名称:时间规划
时间限制: 1.0s
内存限制: 128.0MB
【问题描述】
小明在为自己规划学习时间。现在他想知道两个时刻之间有多少分钟,你能通过编程帮他做到吗?
【输入描述】
输入4行,第一行为开始时刻的小时,第二行为开始时刻的分钟,第三行为结束时刻的小时,第四行为结束时刻的分钟。输入保证两个时刻是同一天,开始时刻一定在结束时刻之前。时刻使用24小时制,即小时在0到23之间,分钟在0到59之间。
【输出描述】
输出一行,包含一个整数,从开始时刻到结束时刻之间有多少分钟。
【样例输入1】
9
5
9
6
【样例输出1】
1
【样例输入2】
9
5
10
0
【样例输出2】
55
思路很简单,将结束时刻的小时调整至与开始时刻相同,分钟数相减就行了。
代码:
#include
using namespace std;
int beginh,beginm,endh,endm;
int main()
{
scanf("%d\n%d\n%d\n%d",&beginh,&beginm,&endh,&endm);
while(endh>beginh)
{
endm+=60;
endh--;
}
printf("%d",endm-beginm);
return 0;
}
编程第二题
试题名称:累计相加
时间限制: 1.0s
内存限制: 128.0MB
【问题描述】
输入一个正整数n,求形如:1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+5+…+n)的累计相加。
【输入描述】
输入一个正整数。约定 1【输出描述】
输出累计相加的结果。
【样例输入1】
3
【样例输出1】
10
【样例输入2】
4
【样例输出2】
20
【样例输入3】
10
【样例输出3】
220
这题也比较简单,就是等差数列的相加,我们先寻找规律:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 …… n
我们发现,第二行比第一行多2,第三行比第二行多3,第n行比第n-1行多n,我们就可以列出核心代码了:
ans+=i;
sum+=ans;
//sum:总和
//ans:次等常数列的和
//i:表示这是第几个等差数列
代码:
#include
using namespace std;
int i,n,sum=0,ans=0;
int main()
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
ans+=i;
sum+=ans;
}
printf("%d",sum);
return 0;
}
有错误欢迎指出。