• C连载15-练习一波转换模式


    一、复习一下前面所学的内容

    1.写出下列字符或者数字的类型以及在printf()函数中使用什么符号转换

    常量类型转换说明(%转换符号)
    12 int %d
    0X3 unsigned int %#x
    'C' char(实际上是int) %c
    2.34E07 double %e
    '40' char(实际上int) %c
    7.0 double %f
    6L long %ld
    6.0f float %f
    0x5.b6p12 float %a
    012 unsigned int(八进制) %#o
    2.9e05L float %Le
    's' char %c
    100000 long %ld
    ' ' char(实际上是int %c
    20.0f float %f
    0x44 unsigned int(十六进制) %x
    -40 int %d

    2.假设char ch;分别使用转义序列,十进制,八进制,十六进制来进行赋值

    char ch = '
    ';
    char ch = 13;
    char ch = '15';
    char ch = 'xd';

    二、字符串和格式化输入输出

    #include<stdio.h>
    #include<string.h>  //提供strlen()函数的原型
    #pragma warning(disable:4996)
    
    #define DENSITY 62.4     //人体密度(单位:磅/立方英尺)
    int D15_talkback() {
     float weight, volumn;
     int size, letters;
     char name[40];       //name是一个可以容纳40个字符的数组
    
     printf("Hi!What's your first name?
    ");
     scanf("%s", name);
     printf("%s ,what's your weight in pounds?
    ", name);
     scanf("%f", &weight);
     size = sizeof name;
     letters = strlen(name);
     volumn = weight / DENSITY;
     printf("Well ,%s ,your volumn is %2.2f cublic feet.
    ", name, volumn);
     printf("Also,yout first name has %d letters,
    ", letters);
     printf("and we have %d bytes to store it.
    ", size);
    
     return 0;
    }

    显示结果: 15.1

    • 该程序包含以下特性
    • (1)用数组(array)存储字符串(character string),在该程序中,用户输入的名存储到数组中,该数组占用内存40个连续的字节,每个字节存储一个字符值。
    • (2)使用%s转换说明来处理字符串的输入和输出,注意:在scanf()中,name没有&前缀,而weight是有的。
    • (3)C预处理器把字符常量DENSITY定义为62.4
    • (4)用C函数strlen()获取字符串的长度。

    三、源码:

  • 相关阅读:
    2019年8月22日 星期四(杂谈)
    文件读写
    log4j
    java 读写 xlsx
    mongodb的增删改查
    mongodb安装与简单配置
    mondb的特性
    mongodb 的简单应用
    linux 学习1
    linux 安装MySql
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13311347.html
Copyright © 2020-2023  润新知