第四章 字符串和格式化输入输出

  • 关于printf

-  左对齐

  1. #include<stdio.h>
  2.  
  3. void main()
  4. {
  5. char str [100] = "liuchuanwu";
  6. printf("%20s\n",str);
  7. printf("%-20s\n",str);
  8.  
  9. }

  

  • 关于浮点数的打印
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. char str [] = "liuchuanwu";
  6. short s1 = ;
  7. short s2 =;
  8. int i1= ;
  9. long int l1= ;
  10. long int l2=;
  11. float f1 = 1234.6789;
  12. printf("%d %d\n",sizeof(s1), s1);
  13. printf("%d %d\n",sizeof(s2), s2);
  14. printf("%d %d\n",sizeof(i1), i1);
  15. printf("%d %ld\n",sizeof(l1), l1);
  16. printf("%d %ld\n",sizeof(l2), l2);
  17. printf("%20s\n",str);
  18. printf("%-20s\n",str);
  19. printf("%d \n %d\n",sizeof(str),strlen(str));
  20.  
  21. printf("%2.3f \n",f1);
  22. printf("%0.3f \n",f1);
  23. printf("%-10.3f \n",f1);
  24. printf("%10.3f \n",f1);
  25. return ;
  26.  
  27. }

%x.y x小于浮点数本身的大小全部打印 x大于浮点数本身按照x长度打印。

x的长度 指整数长度+小数长度+1

  • 关于字符串打印长度
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. char str [] = "liuchuanwu";
  6. printf("%20.1s \n",str);
  7. return ;
  8.  
  9. }

对于%20.1s 20指的是整个打印占多大,.1指的是打印多少个真正的字符。

  • 对于长字符串处理
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. char str [] = "liuchuanwu";
  6. printf("%20.1s \n",str);
  7. printf("liuchuanwu is a handman\n");
  8. printf("liuchuanwu is a \
  9. handman\n");
  10. printf("liuchuanwu is a "
  11. "handman\n");
  12.  
  13. return ;
  14.  
  15. }

  • 关于sizeof 和strlen
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. char str [100] = "liuchuanwu";
  6. printf("%20s\n",str);
  7. printf("%-20s\n",str);
  8. printf("%d \n %d\n",sizeof(str),strlen(str));
  9. return 0;
  10.  
  11. }

  sizeof 所占字节大小 strlen到\0还有多久

  • 关于scanf

scanf 的第二个输入参数是指针,所以针对基本类型需要使用&获取内存地址,对于字符串则不需要,字符串本身为指针。

  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. char str [] = "liuchuanwu";
  6. int age = ;
  7. printf("input your name and age \n",str);
  8. scanf("%s",str);
  9. scanf("%d",&age);
  10. printf("%d \n%s\n",age,str);
  11.  
  12. return ;
  13.  
  14. }

残留问题针对空行如何处理

读书共享 Primer Plus C-part 4的更多相关文章

  1. 读书共享 Primer Plus C-part 5

    第五章 运算符.表达式和语句 关于+- 的一元运算符和二元运算符的区别 a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值 a+=1: 事实上相当于++a a=a+1: 虽然有点雷同于a+ ...

  2. 读书共享 Primer Plus C-part 7

    第十章  数组和指针 1.关于二维数组跟指针 #include<stdio.h> int main() { ][]={{,,,},{,,,},{,,,}}; ; ;i< ;i++) ...

  3. 读书共享 Primer Plus C-part 8

    第十三章 文件输入/输出 fopen--fclose fopen 是文件的操作的开始 fclose是文件操作的结束 getc--putc getchar--putchar getc对应文件的获取单个字 ...

  4. 读书共享 Primer Plus C-part 12

    第十四章 结构和其他数据形式 1.关于上struct与union 的区别 #include<stdio.h> typedef union Book_u { int pags; int mo ...

  5. 读书共享 Primer Plus C-part11

    第十四章结构和其他数据形式 关于fread以及fwrite fread(char* buff,int size,int count,FILE* fp) fwrite(char* buff,int si ...

  6. 读书共享 Primer Plus C-part 9

    第十二章 存储类.链接和内存管理                                                       针对代码块中的static变量做如下范本 #include ...

  7. Primer C++第五版 读书笔记(一)

    Primer C++第五版 读书笔记(一) (如有侵权请通知本人,将第一时间删文) 1.1-2.2 章节 关于C++变量初始化: 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义 ...

  8. 读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++]

    读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++] 第12章 类 1. 类的声明与定义:前向声明,不完全类型 2. 从const函数返回*this 3. 可变数据成 ...

  9. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

随机推荐

  1. 利用光场进行深度图估计(Depth Estimation)算法之二——匹配算法

    光场相机由于能够捕获相机内部光线的强度和方向而得到整个光场,可以实现重聚焦(refocus)和视角变换等功能.进而可以进行深度估计获取深度图,前面说过利用重聚焦的图像进行深度估计,今天说一下利用不同视 ...

  2. 武侠--生活--java

    一.名词解释 1.向上转型 大白话:村支书通知你爸去大队领过年发的面粉,结果你爸不在家,你装成你爸去了,村支书一看,行,你具有你爸的所有功能,就给了你. 官方解释:子类引用的对象转换为父类类型称为向上 ...

  3. 利用10h号中断在dos中间显示自己名字

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  4. 在windows下进行Kafka单机测试

    环境:win10 kafka版本:kafka_2.11-0.10.0.0 zookeeper版本:zookeeper-3.4.11 1. 开启zookeeeper server cmd下 : .\bi ...

  5. 解决vue路径中#号

    在router文件夹下的js文件中,更改配置增加 mode: 'history'; vue-router官方文档:https://router.vuejs.org/zh-cn/essentials/h ...

  6. TDD最佳实践

    这里就先目前阶段,整理一份TDD的最佳实践,在之后的Xunit测试整理中,这份实践会越来越长,对于这份核心在写测试的时候应该时刻注意. 1,在软件开发领域中,从来没有这样的事情:少数的几行代码对大量的 ...

  7. maven插件本地化安装

    mvn install:install-file -Dfile="D:\maven\repository\com\tc\itfarm-api\1.0.0-SNAPSHOT\itfarm-ap ...

  8. jdk源码->集合->LinkedList

    类的属性 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E&g ...

  9. WebView加载html5页面

    mWebView = (WebView) findViewById(R.id.mwebview); mWebView.getSettings().setJavaScriptEnabled(true); ...

  10. PHP中利用PHPMailer配合QQ邮箱实现发邮件

    PHPMailer的介绍: 优点: 可运行在任何平台之上 支持SMTP验证 发送邮时指定多个收件人,抄送地址,暗送地址和回复地址:注:添加抄送.暗送仅win平台下smtp方式支持 支持多种邮件编码包括 ...