针对CSP-J/S的每日一练:Day 1

1.1.1 输入与输出

C++中的输入和输出操作主要是通过std::cin和std::cout这两个对象来完成的。std::cin是一个“流”对象,用于从用户那里获取输入,通常是通过键盘输入。而std::cout也是一个“流”对象,但它用于向用户展示输出,通常是在屏幕上。例如:

int x;
std::cin >> x;  // 从用户处获取一个整数值
std::cout << "x is " << x << "\n";  // 在屏幕上显示“x is”后跟x的值,并以换行符结束

1.1.2 变量与常量

变量是程序中用于存储数据的标识符。在C++中,每个变量都有一个特定的类型,这个类型决定了变量在内存中所占用的空间大小以及数据的存储和访问方式。
常量是一种特殊的变量,它的值在定义后不能被更改。在C++中,我们使用const关键字来定义一个常量。例如:

const int pi = 3.14159;  // pi是一个常量,其值是3.14159
int x = 10;  // x是一个整数变量,其值是10

1.1.3 数据类型

C++提供了多种数据类型,包括:
基本类型:例如int(整数)、char(字符)、float(浮点数)、double(双精度浮点数)等。
复合类型:例如数组、结构体、联合等,这些类型是由基本类型组合而成的。
指针类型:指针是一种特殊的变量类型,它存储的是内存地址,而不是值。例如int* p;表示p是一个指向整数的指针。
自定义类型:例如类(class)、结构体(struct)等,这些类型可以让我们自定义数据结构和行为。

1.1.4 数组

数组是一种复合数据结构,它允许我们存储相同类型的多个元素。我们使用索引(从0开始计数)来访问和修改数组中的元素。例如:

int arr[5] = {1, 2, 3, 4, 5};  // 定义一个包含5个整数的数组
std::cout << arr[2];  // 输出数组的第三个元素,值为3

在C++中,数组的元素可以是任何类型,包括其他数组、指针等,这给了我们极大的灵活性。这意味着我们可以创建多维数组,例如二维数组、三维数组等。例如:

int arr2[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};  // 二维数组
std::cout << arr2[2][2];  // 输出二维数组的第三行第三列元素,值为9

上述是基本的理论知识,大家一定要牢牢地记住。下面就是几道真题喽~睁大眼睛仔细看!

1.2.1 选择题

1.2.1.1 在C++中,以下哪个关键字用于声明一个常量?
A. const
B. var
C. void
D. int

1.2.1.2 下列哪个函数用于输出一个整数?
A. printf
B. cout
C. scanf
D. getchar

1.2.2 判断题

1.2.2.1 在C++中,分号用于结束一个语句的执行。(对/错)
1.2.2.2 一个程序可以同时使用多个编译器进行编译。(对/错)

1.2.3 程序阅读题

#include <iostream>
using namespace std;

int main()
{
    int num1, num2, sum;
    cin >> num1 >> num2;
    sum = num1 + num2;
    int average = sum / 2;
    cout << average;
    return 0;
}

请说明此程序的bug。程序想要的效果如下:
输入

1 3.3

输出

2.15

1.3 参考答案

1.2.1.1: 正确答案是 A. const,在C++中,const关键字用于声明一个常量,表示一个不可变的值。
1.2.1.2: 正确答案是 B. cout,在C++中,cout是C++标准库中的输出流对象,用于输出各种类型的数据。
1.2.2.1: 正确。在C++中,分号用于结束一个语句的执行。
1.2.2.2: 错误。一个程序只能使用一个编译器进行编译。虽然可以使用多个编程语言来编写一个程序,但是最终需要使用一个编译器将所有的代码编译成可执行文件。
1.2.3
程序中的bug是平均数的计算方式不正确。因为整数除法会自动向下取整,所以无法得到正确的平均数。正确的计算方式应该是将sum强制转换为double类型,然后再进行除法运算。

#include <iostream>
using namespace std;

int main()
{
    int num1, num2;
    double sum, average;
    cin >> num1 >> num2;
    sum = num1 + num2;
    average = sum / 2.0;
    cout << average;
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值