C++中的输入输出

本文深入探讨C语言的基本概念,包括字符、整数、浮点数等数据类型的使用,宏定义的作用与优势,以及字符串处理技巧。通过实例演示字符ASCII码的转换和数学运算,解析不同类型间的强制转换,并介绍安全函数的使用方法。

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

 

注:因为系统会自动追加字符结束符\0 一同存储,因此VS中的安全函数scanf_s最大写入为9.

 

注:c中字符串之间不能直接赋值,但是结构类型的数据是可以直接赋值的。

#include <stdio.h>    //给printf用
#include <stdlib.h>   //给system用

#define PI 3.1415926  /*宏定义是预处理命令,不是语句,因此结尾不用分号。
宏定义一般用在一个常量反复出现在程序中时,宏定义好处:
1、方便修改维护,如果需要修改此常量,仅需修改宏即可。
2、增加程序的可读性
注意:它仅仅就是替换,不做任何计算等。

const常量有类似功能,但是const常量有数据类型。
*/
int main1()
{
	char a = 'A', b = 'D',c;/*单引号引起的代表此字符的Asiic码对应数值,
							A = 65,D= 68, ? = 133 */
	c = a + b;
	printf("%c\n",c);  //%c代表单个字符
	system("pause");
	return 0;

}
int main2()
{
	char a = 'A', b = 'D', c;/*单引号引的代表此字符的Asiic码对应数值,
							 A = 65,D= 68, ? = 133 */
	c = a + b;
	printf("%c\n", c);  //%c代表单个字符
	system("pause");
	return 0;

}
/*
c语言中的数据类型     关键字       长度      位数     范围         
字符型:                char       1Byte  =  8bit     -128—127
整数:                  int         4Byte  =  32bit   -2^31—2^31-1
浮点型                  float      4Byte  =  32bit   _+(10^-38—10^38)      显然一般的数用float单精度足够
双精度					double	   8Byte  =  64bit   _+(10^-380—10^380)    99.9999%的可能你不需要用它!

unsigned 指的是将第一位的符号位也视为数值位,即没有负数区间,但正数区间增大一倍。
signed就很显然了,第一位符号位,区间上限比unsigned变小一半。
*/
/*
为什么1Byte = 8位?
这个要从美国人的所有符号说起,ASIIC码中,英文中所有符号、数字加起来不超过128,也就是7位,加上符号位8位就够了。因此用了8位。
但是汉字8万多,显然不行,因此有了其他编码如utf-8

网速说的10M是通信中的概念,单位实际是Mbit/s
因此10Mbit/s = 10/8 MByte/s  = 12.5M/s
*/

/*

数据类型:十进制   八进制(0开头)   十六进制(0x开头)
           65       0 101     0x 41     

		3255U  (无符号类型 十进制)
		0x41U  (无符号类型 十六进制)
    3.12e-2  用  e 表示 10^ 

	字符常量:指用一个单引号引起来的一个字符。字符常量本质上就是十进制数。
	字符串常量:。。。。。。双引号。。。。。
	存储字符串时,系统会识别引号结束符,然后自动给其结尾加上   NUll串结束标识符
	如"china"实际存储时是用6个字节;   c    h    i    n    a  NULL
	对应Asiic码中的存储形式为:		   67  104  105  112  97   \0	

	转义符:双引号 反斜杠已经有具体意义了,双引号代表字符的开始和结束。
	要打单引号:\'
	要打双引号:\"
	要打反斜杠:\\
    

	因为存储的最小单位是字节,因此画的存储分配内存示意图中最小的矩形框代表1个字节
	变量的实质是一块内存空间
	如x = 25
	y = x-- ;后置运算符减号表示,先赋值给y,再把x减少1。  y = 25
	y = --x   ;前置运算符减号表示,先把x减少1,再赋值给y。 y = 24 

	类型强制转换:  eg:    int x = 10;
	                        float y;
						    y = x  ;(会警告!)

					改动: y  = (float)x;   安全!

*/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值