C编程之旅02:输入输出

第二讲:输入输出
// 课次 : 第二讲
// 时间 :2008.4.13( 晚上 )
// 基本内容: C 语言的输入输出
 
目录
 
 
在早期的时候,计算机的最主要的工作是计算。也就是“程序员”通过纸带将一些必须的数据输入给计算机,然后计算机执行相应的程序,最后,计算机将执行的结果输出
 
在信息技术高度发达的今天,计算机运行程序的工作流程还是同早期差不多。不过,今天的计算机最主要的功能不再是计算,而是信息的管理。由于操作系统的极大进步,数据的输入也不再是“程序员”通过纸带输入,而是由操作系统给用户提供更多更好的友好界面。
 
从上面的描述,我们可以知道计算机执行一个程序的基本流程:
1.        程序员(用户)输入一些交互的数据。
2.        计算机执行程序。
3.        计算机输出结果。
 
由此我们可以得出这么一个结论:“输入”和“输出”是一个非常重要的部分。
补充: 顺便说一句,今后我们的编程都是要涉及到“输入”和“输出”。
 
本次课程要涉及到两种输入输出的方式: C 的输入输出方式、 C++ 的输入输出方式。
C 的输入输出方式
首先我们看一段代码:
#include <stdio.h>
 
int main()
{
     int      a    = 0; // 定义一个int类型的变量
     char ch   = '/0'; // 定义一个char类型的变量
     float    f    = 0.0;   // 定义一个float类型的变量
     double   d    = 0.0;   // 定义一个double类型的变量
 
     //input
     printf("please input ch:");
     scanf("%c", &ch); // 获得一个char类型的输入,并把它赋值给ch
 
     printf("please input a:");
     scanf("%d", &a);// 获得一个int类型的输入,并把它赋值给a
 
     printf("please input f:");
     scanf("%f", &f);// 获得一个float类型的输入,并把它赋值给f
 
     printf("please input d:");
     scanf("%lf", &d);// 获得一个double类型的输入,并把它赋值给d
 
     //output
     // 将刚刚输入的数据都输出来
     printf("a = %d/tch = %c/tf = %f/td = %lf/n", a, ch, f, d);
 
     return 0;
}
现在将对上面的代码做一些解释 :
 
注释: 所谓的注释就是可以写在代码中帮助记忆、理解代码的一些语句。但是,这些语句不会被编译器所识别,因此不影响其他代码。在 C/C++ 中可以利用 //” /* */” 注释代码。
a)        ”//” 表示 : 行注释,在“ // ”之后这一行的代码都被注释。
b)        “/* */”: 段注释,所有的在 /*” */” 之间的代码都被注释。
 
头文件: #include <stdio.h> stdio.h 这个头文件包含到这个工程中来。
 
主函数: int main() 主函数,每个 C/C++ 程序必须有一个 main 函数,其格式见源代码。
 
定义变量: int a = 0; 定义一个变量,其格式为 : 变量类型 变量名 (= 初始值 ); 其中括号中的可有可无。
 
变量的类型: 整体上可以分为这么几个部分:整数、字符类型、数组类型、指针类型。
       整形: int long short 。我们通过 sizeof () 的得到变量所占内存的大小。 int 的大小不确定,是于编译器有关系的。在 Visual studio 2003 int 4 个字节。 long 4 个字节。 short 2 个字节。同时整形的都可以分成 signed( 有符号 ) 的和 unsigned 无符号的。有符号的指该变量允许可正可负,无符号的只允许正数(包括 0 )。
 
       字符型 :char ,相当于有符号的整形,但是在内存中的大小只占一个字节。
 
       数组类型:暂时不讲。
 
       指针类型:暂时不讲。
 
输出函数: printf
函数 :printf
Header( 头文件 ): stdlib.h.
Link Library( 动态链接库 ): coredll.dll.
 
函数原型:
int printf(
   const char* format [, argument]...
);
 
参数含义:
format( 第一个参数 ) :格式化的字串。 %d: int 型的变量 ; %f: float 型的变量 ; %ld:long 型的变量 ; %lf: double 型的变量 ; %c:char 型的变量 ; %s: 字符串类型的变量。 ”/t” 表示一个 ”tab” ”/n” 表示回车换行。
 
...( 第二个参数 ): 根据 format 填入相应的变量。
 
返回值:
如果程序执行成功返回打印的字符串数目。
 
输入函数: scanf
函数 :scanf
 
Header( 头文件 ): stdlib.h.
Link Library( 动态链接库 ): coredll.dll.
 
函数原型 :
int scanf(
   const char *format [,
   argument]...
);
 
参数含义: ( printf 的参数一致 )
format( 第一个参数 ) :格式化的字串。 %d: int 型的变量 ; %f: float 型的变量 ; %ld:long 型的变量 ; %lf: double 型的变量 ; %c:char 型的变量 ; %s: 字符串类型的变量。 ”/t” 表示一个 ”tab” ”/n” 表示回车换行。
 
...( 第二个参数 ): 根据 format 填入相应的变量。
 
返回值:
返回已经成功转换和赋值的输入字符串的个数。如果,输入的字符串没有被成功的赋值则不包括在返回值中。
 
函数的使用:
       输出一个变量:
       int i = 0; printf(“i = %d”, i); ( 输入一个 int 类型的变量,其他类型见源代码。
 
       从键盘获得一个输入:
       int i = 0; scanf(“%d”, &i); ( 从键盘获取一个 int 类型的变量,其它类型见源代码 )
C++的输入输出方式
看看 c++ 源代码
#include <iostream>
using namespace std;
 
int main()
{
     int      a    = 0; // 定义一个int类型的变量
     char     ch   = '/0'; // 定义一个char类型的变量
     float    f    = 0.0;   // 定义一个float类型的变量
     double   d    = 0.0;   // 定义一个double类型的变量
 
     //input
     cout << "please input ch:" << endl;
     cin >> ch; // 获得一个char类型的输入,并把它赋值给ch
 
     cout << "please input a:" << endl;
     cin >> a;// 获得一个int类型的输入,并把它赋值给a
 
     cout << "please input f:" << endl;
     cin >> f;// 获得一个float类型的输入,并把它赋值给f
 
     cout << "please input d:" << endl;
     cin >> d;// 获得一个double类型的输入,并把它赋值给d
 
     //output
     // 将刚刚输入的数据都输出来
     cout << "a = " << a << endl;
     cout << "ch = " << ch << endl;
     cout << "f = " << f << endl;
     cout << "d = " << d << endl;
 
     return 0;
}
 
一些解释:
头文件
#include <iostream>
using namespace std;
C++ 中引入了名字空间 (namespace) 来解决命名冲突的问题。上面两句的含义相当于 : #include <iostream.h>
 
C++ 输入函数
       cin >> 变量 ; cin 是一个 istream 的变量。 cin 是一个保存在 std 名字空间( namespace )下面的全局的变量。
 
       >> istream (一个 class )实现的操作符重载。(后面课程中解释)
 
C++ 输出函数
       cout << 变量 ; cout 是一个 ostream ( 一个 class) 的变量。 cout 是一个保存在 std 名字空间( namespace )下面的全局的变量。
 
       << ostream (一个 class )实现的操作符重载。(后面课程中解释)
1)        练习用“ C 输入输出函数”和“ c++ 输入输出函数”两套函数。
2)        复习变量的类型,以及它们这件的区别。
3)        测试“ C/C++ 输入函数”,比如第一个 int 类型变量输入一个其他类型的数值,看看会发生什么结果。
我们发现用 C++ 的输入输出函数比 C 的输入输出函数简单的多,所以,以后我们在今后的“ C 编程之旅”的输入输出函数就选择“ C++ 的输入输出函数”。
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值