输入学习时的笔记(其实也没什么用,留着给自己看的)

输出是指 把内容打印到控制台窗口

输入是指 把内容输入到程序里 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语言部分)之 输入的更多相关文章

  1. 从小白到区块链工程师:第一阶段:Go语言的控制台输入和输出(3)

    六,Print系列的函数输出 1:Println 打印换行.Print控制台打印,lnline 一行,打印数据后自动换一行显示.下面显示在控制台打印出不同的类型. 打印输出结果后,会自动换一行.打印结 ...

  2. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  3. c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载

    下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...

  4. 李宏毅深度学习与人类语言处理-introduction

    深度学习与人类语言处理(Deep learning for Human Language Processing) 李宏毅老师深度学习与人类语言处理课程笔记,请看正文 这门课会学到什么? 为什么叫人类语 ...

  5. 深度学习与人类语言处理-语音识别(part1)

    语音识别 语音识别该何去何从? 1969年,J.R. PIERCE:"语音识别就像把水变成汽油.从大海中淘金.治疗癌症.人类登陆月球" 当然,这是50年前的想法,那么语音识别该如何 ...

  6. 深度学习与人类语言处理-语音识别(part2)

    上节回顾深度学习与人类语言处理-语音识别(part1),这节课我们将学习如何将seq2seq模型用在语音识别 LAS 那我们来看看LAS的Encoder,Attend,Decoder分别是什么 Lis ...

  7. 深度学习与人类语言处理-语音识别(part3)

    上节回顾深度学习与人类语言处理-语音识别(part2),这节课我们接着看seq2seq模型怎么做语音识别 上节课我们知道LAS做语音识别需要看完一个完整的序列才能输出,把我们希望语音识别模型可以在听到 ...

  8. GO学习-(19) Go语言基础之网络编程

    Go语言基础之网络编程 现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程. 关于网络编程其 ...

  9. C语言的基本输入与输出函数(全解)

    C语言的基本输入与输出函数 1.1.1 格式化输入输出函数 Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以 ...

  10. 值得学习的C语言开源项目

    值得学习的C语言开源项目   - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...

随机推荐

  1. 【Loadrunner_Http接口】使用Loadrunner对天气信息的接口编写脚本

    方法一:使用get请求 Action() { //http接口访问,get请求 web_url("www.abc.com", "URL=http://v.juhe.cn/ ...

  2. bzoj1692

    题解: 二分最近的不相同 然后hash判断是否相同 然后贪心 代码: #include<bits/stdc++.h> using namespace std; #define ull un ...

  3. xpath & <tr><td><br>

    python : 3.6 lxml : 4.2.1 from lxml.html import etree test_html = ''' <!DOCTYPE html PUBLIC " ...

  4. SQL-16 统计出当前各个title类型对应的员工当前薪水对应的平均工资。结果给出title以及平均工资avg。

    题目描述 统计出当前各个title类型对应的员工当前薪水对应的平均工资.结果给出title以及平均工资avg.CREATE TABLE `salaries` (`emp_no` int(11) NOT ...

  5. socket 编程通信实例

    socket 编程通信实例:TCPserver: , ServerThread,  ;    WSADATA wsaData;    ,),  ;    }    ;    }    } ;    g ...

  6. 杭电多校第七场 1010 Sequence(除法分块+矩阵快速幂)

    Sequence Problem Description Let us define a sequence as below f1=A f2=B fn=C*fn-2+D*fn-1+[p/n] Your ...

  7. 牛客多校第四场 A Ternary String

    题目描述 A ternary string is a sequence of digits, where each digit is either 0, 1, or 2. Chiaki has a t ...

  8. volatile(一)

    在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题.我们先看具体看一下这三个概念: 1.原子性  原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断 ...

  9. vue优势

    Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API: 我们都知道单页面应用:页面切换快 ,首屏时间稍慢,SEO差        js 渲染 (多页面应用:  首屏时间快 ...

  10. Java Sublime 环境配置

    1.编辑JavaC.sublime-build文件 用winrar 打开 Sublime的安装目录下的Packages文件夹下的Java.sublime-package文件, 双击JavaC.subl ...