c++处理数据

本文详细介绍了C++中的数据类型,包括简单变量的命名规则、sizeof运算符、初始化方式,以及整型、浮点数、bool类型的相关知识。讨论了const限定符、类型转换、自动类型推断(auto)等内容,特别强调了变量初始化的重要性,以及在不同运算中类型的自动转换和强制转换规则。此外,还介绍了不同整型和浮点型的表示、范围以及在不同场景下的选择建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单变量

1.变量名命名

  1. 在名称中只能使用字母字符·数字和_;
  2. 名称第一个不能是数字;
  3. 区分字母大小写;
  4. 不能将c++关键字作为名称;
  5. c++名称长度没有限制,平台有长度限制;
  6. 如果要用多个单词组成名称,通常用_将单词分开,如my_arr;
    或者从第二个将第一个字母大写,如myArr;

2.运算符sizeof和头文件limits
1.sizeof对类型名(如int)使用应将名称放括号里,对变量名(如n_short)使用括号是可选的:

cout<<"int is"<<sizeof(int)<<"bytes.\n";
cout<<"short is"<<sizeof n_short<<"bytes.\n";

头文件climits定义了符合常量来表达类型的限制。
在这里插入图片描述
在这里插入图片描述

3.初始化
1.初始化将赋值与声明合并在一起。例如:下面的语句声明了变量n_int,并将int的最大取值赋给它:

int n_int = INT_MAX;

2.使用字面值常量来初始化。将变量初始化为另一个变量,条件是后者已经定义过。甚至可以使用表达式来初始化变量,条件是当程序执行到该声明时,表达式中所有的值都是已知的:

int unclass = 5;
int aunts = uncles;
int chairs = aunts+uncles+4;

前面的初始化都是C语言,C++还有独特的初始化语法:

int owls = 101;//C
int wrens(432);;//C++

注:如果不对函数内部定义的变量进行初始化,该变量的值是不确定的。这意味着该变量的值将是它被创建之前,相应内存单元保存的值。还有要在声明变量时进行初始化。

C++11初始化方式

用于数组和结构的初始化方式,但在c++98中,也可用于单值变量:

int hamburgers = {
   24};

将大括号初始化用于单值的很多,但C++11标准更多了。首先,采用这种方式时,可以使用等号(=),也不用:

int emus{
   7};
int rheas={
   12};

大括号可不包含如何值,变量默认为0:

int rocs={
   };
int psychics{
   };

这有助于更好防范类型错误。

无符号类型
前面介绍的整型都有一种不能存储负数值的无符号变体,其优点是可增大变量能够存储的最大值。仅当数值不会为负时才应使用无符号类型。如:人口、粒数等。要创建无符号版本的基本整型,只需使用关键字unsigned来修改声明:

unsigned short change;//unsigned short
unsigned int rovert;//unsigned int 
unsigned quarterback;//unsigned int
unsigned long gone;//unsigned long
unsigned long long lang_lang;//unsigned long long 

注:unsigned 本身是unsigned int 的缩写。

例:

#include<iostream>
#include<climits>//将INT_MAX定义为最大的int值
#define ZERO 0
using namespace std;
int main()
{
   
    short sam = SHRT_MAX;//将变量初始化为最大值
    unsigned short sue = sam;//ok,如果变量sam已经定义


    cout<<"Sam has"<<sam<<"dollars and Sue has"<<sue;
    cout<<"dollars deposited."<<endl
       <<"Add $1 to each account."<<endl<<"Now";
    sam=sam+1;
    sue=sue+1;
    cout<<"Sam has"<<sam<<"dollars and Sue has"<<sue;
    cout<<"dollars deposited.\nPoor Sam!"<<endl;
    sam=ZERO;
    sue=ZERO;
    cout<<"Sam has"<<sam<<"dollars and Sue has"<<sue;
    cout<<"dollars depoited."<<endl;
    cout<<"Take $1 from each account."<<endl<<"Now";
    sam=sam-1;
    sue=sue-1;
    cout<<"Sam has"<<sam<<"dollars and Sue has"<<sue;
    cout<<"dollars deposited."<<endl<<"Lucky Sue!"<<endl;
    return 0;
}

在这里插入图片描述

const限定符

1.如果在多个地方使用一个常量,只需要加一个符号定义:const 关键字
如:

const int a=100;

这样定义程序中a只能等于10,不能修改。
创建方式:

const type name = value;

类型转换和auto声明

1.有时,编程的过程中需要将值从一种数据类型转换为另一种数据类型。
1.将一种算术类型的值赋值给另一种算术类型,c++将进行强制转换;
2.不同类型之间转换,c++将进行值转换;
3.将参数传递给函数时,c++将对值进行转换;

在这里插入图片描述

#include <iostream>
using namespace std;
int main()
{
   
    cout.setf(ios_base::fixed,ios_base::floatfield);
    float tree=3;
    int guess(3.9832);
    int debt=7.2E12;
    cout<<"tree="<<tree<<endl;
    cout<<"guess="<<guess
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值