C语言基本输入和输出

C语言基本输入和输出

printf函数

  • #include <stdio.h> C语言标准输入输出头文件
  • printf做原样打印
    //printf("你要打印的内容");
    
  • 转义字符
    常用的转义字符效果
    \n换行
    \r换行(当前行首),判断按键是否是回车键
    \t水平制表
    制表的原理: 通过控制数据的输出宽度,不足填充空格
  • 打印特殊符号
    • 通过\加上特殊符号打印符号
  • 数据的输出
    • 格式控制字符: 占位符
    int  %d
    char %c
    float %f
    double %lf
    字符串  %s
    unsigned int %u
    printf("a=%d,b=%c",1,'A');
    a=%d,b=%c
       1,  'A'
    a=1,b=A
    //一般情况: 占位符的个数是要和后面数据个数是相同
    
    • 浮点型的格式问题
    %+a.bf    
    %-a.blf
    a:输出数据的宽度,不足补空格
    b:小数位
    +: 右对齐 ,不写,默认是右对齐
    -: 左对齐
    

scanf函数

  • scanf基本用法
    • &(shif+7键按出来)取地址符
    • scanf工作原理
      • scanf(“格式控制字符”,“变量的地址”);
      • 输入的格式控制字符不需要转义字符
    • error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead
      • 项目属性–>SDL改为否
      • 用scanf_s替换
  • 字符输入
    • 清除缓冲区—> 在字符或者字符串输入前 做了输入,就需要清空
  • scanf_s: vs给scanf做的增强版本
    • 输入数字类是没什么区别
    • 输入字符类或者字符串必须要加入长度
    • 其他编译器没有scanf_s 只有scanf
  • scanf一次输入多个不同类型的数据
	//No.1 输入单个数据
	printf("input a num:");
	//习惯:定义变量的时候给变量初始化(赋初始值)
	int num = 0;       //定义变量赋值为0
	int result = 0;
	result=scanf("%d", &num); //等待键盘输入
	printf("num=%d\n", num);
	float fNum;
	//scanf("%.3f", &fNum); 没有这种写法
	//No.2 输入多个数据
	int a, b;
	printf("input a,b:");
	result=scanf("%d%d", &a, &b);
	printf("a=%d,b=%d\n",a,b);
	//scanf("%d\n", &a);  没有这种写法,输入的时候没有\n这一说法
	//No.3 字符输入
	char cNum;
	char x;
	printf("input a char:");
	//getchar();			    //----> 常用
	scanf("%c", &x);			//清除缓冲区的\n x等于\n
	//fflush(stdin);			//被淘汰
	//setbuf(stdin);			//会影响文件操作
	//这个两个等效上面scanf的作用
	scanf("%c", &cNum);
	printf("cNum=%c\n", cNum);
	printf("input a char:");
	//scanf("%c", &x);
	scanf_s("%c", &cNum, 1);	//长度一般用变量能够存储的数据长度
	printf("cNum=%c\n", cNum);
	//字符串--字符数组;
	//No.4 不同数据类型输入
	//数字和字符组合在一起
	int iNum;
	char xNum;
	double dNum;
	printf("input int,char,double:");
	//scanf自动区分数据,不需要人为区分
	//字符和其他数据之间用空格隔开
	scanf("%d %c%lf", &iNum, &xNum, &dNum);
	printf("iNum=%d,xNum=%c,dNum=%lf\n", iNum, xNum, dNum);
	printf("input int,char,double:");
	//%d,%c,%lf 
	//scanf("%d,%c,%lf", &iNum, &xNum, &dNum);
	//printf("iNum=%d,xNum=%c,dNum=%lf\n", iNum, xNum, dNum);
	scanf_s("%d %c%lf", &iNum, &xNum,1, &dNum);
	printf("iNum=%d,xNum=%c,dNum=%lf\n", iNum, xNum, dNum);

字符处理函数

getchar函数

  • 输入一个字符 ,getchar() 表示输入的字符
  • #include <stdio.h>

putchar函数

  • 输出一个字符 ,putchar(‘A’) 要输出的字符放在括号中
  • #include <stdio.h>

getch函数

  • 输入一个字符,getch() 表示输入的字符,不需要回车确认输入
  • #include <conio.h>
  • 在vs中,getch()要改为 _getch()

ASCII码的知识

  • ASCII码 做整数和字符的转换在这里插入图片描述
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值