200721学习日报

这篇学习日报详细介绍了stdio.h头文件中的关键输入输出函数,如printf()、scanf()、getchar()等。讨论了控制台的特性,包括默认尺寸和文本单元,并解释了各函数的功能、参数列表、返回值。此外,还提到了getch()函数及其与getchar()的区别,以及在使用这些函数时的一些心得。
摘要由CSDN通过智能技术生成

一 学习的知识点

1、stdio.h头文件

stdio.h是一个标准输入输出头文件,包含printf(),scanf(),getchar()等函数。

2、控制台

默认控制台有25行80列的文本单元,也可以自己设置大小,每个单元可容纳一个字符,输出超出列数,自动换行

3、输入输出函数

A、printf();

函数功能

用于在标准输出设备控制台上显示数据

函数原型及参数

int printf ("control string ", argument list);
control string:控制字符串 argument list:参数列表
控制字符串由三类项目中的一项或多项组成:
1.文本字符:由可打印字符组成(包含空格)
2.格式命令:以%开始

类型格式
带符号的十进制整数%d
不带符号的十进制整数%u
不带符号的十六进制整数%x
不带符号的八进制整数%o
浮点数%f/%lf
单字符%c
字符串数组%s

修饰符添加在格式字符中间,例:printf(“%-d”,500);

修饰符意义
-结果左对齐,右边填空格
+输出符号
#为八进制和十六进制数加前缀o/0x
宽度修饰符%4d输出整型数据限制在4位
精度修饰符%.2f输出浮点数限制2位小数
“0”修饰符%0d数字左边填充0
“*”修饰符printf("%.*f\n",2,86.5);

3.非打印字符:有换行\n、回车\r、水平制表\t等转义字符,getchar函数,\n表示回车,getch函数(在conio.h头文件中),\ r表示回车。

参数列表:

可以是变量、常量、表达式、函数,参数与参数之间以逗号隔开

返回值:输出的字符数量

B、scanf();

scanf函数执行时,首先试图从缓冲区读取数据,如果数据类型和第一个控制字符串匹配,则继续从缓冲区读取数据和第二个控制字符串匹配,依次进行下去,如果有一个数据类型和控制字符串不匹配,则从该处跳出,执行下一条语句,匹配不成功的数据依旧保存在缓存区。
fflush(stdin);清空输入缓存区在这里插入图片描述

函数功能:

将输入的数据以控制字符串里面的格式命令保存到参数列表里面对应的地址中。

函数原型:

int scanf("control string ", argument list);
控制字符串:和printf();的相同,可以是纯文本,但输入时必须和纯文本相同,按回车结束输入。如果格式命令之间有其他字符,就按字符输入,如果没有其他字符,可以按回车、空格或tab键。但不能出现换行\n、回车\r等

参数列表:

一定是地址格式

返回值
  1. 返回正整数。表示正确输入参数的个数。

  2. 返回整数0。表示用户的输入不匹配,无法正确输入任何值。

  3. 返回-1,-1在内存中以补码11111111 11111111 11111111 11111111 一共4个字节存在。。表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复多次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。

C、getchar();

函数功能

获取从键盘输入的单个字符,接收获取的第一个字符,可以一直输入,按回车结束输入,多输入的字符存在输入缓存区,回显。
输入回车,获取的字符为‘\n’

函数原型

int getchar(void);

返回值

返回输入字符的ASCII码,可以使用字符变量或者整型变量接收

D、getch()

获取一个字符,并且只能输入一个马上结束,不回显,在头文件conio.h中。返回值为获取的字符
输入回车,获取的字符为‘\r’

E、putchar(int c)

功能:从终端输出一个字符,且转换成ASCII码返回

F、putch

putch
用 法: int putch(int ch),其中参数ch为要输出的字符。
返回值:如果输出成功,函数返回该字符;否则返回EOF

二 上课没有听懂或者没有理解的地方

三 当天学习的收获

这两条循环语句让我知道getchar()和getch()函数从输入缓存区获取字符

while(1) //用户名
{
     num1=getchar();
	 putchar(num1);
}
while(1) //密码
{
     num1=getch();
	 putchar('*');
}

四 作业的思路,不会的地方及原因

while(1) //用户名
{
     num1=getchar();
	 putchar(num1);
}
while(1) //密码
{
     num1=getch();
	 putchar('*');
}

五 其他需要反馈的问题

六 心得体会

课前可以先预习写点笔记,上课时记笔记能更加从容。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值