C语言笔记 (一) ----基本数据类型

基本数据类型

1.基本数据类型

编译器要处理数据 那么就需要知道数据的存储大小和存储方式(即数据类型)

常用的四种基本数据类型 char int float double

  • 整数 整型

    • int 存放整数(可正可负)
    • short (int) 2个字节
    • long (int) 4个字节
    • long long(int) 8个字节
  • 小数 浮点型

    • 浮点型
      • 单精度浮点型 float 4个字节
        • 精确的数字和位数 6~7
      • 双精度浮点型 double 8个字节
        • 精确的数字和位数 16~17
  • 字符型 字母

    • char 英文字符

      • 字符 (代码可以当作整型处理)

      • 字符和整数一一对应 对应的整数称为字符的ASCII码 0-127

        实质上char -128~127 1个字节 字符要用单引号括起来 和数字区分

  • 基本数据类型总结

    • 数据的存储大小

      charshortintlonglong longfloatdouble
      161224848
      321244848
      641248848
    • 需要记得 char int float double

      • 整型int

        • 存放整数的类型 占4个字节 范围-231~231-1

        • int (integer) 整数

        • 存放0,1,2,3,4这种整数(不能带小数)

      • 浮点型 float/double

        • float 单精度浮点型 4个字节 精确到小数点后面6~7位 存放数据范围 -3.4*10(-38)~3.4*10(38)
        • double 双精度浮点型 8个字节 可以精确到小数点后面16~17位 -1.7*10(-308)~1.7*10(308)
      • 字符类型 char

        • 存放字符类型 大小一个字节
        • 本质上是整数类型 可以存放**-128~127**范围内的整数 ,0~127范围的整数 每个整数都用来对
        • 应一个字符,这个整数就称之为这个字符的ASCII码(对应关系可以参考ASCII码表)
          在这里插入图片描述
        • 使用的时候 使用字符和使用他的ASCII都可以
      • double存放范围大 精度高 float占用内存小 运算速度快

      • 精度要求高或者存放数据大用double 不然用float

2. 命名方式

  • 标识符命名规范

    标识符 编程人员自己定义的名字 变量名/函数名/….

    • 命名规定

      1. 必须由字母数字 下划线 美元符号组成
      2. 不可以是数字开头
      3. 有些标识符被系统使用了,因此在定义标识符的时候不能和系统的标识符(关键字)重复
      4. 了解C语言32个关键字
    • 常用的命名规则

      • -----驼峰命名法
        • 特点 多个单词组合 除第一个单词外每个单词的首字母大写(也称小驼峰)
        • 示例 iPadMini mciSendSrting
      • -----帕斯卡命名法
        • 特点:每一个单词的首字母大写 其余小写(也称大驼峰)
        • 示例: FirstName OuGuang
      • -----匈牙利命名法
        • 开头字母用变量类型的缩写 其余部分用变量的英文或者英文缩写,单词首字母大写
        • 示例 iMyAge cMyName fManHeight
    • 全大写 常量

      #define MAXSIZE 10
      
    • _t 一般是别名

          size_t
      	time_t
      

3.定义变量

定义变量的格式是 类型 变量名

  • 类型比如上面说过的int double 变量名可以自取

    	//比如
    	int a;//定义一个整型变量a
    
  • 定义变量的时候可以用给他赋值

    	char ch=‘A’;	//字符要加单引号’ ‘
    	//或者先定义然后赋值
    	char ch;
    	ch=65;			//字符类型可以直接使用ASCII码(这个是数字 不要加单引号)
    
    

4.输入输出

  • 输入或者输出变量

    #include<stdio.h>
    int main()
    {
        /********整型*********/
    	int y;					//准备变量
    	printf("请输入一个整型");
    	scanf("%d", &y);		// 注意 scanf 要取地址  &
    	printf("用户输入的内容是%d\n", y);
        /********字符型********/
        char ch;				//准备变量
    	printf("请输入一个字符");
    	scanf("%c", &ch);		// 注意 scanf 要取地址  &
    	printf("用户输入的内容是%c\n", ch);
        /********单精度浮点型*********/
        float a;					//准备变量
    	printf("请输入一个float型");
    	scanf("%f", &a);		// 注意 scanf 要取地址  &
    	printf("用户输入的内容是%f\n", a);
        /********双精度浮点型*********/
        double b;					//准备变量
    	printf("请输入一个double型");
    	scanf("%lf", &b);		// 注意 scanf 要取地址  &
    	printf("用户输入的内容是%lf\n", y);
    	return 0;
    }
    
    • scanf 获取用户输入的数据 将数据存放在变量中
      • scanf(“格式占位符”,&变量)
      • 比较严格 %f %lf 不能混用
  • 格式占位符说明变量类型

    %d输入或者输出一个int
    %c输入或者输出一个char
    %f输入或者输出float
    %lf输入或者输出一个double
    • 对于%f %lf 在输出的时候是一样的 默认打印6位小数
    #include<stdio.h>
    int main()
    {
    	double a = 1;
    	float b = 1;
    	printf("float:%f,double:%lf\n", a, b);
    	return 0;
    }
    

    打印结果:float:1.000000,double:1.000000

  • 输出控制

    除了基本的输出之外,printf还提供了一系列输出控制,以便使输出的内容更加整齐正式

    完整的printf 格式 %[标志] [宽度] [.精度]type

    1. 最小宽度控制 仅限整型

      printf(“%4d”,3);

      %4d中的4表示 最少输出4位,像后面的3只有一位数字,那么不够的部分将用空格补齐

      下面的代码中给了一长串的*以显示补齐的空格,可以很明显看出他在前面补齐了三个空格凑成4位

      #include<stdio.h>
      int main()
      {
      	printf("****%4d******\n",3);
      	printf("**************");
      	return 0;
      }
      

      输出结果:

      ****   3******
      **************
      
    2. 精度控制 仅限浮点型

      所谓精度控制其实就是控制小数位数,用%f或者%lf输出的浮点型默认输出6位小数,如果想要输出更多或者更少的小数位数,则可以使用精度控制

      • %.16f 打印的时候 打印16位小数

        #include<stdio.h>
        int main()
        {
        	double a = 1;
        	float b = 1;
        	printf("float:%.16f,double:%.16lf\n", a, b);
        	return 0;
        }
        

        打印结果:float:1.0000000000000000,double:1.0000000000000000

    3. 标记

      • 左对齐(默认为右对齐)

        #include<stdio.h>
        int main()
        {
        	/*********默认右对齐*********/
        	printf("****%4d******\n", 3);
        	printf("**************\n");
        	/*********左对齐*********/
        	printf("****%-4d******\n", 3);
        	printf("**************\n");
        	return 0;
        }
        

        输出:

        ****   3******
        **************
        ****3   ******
        **************
        
      • 输出符号
      • 空格 输出正数的时候在前面补一个空格

      • 在用%o输出八进制的时候 在八进制前面补一个0

      • 在用%x输出16进制的时候 在16进制前面补一个0x

  • 其他不常格式占用符

    	%hd  short
    	%ld long
    	%lld long long
    	%x  16进制整型 
    	%o   8进制整型
    	%u  无符号整型
    	%s  字符串
    	%p  地址
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeRoy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值