一、C语言中常用的命名方法
- 驼峰命名法:驼峰命名法有大驼峰和小驼峰之分,大驼峰命名是将首字母大写连在一起的单词的首字母也大写,如FirstNum,小驼峰命名法只是第一个单词的字母不用大写,如firstNum。
- 内核命名法:将单词与单词之间用下划线连接,如first_num。
- 注意:命名时应养成良好习惯,尽量不用拼音,多用单词;编写代码时应只选择一种命名方式,不要混用;命名时应该做到见名知义,提高代码的可读性。
二、输入输出
- 输入输出的定义如下:
举个例子,计算机从键盘获取一个输入,按下键盘,数据会进入到计算机的内存里面,外部设备将数据送入内存,这个过程叫输入;而从内存中发送给显示器显示,内存中的数据发送给外部设备,此过程叫输出 。
- 实现该功能的方法:C语言本身是不提供输入输出这个功能,输入输出操作由C语言的标准输入输出库中的函数来实现,也就是C语言刚入门时写的<stdio.h>。stdio全称是Standard Input&Output,h是head的意思,里面包含了用来完成输入输出的函数,完成该项操作的时候只需调用相应的函数即可。
完成输入输出的函数:
getchar //输入字符 | putchar //输出字符 |
gets //输入字符串 | puts //输出字符串 |
scanf //格式输入 | printf //格式输出 |
今天主要学习了getchar、putchar、scanf、printf这四个输入输出函数
getchar
- 函数原型:int getchar(void);
- 功能:从键盘上获取一个字符。
- 参数:void表示在调用函数时不用传入参数。
- 返回值:表示获取到的字符的ASCII码值。
putchar
- 函数原型:int putchar(int c);
- 功能:输出一个字符。
- 参数:传入一个int类型的数,其实就是你要输出那个字符的ASCII码值,一般直接写成 '输出的字符'
- 返回值:如果输出字符成功,那么将返回那个字符的ASCII码值,如果失败了,就返回-1。
printf
printf这个函数的格式是printf("格式控制字符串",输出参数列表);
学会这个函数重点在于格式控制字符串,该字符串中,分两种字符,一为普通字符,它们被原样打印出来,二位占位符,占位符就是为了匹配后面的输出参数,以下是占位符的介绍
同时,为了打印输出的效果更好,还可以在%和字符间加上辅助控制符,如%#x,#为辅助控制符,以下是辅助控制符的详解
辅助控制符可以搭配使用,以达到更好的打印输出的结果
补充说明:printf这个函数也有返回值,它的返回值就是打印输出的字符的个数
scanf
scanf的函数原型为int scanf(const char *format, ...);其格式为scanf("格式控制字符串",地址列表);
scanf中的格式控制字符串和printf中的通用,只是表达的意思不同,printf是将要输出的数据按照规定的格式输出,而scanf是将输入的数据转成规定的格式,辅助控制字符也可以在scanf中使用,但是在使用l,ll,h,hh时要做到精确的匹配。
同时也要注意以下细节,scanf的格式控制字符串中最好不要写普通字符,因为对于普通字符要求原样输入,对于不了解的使用者做不到原样输入;其次,地址列表中的地址一定要是有效且确定的;同样要注意scanf输入结束的时间点。
对于多类型输入来说,匹配到该类型无法识别的字符时,当前scanf则匹配结束了;遇到空白符(空格、回车、tab)时,匹配结束,但是字符类型的输入特殊,因为空格也是一个字符。
所以一般我们再写scanf时,可以考虑将格式控制字符串中的占位符一个一个用空格隔开,因为只要scanf中出现一个空格,它可以匹配任意个数的空白符,当然也可以用%*c跳过一个空格或者用getchar读走缓冲区中的空白符,防止%c跟空白符匹配上,导致数据出错。
scanf也是有返回值的,它返回匹配类型正确的个数,可以用这个返回值来判断用户是否输入了正确类型的数据。
三、输入输出函数的原理
我们在键盘上按下键盘的时候,其实是将输入的数据发送到了缓冲区,按下回车键,将'\n'字符也送到了缓冲区,这个时候输入函数开始读取缓冲取的内容,如果正确匹配上输入的要求,该数据从缓冲区被读走了,如果没有正确匹配,这个值会一值留在缓冲区,这个时候若要清空缓冲区,则可以考虑用getchar函数依次读走缓冲区的内容