函数的声明和定义
1.1 函数声明
1. 告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,函数声明决定不了。
2. 函数的声明一般出现在函数的使用之前。要满足先声明后使用。
3. 函数的声明一般要放在头文件中的。
1.2 C本身是不提供输入输出功能的,需要使用C语言函数库中的标准输入输出函数库来实现函数中的输入输出。
c语言中提供的输入输出函数有;
getchar / putchar 一次性操作一个字符;
get / put 一次性操作一个字符串
scanf / printf 格式化函数
2.输入输出函数相关知识
2.1 getchar() 与 putchar()
2.1.1 getchar
含义:能在屏幕是输入一个字符。
原型:int getchar(void);
参数:void 证明返回值为空,返回时不用给返回值。
注意:getchar函数的返回值是int类型。
简单来说,getchar()函数就是从键盘(缓冲区)读取用户的输入,返回读取的字符对应的ASCII码值。#include <stdio.h> int main() { // 输入 char ch = getchar(); // 输出字符 putchar(ch); return 0; }
2.1.2 putchar()
含义:能在屏幕是输出一个字符,putchar函数的主要作用就是打印字符。
原型:int putchar(int c);
参数:void 证明返回值为空 // 返回时不用给实参
注意:putchar函数的输出可以是一个字符,也可以是在0~127之间的一个十进制整型(包括0与127),也可以是用char定义好的字符型常量。
下面用法示例:#include<stdio.h> int main() { char c = 'A'; putchar(c); //输出字符A putchar('\n'); //输出换行符 putchar('a'); //输出a return 0; }
#include<stdio.h> int main() { char c, d; c = getchar(); //输入字符 d = getchar(); putchar(c); //输出字符 putchar('\n'); putchar(d); return 0; }
2.2 scanf()与printf()
2.2.1 printf()按指定格式输出数据(其最后一个字母f为”格式“(format)之意)
1.定义:printf函数调用的一般形式:
2.printf函数是标准库函数,其函数原型在头文件<stdio.h>中定义,使用形式为:
printf(格式控制字符串,输出表);
3.格式控制字符串可以包含三种字符:格式说明符、转义字符和普通字符。注意:使用%c格式符按字符形式输出,输出前,系统会将该整数作为ASCII码转换为相应的字符。同样,一个字符型数据也可以用%d格式符以整数形式输出其对应的ASCII值。
其中:%m.nf形式:
可以指定数据宽度和小数位数。
m表示该浮点数整体所占的列数,包括整数部分、小数点和小数部分;
n表示该浮点数中小数部分所占的列数,
在格式说明符中的%和字母之间,可以使用辅助控制符:
#include<stdio.h> int main(void) { int a; printf("%d",a) return 0; }
2.2.2 scanf()
使用形式:
scanf(格式控制字符串,输入项地址表);
scanf函数的格式控制字符串可以包含三种字符:格式说明符、空白符和非空白符。
(1)格式说明符:用来指定数据的输入格式。
(2)空白符:包括空格、制表符和换行符,通常作为相邻两个输入数据的缺省分隔符。
(3)非空白符:又称普通字符。在输入有效数据时,必须原样输入。
使用scanf函数需要注意的几点
scanf函数中要求输入项地址,应为地址格式,而不是变量名。
当输入的数据类型为多个数值型数据时,若相邻两个格式指示符之间没有分隔符(如逗号,冒号等),则相应的两个输入项之间可用的分隔符有三种:空格、制表符或换行符。
当输入的数据类型为字符型数据时,则认为所有输入的字符均为有效字符,特别地,空格和换行符等都作为有效字符被输入。
输入数据时,遇到以下情况时系统认为该数据输入结束:
(1)遇到空格、制表符或换行符。
(2)遇到非法输入。
(3)超过指定宽度。