忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(3)输入输出函数
一、基本的输入和输出函数的用法
1、printf() //屏幕输出
用法:
(1)printf("字符串\n");
(2)printf("输出控制符", 输出参数);
(3)printf("输出控制符1 输出控制符2。。。\n", 输出参数1,输出参数2,。。。);
//注意:后面的输出参数中间必须加 ","
(4)printf("输出控制符 非输出控制符", 输出参数);输出控制符包含:
%d
%ld
%c
%f
%lf
%x(或者%X或者%#x或者%#X):十六进制 2f 2F 0X2f 0X2F
推荐使用 %#x 可以看出来是十六进制输出结果%o
%s#include<stdio.h> int main(void)
{
int a = 10;
printf("%d\n%x\n%X\n%#x\n%#X\n", a, a, a, a, a);
return 0;
}2、scanf() //键盘输入
通过键盘将数据输入到变量中
两种用法:
(1) scanf("输入控制符", 输入参数); scanf("%d", &i);
因为键盘输入的是字符,%d是为了转换为要用的格式。 &i表示i的地址
输入123就是表示将字符123转换为int格式的123放到&i地址所在的内存空间里。
(2) scanf("非输入控制符 输入控制符", 输入参数);
如:int i; sanf("m%d", &i); 键盘输入:m123 非输入控制符必须原样输入
输入:mn 输入:123 是非法的 输入:m123n 取前三个数字
输入一般都不写非输入控制符
(3)键盘一次给多个数据赋值
scanf("%d %d", &i,&j); 输入:123 456
scanf("%d,%d", &i,&j); 输入:123,456
不要在scanf();中加/n
scanf("%d\n", &i); 输入:123\n
最好加一个输出提示信息
应该编写代码对用户的非法输入进行处理
#include <stdio.h> int main(){
int i, j;
scanf("%d", &i);
printf("i=%d\n", i);
scanf("%d", &j);
printf("j=%d\n", i);
}键盘输入:123m 输出结果 i正确 j为非法值
修改后的代码:
#include <stdio.h> int main(){
int i;
char ch;
scanf("%d", &i);
printf("i = %d\n", i);
while((ch=getchar()) != '\n')
continue;
int j;
scanf("%d", &j);
printf("j = %d\n", j); return 0;
}上面用到了getchar()函数,getchar()函数在stdio.h中,当程序中调用了getchar()函数时,程序就等待着用户按键,用户输入的字符被放在键盘缓冲区中,等待后续getchar()调用读取。
忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(3)输入输出函数的更多相关文章
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(2)准备知识
一.变量为什么必须初始化? 在回答这个问题之前,我们先来运行一段代码: #include <stdio.h> int main(){ int i; printf("i=%d\n& ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(5)有趣的指针
一.指针是C语言的灵魂 # include <stdio.h> int main(){ int *p; //p是变量名,int *表示p变量存放的是int类型变量的地址,p是一个指针变量 ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(1)GCC介绍及C语言编译过程
一.GCC基本介绍 GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器.它是一套以GPL及LGPL许可证所发布的自由软件,也是GNU计划的关 ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(9)链表
我们至少可以通过两种结构来存储数据 数组 1.需要一整块连续的存储空间,内存中可能没有 2.插入元素,删除元素效率极低. 3.查找数据快 链表 1.查找效率低 2.不需要一块连续的内存空间 3.插入删 ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(8)枚举、补码
一.枚举 # include <stdio.h> enum WeekDay //定义了一个数据类型(值只能写以下值) { MonDay, TuesDay, WednesDay, Thurs ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(7)结构体
一.为什么需要结构体? 为了表示一些复杂的事物,而普通类型无法满足实际需求 二.什么叫结构体? 把一些基本类型组合在一起形成的一个新的复合数据类型叫做结构体. 三.如何定义一个结构体? 第一种方式: ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(6)动态内存分配
一.传统数组的缺点: 1.数组的长度必须事先定制,且只能是常整数,不能是变量 int len = 5; int a[len]; //error 2.传统形式定义的数组,该程序的内存程序员无法手动释放 ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(4)for == while ?
一.for和while等价替换 int i = 1; for (i; i<=100; i++){ sum = sum + 1; } int i = 1; while(i<=100){ su ...
- 闲里偷忙的CPU-某个kwoker进程忙
https://zhuanlan.zhihu.com/p/34311472 有一类比较特殊的CPU使用率问题,这类问题的特点是,系统平均CPU使用率很低,但是个别CPU的使用率非常高.今天借助这个真实 ...
随机推荐
- Linux下文件的管理
1.文件的创建(touch) xiaohuang@xiaohuang-virtual-machine:~/桌面$ touch myfile.txt xiaohuang@xiaohuang-virtua ...
- Hadoop学习总结(2)——Hadoop入门详解
1.Hadoop介绍 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了一个系统底层细节透明的分布式架构,通过Hadoop,可以将大量的廉价机器的计算资源组织起来,解决单机 ...
- C# Bartender模板打印 条码,二维码, 文字, 及操作RFID标签等。
1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里, 后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...
- ORACLE10g R2【RAC+ASM→RAC+ASM】
ORACLE10g R2[RAC+ASM→RAC+ASM] 本演示案例所用环境:RAC+ASM+OMF primary standby OS Hostname node1,node2 dgnode ...
- Android Material风格的应用(五)--CollapsingToolbar
Collapsing Toolbar Android Material风格的应用(一)--AppBar TabLayoutAndroid Material风格的应用(二)--RecyclerViewA ...
- JS学习笔记 - 面向对象 - 选项卡 (普通选项卡改写)
选项卡3 <script> window.onload=function () { new TabSwitch('div1'); }; function TabSwitch(id) // ...
- docker 第一课 —— 从容器到 docker
1. 容器的概念 一种虚拟化的解决方案 与虚拟机所不同的是,虚拟机通过中间层,将一台或多台独立的机器虚拟运行于物理硬件之上: 而容器是直接运行于操作系统内核之上的用户空间: 基于上述,容器虚拟化也被称 ...
- php 静态方法和非静态方法的调用说明
1. php类中,静态方法调用当前类的非静态方法必须用self关键字,不能用$this 2. php类中,公有方法调用私有方法使用$this关键字,只能实例化调用 3. php类中,公有方法调用私有方 ...
- eclipse设置jvm
设置参数: -Xverify:none -Xms512m -Xmx512m -Xmn128m -XX:PermSize=96m -XX:MaxPermSize=96m -XX:+UseConcMark ...
- [Python学习] 简单爬取CSDN下载资源信息
这是一篇Python爬取CSDN下载资源信息的样例,主要是通过urllib2获取CSDN某个人全部资源的资源URL.资源名称.下载次数.分数等信息.写这篇文章的原因是我想获取自己的资源全部的评论信息. ...