C语言输出函数和输入函数

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

  1) 格式控制串:格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。

  在printf函数中可以在格式控制串内出现非格式控制字符,这时在显示屏幕上会显示源字符串。

  在scanf函数中也可以在格式控制串内出现非格式控制符,这时会将输入的数据以该字符为分隔。

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

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

 

 

【例1-1】对例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。

 

posted @ 2014-07-21 21:52  冬季小虫  阅读(540)  评论(0编辑  收藏  举报