考研专业课学习日记3—C语言(从0开始)软件工程专业考研

本文是考研专业课学习日记的第三篇,主要聚焦于C语言中的printf和scanf函数。讨论了printf函数的返回值,以及scanf函数在输入数据时为何需要回车,遇到错误输入的处理方式,以及格式字符串中字符的分类,包括格式声明、空白字符和非空白字符的作用。
摘要由CSDN通过智能技术生成

printf函数和scanf函数函数返回值

/*
	Date: 2019年7月31日
	Author:Zoey Wang
	Function: 学习printf函数和scanf函数的返回值
*/
#include<stdio.h>

int main(void)
{
	printf("printf函数的返回值:%d, (整型,字符串个数)\n", printf("zoey\n"));   //printf函数的返回值类型为整型,会把所输出的字符个数返回
	/*
		result:
				zoey
				5
	*/
	int a, b;
	printf("scanf函数的返回值:%d, (整型,正确格式的变量个数)\n", scanf("%d%d", &a, &b));  //scanf函数的返回值类型是整型,会返回其按照正确格式输入的变量个数
	return 0;
}


/*
	运行结果:
		zoey
		printf函数的返回值:5, (整型,字符串个数)
		22
		11
		scanf函数的返回值:2, (整型,正确格式的变量个数)
			
*/

scanf函数的细节问题

(1)使用scanf函数输入数据,为什么需要按回车

      回车可以刷新键盘缓冲区的内容。键盘缓冲区会有一个换行字符。


(2)scanf函数遇到错误输入会停止
(3)scanf函数的格式字符串中的字符分类:
①格式声明(格式说明符)
②空白字符(共有3种,换行,空格和tab('\n', ' ', '\t'))——scanf在读操作中忽略掉1个或者多个空白符。
③非空白字符——scanf在进行读操作的时候剔除掉与这个非空白字符一样的字符
(4)再输入时使用空白字符起到的数据间隔作用

/*
(1)使用scanf函数输入数据,为什么需要按回车——回车可以刷新键盘缓冲区的内容。键盘缓冲区会有一个换行字符。
(2)scanf函数遇到错误输入会停止
(3)scanf函数的格式字符串中的字符分类:
①格式声明(格式说明符)
②空白字符(共有3种,换行,空格和tab('\n', ' ', '\t'))——scanf在读操作中忽略掉1个或者多个空白符。
③非空白字符——scanf在进行读操作的时候剔除掉与这个非空白字符一样的字符
(4)再输入时使用空白字符起到的数据间隔作用
*/
#include <stdio.h>
int main(void)
{
	/*学习scanf函数的注意事项(1)和(2)
	char a = 'A';			//char 字符类型 可以存放单个字符  单个字符要用单撇号括起来
	printf("%c\n", a);

	int b;
	scanf("%d", &b);
	scanf("%c", &a);
	if(a == '\n')			//== 等于号 如果两边的表达式的值相等则整个表达式为真,否则为假	
		printf("a的值是一个换行符\n");		//如果正确输入b变量的值按下回车,则该句会被输出
	printf("%c\n", a);						//如果输入b变量的时候,输入了一个#号按下回车,则这里输出a就为一个#号字符
	*/
	/*学习scanf函数的注意事项(3)——②
	int a;
	scanf("%d\n", &a);			//再输入完了a变量的值之后,只能通过一个错误的输入来结束scanf语句的执行
	printf("%d\n", a);
	*/
	/*学习scanf函数的注意事项(3)——③
	int a;
	scanf("abc%dert", &a);		//如果想输入a变量的值为23,应该输入:abc23ert
	printf("%d\n", a);
	*/
	/*学习scanf函数的注意事项(4)
	int a, b;
	scanf("%d%d", &a, &b);		//对于输入连续的整型或者浮点型数据,可以用空白符起到间隔数据的作用
	printf("a = %d, b = %d\n", a, b);
	*/
	//学习scanf函数的注意事项(4)
	char ch1, ch2;
	scanf("%c%c", &ch1, &ch2);
	printf("ch1 = %c, ch2 = %c.\n", ch1, ch2);		//对于连续的字符类型输入,它们是有能力自己间隔数据的,所以再输入完一个字符之后,不必加空白字符,否则的话,会得到错误的结果
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值