火龙信奥
  • 首页
  • 课程
  • 题库
  • 打卡
    • 代码对战
    • 快速对战
  • 题单
  • 团队
  • 荣誉墙
  • 商城
  • 登录 / 注册

Level 1:顺序结构

作者: 作者的头像   huolong , 时间:2022-03-07 11:26:54 , 所有人可见, 阅读  75

计算机宗旨:一切皆为数字。

万能头 #include<bits/stdc++.h>

C++解决问题步骤

  1. 准备房间
  2. 迎接客人
  3. “处理”客人
  4. 送走客人
  5. 结束 return 0;

C++代码框架

    #include<iostream>
    using namespace std;
    int main()
    {

        return 0;
    }

1.1 常量与变量

常量(住在家里):在程序运行期间,不可以改变的量(值)。 变量(住在酒店):在程序运行期间,可以改变的量(值)。 字面值常量(literal constant),“字面值”是指只能用它的值称呼它,“常量”是指其值不能修改。每个字面值都有相应的类型,3.14是double型,2是int型。只有内置类型存在字面值。(了解)

1.1.1 常量有哪些?

整数、小数、字符、字符串、布尔值、宏变量 int double char string bool

常见的宏变量:INT_MAX 、INT_MIN、LONG_LONG_MAX、LONG_LONG_MIN

1.1.2 如何定义变量?标识符:
  • 由字母、数字、下划线组成
  • 第一个符号为字母或者下划线
  • 不用使用系统关键字来命名
1.1.3 变量里的值来源有哪些?

原则:先有房子,再住人!!! 变量与赋值语句:变量必须先定义,才可以使用。不能重名。 1. 定义时初始化!!!,未初始化后果是里面随机值危险!!! 手动初始化为0。(好习惯) int a = 0; 计算机初始化为随机值 int a; 2. 手动赋值 赋值语句、(赋值符号=) int a; a=90; 3. 从键盘输入到变量,输入格式:

单个输入 cin >> a ;
两个输入 cin >> a >> b ; 
多个输入 cin >> a >> … >> n ; 

多个变量赋值、定义变量时候可以简写

int a , b , c ;
a=80;
b=90;
1.1.4 输入输出格式
单个输出 cout << a ;
两个输出 cout << a << b ; 
多个输出 cout << a << … << n ; 

换行 cout << endl;

cout << a << endl;
两个变量换行输出 cout << a << endl << b; 
1.1.5 认识符号
算术运算符 +、-、*、/、%、++、--
关系运算符 >、<、==、>=、<=
逻辑运算符 && || !
位运算 <<、>>、&、|、^
赋值运算符 =
求字节数运算符 sizeof

1.2 算术运算符与算术表达式(五则运算,类比数学四则运算)

算术优先级: 乘法(*)、 加法(+)、 减法(-) 除法(/) 、带小数除法 求余数(%)、 模的概念 取模运算 只能运用于整数运算,得到余数。 负数的取模运算:如果第一个操作数为负数,则得到的模也是负数;如果第一个操作数是正数,则得到的模也是正数。

1.2.1 自增、自减运算符

变量自增(a++, ++a)、 变量自减(a—, —a)

++a与a++的区别 ++a (人人为我,先自己后别人)、a++(我为人人,先别人再自己)

1.2.2 赋值符号和赋值表达式

用逗号表达式,简写赋值语句

int a , b , c ;
a=80 , b=90 , c =70;

当两个变量值相同时候,可以用连等赋值

int a , b, c;
a=b=c=90;
1.2.3 复合赋值运算符

C++语言中,a = a + 1; 可以简写为:a += 1; 还有其他符合运算符,+=,-=,=,/=,%=等、对应着五大运算法则

1.2.4 整型

int整型 4字节 范围:-2147483648 - 2147483647 long long长整型 8字节 范围:-9223372036854775808 - 9223372036854775807

变量溢出、爆int 变量溢出规则:unsigned short 相当于取模 %65536

1.2.5 实型

float 单精度 、4字节 、范围1.17549e-038 - 3.40282e+038 double 双精度(默认)、8字节 、 范围2.22507e-308 - 1.79769e+308

默认有效位6位

#include <iostream>
#include <iomanip> //处理客人用的工具(处理小数的工具)
using namespace std ;

int main()
{
    double x; //准备房间
    cin >> x; //迎接客人
    cout << fixed << setprecision(2) ;//处理客人 (保留2位小数)
    cout << x; //送走客人
    return 0; //结束
}
1.2.6 字符型

char 字符、 1字节 范围 -128~127 表示的ASCII范围:0~127 ASCII码概念、数字字符、 以及转义字符 '\n','\0','\t'等 数字字符转成数字: '9' - ? == 9 小写字母转换大写字母:'?' - 'a' + 'A' 每个常用字符都对应一个-128~127的数字,二者之间可以相互转化: 字符可以参与运算,运算时会将其当做整数:

int a = 'B' - 'A';
int b = 'A'  'B';
char c = ‘A’ + 2;
cout << a << ' ' << b << ' '<< c;

常用ASCII值:'A'-'Z' 是65~90,'a'-'z'是97-122,'0'-'9'是48-57。

1.2.7 布尔型

bool 布尔类型 1字节 0~1 它的结果只有0或者1,true代表1,false代表0。

bool a = 100;
cout << a << endl;
1.3 数据类型转换

类型转换发生的场景 - 赋值符号左右两边的类型不相同 - 不同类型的混合运算

类型转换导致数据丢失 整数之间转换,超过范围会被截断 小数转整数,小数部分丢失 解决方法: 1. 用体积大的类型来存储数据(char < int < long long < double)。 2. 用double来存储小数

1.3.1 隐式类型转换(自动转换):表达式中,各类混合运算时,编译器会自动类型提升。
  • char 与 int 一起运算,会被提升为int
  • int 与 long long 一起运算,会被提升为long long
  • int 与 double 一起运算, 会被提升为double
1.3.2 显式类型转换(强制转换),这是一种临时的转换,并不会改变原来的类型。
int a = 3;
int b = 10;
double re = (double)a / b ; //将一个变量a中的值临时转换成double类型,也即3.0后参加运算,等价于 3.0 / 10
注意与: cout << 3.0 /10  ; 区别

例子1:

已知  int b=7; double a= 2.5, c=4.7; 
 求下面的表达式的值
 a + (int)(b / 3  (int)(a+c)/2.0) % 4  
输出:???

例子2:

float v0 = (40/3) , a=0.2;
int t=120;
float vt,s;
vt = v0 + at;
s = v0t + 0.5att;
cout << "vt=" << vt << " s=" << s << endl;
return 0;

输出:???

例子3:

float pi=3.14;
int s, r =4;
s = rrpi;
cout << s << endl;
输出:???

例子4:

int x;
float a = 15.75;
double b = 323.01;
cout << (int)a << endl;
cout << (int)(b+0.5)%10 << endl;
cout << (int)b%(int)a + 1;

输出:???

—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com

©2026加盟我们 | 关于我们 | ACM课程 | 常见问题 | 成果墙 | 评测记录 | 浙ICP备2021013995号
在线画图 | OI WIki | 打字练习
火龙信奥
请输入登录信息


请完成安全验证
验证码底图 滑块
向右拖动滑块完成验证
请输入用户名 / 绑定的手机号码



请输入注册信息(手机号验证码注册)





验证码5分钟有效,60秒内不可重复获取,每日最多3次

微信登录

微信登录二维码

正在生成二维码...

账号已过期,请续期。
去续期

绑定手机号

📱

为了更好地保护您的账号安全,享受完整的平台服务

请您尽快绑定手机号码