C++学习(七)(C语言部分)之 输入
输入学习时的笔记(其实也没什么用,留着给自己看的)
输出是指 把内容打印到控制台窗口
输入是指 把内容输入到程序里 scanf
scanf 从键盘获取内容到程序里
格式占位符+变量要加取地址符
1、格式占位符
%d 整数类型
%c 字符类型
%f 浮点型 float (不能混写和%lf不一样)
%lf double
%s 字符串
%u 无符号十进制
%x 无符号十六进制
%o 无符号八进制
2、控制输入
1、宽度 最大的接受的长度
%3d 表示能够接受多少整数 3d 是最多能接受3位 多的区域留给下一个
2.长度 h端 l长
double %lf
short %hd
long %ld
long long %lld
3、* 表示跳过 获取内容后直接丢掉
123456789
关于scanf的说明
1.scanf没有精度控制 也就是说没有%3.2lf这种说法
2.变量记得取地址 %s用于字符数组 一般不需要取地址符
3.输入多个字时 输入多个整数 小数 两个数字之间用空格 tab隔开或者回车隔开
scanf的格式占位字符串里有什么就输入什么
scanf格式占位符末尾也不要写\n
4.%d 打印一个char -->ascii码
scanf稍微严格一点 格式占位符和变量 类型要匹配 不然会报错
5.scanf_s 新版函数 _s scanf 更安全
scanf 旧版函数
scanf和scanf_s区别
输入char的时候的区别
char ch;
scanf("%c",&ch);
scanf_s("%c",&ch,1);//输入字符串的时候额外加个1
输入字符串时的区别
char arr[20];
scanf("%s",arr);
scanf_s("%s",arr,20);//20是数组的大小 表示最多能够读取到20个字符
除了上面两种情况 scanf和scanf_s没有区别 用法一致
warning c4996 指明了代替的新函数 直接用新函数就行
6.scanf的输入的时候 两个getchar
在屏幕上输入 按下回车后 进入到缓冲区中
\n留在缓冲区里
scanf是在缓冲区里读取数据
getchar();在缓冲区里读数据
不报错不代表没有错误
*****************************我是分割线*****************************************/
#include<stdio.h>
int main()
{
//例一:让用户输入年龄
//printf("请输入你的年龄\n");//提示
//int age;
//scanf("%d",&age);//记得加上取地址符
//printf("用户的年龄是%d\n",age);
//例二:让用户输入手机号
//int num1, num2;
//printf("请输入你的电话号码\n");
//scanf("%3d%*4d%4d",&num1,&num2);//%*4d舍弃
//printf("用户的电话号码是%3d****%4d\n",num1,num2);
//例三:
//char arr[20];// 字符数组 [数组大小] char 数组名[数组大小] 字符数组的定义格式
//字符串一般存放在字符数组中 \0是字符串结尾
//数组大小 >=字符串中字符个数
//字符产中的字符个数+1 字符创中的中文一个汉字占两位
//printf("请输入字符串:");
//scanf("%s",arr);
//printf("输入的内容是:%s",arr);//不需要加取地址符
//例四:输入时隔开的例子
//int num1, num2;
//printf("请输入年龄和身高\n");
//scanf("%d,%d",&num1,&num2);//加了逗号之后 输入时只能用逗号隔开 否则一般是空格键
//printf("%d岁,%d厘米\n",num1,num2);
//例五
//char x, y;
//scanf("%d%d",&x,&y);
//printf("%d岁,%d厘米",x,y);
getchar();//如果有scanf 最好加上两个getchar 只需要用到两个
getchar();
while (1);//死循环 防止提前退出
return 0;
}
2018.05.22 11:39:28
C++学习(七)(C语言部分)之 输入的更多相关文章
- 从小白到区块链工程师:第一阶段:Go语言的控制台输入和输出(3)
六,Print系列的函数输出 1:Println 打印换行.Print控制台打印,lnline 一行,打印数据后自动换一行显示.下面显示在控制台打印出不同的类型. 打印输出结果后,会自动换一行.打印结 ...
- ios开发学习笔记001-C语言基础知识
先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...
- c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载
下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...
- 李宏毅深度学习与人类语言处理-introduction
深度学习与人类语言处理(Deep learning for Human Language Processing) 李宏毅老师深度学习与人类语言处理课程笔记,请看正文 这门课会学到什么? 为什么叫人类语 ...
- 深度学习与人类语言处理-语音识别(part1)
语音识别 语音识别该何去何从? 1969年,J.R. PIERCE:"语音识别就像把水变成汽油.从大海中淘金.治疗癌症.人类登陆月球" 当然,这是50年前的想法,那么语音识别该如何 ...
- 深度学习与人类语言处理-语音识别(part2)
上节回顾深度学习与人类语言处理-语音识别(part1),这节课我们将学习如何将seq2seq模型用在语音识别 LAS 那我们来看看LAS的Encoder,Attend,Decoder分别是什么 Lis ...
- 深度学习与人类语言处理-语音识别(part3)
上节回顾深度学习与人类语言处理-语音识别(part2),这节课我们接着看seq2seq模型怎么做语音识别 上节课我们知道LAS做语音识别需要看完一个完整的序列才能输出,把我们希望语音识别模型可以在听到 ...
- GO学习-(19) Go语言基础之网络编程
Go语言基础之网络编程 现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程. 关于网络编程其 ...
- C语言的基本输入与输出函数(全解)
C语言的基本输入与输出函数 1.1.1 格式化输入输出函数 Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以 ...
- 值得学习的C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...
随机推荐
- react之传递数据的几种方式props传值、路由传值、状态提升、redux、context
react之传递数据的几种方式 1.父子传值 父传值:<子的标签 value={'aaa'} index={'bbb'}></子的标签> 子接值:<li key={thi ...
- ES6中的Promise.resolve()的作用
var foo = { then: (resolve, reject) => resolve('foo') }; var resolved = Promise.resolve(foo); 相当于 ...
- RBAC功能模块
- 如何用iptables实现NAT(转)
http://www.cnblogs.com/little-ant/p/3548087.html
- 快递小哥逆袭自传:用了6年时间做到了IT部门主管
在我30岁生日那天,终于收到升职的通知,自己如愿的也从一名小小程序员升职成为IT主管,负责公司硬件设备驱动程序开发项目,工资也从原来月薪10K变到现在月薪20K.或许对于很多人而言,在三十岁的时候,可 ...
- java套接字(socket)实例
客户端socket 流程: 1.连接远程主机 2.发送数据 3.接收数据 4.关闭流与socket连接 实例: import java.io.*; import java.net.Socket; im ...
- npm webpack vue-cli
npm.webpack.vue-cli 快速上手版 Node.js npm 什么是Node.js 以及npm 简单的来说 Node.js 就是运行在服务端的JavaScript,基于Chro ...
- SpringMVC @RequestParam和@RequestBody的区别
问题:@Requestbody 用的时候遇到400和415错误,因为请求格式不对. @RequestBody @RequestBody能把简单json结构参数转换成实体类,如下代码: @Request ...
- redis_key键
exists k1,判断k1是否存在,‘1’就是存在,‘0’ 就是不存在 move k3 2 --->这里就是说把k3移动到2号库. ‘1’为成功,‘0’为失败 ttl k2 --查看k2 ...
- transform带来的坑
1.transform会使子元素fixed定位和absolute定位失效. 2.父元素设置了border-radius和overflow:hidden, 但是子元素有transform属性,父元素设置 ...