zoukankan      html  css  js  c++  java
  • C连载10-char类型打印、两种例外可移植类型

    一、打印char字符

    #include<stdio.h>
    
    #pragma warning(disable:4996)int D10_1_PrintCharacter(void) {
    
      char ch;
    
    ​
    
      printf("Please enter a character:
    ");
    
      //ch = 45;
    
      scanf("%c", &ch);
    
      printf("The code for %c is %d
    ", ch, ch);
    
    ​
    
      return 0;
    
    }

    打印的时候,发现报错scanf是一个不安全的函数,经过百度了一番,声明一个语句即可解决

    #pragma warning(disable:4996)

    在代码中有这样一个函数scanf,&符号是用来赋值。

    注意:有些编译器把char类型实现为有符号或无符号的内存形式。

    可以使用signed或者unsigned来修饰,进行特别指定,当我们用来表示字符的时候,不需要使用它两来修饰。

    二、_Bool类型

    C99标准添加了_Bool类型,用于表示布尔值,即为false和true,C语言使用一个字节就可以搞定。

    三、可移植类型:stdint.h和inttypes.h

    C语言提供了许多有用的整数类型,但是某些类型在不同的系统中的功能不一样,C99新增了两个头文件stdint.h和inttypes.h,以确保C语言的类型在各系统中的功能相同。

    C语言为现有类型创建了更多类型名,这些新的类型名,这些新的类型名定义在stdint.h头文件中,例如:int32_t表示32位的有符号整数类型,在使用32位int的系统中,头文件会把int32_t作为int的别名。不同的系统也可以定义相同的类型名。例如:int为16为,long为32位的系统会把int_32作为long的别名。然后,使用int32_t类型编写程序,并包含stdint.h头文件时,编译器会把int或者long替换成​与当前系统匹配的类型。

    上面讨论的类型别名是​:精确宽度整数类型(exact-width integer type)的示例​。int32_t表示整数类型的宽度正好是32位,但是计算机的底层操作系统可能是不支持的,因为,精确​宽度整数类型是可选项。​

    三、源码:

    D10_1_PrintCharacter.c

    https://github.com/ruigege66/CPrimerPlus/blob/master/D10_1_PrintCharacter.c

    https://github.com/ruigege66/CPrimerPlus/blob/master/D7_toobig.c

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包

     

  • 相关阅读:
    影响Scala语言设计的因素列表
    mysql查询不区分大小写问题分析和解决
    mysql基础之三:char与varchar区别,varchar(M)能存多少
    Springboot Actuator之三:spring boot健康检查对Redis的连接检查的调整
    nginx实现带参数目录域名重定向二级域名方法
    Nginx正则表达式之匹配操作符详解
    微服务API网关 vs. 传统企业级API网关
    无法打开SQL Server的连接
    URAL 1146 Maximum Sum(最大子矩阵的和 DP)
    leetCode 70.Climbing Stairs (爬楼梯) 解题思路和方法
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13193611.html
Copyright © 2011-2022 走看看