OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 7.输入输出函数

共2条 1/1 1 跳转至

7.输入输出函数

高工
2014-10-27 14:12:20    评分

  前面的几个例子都用到了输出函数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头文件

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-10-27 14:18:21    评分
2楼
赞楼主,整的不错

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]