C语言输出函数(printf)和输入函数(scanf)

时间:2014-08-16 15:55    点击:

前面的几个例子都用到了输出函数printf,例1-3还用到了输入函数scanf,这里我们先简单介绍一下它们的格式,以便后面使用。

scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数都由以下两部分组成:
1) 格式控制串:格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。

在printf函数中可以在格式控制串内出现非格式控制字符,这时在显示屏幕上会显示源字符串。各种类型的格式表示方式请参考:C语言格式输出函数printf()详解。

在scanf函数中也可以在格式控制串内出现非格式控制符,这时会将输入的数据以该字符为分隔。各种类型的格式表示方式请参考:C语言scanf()函数。

2) 参数表:参数表中给出了输入或输出的变量。当有多个变量时,用英文逗号(,)分开。例如: 

printf("sine of %lf is %lf\n",x,s);
// %lf为格式字符,表示按双精度浮点数处理,它在格式串中两次现,对应了x和s两个变量
// 其余字符为非格式字符则照原样输出在屏幕上。
scanf("%d %fa%c", &intNum, &floatNum, &c);
// %d, %f, %c为格式字符
// 表示将输入的数据分别以整数、浮点数和字符形式赋值给变量intNum, floatNum,c
// 其中的空格和a为分隔符
// 变量intNum, floatNum,c都有一个'&'符号,表示取地址


【例1-4】对例1-3稍加修改,在printf中使用多个参数,在scanf中使用'|'作为分隔符。

#include<stdio.h>  // 包含stdio.h头文件

int max(int, int);  // 函数声明

int main(){
    int a, b, n;  // 声明两个整型变量
    printf("Input two integers: ");  // 以空格为分隔
    // 以'|'为分隔符,将输入的两个整数分别赋值给a, b
    scanf("%d|%d", &a, &b);
    // 以整数形式输出a、b和最大值,a, b, max(a,b)为参数列表
    n = max(a, b);
    printf("The max between %d and %d is %d.\n", a, b, n);
    return 0;
}

// 函数定义
int max(int num1, int num2){  // num1, num2为形式参数(形参)
    if(num1>num2){  // 如果num1大于num2
        return num1;  // 返回num1并结束max函数
    }else{  // 如果num2大于num1
        return num2;  // 返回num2并结束max函数
    }
}



运行结果:
Input two integers: 12|34↙
The max between 12 and 34 is 34.

上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数main和max 函数。函数之间是并列关系。可从主函数中调用其它函数。max 函数的功能是比较两个数,然后把较大的数返回给调用函数 -- main函数。max函数是一个用户自定义函数。因此在使用前要给出说明(程序第3行)。可见,在程序的说明部分中,不仅可以有变量说明,还可以有函数说明。关于函数的详细内容将在后续章节介绍。

上例中程序的执行过程是,首先在屏幕上显示提示,请用户输入两个数,以'|'为分隔,回车后由scanf函数语句接收这两个数送入变量a、b中,然后调用max函数,并把x、y的值传送给max函数的参数a、b。在max函数中比较a、b的大小,把大者返回给main函数中的变量n。

来源:未知//所属分类:基础教程/更新时间:2014-08-16 15:55
顶一下
(13)
92.9%
踩一下
(1)
7.1%
上一篇:C语言scanf()函数:格式化输入函数
下一篇:C语言程序的结构特点
相关内容