C语言基础--基本数据类型

转载:https://zhuanlan.zhihu.com/p/85264460

基本数据类型

基本数据类型

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个字节 字符要用单引号括起来 和数字区分ASCII表

  • 基本数据类型总结
    • 数据的存储大小
    • 需要记得 char int float double
  • 整型int
    • 存放整数的类型 占4个字节 范围-2^31~2^31-1
    • int (integer) 整数
    • 存放0,1,2,3,4这种整数(不能带小数)

 

  • 浮点型 float/double
    • float 单精度浮点型 4个字节 精确到小数点后面6~7位 存放数据范围 -3.410^(-38)~3.410^(38)
    • double 双精度浮点型 8个字节 可以精确到小数点后面16~17位 -1.710^(-308)~1.710^(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******
 **************
  1. 精度控制
    所谓精度控制其实就是控制小数位数,用%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
  1. 标记
  • 左对齐(默认为右对齐)
#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  地址

 

posted @   burlingame  阅读(503)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示