1          字符串格式化输出和输入

1.1       字符串在计算机内部的存储方式

字符串是内存中一段连续的char空间,以’\0’结尾

“”是C语言表达字符串的方式

1.2       printf函数,putchar函数

printf格式字符

字符

对应数据类型

含义

d

int

接受整数值并将它表示为有符号的十进制整数

hd

Short int

短整数

hu

Unsigned short int

无符号短整数

o

unsigned int

无符号8进制整数

u

unsigned int

无符号10进制整数

x / X

unsigned int

无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF

f

float或double

单精度浮点数双精度浮点数

e / E

double

科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写

c

char

字符型。可以把输入的数字按照ASCII相应转换为对应的字符

s / S

char * / wchar_t *

字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符)

p

void *

以16进制形式输出指针

%

%

输出一个百分号

printf附加格式

字符

含义

l

附加在d,u,x,o前面,表示长整数

-

左对齐

m(代表一个整数)

数据最小宽度

0

将输出的前面补上0直到占满指定列宽为止不可以搭配使用-

N(代表一个整数)

宽度至少为n位不够以空格填充

Putchar是显式一个字符的函数

1.3       scanf函数与getchar函数

scanf通过键盘读取用户输入,放入变量中,记得参数一定是变量的地址(&)

int a = 0;

int b = 0;

scanf("%d", &a);//一定要用&取变量的地址

scanf("%d", &b);//一定要用&取变量的地址

Getchar得到用户键盘输入的字符

//#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define STR "hello"
#define ABC 100 #pragma warning(disable:4996) int main01()
{
//char c = 't';
//printf("%s, %d, %c\n", STR, ABC, c); //printf("%%"); //long l = 100;
//printf("%07ld", l);
putchar('h');
putchar('e');
putchar('l');
return ;
} int main02()
{
int a = ;
int b = ; scanf("%d", &a);//一定要用&取变量的地址
scanf("%d", &b);//一定要用&取变量的地址 printf("a + b = %d\n", a + b);
return ;
} int main()
{
char a = ;
a = getchar();//得到用户键盘的按键 getchar(); char b;
b = a;
b = getchar();//得到用户键盘的按键 printf("a + b = %d", (a - '') + (b - ''));
return ;
}

资料来源:传智播客 仅供学习研究

2_C语言中的数据类型 (七)printf与scanf的更多相关文章

  1. 2_C语言中的数据类型 (七)类型限定

    1.1       类型限定 1.1.1          const const是代表一个不能改变值的常量 1.1.2          volatile 代表变量是一个可能被CPU指令之外的地方改 ...

  2. 2_C语言中的数据类型 (四)整数与无符号数

    1.1       sizeof关键字 sizeof是c语言关键字,功能是求指定数据类型在内存中的大小,单位:字节 sizeof与size_t类型 1.1       int类型 1.1.1      ...

  3. 2_C语言中的数据类型 (一)2.1.常量和字符串常量

    2.1 常量就是在程序中不可变化的量,常量在定义的时候必须给一个初值. 1.1.1          #define 定义一个宏常量 1.1.2          const 定义一个const常量 ...

  4. 2_C语言中的数据类型 (十)数组

    1          字符串与字符数组 1.1       字符数组定义 char array[100]; 1.2       字符数组初始化 char array[100] = {'a', 'b', ...

  5. 2_C语言中的数据类型 (九)数组

    1          数组 1.1       一维数组定义与使用 int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的 array[0] = ...

  6. 2_C语言中的数据类型 (九)逻辑运算符与if语句、switch、条件运算符?、goto语句与标号

    1          条件分支语句 1.1       关系运算符 在C语言中0代表false,非0代表真 1.1.1          < 小于 1.1.2          <= 小于 ...

  7. 2_C语言中的数据类型 (八)运算符

    1          运算符表达式和语句 1.1       基本运算符 1.1.1          = 数据对象:泛指数据在内存的存储区域 左值:表示可以被更改的数据对象 右值:能赋给左值的量 1 ...

  8. 2_C语言中的数据类型 (十)while、for

    1          循环语句 1.1       while while(条件),如果条件为真,循环继续,条件为假,循环结束 while (1)..是死循环的写法 1.2       continu ...

  9. 2_C语言中的数据类型 (六)浮点数

    1.1       浮点float,double,long double类型 1.1.1          浮点常量,变量 Float在32位系统下是4个字节,double在32位系统下是8个字节 小 ...

随机推荐

  1. [翻译] UIGlossyButton

    UIGlossyButton https://github.com/waterlou/UIGlossyButton Feature create standard iPhone buttons wit ...

  2. Bootstrap后台管理框架

    B-JUI http://www.xknaan.com/ B-JUI 前端框架,基于Bootstrap的Jquery UI框架,核心思想脱胎于DWZ(j-ui).   BJUI_SSM_DEMO 基于 ...

  3. tomcat7换端口号调试

    1.C:\tomcat\conf\server.xml中修改端口号 2.C:\tomcat\bin\startup.bat批处理文件启动tomcat 3.用ctrl+c结束批处理文件 4.调试结束

  4. ZT C语言链表操作(新增单向链表的逆序建立)

    这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/ ...

  5. sql: having使用,及删除重复数据

    写了好几年的sql,having语句基本上很少写,这就有一点尴尬了,现在总结一下having的作用,每日整理一下学习文档. having 通常伴随group by使用,过滤group by的数据集. ...

  6. angular 生命周期钩子 ngOnInit() 和 ngAfterViewInit() 的区别

    angular 生命周期钩子的详细介绍在 https://angular.cn/guide/lifecycle-hooks  文档中做了介绍. ngOnInit() 在 Angular 第一次显示数据 ...

  7. swift的enum基础

    其它语言的枚举: 符号化的整型常量的集合: swift的枚举: 可以是任何基础类型和无类型: If you are familiar with C, you will know that C enum ...

  8. 【bzoj2693】jzptab 莫比乌斯反演+线性筛

    题目描述 输入 一个正整数T表示数据组数 接下来T行 每行两个正整数 表示N.M 输出 T行 每行一个整数 表示第i组数据的结果 样例输入 1 4 5 样例输出 122 题解 莫比乌斯反演+线性筛 由 ...

  9. ubuntu16.04中安装下载工具uget+aria2并配置chrome (stable版)

    1.安装uGut sudo apt-get install uget 2.安装aria2 sudo apt-get install arias 3.配置uGet默认下载插件为aria2 菜单栏依次打开 ...

  10. Java基础加强之并发(二)常用的多线程实现方式

    概述 常用的多线程实现方式有2种: 1. 继承Thread类 2. 实现Runnable接口 之所以说是常用的,是因为通过还可以通过JUC(java.util.concurrent)包中的线程池来实现 ...