一,
理解带格式的输入/输出函数
- scanf() 和 printf()
使用字符输入/输出函数
- getchar() 和 putchar()
C 语言中的标准库提供了输入和输出函数
标准库提供: 输入/输出函数来处理输入、输出、字符 和字符串操作
标准输入通常是指键盘
标准输出通常是指显示器(也称控制台)
可以用文件代替标准输入和输出设备
二,
头文件 <;
#include <;
这是一个预处理命令
是一个文件,称为头文件
包括对应于 C 语言程序中使用的输入/输出函数的宏
所设计的 printf()、scanf()、putchar()、getchar() 等函数需要使用头文件中的这些宏才能正确执行
带格式的输入/输出
printf() – 用于带格式的输出
scanf() – 用于带格式的输入
能以用户控制下的各种预指定格式读入和输出数据
格式说明符指定了变量值输入和输出的格式
printf ()-2
控制字符串由三类项目中的一项或多项组成:
文本字符:由可打印字符组成
格式命令: 以 % 符号开始,随后紧跟与数据项相应的格式代码
非打印字符:包括制表符、空格和新行
printf() 示例
#include <;
void main()
{
int a = 10;
float b = 24.67892345;
char ch = 'A';
printf("Integer data = %d\n", a);
printf("Float Data = %f\n",b);
printf("Character = %c\n",ch);
printf("This prints the string\n");
printf("%s","This also prints a string\n");
}
printf() 中的修饰符-1
“-” 修饰符
数据项在范围内向左对齐,从范围最左侧的位置开始输出数据项
字符宽度修饰符
可以用于浮点型、双精度型和字符数组型(字符串)。
范围宽度修饰符是一个整数,定义了数据项的 最大范围宽度。
printf() 中的修饰符-2
精度修饰符
可以用在浮点型、双精度型或字符数组型(字符串)中。如果用在浮点型或双精度型数据中,数字字符串表示小数右侧最多可输出的数字位数
“0” 修饰符
字段的默认填充符是空格。如果用户希望用零作为填充符,需要使用此修饰符
“l” 修饰符
可以借助于此修饰符将整数显示为长整型或双精度型参数。相应的格式代码为 %ld
printf() 中的修饰符-3
“h” 修饰符
此修饰符用于显示短整数。
相应的格式代码为 %hd
“*” 修饰符
如果用户不希望预先指定字段宽度,
而希望程序来指定,则需要用到此修饰符
*是表示输出的宽度需再读入一个变数
printf("%*d",5,5) 等于 printf("%5d",5)
printf("%*d",9,3) 等于 printf("%9d",3)
修饰符示例
#include <;
void main()
{
printf("The number 555 in various forms:\n");
printf("Without any modifier: \n");
printf("[%d]\n",555);
printf("With – modifier :\n");
printf("[%-d]\n”,555);
printf("With digit string 10 as modifier :\n");
printf("[%10d]\n”,555);
printf("With 0 as modifier : \n");
printf("[%0d]\n”,555);
printf("With 0 and digit string 10 as modifiers :\n");
printf("[%010d]\n”,555);
printf("With -, 0 and digit string 10 as modifiers: \n");
printf("[%-010d]\n",555);
}
scanf()
printf()语句中的使用的格式极其语法同
样适用与scanf()语句
printf() 和 scanf() 参数列表之间的区别
printf() 使用变量名、常量、符号常量和表达式
scanf()使用变量指针
使用 scanf()时,对于参数列表应遵循以下规则:
如果希望读取基本数据类型变量的值,应在变量名的前面加上符号&
当读取指针变量指向的值时,在变量名前不能使用 &
printf() 和 scanf() 格式命令之间的区别
没有 %g 选项
格式代码 %f 和 %e 在效果上是一样的
scanf() 示例
#include <;
void main()
{
int a;
float d;
char ch, name[40];
printf("Please enter the data\n ");
scanf("%d %f %c %s", &a, &d, &ch, name);
printf("\nThe values accepted are :
%d, %f, %c, %s", a, d, ch, name);
}
scanf()使用非打印字符来判断输入数据是什么时候开始和结束的
可以忽略空白区域和行边界来获取数据
控制台输入/输出
控制台输入/输出函数将其操作指向系统的标准输入和输出
C 中最简单的控制台输入/输出是:
getchar() – 从键盘读取一个(且仅一个)字符
putchar() – 在屏幕上输出一个字符
getchar()
用于从键盘读取输入数据,方式为一次读一个字符
缓冲字符,直到用户按回车键
getchar() 函数没有参数,但仍然必须使用括号
getchar() 示例
#include <;
void main()
{
char letter;
printf("\nPlease enter any character: ");
letter = getchar();
printf("\nThe character entered by you is %c", letter);
}
putchar()
#include <;
void main()
{
putchar('H'); putchar('\n');
putchar('\t');
putchar('E'); putchar('\n');
putchar('\t'); putchar('\t');
putchar('L'); putchar('\n');
putchar('\t'); putchar('\t'); putchar('\t');
putchar('L'); putchar('\n');
putchar('\t'); putchar('\t'); putchar('\t');
putchar('\t');
putchar('O');
}
getch和putch
getch和putch不属于C语言标准,但在windows和其他操作系统的补充库提供。
Windows包含于<conio.h>,linux包含与于<cur;中。
与getchar和putchar的区别是不需要回车,也不回显。
例如:输入密码的过程
gets和puts
读取和打印一行文字。
总结
本课主要讲解了以下内容:
带格式的输入、输出函数
scanf()函数
printf()函数
字符的输入和输出
getchar()函数
putchar()函数