青少年编程知识记录 codecoming

2020年CSP-S初赛题目及答案解析

一、单项选择题请选出以下最大的数()A.(550)10           B.(778)8        C.2^10        D.(22F)16 【答案】C【解析】B选项:7*8^2 + 7*8^1 + 7*8^0 = 551 C选项:1024D选项:2*16^2 + 2*16^1 +2*16^0=5592.操作系统的功能是()
作者:亿万年的星光 分类:初赛 浏览:

2019年CSP-S初赛题目及答案解析

一、单项选择题1.若定义int a=7; float x=2.5,y=4.7;则表达式x+a%3*int(x+y)%2的值是:()A.0.000000        B.2.750000      C.2.500000    D.3.500000【答案】D【解析】考察数据类型和逻辑运算优先级,先算x+y=7.2 然后强转成int是7,7%2=1,前面的a%3=1。再算1*1是1,2.5加1是3.5 选D2.
作者:亿万年的星光 分类:初赛 浏览:

2021年CSP-J 初赛题目及答案解析

 2021年普及组一、单项选择题1.以下不属于面向对象程序设计语言的是(  )。A.C++        B.Python        C.Java        D.C【答案】D【解析】只有C语言是面向过程,其余的都是面向对象。2.以下奖项与计算机领域最相关的是(
作者:亿万年的星光 分类:初赛 浏览:

2020年CSP-J 初赛题目及答案解析

扫码关注上面微信公共号或直接搜索微信公众号:编程练练看,发送“CSPJ2020”获取文章答案查看详细解题过程.题目及答案下载链接(PDF):https://box356.lanzoub.com/iUllf27ae9gj2020年普及组一、单项选择题1.在内存储器中每个存储单元都被赋予一个唯一的序号,称为(   )。A.地址        B.序号     &
作者:亿万年的星光 分类:初赛 浏览:

2019年CSP-J 初赛题目及答案解析

扫码关注上面微信公共号或直接搜索微信公众号:编程练练看,发送“CSPJ2019”获取文章答案查看详细解题过程:原版初赛题目下载链接:CSP-J相关资料 - 青少年编程知识记录 (codecoming.com)答案:解析:2019年普及组一、单项选择题1.中国的国家顶级域名是(  )A..cn        B..ch        C..chn&n
作者:亿万年的星光 分类:初赛 浏览:

信息学奥赛知识点(十五)----链表

4.1 基本概念(1)用来存储数据变量叫做数据域。(2)用来存“直接后继(前趋)元素的地址”的指针叫做指针域。(3)数据域和指针域构成的元素叫做结点。(4)”->” 箭头运算是结构体指针访问其指向的成员变量的操作符.4.2单链表(1)单链表的定义:1.  struct Node {2.   int data;3.   Node * next;4.  };5.  Node * p;(2)单链表的查找//(按序号查找)在单链
作者:亿万年的星光 分类:初赛 浏览:

信息学奥赛知识点(十四)----指针

3.1 定义

指针就是地址。

指针变量定义形式:  类型说明符  *变量名     例如:int  *a;

含义:定义了一个int *类型变量,名称为a。(只能存储int *类型)

注意:int *类型和int 类型不一样。



3.2 指针的赋值

实际操作中,&”符号表示“取地址符”。(区别与&&和按位与&,使用场景不同)。比如下面的代码:

1.  #include<iostream>

2.  #include<cstdio>

3.  using namespace std;

4.  int main() {

5.   int a=3;

6.   int *p=NULL;

7.   p=&a;

8.   cout<<"a的值"<<a<<endl;  //3

9.   cout<<"p的值"<<p<<endl;  //0x22fe34

10.  cout<<"*p的值"<<*p<<endl; //3

11.  return 0;

12. }

其中,第7行的“&”表示取变量a的地址,赋值给p变量,而p是指针类型,可以保存地址。

scanf读取数据的时候,也会写作scanf(“%d”,&a); 这里面的&”也是取地址符号。

10行的结果是3,也就是a的值,这里可以这样理解:因为pint *类型,*p等价于*(int *),这里可以“负负得正”的思想来记录结果,也就是指向了int *这个指针所指向的变量。

3.3 指针与数组

  指向数组的指针变量称为数组指针变量。数组是内存上一块连续的空间。数组名就是这块连续空间的首地址。

1.  #include<iostream>

2.  #include<cstdio>

3.  using namespace std;

4.  int main() {

5.   int a[10];

6.   for(int i=0; i<5; i++) {

7.    scanf("%d",a+i); 

8.   }

9.   for(int i=0; i<5; i++) {

10.   printf("%d ", *(a+i)); 

11.  }

12.  return 0;

13. }



作者:亿万年的星光 分类:初赛 浏览:

信息学奥赛知识点(十三)----树和二叉树(下)

一、表达式的求法考试中有经常出现类似于“中缀表达式转后缀”,“前缀表达式转后缀”等。如果能画出唯一的二叉树那么便根据二叉树的结构之间求解即可,有些情况很难直接画出二叉树。还有通过加括号的方式进行求解,还有利用栈的方法求表达式。(1) 【中缀转后缀:利用栈】规则:①从左往右遇到操作数直接输出 ②遇到操作符,放入栈中③遇到左括号,入栈      ④遇到右括号,出栈(直到遇到左括号,左括号只弹出不输出) ⑤遇到其
作者:亿万年的星光 分类:初赛 浏览:

信息学奥赛知识点(十三)----树和二叉树(上)

树是一种非线性结构,栈和队列都是线性结构(线性一般是指每一个元素都通常只有一个前驱和一个后继)一、树的定义一棵树是由n(n>0)个元素组成的有限集合,其中:(1)每个元素称为结点(node)(2)有一个特定的结点,称为根结点或树根(root)(3)除根结点外,其余结点能分成m(m>=0)个互不相交的有限集合T0,T1,T2…… Tm-1。其中的每个子集又都是一棵树,这些集合称为这颗树的子树。三、树的基本概念(1)树都是递归定义的。(2)一棵树中至少有1个结点。这个结点就是根结点。(3
作者:亿万年的星光 分类:初赛 浏览: