zoukankan      html  css  js  c++  java
  • 字符串和格式化输入输出

    字符串简介

    char数组类型和空字符

    char数组末尾为空字符表示字符串(不是数字0,是非打印字符,ASC码为0)

    使用字符串

    scanf("%s",str)读取字符串时,会在遇到第一个空白字符、制表符或者换行符处停止读取

    strlen()函数

    strlen以字符为单位给出字符串的长度,而sizeof则会将空字符也计算在内

    注:sizeof接括号表示获取某个类型的大小,不接括号表示获取某个具体量的大小,括号对于类型是必需的,对于具体量是可选的

    常量和C预处理器

    定义常量的好处:

    1. 常量名可以给出的信息,让代码可读性更高
    2. 可以方便修改

    define语句的注意点:

    1. 不要加分号,因为这是一种替代机制,不是C的语句
    2. 常量名要大写,或是加上c_或k_表示常量
    3. 千万不要加赋值号,注意是替代机制

    用const关键字可以把一个变量声明转换成常量声明,使其成为一个只读值

    printf和scanf

    printf

    printf语句的转换说明符如果在其他地方出现不匹配错误,即使正确的说明符也会产生虚假的结果

    float类型在printf中会自动转换成double

    printf的返回值:如果正确输出,则返回打印字符的数目(包括所有的空白字符和不可见的换行字符),如果有输出错误,则返回一个负数

    printf如何打印一段较长的字符串:

    1. 使用多个printf语句

    2. 使用反斜线和回车键的组合结束一行

      printf("here is one way 
      to print a long string.");
      
    3. 使用字符串连接的方法,两对引号之间的空白字符将被忽略

      printf("here is another way"
             "to print a long string.");
      

    scanf

    区别于printf,float和double 类型的转换说明符不同,float用%f,double用%lf

    scanf输入的过程(以说明符%d为例):

    1. 每次读取一个输入字符,跳过空白字符,直到遇到一个非空白字符

    2. 如果遇到的是数字或是符号,则保留,并读取下一个字符

      如果遇到的是非数字字符,则得出结论:已读整数的结尾,并将非数字字符放回输入

    3. 计算读到的数字的对应数值,并将该值放到指定的变量中

    格式字符中的常规字符

    1. 格式字符串中的普通字符一定要与输入字符串准确匹配,不过可以跳过整数前的空白字符

      scanf("%d,%d",&n,&m);
      /*输入可以是:
      8,4
      8,  4
      */
      
    2. 格式字符中的空格意味着跳过下一个输入项之前的任何空白字符

      scanf("%d ,%d",&n,&m);
      /*输入可以是:
      8,4
      8   ,4
      8   ,   4
      */
      

    scanf的返回值是成功读入的项目个数,如果没有读取任何项目,则返回0

  • 相关阅读:
    关于表单的练习和基本登录界面的制作
    css3 闪光hover
    步步为营:Asp.Net序列化与反序列化
    步步为营:Asp.Net客户端存Cookie服务端取
    步步为营:Asp.Net使用HttpWebRequest通知,抓取,采集
    PHP学习(二):PHP的魔术方法
    步步为营:SQL通用存储过程分页
    PHP学习(三):PHP面向对象概念
    PHP学习(四):PHP5.3版本的新特性
    步步为营:Asp.Net转换Unix时间戳
  • 原文地址:https://www.cnblogs.com/xkf97/p/12580832.html
Copyright © 2011-2022 走看看