No.2十六届蓝桥杯备战|练习题4道|数据类型|字符型|整型|浮点型|布尔型|signed|unsigned(C++)

B2002 Hello,World! - 洛谷
#include <iostream>  
using namespace std;  
int main()  
{  
cout << "Hello,World!" << endl;  
return 0;  
}
打印飞机
#include <iostream>
using namespace std;int main()
{cout << "     **     " << endl;cout << "     **     " << endl;cout << "************" << endl;cout << "************" << endl;cout << "    *  *    " << endl;cout << "    *  *    " << endl;return 0;
}
B2003 输出第二个整数 - 洛谷
#include <iostream>  
using namespace std;  int main()  
{  int n1, n2;  cin >> n1 >> n2;  cout << n2 << endl;  return 0;  
}

这⾥的n1和n2两个整数,可以分两次读⼊,也可以⼀次读⼊,只有获取到第⼆个输⼊值才能输出结果。
cin是⽀持连续读⼊⼏个数值的
cout也是支持连续输出⼏个数值的

B2005 字符三角形 - 洛谷
#include<iostream>  
using namespace std;  int main()  
{  char c = 0;  cin >> c;  cout << " " << c << endl;  cout << " " <<c << c << c << endl;  cout << c << c << c << c << c <<endl;  return 0;  
}

数据类型

C++中提供了丰富的数据类型来描述⽣活中的各种数据。⽐如:可以使⽤整型类型来描述整数,使⽤字符类型来描述字符,使⽤浮点型类型来描述⼩数。
所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。

字符型
	char   // character的缩写

字符是⽤单引号括起来的,如: ‘a’ , ‘b’ , ‘@’ 。为了能说明这些字符,给他们抽象出⼀种类型,就是字符型,C语⾔中就是 char 。

ASCII编码
在计算机中所有的数据都是以⼆进制的形式存储的
美国国家标准学会(ANSI)出台了⼀个标准ASCII编码,C语⾔中的字符就遵循了ASCII编码的⽅式。
![[Pasted image 20241230124617.png]]

ASCII 码表 - cppreference.com

  • 字符 A~Z 的ASCII码值从 65~90
  • 字符 a~z 的ASCII码值从 97~122
  • 对应的⼤⼩写字符(a和A)的ASCII码值的差值是 32
  • 数字字符 0~9 的ASCII码值从 48~57
  • 换⾏ \n 的ASCII值是: 10
  • ASCII码值从0~31这32个字符是不可打印字符,⽆法打印在屏幕上观察
整型

整型类型是对所有整数的抽象,为了能对整数形成统⼀的类型标识,就有整型;
在C和C++中整型被分为四⼤类: short 、 int 、 long 、 long long 。

short [int]      // 短整型 
int              // 整型
long [int]       // ⻓整型
long long [int]  // 更⻓的整型
浮点型

浮点型式对所有实数(⼩数)的抽象,为了能对实数进⾏统⼀的类型标识,就有了浮点型。
浮点型有三种:

float           // 单精度浮点型
double          // 双精度浮点型
long double     // 更⻓的双精度浮点型
3.14;       //编译器会默认识别为double类型
3.14f;      //编译器会默认识别为float类型
1e5;        //这种写法是科学计数法的形式,意思是1.0*10^5  
1e5+10;     //1*100000+10 == 100010  
1.23e5+10;  //1.23*100000+10 = 123010
布尔型

C++有⼀种类型叫: bool (布尔类型),布尔类型的变量的值可以是 true 或 false ,这种类型的变量专⻔⽤来表⽰真或假的。当然在C和C++中,0表⽰假,⾮0表⽰真,有时候不使⽤ bool 类型也能表达相同的逻辑。

bool
#include <iostream>
using namespace std;  int main()  
{  bool flag = true;  if (flag)  printf("I like C++!\n");  return 0;  
}  //代码2  
#include <iostream>  
using namespace std;  int main()  
{  int flag = 0;  cin >> flag; //如果输⼊⾮零的值,flag就表⽰真  if (flag)  printf("I like C++!\n");  return 0;  
}
signed与unsigned

signed 和 unsigned 关键字是修饰字符型和整型类型的。
signed 关键字,表⽰⼀个类型带有正负号,包含负值;⽐如:温度、银⾏存款。
unsigned 关键字,表⽰该类型不带有正负号,只能表⽰零和正整数,⽐如:年龄。
有了 signed 和 unsigned 的修饰,字符和整型类型其实更加丰富,可以有以下这些:

// 字符型  
char  
signed char    // 有符号的字符类型  
unsigned char  // ⽆符号的字符类型  // 短整型  
short [int]  
[signed] short [int]  // 有符号的短整型 
unsigned short [int]  // ⽆符号的短整型|// 整型  
int  
[signed] int     // 有符号的整型
unsigned [int]   // ⽆符号的整型// ⻓整型  
long [int]  
[signed] long [int]   // 有符号的⻓整型  
unsigned long [int]   // ⽆符号的⻓整型  // 更⻓的整型  
long long [int]  
[signed] long long [int]   // 有符号的  
unsigned long long [int]   // ⽆符号的

对于 int 类型,默认是带有正负号的,也就是说 int 等同于 signed int 。
由于这是默认情况,关键字 signed ⼀般都省略不写,但是写了也不算错。

signed int a; //等同于int a,⼀般不写signed

int 类型也可以不带正负号,只表⽰⾮负整数。这时就必须使⽤关键字 unsigned 声明变量。

unsigned int a; // unsigned int:⽆符号整数类型

变量声明为 unsigned 的好处是,同样⻓度的内存能够表⽰的最⼤整数值,增⼤了⼀倍。
⽐如,16位的 signed short int 的取值范围是: -32768~32767 ,最⼤是 32767 ;
⽽ unsigned short int 的取值范围是: 0~65535 ,最⼤值增⼤到了 65535 。
32位的 signed int 的取值范围可以参看 climits 中给出的定义。

下⾯的定义是Dev-C++环境中, climits 中相关定义,其实如果仔细看 climits 中也是包含的
limits.h 。

#define SHRT_MIN (-32768)          // 有符号16位整型的最⼩值
#define SHRT_MAX 32767             // 有符号16位整型的最⼤值
#define USHRT_MAX 0xffffU          // ⽆符号16位整型的最⼤值
#define INT_MAX 2147483647|        // 有符号整型的最⼤值
#define INT_MIN (-2147483647 - 1)  // 有符号整型的最⼩值

unsigned int ⾥⾯的 int 可以省略,所以上⾯的变量声明也可以写成下⾯这样。

unsigned a;

字符类型 char 也可以设置 signed 和 unsigned 。

signed char c;      // 范围为 -128 到 127  
unsigned char c;    // 范围为 0 到 255

char 类型到底是 signed char 还是 unsigned char ,由编译器决定。⼤部分的编译器上 char 就是 signed char 。
这就是说, char 不等同于 signed char ;它有可能是 signed char ,也有可能是unsigned char 。这⼀点与 int 不同, int 就是等同于 signed int 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/65820.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

46. Three.js案例-创建颜色不断变化的立方体模型

46. Three.js案例-创建颜色不断变化的立方体模型 实现效果 知识点 Three.js基础组件 WebGLRenderer THREE.WebGLRenderer是Three.js提供的用于渲染场景的WebGL渲染器。它支持抗锯齿处理&#xff0c;可以设置渲染器的大小和背景颜色。 构造器 antialias: 是否开启抗锯齿&am…

5.系统学习-PyTorch与多层感知机

PyTorch与多层感知机 前言PyTroch 简介张量&#xff08;Tensor&#xff09;张量创建张量的类型数据类型和 dtype 对应表张量的维度变换&#xff1a;张量的常用操作矩阵或张量计算 Dataset and DataLoaderPyTorch下逻辑回归与反向传播数据表格 DNN&#xff08;全连结网络&#x…

WPF中的Microsoft XAML Behaviors包功能详解

什么是XAML Behaviors(行为) XAML Behaviors 提供了一种简单易用的方法&#xff0c;能以最少的代码为 Windows UWP/WPF 应用程序添加常用和可重复使用的交互性。 但是Microsoft XAML Behaviors包除了提供常用的XAML Behaviors之外&#xff0c;还提供了一些Trigger&#xff08…

运维人员的Go语言学习路线

以下是一份更为详细的适合运维人员的Go语言学习路线图&#xff1a; 一、基础环境搭建与入门&#xff08;第 1 - 2 周&#xff09; 第 1 周 环境搭建 在本地开发机和常用的运维服务器环境&#xff08;如 Linux 系统&#xff09;中安装 Go 语言。从官方网站&#xff08;https://…

设置虚拟机设备的dp和pt

虚拟机有设置px的方式&#xff0c;没有设置dp的方式&#xff0c;举个例子比如设置px为1080*1920虚拟机是有的 此时如果需要375dp宽度的虚拟机&#xff0c; 需要以下步骤 通过日志打印px和density&#xff0c;计算出当前的dp根据density和dp&#xff0c;计算如果需要相应的dp需…

Soildstate渗透测试

第一步&#xff1a;信息收集 Arp-scan -l 扫描本地存活ip&#xff0c;发现可疑ip 192.168.52.140 使用nmap -T4 -sV -sC -p- 192.168.52.140 对目标进行全端口扫描 同时使用dirb和dirsearch对目标网址进行目录爆破&#xff0c;这些网址都可以点进去看看进行一下信息收集看看是…

HTTP cookie与session

telnet命令 telnet 是一个网络协议&#xff0c;用于通过 TCP/IP 网络进行远程登录到服务器。它允许用户在本地计算机上通过网络连接到远程服务器&#xff0c;并在服务器上执行命令 telnet [主机名或IP地址] [端口号]//连接服务器 在 telnet 会话中&#xff0c;Ctrl] 会将你从…

【新年特辑】使用 React + TypeScript 开发新年祝福网页

&#x1f389; 新年将至&#xff0c;我决定开发一个独特的新年祝福网页&#xff0c;让每个人都能创建和分享自己的新年祝福。本文将详细介绍这个项目的开发过程&#xff0c;从技术选型到具体实现&#xff0c;希望能给大家一些启发。 一、项目概述 1.1 项目背景 在这个数字化的…

jmeter分布式启动

https://www.cnblogs.com/qtclm/p/11082081.html 1、代理机&#xff1a;输入“ipconfig”&#xff0c;找到IP地址&#xff0c;在Jmeter/bin/jmeter.properties设置remote host 启动jmeter server 1、控制机&#xff1a;输入“ipconfig”&#xff0c;找到IP地址&#xff0c;在J…

sqoop将MySQL数据导入hive

使用脚本加载数据 MySQL有一张表 hive创建一张相同的表 编写脚本同步数据 [rootmaster sqoop]# vim stu.sh#!/bin/bash SQOOP/usr/local/soft/sqoop-1.4.6/bin/sqoop $SQOOP import --connect jdbc:mysql://192.168.67.100:3306/sqoop \--username root \--password 123456 \-…

【从零开始入门unity游戏开发之——C#篇39】C#反射使用——Type 类、Assembly 类、Activator 类操作程序集

文章目录 前言一、前置知识1、编译器2、程序集&#xff08;Assembly&#xff09;3、元数据&#xff08;Metadata&#xff09; 二、反射1、反射的概念2、反射的作用3、反射的核心Type 类3.1 Type 类介绍3.2 不同方法获取 Type3.3 获取type类型所在的程序集的相关信息 4、反射的常…

【MyBatis源码分析】Spring与MyBatis整合深入解析

&#x1f3ae; 作者主页&#xff1a;点击 &#x1f381; 完整专栏和代码&#xff1a;点击 &#x1f3e1; 博客主页&#xff1a;点击 文章目录 概述SqlSessionFactoryBean详解配置原理 MapperScannerConfigurer 源码分析介绍postProcessBeanDefinitionRegistry 方法 概述 MyBat…

微信小程序几种数据通信方式记录

在微信小程序开发中&#xff0c;组件间的数据传递是一个常见的需求。以下是不同组件间数据传递的方式&#xff0c;根据传递的方向&#xff08;父子、兄弟、跨层级等&#xff09;提供了多种方法。 1. 父组件向子组件传递数据 通过 properties&#xff08;组件属性&#xff09;&…

使用JMeter对Linux生产服务器进行压力测试

安装 JMeter wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.4.1.tgz tar -xzf apache-jmeter-5.4.1.tgz cd apache-jmeter-5.4.1创建 JMeter 脚本 设置中文 选择Options—>Choose Language—>选择其他语言&#xff08;例如&#xff1a;Chinese&am…

STM32-笔记20-测量按键按下时间

1、按键按下的时间-思路 我们先检测下降沿信号&#xff0c;检测到以后&#xff0c;在回调函数里切换成检测上升沿信号&#xff0c;当两个信号都检测到的时候&#xff0c;这段时间就是按键按下的时间&#xff0c;如图所示&#xff1a;>N*(ARR1)CCRx的值 N是在这段时间内&…

2024年12月CCF-GESP编程能力等级认证Scratch图形化编程四级真题解析

本文收录于《Scratch等级认证CCF-GESP图形化真题解析》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(共 10 题,每题 2 分,共 30 分) 第 1 题 2024 年 10 月 8 日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰霍普菲尔德(John J. Hopfie…

常见协议的高危软件漏洞信息

HTTP 协议 协议 | 软件 | 漏洞编号 | 漏洞描述 Apache Log4j CVE-2021-45105 | Apache Log4j拒绝服务攻击漏洞 XWiki Platform CVE-2023-26477 | XWiki Platform存在安全漏洞&#xff0c;该漏洞源于可以通过URL请求参数结合其他参数注入任意脚本宏 Microsoft Windows CVE-20…

CPT203 Software Engineering 软件工程 Pt.2 敏捷方法和需求工程(中英双语)

文章目录 3. Aglie methods&#xff08;敏捷方法&#xff09;3.1 Aglie methods&#xff08;敏捷方法&#xff09;3.1.1 特点3.1.2 优点3.1.3 缺点3.1.4 原则3.1.5 计划驱动与敏捷方法的对比 3.2 Scrum3.2.1 Scrum roles3.2.2 Scrum Activities and Artifacts3.2.2.1 Product B…

攻防靶场(29):目录权限和文件权限 ICMP

目录 1. 侦查 1.1 收集目标网络信息&#xff1a;IP地址 1.2 主动扫描&#xff1a;扫描IP地址段 1.3 搜索目标网站 2. 初始访问 2.1 利用面向公众的应用 3. 权限提升 3.1 有效账户&#xff1a;本地账户 3.2 滥用特权控制机制&#xff1a;Sudo和Sudo缓存 靶场下载地址&#xff1a…

libmodbus源码中重要的两个结构体讲解

文章目录 一、libmodbus重要数据结构讲解**1. 结构体 `_modbus`**定义成员解析小结**2. 结构体 `_modbus_backend`**定义成员解析小结**3. 两者关系和工作流程****关系****工作流程**一、libmodbus重要数据结构讲解 这两个结构体是 libmodbus 的核心,定义了 Modbus 通信上下文…