当前位置:   article > 正文

c/c++算法竞赛(第一节到第六节)_c++main函数的计算结构

c++main函数的计算结构

c/c++算法竞赛

第一节 c++main函数结构[cout]

  • 编程是控制计算机的一种手段
  • 算法是解决方案的准确描述

1.1环境安装(推荐小熊猫c++)

​ 优点

  • 占用小,不吃配置
  • 功能强大
  • 即安即用,内嵌编译环境

1.2代码讲解

#include <iostream>//头文件区

using namespace std;//声明命名空间

int main (viod){//顺次结构
    //viod 空类型 万能类型
    cout<<"Hello World!"<<endl;
    
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 顺次结构:从上到下依次执行

  • 头文件区:不用自己写可以直接引用调用

  • 参数:元素向外对接的接口

  • return 0;:函数返回值/数据 要与函数类型一致

  • 一个程序可以没有输入,但是不能没有输出

​ 记录输出字符个数

int main (char*argc[],int argv)
{
    cout<<argv<<endl;
}
  • 1
  • 2
  • 3
  • 4
  • endl 换行符/回车

第二节 数据类型、变量、常量、常数

2.1变量

类似于一个容器,用于储存数据

  • 不同类型的数据用对应类型的变量去装

img

  • 定义变量 :类型 名称 = 初值

  • 字符型:单个的文本 字符串:一串字符

    char b = '1';

  • == 两个对象的等于比较 = 赋值

  • ;的作用表示一条语句的结束。分隔符

  • bool ture 1 fslse 0

类 型名 称占用字节数取 值 范 围
Bool布尔1true,false
[signed] char有符号字符型1-128~127
unsiged char无符号字符型10~255
[signed] short [int]有符号短整型2-32768~32767
unsigned short [int]无符号短整型20~65535
[signed] int有符号整型4-(2的31次方)~(2的31次方-1)
unsigned [int]无符号整型40~(2的32次方-1)
[signed] long [int]有符号长整型4-(2的31次方)~(2的31次方-1)
unsigned long [int]无符号长整型40~(2的32次方-1)
float实型(浮点型)4
double双精度型8
long double长双精度型16
void无值型0无值
  • 常量 :const 类型 常量名

    常量在之后就无法在更改

  • cin:可以把当前输入的数据赋值到变量

第三节 表达式、自增自减、类型转换

3.1 1024进制

1个字节对应8位2进制

K < BIt < KB < MB < GB < TB

  • 8位 = 1字节
  • 1024 字节 = 1 kb
  • 1024 kb = 1 MB
  • 1024 MB = 1 GB

3.2 表达式

逻辑表达式

逻辑符号

  • && 与 并且关系,全真为真
  • // 或 一真为真
  • ! 非 取反
赋值表达式
  • = 赋值符号
  • == 等于号
符合表达式
a += 5 ;//a = a + (右侧的表达式) 
a *= 2 ;//a = a * (右侧的表达式)
  • 1
  • 2
算数表达式
  • % 取余符号

    cout << 5%2 << endl;
    
    • 1
自增和自减
int a = 1;
a++ ;//后增  a = a + 1
++a ;//前增
  • 1
  • 2
  • 3
  • 后增 :完事以后在增加
  • 前增:先增加在办事
int a = 1 ;
a-- ;//后减
--a ;//前减
  • 1
  • 2
  • 3
逗号表达式
int a , b ;
  • 1
  • 逗号表达式分割的作用
自动转换机制 (隐式转换)
  • 自动转换触发条件是 小的字节范围 转到 大的字节范围
  • 两者类型不一致直接触发
  • 整形 往 double 转

第四节 C语言基础(ASCII、printf/scanf)

#include <stdio.h>

int main ()
{
    scanf("%d" , &a );
    &// 取址符
    printf("%s","hello world");//输出字符串不用加%s
    // %d 整数
    // %f 单精度浮点型
    // %c 字符
    // %s 字符串
    // %lf 双精度浮点型
    // %lld Long Long的整数
    // %LLf Long double的小数
    
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • long 字节大小和int一样都是4个
四舍六入五成双
  • 舍弃位小于等于4时,舍去该位及后面的数字
  • 舍弃位大于6时,则进位
  • 舍弃位等于5时,如果5后面没有数据的话,就要看舍弃位前面的数字,若是奇数则进位,若是偶数则舍掉;如果5后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位
ASCII
  • 字符与数字转换

  • 每一个字符都有一个十进制的数

  • A 65 a 97

    ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符
    0NUL32(space)64@96
    1SOH3365A97a
    2STX3466B98b
    3ETX35#67C99c
    4EOT36$68D100d
    5ENQ37%69E101e
    6ACK38&70F102f
    7BEL3971G103g
    8BS40(72H104h
    9HT41)73I105i
    10LF42*74J106j
    11VT43+75K107k
    12FF44,76L108l
    13CR45-77M109m
    14SO46.78N110n
    15SI47/79O111o
    16DLE48080P112p
    17DCI49181Q113q
    18DC250282R114r
    19DC351383S115s
    20DC452484T116t
    21NAK53585U117u
    22SYN54686V118v
    23TB55787W119w
    24CAN56888X120x
    25EM57989Y121y
    26SUB58:90Z122z
    27ESC59;91[123{
    28FS60<92\124|
    29GS61=93]125}
    30RS62>94^126~
    31US63?95127DEL

第五节 scanf/printf 补充、if语句

1 scanf/printf补充

  • C语言的东西c++可以直接拿来用

  • c/c++

  • 阈宽 基本格式 %x.y 控制符

    %.3lf 保留小数三位

    当宽度没有达到设定值时,会自动补齐空格

    当你提供的宽度大于等于提供值时,不会产生任何变化

#include <iostream>

using namespace std;

int main (void){
    printf("hello world");
        printf("%.3lf",2.6666);
    printf("%5d",50);

return 0
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 阈宽右侧补齐(补的是空格)
printf("%-5d",22);
  • 1

2 选择语句

  • if
if(/*条件*/){
//代码区域 条件成立的执行区
}
else{
    //条件不成立代码执行区
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 单 if 如果真

  • if else 如果 否则

  • 三目运算符

cout << 5 < 4 ? cout << "5是大于4的" <<endl;
  • 1
  • 不能执行语句
bool flag = 5 < 4 ? ture : false ;
  • 1

第六节 if的嵌套、switch语句

  • 顺次嵌套
if(a<60)
{
    cout << " 不及格 " << endl;
}
else if ( a >= 60 && a < 70)
{
    cout << " c " << endl;
}
else if ( a >= 70 && a<= 80)
{
    cout << "B" << endl;
}
else 
{
    cout << "A" <<endl ;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 内嵌
 if(a>5){
 if(a>7){
 cout << "大于 7"<< endl ;
 }
 else{
 cout << "大于 5 但是 不大于 7" << endl ;
 }
 }
 else{
 cout << "不大于 5 " << endl ;
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 三个数输出最大数
int a , b . c;
cin  >> a >> b >> c ;

if(a>b)
{
if(a>c)
{
cout << a;
}
else
{
cout << c;
}

else
{
if(b > c){
cout << b;
}

else
{
cout << c;
}
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • switch
switch(//比对的数据){
    //满足顺次结构,不停顿
case 1 :{

}
case 2 :{

}
case 3 :{

}

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • break 关键字 可以跳出当前控制语句
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号