3(1)-数据类型及输入输出
- 格式:pdf
- 大小:426.40 KB
- 文档页数:47
C语言系列教程——基本数据类型与输入输出第2章基本数据类型与输入输出程序中最基本的元素是数据类型。
确定了数据类型,才能确定变量的空间大小和其上的操作。
C++的数据类型检查与控制机制,奠定了C++今天的地位。
C++还提供了L/O流机制,完成对输入输出的操作管理。
在过程化程序设计中,prinff和scanf是对流的一个适当补充。
学习本章后,要求搞清数据类型与变量、常量的关系,掌握各种常量的性质和定义,学会I/O流的使用,了解pfinff和scanf输入输出的作用。
2.1 字符集与保留字每种语言都使用一组字符来构造有意义的语句。
C++程序是用下列字符所组成的字26个小写字母:abcdefghijklmnopqrstuvwxyz26个大写字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ10个数字:0 1 2 3 4 5 6 7 8 9其他符号 + - * / = , . _ : ; ? \ " ' ~ | ! # % & ( ) [ ] { } < > (空格)C++中,保留字也称关键字。
它是预先定义好的标识符,这些标识符对C++编译程序有着特殊的含义。
表2-1列出了C++的保留字。
ANSIC规定有32个保留字,表中用黑正体字表示;ANSIC++在此基础上补充了29个保留字,表中用黑斜体字表示。
本书不作介绍的表中用白体字表示。
为了使语言能更好地适应软件开发环境,BC或VC对保留字进行了扩充,在表中用白斜体字表示。
VC与BC对关键字的扩充内容是不同的,这里只是常用的和共同扩充的几个。
表2-1 C++保留字auto break case charconst continue default dodouble else enum externfloat for goto ifint long register returnshort signed sizeof staticstruct switch typedef unionunsigned void volatile whilebool catch class const_castdelete dynamic_cast explicit falsefriend inline mutable namespacenew operator private protectedpublic reinterpret_cast static_casttemplate thisthrow truetry typeid typename usingvirtual wchar_tasm cdecl far hugeinterrupt near pascal exportexcept fastcall saveregs stdcallseg syscall fortran thread在程序中用到的其他名字(标识符)不能与C/C++的关键字有相同的拼法和大小写。
实验2 数据类型、运算符和简单的输入输出1,实验目的(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。
(2)掌握对各种数值型数据的正确输入方法。
(3)学会使用C语言的有关算数运算符,移机包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)学会编写和运行简单的应用程序。
(5)进一步熟悉C程序的编辑、编译、连接和运行的过程。
2,实验内容和步骤(1)输入并运行教材第3章第4题给出的程序。
#include<stdio.h>Int main(){char c1,c2;c1=97;c2=98;printf(“c1=%c,c2=%c\n”,c1,c2);printf(“c1=%d,c2=%d\n”,c1,c2);return 0;}○1运行以上程序,分析为什么会输出这些信息。
输出信息:c1=a,c2=bc1=97,c2=98Press any key to continue第6行是将c1,c2按%c的格式输出,97是字符a的AS CⅡ代码,98是字符b的AS CⅡ代码。
第7行是将c1,c2按5d的格式输出,所以输出两个十进制整数。
○2如果将程序第4,5行改为c1=197;c2=198;运行时会输出什么信息?为什么?输出信息:c1=?,c2=?c1=-59,c2=-58Press any key to continue由于Visual C++6.0字符型数据是作为signed char类型处理,它存字符的有效范围为0~127,超出此范围的处理方法,不痛的系统得到的结果不痛,因而用“%d”格式输出,结果是不可预期的。
用“%d”格式输出时,输出c1=-59,c2=-58.这是按补码形式输出的,内存字节中第1位为1时,作为负数。
59和197之和等于256,58与198之和也等于256.○3如果将程序第3行改为int c1,c2;运行时会输出什么信息?为什么?输出结果:c1=a,c2=bc1=97,c2=98Press any key to continue因为97和98在int类型的有效范围。
在 C 语言中,不同的基本数据类型有不同的输出格式。
以下是一些常见的基本数据类型及其对应的输出格式:
1. 整型数据类型:
- int 类型:使用%d 格式化输出,或者使用%i 也可以。
- short 类型:使用%hd 格式化输出。
- long 类型:使用%ld 格式化输出。
- long long 类型:使用%lld 格式化输出。
2. 无符号整型数据类型:
- unsigned int 类型:使用%u 格式化输出。
- unsigned short 类型:使用%hu 格式化输出。
- unsigned long 类型:使用%lu 格式化输出。
- unsigned long long 类型:使用%llu 格式化输出。
3. 字符类型:
- char 类型:使用%c 格式化输出。
4. 浮点型数据类型:
- float 类型:使用%f 格式化输出。
- double 类型:使用%lf 格式化输出。
- long double 类型:使用%Lf 格式化输出。
5. 指针类型:
- 指针类型(如int*):使用%p 格式化输出。
例如,如果要输出一个整数变量x 的值,可以使用printf 函数并指定相应的格式化字符串,如下所示:
int x = 10;
printf("The value of x is %d\n", x);
需要注意的是,不同的编译器可能对格式化输出有所不同,因此在实际编程中最好查阅相应的编程手册或文档以了解具体的输出格式。
数据类型和输⼊输出1.存放数据的⼩箱⼦——变量在《⼆进制思想以及数据的存储》⼀节中讲到:1. 计算机要处理的数据(诸如数字、⽂字、符号、图形、⾳频、视频等)是以⼆进制的形式存放在内存中的;2. 我们将8个⽐特(Bit)称为⼀个字节(Byte),并将字节作为最⼩的可操作单元。
编程中我们会经常处理各种数据,与内存打交道。
我们不妨先从最简单的整数说起,看看它是如何放到内存中去的。
现实⽣活中我们会找⼀个⼩箱⼦来存放物品,⼀来显得不那么凌乱,⼆来⽅便以后找到。
计算机也是这个道理,我们需要先在内存中找⼀块区域,规定⽤它来存放整数,并起⼀个好记的名字,⽅便以后查找。
这块区域就是“⼩箱⼦”,我们可以把整数放进去了。
C语⾔中这样在内存中找⼀块区域:int a;int ⼜是⼀个新单词,它是Integer 的简写,意思是整数。
a 是我们给这块区域起的名字;当然也可以叫其他名字,例如 abc、mn123 等。
这个语句的意思是:在内存中找⼀块区域,命名为 a,⽤它来存放整数。
注意 int 和 a 之间是有空格的,它们是两个词。
也注意最后的分号,int a表达了完整的意思,是⼀个语句,要⽤分号来结束。
不过int a;仅仅是在内存中找了⼀块可以保存整数的区域,那么如何将 123、100、999 这样的数字放进去呢?C语⾔中这样向内存中放整数:a=123;= 是⼀个新符号,它在数学中叫“等于号”,例如 1+2=3,但在C语⾔中,这个过程叫做赋值(Assign)。
赋值是指把数据放到内存的过程。
把上⾯的两个语句连起来:int a;a=123;就把 123 放到了⼀块叫做 a 的内存区域。
你也可以写成⼀个语句:int a=123;a 中的整数不是⼀成不变的,只要我们需要,随时可以更改。
更改的⽅式就是再次赋值,例如:int a=123;a=1000;a=9999;第⼆次赋值,会把第⼀次的数据覆盖(擦除)掉,也就是说,a 中最后的值是9999,123、1000 已经不存在了,再也找不回来了。