基于linux下的C语言学习 2---C语言基本数据类型

二、基本数据类型
1.常量

  • 整型常量和浮点型常量
    整型 : 123 125 0x5a
    浮点型 : 3.24 3.14e5 3.14E-5

  • 字符型常量和字符串型常量
    字符 :‘a’ ‘\n’ …
    字符串 :‘adad’ ‘hello!’

2.变量

  • int a; 此语句的含义为 : 在内存中开辟一块区域,占4个字节,这块区域名称为a。 其数值大小范围是 -2^31 -1 ------ 2 ^31 - 1
  • unsigned int a ;含义为:定义无符号的整型变量a。占4个字节,一个字节8位,共32位,其数值大小范围为 0 ------ 2^32-1
  • float a; 含义为: 定义浮点型变量 占4个字节。
  • double a; 含义为:定义双精度浮点型变量,占8个字节。
  • long double a;含义为: 定义长双精度浮点型变量,占12字节。
  • 以上定义的意思均为在内存中开辟连续的一块内存。

3.负数的存储方式(以-3位例)
32位中,有符号的第一位即最高位为符号位。 负数为1 正数为0

  • -3的二进制的原码可以表示为:1 000 0000 0000 0000 0000 0000 0000 0011
    原码转换为反码,符号位不变,其余位按位取反。
  • -3的二进制的反码可以表示为:1 111 1111 1111 1111 1111 1111 1111 1100
    补码为反码的基础上+1。负数在内存中的存储是以补码的形式存储的。
  • -3的二进制的补码可以表示为: 1 111 1111 1111 1111 1111 1111 1111 1101

三、格式化IO

1.格式化输出—把某个变量的值以某种格式输出(屏幕、文件、内存)

	   #include <stdio.h>
       int printf(const char *format, ...);//输出到标准输出的屏幕中
       int fprintf(FILE *stream, const char *format, ...);//输出到某文件中
       int sprintf(char *str, const char *format, ...);//输出到某块内存中
       int snprintf(char *str, size_t size, const char *format, ...);

以printf为例:printf(“%d”,a);//将a的值以有符号十进制数输出
%f ------------- 十进制计数法的浮点数输出
%x ------------- 无符号十六进制整数输出
%d ------------- 有符号十进制整数输出
%o ------------- 无符号八进制整数输出
%u ------------- 无符号十进制整数输出
%e ------------- E-计数法的浮点数输出
%c ------------- 一个字符输出
%s ------------- 字符串输出
%p ------------- 指针输出



2.格式化输入—从键盘、文件、内存中以某种格式接收输入,存入某个地方

       #include <stdio.h>
       int scanf(const char *format, ...);//----返回值是整数,表示拿到了多少个符合格式的数据
       int fscanf(FILE *stream, const char *format, ...);
       int sscanf(const char *str, const char *format, ...);

使用scanf()函数注意事项:
1、scanf()函数使用的转换说明符跟printf()函数几乎相同,唯一区别的是前者用%lf来说明double型数据,而不是跟float型数据一样都是用%f.
2、scanf()函数使用“空白符”来决定怎样把输入分成几个字段。它依次把转换说明与字段相匹配,并跳过它们之间的空格(当格式控制符为%c时例外)。
3、当scanf()遇到不匹配数据类型的数据时,ANSI C要求函数在第一个出错的地方停止读取输入。
3、如果该函数使用%s转换说明符,那么除“空白符”以外的字符都是可以接受的,换句话说%s用于读取单个单词。

四、运算符、表达式和语句
下章分析

以上内容纯属个人观点,如有错误,欢迎纠正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值