Week01-项目2-输入与数据类型


前言

本篇文章主要介绍了C/C++基本的输入和几个简单的数据类型


提示:以下是本篇文章正文内容,下面案例可供参考

1.控制台账号输入

1.1 项目需求

  让用户输入账号和密码.

1.2 项目实现

  准备工作:在项目CP1中添加cpp文件

admin.cpp

#include<iostream>
#include<Windows.h>
using namespace std;
int main() {
	char loginName;
	int pwd;
	cout << "请输入用户名:";
	/*
	* 输入函数cin和scanf()
	* 1.cin 与 >> 符号结合使用
	*	cin >> a;
	*	cin >> a >> b = cin >> a;cin>>b
	* 2.scanf()函数
	*	scanf("%d%c%s",intNum,charNum,stringNum);
	*/
	cin >> loginName;
	cout << "请输入密码:";
	cin >> pwd;
	system("pause");
	cout << "您输入的账号是:" << loginName << endl;
	cout << "您输入的密码是:" << pwd << endl;
	system("pause");
	return 0;
}

运行结果:

在这里插入图片描述

1.3 知识锦囊:输入缓冲区与C++的数据类型

1.3.1 输入缓冲区

  输入原理: 程序的输入都有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin对象直接从输入缓冲区中取数据。正因为cin对象是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin对象会直接取得这些残留数据而不会请求键盘输入

  详解请参考:selina8921的博客

1.3.2 变量

  • 作用: 编程时,需要用到各种变量来存储各种信息。
  • 变量保留的是它所存储的值的内存位置。
  • 创建一个变量时,就会在内存中保留一些空间。

变量的命名规范:
  1)只能包含3种字符(数字、大/小写字母,下划线)
  2)不能以数字开头(即,只能以字母或下划线开头)
  3)不能和“关键字”同名(c语言内部已经使用的“名称”),比如类型名int
  4)变量名的最大长度,C语言没有规定。最大长度限制,取决于编译器,一般都在32以上。
变量的命名风格:
  1)下划线风格:int student_age;(常用于变量名和函数名)
  2)小驼峰风格:int studentAge;(常用于变量名和函数名)
  3)大驼峰风格:int StudentAge;(一般用于类名)
  4)全部大写:#define MAX_AGE;(一般用于宏)

1.3.3 数据类型

  • 作用:编译器预算对象(变量)分配的内存空间大小。
  • 变量可能存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么。
    在这里插入图片描述
    具体可见:C++数据类型(菜鸟教程)
    关于变量类型的理解可见:C++变量类型(菜鸟教程)

2.浮点数据的输出控制

2.1 项目需求

  控制浮点数的打印

2.2 项目实现

#include<iostream>
#include<Windows.h>

using namespace std;
int main() {
	/*	注意:
		常量3.14f(或3.14F)是float类型的常量
		正常境况下3.14是double类型的常量	
	*/
	double doubleNum = 123.456789;
	//浮点数cout输出时默认精度为6,包括小数点前和小数点后
	cout << "默认情况下的doubleNum:" << doubleNum << endl;
	//把精度(有效数字)修改为4
	cout.precision(4);
	cout << "精度修改为4的doubleNum:" << doubleNum << endl;
	//定点发修改小数点后的精度
	cout.flags(cout.fixed);
	cout << "定点法的doubleNum:" << doubleNum << endl;
	//把精度恢复为默认情况
	cout.unsetf(cout.fixed);//取消定点
	cout.precision(6);//恢复为6精度
	cout << "精度恢复后的doubleNum:" << doubleNum << endl;
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

2.3 知识锦囊:浮点型数据的存储

  浮点型变量是用来存储小数数值的。在C语言中, 浮点型变量分为两种: 单精度浮点数(float)、 双精度浮点数(double), double型变量所表示的浮点数比 float 型变量更精确。

  1. float(单精度浮点型)
    计算公式(转换为10进制数):符号位 尾数*2^(阶码-127)
    计算公式(10进制数转换):
      1)填入符号位
      2)转换为2进制数
      3)移位(位数+127得到阶码)
      4)填入尾数

在这里插入图片描述

  1. double(双精度浮点型)
    在这里插入图片描述

  2. 科学计数法表示浮点数
    1.75E5 或 1.75 e5
    1.75E5就是1.75乘以10的5次方(100000), 175000.0

  3. 注意:
    float类型变量赋值时可以不在数后加f。


3.两种不同的常量

3.1 字面常量

  例如int,long,longlong类型的常量分别为1,10L,100LL;char 类型的常量为’a’等的常量称为字面常量。

3.2 符号常量

1)
#define宏定义的符号常量
#define MAX_AGE 35
在编译的预处理阶段,直接把MAX_AGE替换为35
2)
const修饰的符号常量
const int maxAge = 35;
maxAge = 30; //错误!编译失败
注意:const修饰的符号常量,又叫“只读变量”。
本质上,是一个变量,只是被const限制。

4.练习

4.1 数学计算

  需求:输入圆的半径,计算圆的面积和周长(PI取3.1415926,计算结果保留两位小数)

#include <iostream>
#include <Windows.h>

#define PI 3.1415326

using namespace std;

int main() {
	//计算圆的周长和面积并输出(要求保留两位小数)
	float r;
	float area;
	float circ;

	cout << "please enter the radius of circle:";
	cin >> r;
	
	cout.precision(2);
	cout.flags(cout.fixed);
	cout << "圆的周长是:" << 2 * PI * r << endl;
	cout << "圆的面积是:" << PI * r * r << endl;



	system("pause");
	return 0;

}

4.2 无符号数

  无符号数不要保存负数(实际上存的是负数的补码)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值