OI第一课:C++语法入门

基础

1程序的三种控制结构

1.0 顺序结构

由上到下,外层到内层顺序执行代码的结构

1.1分支结构(选择结构)

定义

依据条件是否满足,有选择的执行相应功能

使用方法

选择结构在OI赛事中常用的即为if else结构

1.1.0单层if

if(条件){执行语句}

if(条件){ 条件满足执行的语句 }else{ 条件不满足执行的语句 }

1.2循环结构

1.2.0 while循环

作用:满足循环条件,执行循环语句

语法:while(循环条件){ 循环语句 }

解释:==只要循环条件的结果为真,就执行循环语句==

1.2.1for循环

作用: 满足循环条件,执行循环语句

语法:for(起始表达式;条件表达式;末尾循环体) { 循环语句; }

起始表达式:在循环开始前做的准备操作,仅在第一次循环前执行一次

条件表达式:当达到某一条件时,结束循环

末尾循环体:在循环语句后进行的操作,

依次的执行顺序为:

起始表达式—>(判断条件表达式—>执行循环语句—>执行末尾循环体)【循环】

强制类型转换:

在变量前使用(数据类型)

e.g.:

#include<iostream>
using namespace std;
int main(){
    int a = 10;
    cout << (double)a <<endl

        return 0;
}

1.3 逻辑运算符

作用:用于根据表达式的值返回真值或假值

逻辑运算符有以下符号:

运算符术语示例结果
!!a如果a为假,则!a为真;如果a为真,则!a为假。
&&a && b如果a和b都为真,则结果为真,否则为假。
||a || b如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
运算逻辑符

示例1:逻辑非

 //逻辑运算符  --- 非
 int main() {
 
     int a = 10;
 
     cout << !a << endl; // 0
 
     cout << !!a << endl; // 1
 
    system("pause");

    return 0;
}

总结:真变假,假变真

示例2:逻辑与

//逻辑运算符  --- 与
int main() {

    int a = 10;
    int b = 10;

    cout << (a && b) << endl;// 1

    a = 10;
    b = 0;

    cout << (a && b) << endl;// 0 

    a = 0;
    b = 0;

    cout << (a && b) << endl;// 0

    system("pause");

    return 0;
}

总结:逻辑与运算总结:同真为真,其余为假

示例3:逻辑或

//逻辑运算符  --- 或
int main() {

    int a = 10;
    int b = 10;

    cout << (a || b) << endl;// 1

    a = 10;
    b = 0;

    cout << (a || b) << endl;// 1 

    a = 0;
    b = 0;

    cout << (a || b) << endl;// 0

    system("pause");

    return 0;
}

逻辑或运算总结:同假为假,其余为真

1.4常用函数

max

用法:max(x,y)

含义:取x和y中的最大值

min

用法:min(x,y)

含义:取x和y中的最小值

sqrt

用法:sqrt(x)

含义:对x进行开方运算

pow

用法:pow(x,y)

含义:x的y次方

swap

用法:swap(x,y)

含义:将A和B的值互换

abs与fabs

用法:abs(x) fabs(x)

含义:x的绝对值(abs适用于整数,fabs适用于小数)

交换值

swap

用法:swap(x,y)

含义:将A和B的值互换

仅适用于数字

第三变量法

#include<iostream>
using namespace std;
int main()
{
    //swap
    int a,b;
    a =1;
    b =0;
    swap(a,b);
    cout << a << endl << b;
    //第三变量法
    int c;
    c = a;
    a = b;
    b = c;
16    cout << a << endl << b;

    return 0;
 } 

简记法

temp = x; x=y;y=temp

函数的定义

我们可以自定义一个任意的函数,在自定义函数时,需要提供 函数返回值的数据类型、函数所需参数的数据类型(及名称)

在一个函数A中调用另一个函数B时,可以使用A中的已经赋值的变量作为参数传入B中,也可以直接传入参数,即函数名(参数1,参数2)

子函数的定义

我们以定义一个用于处理两数加和任务的函数sum为例

//输出的数据类型 函数名 (所需的每个参数类型即名称,用逗号隔开)
//{
//    函数的算法



// return(返回值的名称)
//}
int sum(int cnt,int cnt2)//定义一个输出数据类型为int名为sum的函数,两个int类型的输入值cnt,cnt2
{
    int sum1=cnt+cnt2;
    return sum1;//返回一个名为sum1的值
}

子函数的调用

我们以在主函数main里调用上述提到的用于处理两数加和任务的函数sum为例

int main()
{
    int a=1,b=2,t;//声明用于作为参数传入sum函数的两个参数变量,以及输出的结果变量,并对参数变量进行赋值为参数
    t=sum(a,b);//对结果变量进行赋值,赋值为调用函数sum,向sum传入a,b两个变量后的返回值
    cout << t;//输出结果
    return 0;

}

子函数的定义与调用

 #include<iostream>
using namespace std;
int sum(int cnt,int cnt2)
{
    int sum1=cnt+cnt2;
    return sum1;
}
int main()
{
 //调用方式1
    int a=1,b=1,t;
    t=sum(a,b);
    cout << t;
    return 0;
 //调用方式2
    int t;
    t=sum(1,1);
    cout << t ;
  //调用方式3
    int a=1,b=1;
    cout << sum(a,b);
  //调用方式4
   cout << sum(1,1);


   return 0
}

本篇作者:Eason 审校:汐湫

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇