1、格式化输出函数printf()
(1)头文件:#include
(2)功能:用于在标准输出设备控制台上显示数据
(3)函数原型及参数
int printf("control string",argument list);
第1个参数为控制字符串,第2个参数为参数列表。
注:控制字符串由三类项目中的一项或多项组成:
1)文本字符:由可打印字符组成
2)格式命令:以 % 符号开始,随后紧跟与数据项相应的格式代码
3)非打印字符:包括制表符、空格和新行
若第一个参数为格式命令时,参数列表需在数量、类型和顺序上与其相匹配。
(4) 返回值:正确返回输出的字符数量,错误则返回EOF
(5)程序示例
1)带一个参数
printf("helloworld!!!");//纯文本--helloworld!!!
printf("\n");//转义字符--换行
printf("helloworld!!!\b");//退格--helloworld!!
printf("helloworld!!!\b \b");//回删--helloworld!!
printf("\"");//打印双引号--"
printf("%%");//输入百分号--%
printf("%c\n",'%');//--%
2)带两个参数之一般形式
int i=100; //格式化命令--%d:整型数%s:字符串%f:浮点型%c:单字符
printf("a=%d\n",100); 常量--a=100
printf("a=%d\n",i);//变量--a=100
printf("a=%d\n",i+100);//表达式--a=200
3)带两个参数之格式化命令前后数量一致
printf("a=%d %d\n",100);//--a=100 4198688
printf("a=%d %d\n",100,200,300);//--a=100 200
4)带两个参数之格式化命令前后类型一致
printf("a=%f\n",100);//--a=0.000000 (错误)
printf("a=%f\n",100.0);//--a=100.000000 (正确)
5)带两个参数之修饰命令
"*"修饰符:
printf("[%*.*f]",8,2,123.456);//--[ 123.46]
精度修饰符:
printf("a=%.2f\n",100.0);//小数点后保留2位--a=100.00
宽度修饰符:
printf("a=%3d\n",100);// 3位--a=100
printf("a=%4d\n",100);//--a= 100
printf("a=%5d\n",100); //--a= 100
printf("a=%05d\n",100);//--a=00100
注:宽度修饰符大于本身长度才生效
printf("%d\n",printf("hello"));//测试返回值输出字符数量--hello5
"0"修饰符:
printf("[%d]\n",555);//--[555]
printf("[%10d]\n",555);//--[ 555]
printf("[%0d]\n",555);//--[555]
printf("[%010d]\n",555);//[0000000555]
"-"修饰符:
printf("[%-d]\n",555);//--[555]
printf("[%-10d]\n",555);//--[555 ]
printf("[%-0d]\n",555);//--[555]
printf("[%-010d]\n",555);//--[555 ]
2、格式化输入函数scanf()
(1)头文件:#include
(2)功能:用于接受数据
(3)函数原型及参数
int scanf("control string",argument list);
第1个参数为控制字符串,常为格式命令,第2个参数为参数列表,基本数据类型为(int ,float,char...)+&;
输入时按照第一参数格式输入,且第一个参数后面不能跟\n。
格式化输入输出参数列表对比:
scanf()--使用变量指针,参数列表应遵循:
如果希望读取基本数据类型变量的值,应在变量名的前面加上符号&;
当读取指针变量指向的值时,在变量名前不能使用&。
printf()--使用变量名、常量、符号常量和表达式
(4)返回值:正确返回输入成功的参数数量,错误则返回0
(5)程序示例
int a;
float d;
char ch,name[40];
scanf("%d %f %c %s",&a,&d,&ch,name);//输入--10 12.25 x xiaoming
printf("\n%d,%f,%c,%s",a,d,ch,name);//输出--10,12.250000,x,xiaoming
scanf("a=%d",&a);//输入--a=10
printf("\na=%d\n",a);//输出--a=10
(6)类型说明符
常用格式命令输出含义:
%d:整数的数字位数
%f:数字的整数部分如实输出,小数部分保留6位。若小数部分不是足6位,则补足6位,否则四舍五入取到6位
%e:小数左侧保留1位数字,右侧保留6位数字(与%f规则相同)。
(7) 转义序列
3、控制台输入/输出getchar()和putchar(ch)
头文件:#include
getchar() --从键盘读取一个(且仅一个)字符
putchar() --在屏幕上输出一个字符
(1)字符输入函数getchar()
1)函数原型:int getchar(void);//没有参数
2)函数功能:从终端输入一个字符。
3)返回值:返回输入字符的ASCII码,可以使用字符变量或者整型变量接收。
4)说明
getchar()函数没有参数,但仍然必须使用括号
缓冲字符,直到用户按回车键。虽然可以输入多个字符,但函数只接受第一个字符。
(2)字符输出函数putchar()
1)函数原型:int putchar(int c);
2)函数功能:从终端输出一个字符, 且转换成ASCII码返回。
3)函数参数:其中c要输出的字符,可以是字符型常量、字符型变量、整型常量、整型变量表达式、转义序列等。
(3)程序示例:
char ch;
printf("请输入一个字符:\n");
ch=getchar();//输入--h
putchar(ch);//输出--h
printf("\n");
putchar()的选项和效果:
4、getch()函数
(1)头文件:#include
(2)用法
1)获取键盘上第一个字符,且不回显(即按下一个键后不默认键值显示在屏幕上,除非使用输出函数显示出来)
int num=0;
num=getchar();//输入--1
printf("%d",num);//输出--49
printf("\n");
char ch=0;
ch=getch();//a
printf("%c",ch);
printf("\n");//a
fflush(stdin);//刷新缓冲区
getch();
printf("end");//输出--end
2)暂停
printf("111\n");//输出--111
getch(); //一个回车
printf("222\n");//输出--222
getch();
getch(); //两个回车
printf("333\n");//输出—333
编辑 2020-4-18 22:51
注:本文旨于作为自己的学习笔记,不作他用。