CPP基本语法笔记(上)

简介: CPP基本语法笔记

cpp基本语法笔记


一.变量、输入输出、表达式和顺序语句


1.固定格式


#include<iostream>
using namespace std;
int main()
{
    cout << "Hello World" << endl;
    return 0;
}u


2.变量类型


常用


类型 字节
bool – > false / true – > 0/1 1byte
char ‘c’, ‘a’, ’ ', ‘\n’ 1byte
int -1247483648 ~ 2147483647 4byte
float 1.23, 2.5, 1.235e2 6~7位有效数字 4byte
double 15~16位有效数字 8byte


更长


类型 字节
long long //-2^63 ~ 2^63-1 8byte
long double //18~19位有效数字 16byte


3.输入输出


a+b


cin输入 cout输出


#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin >> a >> b; //输入,方向 >>
    cout << a + b << a * b << endl;  //输出,方向 <<,   endl->回车
    return 0;
}


scanf输入 printf输出


#include<cstdio>
using namespace std;
int main()
{
    int a,b;
    scanf("%d%d", &a, &b); //%d读入整数类型,加&符号 
    printf("a + b =%d\na * b= %d\n", a + b, a * b);
    return 0;
}


浮点数:


#include<cstdio>
using namespace std;
int main()
{
    float a,b;
    scanf("%f%f", &a, &b); //%d读入整数类型,加&符号 
    printf("a + b =%.2f\na * b= %.3f\n", a + b, a * b);  //浮点数用%f,保留几位小数就在中间加点几
    return 0;
}


char型:


#include<cstdio>
using namespace std;
int main()
{
    char a,b;
    scanf("%c%c", &a, &b); //%c读入字符型,%c会读入空格,cin不会
    printf("%c%c", a , b);  
    return 0;
}


double/longlong型:


#include<cstdio>
using namespace std;
int main()
{
    double a,b;
    scanf("%lf%lf", &a, &b); 
    printf("%lf%lf", a , b);  
    long long a,b;
    scanf("%lld%lld", &a, &b); 
    printf("%lld%lld", a , b); 
    return 0;
} 


总结


int: %d


float: %f


double: %lf


char: %c


long long: %lld


4.表达式


b+=a -->b = b+a


b-=a -->b = b-a


b*=a -->b = ba


b/=a -->b = b/a


强制类型转换


int->float float->int(取整)


int ->char (ASCII字符表,相互转换)


5.顺序结构


从前往后,从上往下


二、printf语句与判断结构


1.printf输出格式


使用printf时最好加头文件


printf保留小数点后几位


#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    double f = 138682436874;
    printf("%.7lf\n", f);
    return 0;
}


左右对齐,保留小数点,空位补零


#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int a = 1;
    int b = 23;
    int c = 456;
    double d = 12.45;
    printf("%5d!\n", a);  //占5个空位,右对齐
    printf("%-5d!\n", b); //占5个空位,左对齐
    printf("%05d!\n", c); //空位填补0,右对齐
    printf("%5.1lf!", d);   //占5位且保留小数位数为1
    return 0;
}


2.if语句


①最基本语法if-else


#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int score;
    cin >> score;
    if (score >= 60)
    {
        cout << "及格" << endl;
    } //一条语句可以省略{}
    else
    {
        cout << "不及格" << endl;
    }
    cout << "结束" << endl;
    return 0;
}


②比较运算符


大于 a > b


小于 a < b


大于等于 a >= b


小于等于 a <= b


等于 a == b


不等于a != b


③if-else if


#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int grade;
    cin >> grade;
    if (grade >= 85) cout << 'A' << endl;
    else //蕴含着grade<85
    {
        if (grade >= 70) cout << 'B' << endl;
        else //蕴含着grade<70
        {
            if (grade >= 60) cout << 'C' << endl;
            else //蕴含着grade<60
            {
                cout << 'D' << endl;
            }
        }
    }
}
可优化为——————>(c和cpp中不根据缩进判断语句结束(Python),根据分号判断)
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int grade;
    cin >> grade;
    if (grade >= 85) cout << 'A' << endl;
    else if (grade >= 70) cout << 'B' << endl;
    else if (grade >= 60) cout << 'C' << endl;
    else cout << 'D' << endl;
}


3.条件表达式


(1)与 && and


(2)或 || or


(3)非 ! not


#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    if (a > b && (c > d || a > d)) cout << "" << endl;
    if (a > b || c > d && a > d) cout << "" << endl;
    if (!(a > b)) cout << "" << endl;
    return 0;
}


三、C++中的循环结构


循环语句——代码执行顺序


1.while循环


可以简单理解为循环版的if语句。if语句是判断一次,如果条件成立,则执行后面的语句;while是每次判断,如果成立,则执行循环体中的语句,否则停止。


求1~100中所有数的立方和


#include<iostream>
using namespace std;
int main()
{
    int i = 1;
    int sum = 0;
    while (i <= 100)
    {
        sum += i * i * i;
        i++;
    }
    cout << sum << endl;
    return 0;
}


斐波那契数列(水仙花)


f(1) = 1 f(2) = 1


f(n) = f(n-1) + f(n-2) n>=3


#include<iostream>
using namespace std;
int main()
{
   int a = 1, b = 1;
   int n;
   cin >> n;
   int i = 0;
   while (i < n - 1)
   {
       int c = a + b;
       a = b;
       b = c;
       i++;
   }
   cout << a <<endl;
   return 0;
}


避免写出死循环


2.do while循环


do while语句与while语句非常相似。唯一的区别是,do while语句限制性循环体后检查条件。不管条件的值如何,我们都要至少执行一次循环。(不常用)


3.for循环


for (init-statement : condition: expression) //init语句; 条件语句; 表达式
{
    statement
}


init-statement可以是声明语句、表达式、空语句,一般用来初始化循环变量;


condition是条件表达式,和while中的条件表达式作用一样;可以为空,空语句表示true;


expression一般负责修改循环变量,可以为空。


#include <iostream>
using namespace std;
int main()
{
    for (int i = 0; i < 10; i ++ )
    {
        cout << i << endl;
    }
    return 0;
}


相关文章
|
6月前
|
编译器 Go
Go 语言基础:包、函数、语句和注释解析
一个 Go 文件包含以下几个部分: 包声明 导入包 函数 语句和表达式 看下面的代码,更好地理解它:
66 0
|
5月前
|
存储 Java Go
|
5月前
|
存储 Java Unix
|
5月前
|
Java Go Scala
|
6月前
|
编译器 程序员 C语言
C语言进阶教程(include只能包含.h文件吗?)
C语言进阶教程(include只能包含.h文件吗?)
115 0
|
6月前
|
存储 Go 索引
Go 语言中 For 循环:语法、使用方法和实例教程
for循环用于多次执行特定的代码块,每次都可以使用不同的值。每次循环执行都称为一次迭代。for循环可以包含最多三个语句: 语法
114 0
|
数据安全/隐私保护 C++ 容器
|
Python
python的文件内注释 help注释写法
python的文件内注释 help注释写法
103 0
|
存储 Kubernetes 安全