- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行结果为 x1 = 123.567802, x2 = -4567.789062 x1= 123.57 x2 = -4567.79 (按任意键后显示) * * 11 22
2。5 数据的输入
数据的输入,一般是以键盘为处理对象 的,从键盘接受字符和数据。 字符输入函数getchar( ) 和输出函数 putchar( ),是以一个字节的字符代码为单位 来完成输入输出过程的。在程序中使用这两 个函数时,要求在程序开头包含头文件 stdio.h。即 #include <stdio.h>
当右边表达式值的类型比左边变量的类型要长时,会对右边
的数据进行截取,仅取出与左边变量类型相同的长度,这意 味着,会丢失高位字节或高位字。 例2-4 main( ) 运行结果为: { int a =350, b; 350, 94, 94 char c ; c = a; b = c; printf("%d, %d, %d ", a, c, b ); getch( ); }
任何类型的数据在计算机中都是以二进制补
码形式存储的。 正数的补码等于其原码,而负数的补码等于 其原码的反码+1。
例如: 0000 0000 0101 0011 表示 1111 1111 1010 1101 表示
83 -83
0000 0000 0000 0000 0000 0000 0101 0011 表示 83L 1111 1111 1111 1111 1111 1111 1010 1101 表示 -83L
按十六进制整数形式输出 按浮点形式输出,默认6位小数
按浮点形式输出,显示宽度不小于m,n位小数
式的值按指定格式输出到显示器上,凡遇非格式符, 则原样输出。 输出格式串中的转换说明符与表达式的个数必须相 同,它们按各自的先后顺序—一对应,如图2-2所示。
例如: a =100; b =200; printf("%d + %d = %d \n", a, b, a + b ); 输出结果为: 100 +200 =300(换行)
2。3 赋值语句
所谓赋值,就是将一个数据存入一个连 续的具有若干存储单元的存储空间中,该存 储空间有一个名字,就是前面介绍的变量名。
对一个变量进行定义后,这个变量如果没 有进行赋值,它的值是不确定的。
2。3。1 赋值语句的格式与功能
一般形式:
变量 = 表达式;
功能: 首先计算赋值号“=”右边表达式的值,
例2-3 将小写字母转换成大写字母。
#include <stdio.h> 运行结果: main( ) a, A { char c1,c2; int i, j; c1 = 'a'; c2 = c1-32; /* c2 = 'A' */ printf("%c, %c", c1, c2 ); getch(); }
然后将结果值送给赋值号“=”左边的变量。 例如: g = 9.8; g = 10 + 20 - 9;
“=”不是等号,而是赋值号。
例2-1
char c1, c2; c1 = 'a'; c2 = 'b'; 上面定义了2个字符型变量 c1, c2,一个字符型 变量可存放一个字符。 将一个字符常量存放到一个字符变量中,实际 上并不是把该字符本身放到内存中,而是将该字符 的相应的ASCII码存放内存单元中。 C语言字符型数据与整型数据之间可以通用。
2。2。3 浮点型常量
C语言中的浮点类型主要分为单精度和双精
度浮点型两种。
除了十进制数的浮点表示法(如1234.56)外,
浮点数还可采用科学表示法: 1.23456e2 0.345E-3
出现在字母e(或E)之前的小数点,其左边
和右边应有一位数字
在字母e(或E)之后必须是整数。
.123、1.34E1.2均是非法的浮点数。
long
char float double
长整型
字符型 浮点型(实 型) 双精度浮点 型
4
1 4 8
-2 31 ~ +2 31 -1 (-2147483648~ 2147483647 )
-2 7 ~ +2 7 -1 (-128 ~ +127) 10 -37 ~10 +38 (绝对值) 10 -3 0 7 ~10 +3 0 8 (绝对值)
2。5。2 格式化输入函数 scanf( )
scanf( ) 函数的功能是按指定的格式从键盘接
受输入信息。 一般使用格式如下: scanf(“格式串”,地址表 );
“格式串”中既可以含格式符,也可以含非
2。2 常量和变量
2。2。1 常量和符号常量 在程序的运行过程中,其值保持不变的量称 为常量。 #define PI 3.1415926 此后,凡在文件中出现的PI均可用 3.1415926来代替。
2。2。2 整型常量
除了我们比较熟悉的整型常量如: 100、0、 -256之外,Turbo C2.0中还有其他形式的整型 常量。见表2-2。
2。2。5 变量
在程序的运行过程中,值可以改变的量称为
变量。 每个变量都有一个的 类型 如: int k=50;
变量名和符号常量名的命名方法相同,都是
用标识符表示。 标识符就是一个名字,其命名必须按照一定 的规则进行,只能由字母、数字和下划线组 成,且第一个字符必须为字母或下划线,不 允许使用数字。 如下面是合法的标识符。 Class_1, _abc1, id, a1b2, sum, total
例2-8
#include <stdio.h> main( ) { float x1 = 123.5678, x2 = -4567.789; printf("x1 = %f, x2 = %f \n", x1, x2 ); printf("x1 = %8.2f \t x2 = %8.2f \n", x1, x2 ); getch( ); /* 按任意键 */ printf("%c%3c \n", '*', '*' ); printf("%d%3d \n", 11, 22 ); }
2。4。2 格式化输出函数printf( )
格式化输出函数是按指定的格式完成输出过程。
一般使用形式如下: printf("输出格式串", 表达式表 ); 其中,输出格式串包含“格式符”或非格式符。
“格式符”以%开头后面跟一个字母。
格式符见表2-4。
格式符 %c %d %o %x %f %m.nf 按字符形式输出 按十进制整数形式输出 按八进制整数形式输出 功能说明
第2章 基本数据类型与 简单程序设计
2.1 C语言的基本数据类型 2.2 常量和变量 2.3 赋值语句 2.4 数据的输出 2.5 数据的输入 2.6 运算符和表达式 本章小结
2。1 C语言的基本数据类型
常用标准数据类型
类型标识符 名 称 字节数 范 围
int 或 short 整型
2
-2 15 ~ +2 15 -1 (-32768~32767)
例2-2
#include <stdio.h> main( ) {
运行结果: a, a, 97 97, a
char c1 = 'a', c2; int k; k = c1; /* 将字符型变量c1赋给整型变量k */ c2 = 97; /* 将整数97赋给字符型变量c2 */ printf("%c, %c, %d", c1, c2, c1); /* 字符变量既可按字符形式输出,亦可按整型输出 */ printf("\n %d, %c", k, k ); /* 整型变量既可按整型形式输出,亦可按字符型输出 */ getch(); }
2。3。2 赋值语句中的类型转换
“=”左边变量与右边表达式的数据类型不一致时, C编译系统会自动实现数据类型的转换。 转换的原则是,将赋值号右边的表达式值的类型转 换成与左边变量相同的类型后再赋值。
例如: int a; long b; char c; a = b; /* long型变量b的值变换成int型后再赋给a */ b = a; /* int型变量a的值变换成long型后再赋给b */ b = a + c; /* int型a + c的值变换成 long型后再赋给 b */
转义字符看起来是两个字符,实际上只能算一个字符。
也可以使用 "\" 加上一个1~3位的8进制 数或 "\x" 加上一个1~2位的16进制数表示的 ASCII码值来表示转义字符,例如: ‘\0’ 表示 空字符 '\33' 或 '\033' 表示ESC(27) '\07' 表示响铃 '\x0A' 表示换行(10)。
下面是不合法的标识符: ab /* 标识符不能含空格符 */ 1a /* 标识符不能以数字打头 */ #abc /* 标识符不能使用# */ xyz-1 /* 标识符不要把减号“-”和下划线“_”混 淆 */
注意:大写字符和小写字符被认为是两个不
同的字符。 如: a1和A1是两个不同的变量。
2。5。1 字符输入函数 getchar( )
功能是接收从键盘上输入的字符。
在程序中使用这个函数输入字符时,可以用
另一个变量接收读取的字符,例如: c = getchar( );
例2-9 字符输入函数getchar( )的功能
#include <stdio.h> main( ) { char ch; ch = getchar( ); printf("ch = %c, ch = %d \n", ch, ch ); getch( ); } 当执行到语句:ch = getchar( ); 时,计 算机就会等待用户击键(等待输入)。