赞
踩
了解数据类型有什么用?
首先就是知道存储的大致的范围,避免超过越界
再者方便输入输出
int
:标准整数类型。通常占用 4 个字节,范围通常是 -2,147,483,648 到 2,147,483,647。short
:短整数类型。通常占用 2 个字节,范围通常是 -32,768 到 32,767。long
:长整数类型。通常占用 4 个或 8 个字节,范围取决于具体实现。long long
:更长的整数类型。通常占用 8 个字节,范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。unsigned
版本:可以用于上述所有类型,表示无符号整数(例如 unsigned int
,unsigned short
等)。char
:字符类型。通常占用 1 个字节,范围是 -128 到 127 或 0 到 255(取决于是否为有符号类型)。unsigned char
:无符号字符类型。范围是 0 到 255。signed char
:有符号字符类型。范围是 -128 到 127。float
:单精度浮点数。通常占用 4 个字节,范围大约是 1.2E-38 到 3.4E+38,精度大约为 6 位小数。double
:双精度浮点数。通常占用 8 个字节,范围大约是 2.3E-308 到 1.7E+308,精度大约为 15 位小数。long double
:扩展精度浮点数。通常占用 12 或 16 个字节,范围和精度取决于具体实现。bool
:布尔类型。只有两个值:true
和 false
。数组(Arrays)
int arr[10];
定义了一个包含 10 个整数的数组。结构体(Structures)
用户定义的复合数据类型,用于将不同类型的数据组合在一起。例如:
struct Person {
std::string name;
int age;
float height;
};
联合体(Unions)
类似于结构体,但所有成员共享同一块内存。例如:
union Data {
int i;
float f;
char c;
};
枚举(Enumerations)
定义一组命名的整型常量。例如:
enum Color { RED, GREEN, BLUE };
存储内存地址的变量。指针类型包括指向基本类型、构造类型和函数的指针。例如:
int *ptr;
还有空类型
void
:用于表示没有类型。通常用于函数返回类型,表示函数不返回任何值。类型别名
使用 typedef
定义类型别名。例如:
typedef unsigned int uint;
示例代码:
#include <iostream> #include <string> int main() { int a = 10; float b = 3.14f; double c = 2.718281828; char d = 'A'; bool e = true; std::string str = "Hello, World!"; int arr[5] = {1, 2, 3, 4, 5}; struct Person { std::string name; int age; }; Person p = {"Alice", 30}; std::cout << "int: " << a << std::endl; std::cout << "float: " << b << std::endl; std::cout << "double: " << c << std::endl; std::cout << "char: " << d << std::endl; std::cout << "bool: " << e << std::endl; std::cout << "string: " << str << std::endl; for(int i = 0; i < 5; i++) { std::cout << "arr[" << i << "]: " << arr[i] << std::endl; } std::cout << "Person name: " << p.name << ", age: " << p.age << std::endl; return 0; }
输入操作符 >> 用于从输入流中提取数据并将其存储到变量中。
语法:变量名 >> 输入数据
输出操作符 << 用于将数据输出到输出流中。
语法:输出流对象 << 数据
例子:
int age;
cout << "请输入您的年龄: ";
cin >> age;
cout << "您的年龄是: " << age << endl;
这个其实很好理解,也是很多人上来去学习C++输入输出的第一件事情。
称做流式输入输出,<< 其实指明了流动的方向,所以非常亲民
在这种情况下如果想控制输出,即满足一定格式输出,比如保留几位小数什么的,就要用manipulator了
scanf
和 printf
是 C 语言中两个非常重要的标准输入输出函数,它们分别用于从标准输入(通常是键盘)读取数据和向标准输出(通常是屏幕)打印数据。
相比较cin和cout,scanf和printf往往会更加的高效
printf
函数printf
函数用于格式化输出数据。它的基本语法如下:
int printf(const char *format, ...);
format
是一个格式字符串,指定了输出的格式。这里的格式指定,可以添加其他字符,增加空格什么的,非常强大...
是可变参数列表,指定了要输出的数据。format
字符串可以包含以下几种内容:
常见的格式说明符有:
%d
:输出整数%f
:输出浮点数%c
:输出单个字符%s
:输出字符串%x
:输出十六进制整数示例:
#include <stdio.h>
int main() {
int num = 10;
float pi = 3.1415926;
char letter = 'A';
char str[] = "Hello, World!";
printf("整数: %d\n", num);
printf("浮点数: %.2f\n", pi);
printf("字符: %c\n", letter);
printf("字符串: %s\n", str);
return 0;
}
输出
整数: 10
浮点数: 3.14
字符: A
字符串: Hello, World!
重要知识点
1 可以看到如果想要保留两位小数,则直接%.2f就可以了
2 会看到有\n 代表换行,这是一种特殊的字符
3 多个变量输出
#include<iostream>
using namespace std;
int main(){
int a=3;
int b=5;
printf("%d %d",a,b);
}
scanf
函数scanf
函数用于从标准输入读取数据,并根据格式字符串解析这些数据。它的基本语法如下:
int scanf(const char *format, ...);
format
是一个格式字符串,指定了输入数据的格式。...
是指向变量的指针,用于存储读取到的数据。format
字符串可以包含格式说明符,这些说明符与 printf
中的类似,但需要注意的是,scanf
需要变量的地址 ,即前面需要加一个&。注意字符串的话则不需要,具体看下面的例子
常见的格式说明符有:
%d
:读取整数%f
:读取浮点数%c
:读取单个字符%s
:读取字符串示例:
#include <stdio.h> int main() { int num; float pi; char letter; char str[50]; printf("请输入一个整数: "); scanf("%d", &num); printf("请输入一个浮点数: "); scanf("%f", &pi); printf("请输入一个字符: "); scanf(" %c", &letter); printf("请输入一个字符串: "); scanf("%s", str); printf("你输入的整数是: %d\n", num); printf("你输入的浮点数是: %.2f\n", pi); printf("你输入的字符是: %c\n", letter); printf("你输入的字符串是: %s\n", str); return 0; }
scanf
的格式说明符前必须带上变量的地址符 &
,但对字符数组(字符串)不需要。printf
和 scanf
的格式说明符要严格匹配变量类型,否则可能导致未定义行为。scanf
读取字符串时,遇到空格会停止,可以使用 fgets
代替,以读取整行输入。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。