1.输入函数
(1)scanf()函数
函数原型:
printf()语句中的使用的控制字符串及其语法同样适用于scanf()语句
返回值:输入成功的参数数量,否则返回0
scanf()使用非打印字符来判断输入数据是什么时候开始和结束的
可以忽略空白区域和行边界来获取数据
scanf()使用变量指针,参数列表应遵循以下规则:
如果希望读取基本数据类型变量的值,应在变量名的前面加上符号& 当读取指针变量指向的值时,在变量名前不能使用 &
(2)getchar()函数
函数原型:int getchar(void);//没有参数
函数功能:从终端输入一个字符。
返回值:返回输入字符的ASCII码,可以使用字符变量或者整型变量接收。
其它说明: getchar()函数没有参数,但仍然必须使用括号
缓冲字符,直到用户按回车键。虽然可以输入多个字符,但函数只接受第一个字符。
(3)getch()函数
函数原型:int getch();
主要功能:是从控制台读取一个字符,而不需要用户按下回车键。
特点:
-
立即返回:
getch
函数在读取到一个字符后立即返回,不需要等待用户按下回车键。 -
不显示字符:默认情况下,
getch
不会将读取的字符显示在控制台上(尽管有些实现可能提供了修改这一行为的选项)。 -
非回显:与
getchar
不同,getchar
会从标准输入读取字符,并在控制台上回显这些字符(即用户可以看到他们输入的字符)。
2.输出函数
(1)printf()函数
函数原型:
控制字符串由三类项目中的一项或多项组成:
文本字符:由可打印字符组成
格式命令: 以 % 符号开始,随后紧跟与数据项相应的格式代码
非打印字符:包括制表符、空格和新行
返回值:输出的字符数量,如果错误返回EOF
修饰符:
字符宽度修饰符,例如:printf(“%4d”,500);
可以用于浮点型、双精度型和字符数组型(字符串) 范围宽度修饰符是一个整数,定义了数据项的最大范围宽度。
“-” 修饰符,例如:printf(“%-d”,500);
数据项在范围内向左对齐,从范围最左侧的位置开始输出数据项
精度修饰符,例如:printf(“%.2f”,3.14159);
可以用在浮点型、双精度型或字符数组型(字符串)中。 如果用在浮点型或双精度型数据中,数字字符串表示小数右侧最多可输出的数字位数
“0” 修饰符(填充在数字左边,右边无效,保证数据准确性:
字段的默认填充符是空格。如果用户希望用零作为填充符,需要使用此修饰符
“l” 修饰符:可以借助于此修饰符将整数显示为长整型或双精度型参数。相应的格式代码为 %ld
“h” 修饰符:此修饰符用于显示短整数,相应的格式代码为%hd
“*” 修饰符:如果用户不希望预先指定字段宽度,而希望程序来指定,则需要用到此修饰符
(2)putchar()函数
函数原型:int gettchar();
函数功能:从终端输出一个字符, 且转换成ASCII码返回。
函数参数:其中c要输出的字符,可以是字符型常量、字符型变量、整型常量、整型变量表达式、转义序列等。
putchar() 的选项和效果
(3)putch()函数
函数原型:int putch();
-
由于
putch()
是非标准函数,因此在使用前需要确认目标编译器或平台是否支持该函数。 -
在编写跨平台代码时,应避免使用
putch()
,而是使用更标准的输出函数,如putchar()
。 -
在使用
putch()
时,还需要注意处理可能的返回值,以确保程序的健壮性。
3.输入输出格式
补:
输入输出缓冲区:
缓冲区(流)负责在输入/输出设备和程序之间建立联系。
输入设备->内存缓冲区(stdin)->程序
程序->内存缓冲区(stdout)->输出设备
是一块临时的存储区域,或在内存中,或在设备的控制卡上
4.运算符
(1)算术运算符
(2)赋值运算符
赋值符号“=”就是赋值运算符,它的作用是将一个表达式的值赋给一个变量。
通用的形式:变量名=表达式
将同一个值赋给多个变量的操作叫做多重赋值
复合赋值运算符
还可以与位运算符构成复合赋值运算符,如:^=、<<=、>>=、&=、|=