嵌入式(c)输入输出函数&算数运算符&逻辑运算符&关系运算符

输入输出函数

一 输入和输出函数
1.getchar
头文件:#include <stdio.h>
原型:int getchar(void);
功能:从终端获取一个字符
参数:无
返回值:从终端获取到的字符

2.putchar
头文件:#include <stdio.h>
原型:int putchar(int c);
功能:向终端输出一个字符
参数:c:要输出的字符
返回值:返回输出的字符

char buf[10];
3.gets
gets_s(char *s,rsize_t size);
//size:写入内存的字符最大个数
头文件:#include <stdio.h>
原型:char *gets(char *s);
功能:从终端获取一个字符串
参数:s:从终端获取的字符串写入的位置
返回值:从终端获取的字符串的首地址

4.puts
头文件:#include <stdio.h>
原型:int puts(const char *s);
功能:向终端输出一个字符串
参数:s:要输出的字符串
返回值:输出的字符串的字节数
注意:会自动输出换行

  1. printf
    头文件:#include <stdio.h>
    原型:int printf(const char *format, …);

功能:向终端按照格式输出字符串
参数:format:带格式要输出的内容
普通字符:原样输出
例如:printf(“hello world!\n”);
格式说明: %[修饰符]格式字符,用于指定格式输出
例如:printf(“a = %d\n”,a);
%d: 32位有符号十进制数
%u: 32位无符号十进制
%o: 八进制
%x: 十六进制
%e: 指数形式
%c: 字符
%s: 字符串
%%:输出%本身
%p: 输出地址
%f:输出单精度浮点型
%lf:输出双精度实型
附加格式字符:
#: 用于输出八进制或者十六进制的前导符
(linux):
l: 用于输出long long类型或者double类型的数据
(vs2022):
h:
输出short %hd
l:
long和double
ll:
用于long long 类型数据

  	m: 设置输出内容的宽度
          如果数据的宽度大于等于m,则没有影响,
          如果数据的宽度小于m,则默认右对齐,左边的位置补空格
	0:当设置宽度后,默认右对齐,左边空格的位置补0
  	**-:将右对齐改成左对齐**
   	**.n:保留小数点后n位**
    arg:可变参,可以有,也可以没有,也可以有多个
转义字符	描述
‘\n’	换行
‘\0’	空字符,C语言字符串的最后一个字符就是’\0’
‘\t’	Tab键功能,水平制表符
‘\”’	双引号
‘\’’	单引号
‘\\’	反斜杠
‘\nnn’	代表一个与对应八进制相等的字符  (此处nnn表示最多三位八进制数据,每位数值可以不同。)
	Eg: ‘\101’ == ‘A’ == 65  (八进制101)
‘\xnnn’	代表一个与对应十六进制相等的字符
	Eg: ‘\x42’ == ‘B’ == 66  (十六进制42)

返回值:输出的字节个数

补充:
stdin —>1024byte
stdout
stderr

1.printf刷新缓冲区的条件:(行缓冲:1024byte)
1):缓冲区满
2): 程序结束刷新缓冲区
3):手动刷新缓冲区
4):遇到\n刷新缓冲区
5):当scanf和printf一方需要使用缓冲区时,另一方需要让出缓冲区

#include <stdio.h>
//刷新缓冲区的条件:
//1.程序结束会刷新缓冲区
//2.遇到\n会刷新缓冲区
//3.缓冲区满会刷新缓冲区
//4.当输入和输出一方需要使用缓冲区,另一方需要让出缓冲区
//5.程序员手动刷新缓冲区
int main(void)
{
	//2.遇到\n会刷新缓冲区
	//printf("hello world\n");
/*
	for(int i = 0 ; i < 1024;i++)
	{
		printf("i");
	}
	printf("i");
*/
	int num;
	printf("hello world");
	fflush(stdout);  //手动刷新缓冲区
	//scanf("%d",&num);
	while(1);
	return 0;    
}

6.scanf
头文件:#include <stdio.h>
原型: int scanf(const char *format,…);

功能:按照格式从终端输入指定的内容
参数:format:含有格式的字符的内容
格式字符:
%d 整形数据
%f 浮点型数据
%c 字符数据
%s 字符串数据
…:arg
返回值:成功保存的内容的个数
//1.scanf的简单使用
//以下形式可以输入一个带空格的字符串,意思是直到
//找到换行符才结束输入
scanf(“%[^\n]”, buf);
//2.自定义格式输入

//3.特殊字符的使用

m 设置输入的宽度,如果输入的内容超过设置的宽度,
只会保存设置宽度的内容

  • 抑制符,当前带有的格式字符输入的内容不会保存到与之对应的变量中,
    而是将下一个不带
    的格式字符的内容保存在之前的变量中

算术运算符

在这里插入图片描述

逻辑运算符

在这里插入图片描述

输入输出函数

在这里插入图片描述

关系运算符

在这里插入图片描述

i++与++i

在这里插入图片描述

标题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值