为什么建议让孩子学习C++? C++很强 如果用一句话描述C++,那就是“灵活、、强大”。C++由C语言发展而来,是后者的“超级升级版”,既能够进行面向过程的程序设计,又特别擅长面向对象的程序设计。 例如,在C++的诸多特性中,提供给编程者的”工具箱“——标准模板库(STL)在工业界和竞赛中特别实用。总的来说,C++吸收了各个语言的优点,操作丰富、特性强大、执行效率高,集技术思想于大成,一直稳居较受欢迎的编程语言之列。 竞赛只认C++ i.信息学竞赛和数学、物理、化学和生物竞赛同属于”竞赛“,简称“信竞”或“信奥”。其中青少年信息学奥林匹克竞赛(NOI)是信竞的“天花板”赛事。 ii.NOI自1984年起由中国计算机学会(CCF)举办,选手经过NOIP、省选的层层选拔,以省队为单位进行较高水平的角逐,成绩0名者入选中国集训队,获得高校保送资格。有NOI获奖经历的学生,有机会破格入围强基计划,被高校降分录取。 根据国际信息学奥林匹克竞赛(IOI)的相关决议,CCF早在2016年就指定C++为NOI系列赛事自2022年起的参赛语言。 深圳信息学奥赛编程培训学校 童程童美专注于中国6-18岁青少儿编程教育的品牌。依托集团多年积累的互联网教育经验和百余名IT教研团队优势,经过多年,研发出针对中国儿童的编程教育体系。作为化运营品牌,目前学习中心已经遍及北京、上海、广州、天津、杭州等40多个省市,课程流动课堂走进了120多所中学公立校。 2023信息学奥赛(CSP-J1)入门级C++语言试题 一、单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项) 1. 在C++中,下面哪个关键字用于声明一个变量,其值不能被修改?( )。 A. unsigned B. const C. static D. mutable 答案: B 在C++中,关键字const用于声明一个变量,表示其值是常量,不能被修改。一旦用const声明一个变量后,它的值在声明之后就不能再被修改,任何试图修改该变量的操作都会被编译器报错。其中 A 选项为无符号性 B 为定义常亮 (不可修改)C 为静态变量 D 为可修改变量和 const 2. 八进制数123456708 和076543218的和为( )。 A. 222222218 B. 211111118 C. 221111118 D. 222222118 答案: D 首先将八进制数转换为十进制数,然后将两个十进制数相加,较后将结果转换回八进制数。 3. 阅读下述代码,请问修改data的value成员以存储3.14,正确的方式是( )。
union Data{ int num; float value; char symbol; }; union Data data;
A. data.value = 3.14; B. value.data = 3.14; C. data->value = 3.14; D. value->data = 3.14; 答案: A Union 为联合体,和 struct 类似,赋值应用.运算符,指针才能用->运算符 4. 假设有一个链表的节点定义如下:
struct Node { int data; Node* next;};
现在有一个指向链表头部的指针:Node* head。如果想要在链表中插入一个新节点,其成员data的值为42,并使新节点成为链表的个节点,下面哪个操作是正确的?( ) A. Node* newNode = new Node; newNode->data = 42; newNode->next = head; head = newNode; B. Node* newNode = new Node; head->data = 42; newNode->next = head; head = newNode; C. Node* newNode = new Node; newNode->data = 42; head->next = newNode; D. Node* newNode = new Node; newNode->data = 42; newNode->next = head; 答案: A D 选项没有更新 head 的值,导致没法插入新的数据,BC 选项对 head 的 data 进行修改 5. 根节点的高度为1,一根拥有2023个节点的三叉树高度至少为( )。 A. 6 B. 7 C. 8 D. 9 答案: C 满三叉树的节点数为s=(3^n-1)/2,2023 个节点介于 7 层到 8 层之间,所以较少需要 8 层二叉树,所以至少八层