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

  • 关于printf

-  左对齐

#include<stdio.h>

void main()
{
char str [100] = "liuchuanwu";
printf("%20s\n",str);
printf("%-20s\n",str); }

  

  • 关于浮点数的打印
#include<stdio.h>
#include<string.h>
int main()
{
char str [] = "liuchuanwu";
short s1 = ;
short s2 =;
int i1= ;
long int l1= ;
long int l2=;
float f1 = 1234.6789;
printf("%d %d\n",sizeof(s1), s1);
printf("%d %d\n",sizeof(s2), s2);
printf("%d %d\n",sizeof(i1), i1);
printf("%d %ld\n",sizeof(l1), l1);
printf("%d %ld\n",sizeof(l2), l2);
printf("%20s\n",str);
printf("%-20s\n",str);
printf("%d \n %d\n",sizeof(str),strlen(str)); printf("%2.3f \n",f1);
printf("%0.3f \n",f1);
printf("%-10.3f \n",f1);
printf("%10.3f \n",f1);
return ; }

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

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

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

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

  • 对于长字符串处理
#include<stdio.h>
#include<string.h>
int main()
{
char str [] = "liuchuanwu";
printf("%20.1s \n",str);
printf("liuchuanwu is a handman\n");
printf("liuchuanwu is a \
handman\n");
printf("liuchuanwu is a "
"handman\n"); return ; }

  • 关于sizeof 和strlen
#include<stdio.h>
#include<string.h>
int main()
{
char str [100] = "liuchuanwu";
printf("%20s\n",str);
printf("%-20s\n",str);
printf("%d \n %d\n",sizeof(str),strlen(str));
return 0; }

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

  • 关于scanf

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

#include<stdio.h>
#include<string.h>
int main()
{
char str [] = "liuchuanwu";
int age = ;
printf("input your name and age \n",str);
scanf("%s",str);
scanf("%d",&age);
printf("%d \n%s\n",age,str); return ; }

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

读书共享 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. 从零开始学习前端开发 — 12、CSS3弹性布局

    一.分栏布局 1.设置栏数column-count:数值; 2.设置每栏的宽度column-width:数值+单位; 注:当设置了column-width,column-count会失效,二者设置其一 ...

  2. Oracle:控制语句 IF..ELSIF语句、CASE语句、FOR循环语句

    --多重if语句(注意点:BEGIN END ,IF 条件 THEN,ELSIF 条件 THEN,ELSE... END IF)BEGIN IF FALSE THEN DBMS_OUTPUT.put_ ...

  3. 解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误

    重新启动服务器,访问web服务发现无法浏览啦!登陆服务器之后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() "/usr ...

  4. 数组的创建和各种API

    数组的创建方式: 1. 数组直接量 var arr = [] // 创建一个空数组 var arr = [1,2,3,4] // 创建同时初始化元素 2. 实例化对象 var arr=new Arra ...

  5. Uva10129 - Play on Words 欧拉通路 DFS

    题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=105& ...

  6. IOS开发之UIView总结1

    太长了,请看 http://blog.csdn.net/xdrt81y/article/details/9128695 performSelector: performSelector:withObj ...

  7. 用CSS实现“表格布局”

    当我们进行浮动布局时,会发现存在着非浮动元素与浮动元素的底部难以对齐的情况,这就是浮动布局的缺陷.因此,过去的前端工作者曾利用<table>以实现"表格布局".因为表格 ...

  8. EL表达式得不到后台传过来的值

    两种jsp获得action传过来的值 第一种: <s:iterator value="#pagination.datas" var="supplier" ...

  9. ora-01190和ora-01110的解决方法

    SQLPLUS>ALTER DATABASE DATAFILE 2 ONLINE; ALTER DATABASE DATAFILE 2 ONLINE * ERROR 位于第 1 行: ORA-0 ...

  10. eclipse导入项目之后有感叹号

    说明项目的编译过程报错.导致原因:项目引入后,需要重新配置jar包路径. 1.右击你的项目-->Build Path-->Configure Build Path.... 2.在弹出的对话 ...