牛骨文教育服务平台(让学习变的简单)

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

上节中的两个例子都用到了输入和输出函数scanf和 printf,这里我们先简单介绍一下它们的格式,以便后面使用。

scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数都由以下两部分组成:

  • 格式控制串:格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。在printf函数中还可以在格式控制串内出现非格式控制字符,这时在显示屏幕上会显示源字符串。各种类型的格式表示法请参考:C语言格式输出函数printf()详解。
  • 参数表:参数表中给出了输入或输出的变量。当有多个变量时,用英文逗号(,)分开。例如:

    printf("sine of %lf is %lf
    ",x,s);
    

    其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中两次现,对应了x和s两个变量。其余字符为非格式字符则照原样输出在屏幕上。

【例1-3】输入输出函数举例

int max(int a,int b);  /* 自定义函数说明 */
main(){  /* 主函数 */
    int x,y,z;  /* 变量说明 */
    int max(int a,int b);  /* 函数说明 */
    printf("input two numbers:
");
    scanf("%d%d",&x,&y);  /* 输入x,y值 */
    z=max(x,y);  /* 调用max函数 */
    printf("maxmum=%d",z);  /* 输出 */
}

int max(int a,int b){  /* 定义max函数 */
    if(a>b){
        return a;
    }else{
        return b;  /* 把结果返回主调函数 */
    }
}

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

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