noip普及组1~2:语言入门、进阶

语言入门

①基本运算

  • 算术运算符:+,-,*,/,%,++,--
  • 关系运算符:==,!=,>,<,>=,<=
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^
  • 赋值运算符:=,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=
  • 杂项运算符:sizeof(返回变量大小),Condition?X:Y(三目运算符),.(点)和->(箭头),Cast(强制转换运算符),&和*(指针运算符)

②选择

代码框架:
if语句

if(条件){执行语句;}

OR

if(条件){执行语句;}
else {执行语句;}

OR

if(条件){执行语句;}
else if(条件){执行语句;}
...
else {执行语句;}

switch语句:

switch (变量表达式){
    case 常量1:语句;break;
    case 常量2:语句;break;
    case 常量3:语句;break;
    ...
    case 常量n:语句;break;
    default :语句;break;
}

③循环

代码框架:

//for循环
//表达式1:赋值表达式,给控制变量赋初值
//表达式2:关系表达式or逻辑表达式,循环控制条件
//表达式3:赋值表达式,给控制变量增量或减量
for(表达式1;表达式2;表达式3){
    循环体;
}

OR

//while循环
//先判断条件表达式真假再执行循环体
//条件表达式若为真则执行循环体,反之则跳出循环
while(条件表达式){
    循环体;
}

OR

//dowhile循环
//先执行循环体再判断条件表达式真假
//条件表达式若为真则执行循环体,反之则跳出循环
do{
    循环体;
}while(条件表达式)

注意点:跳出循环
①break:跳出整个循环体
②continue:跳出当前单次循环

语言进阶

①数组

  • 一维数组:a[100]
  • 二维数组:a[100][100]
  • n维数组:a[100][100]...[100]
  • 整型数组:int a[100]
  • 浮点型数组:①单精度float a[100]②双精度a[100]
  • 字符型数组:char a[100]
  • 布尔型数组:bool a[100]

②结构体

建立一个结构体:

struct node{
    //元素
    int a;
    double b
    char c;
    bool d;
}f[100];

③指针与引用

int *p;
p=&a;//*p等价于a
//p等价于&a
//*p=3等价于a=3

结构体指针:

//结构体名 *结构体指针变量名
//结构体指针变量指向的结构体变量的成员:
①指针名->成员名
②(*指针名).成员名
//例如:(*p).score与p->score是等价的。

建立链表:

struct node{
    int x,y;
    node *next;
}point;

你可能感兴趣的:(noip普及组1~2:语言入门、进阶)