




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C C语言程序设计语言程序设计 青岛农业大学海都学院青岛农业大学海都学院 EmailEmail: 第3章 最简单的c程序设计 - 顺序程序设计 1 C C语言程序设计语言程序设计 第3章 最简单的c程序设计-顺序程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出 2 C C语言程序设计语言程序设计 3.2 数据类型 数据类型决定了数据对象的存储形式、取值范围以及能进行的 运算。在C语言中,数据类型一般包括基本数据类型、构造数 据类型、指针类型和空类型等四大类。 数据类型 指针类型 构造类型 基本类型 空类型 void 整型 int 实型(浮点型) 字符型 char 数组 结构体 共用体 单精度 float 双精度 double 注意:数据类型的位数 和取值范围与所运行环 境有很大关系(本书以 Windows下的Visual C+ 6.0为准 ) 3 C C语言程序设计语言程序设计 3.2 数据类型 类型名名称位数取值范围 (signed)char字符型8-128127 unsigned char无符号字符型80255 (signed)short(int)短整型16-3276832767 unsigned short(int)无符号短整型16065535 (signed)int整型32-21474836482147483647 unsigned(int)无符号整型3204294967295 (signed)long(int)长整型32-21474836482147483647 unsigned long(int)无符号长整型3204294967295 float 单精度实型323.4(10-381038),6位精度 double双精度实型641.7(10-30810308),15位精度 C语言的基本数据类型 4 C C语言程序设计语言程序设计 3.2.1 常量和变量 常量 在程序运行过程中,其值不能被改变的量 常量区分为不同类型,如 12、3.2、a,包括整型常量、实 型常量、字符型常量、字符串常量以及符号常量等。 一、整型常量 整型常量是以补码的形式存储在内存中的,最高位(即符号 位)为0表示正数,为1表示负数。也允许使用无符号整数, 即将最高位不看作符号位,而用来表示数值。短整型数在内 存中一般用两个字节(16bit)存储,整型数和长整型数用四 个字节(32bit)存储。无符号短整型、整型、长整型比相应 的有符号短整型、整型、长整型表示的数的范围在正数的方 向上扩大了一倍,但不能表示负数。 5 C C语言程序设计语言程序设计 2、长度: 长整型(后缀L): 23L 023L-0x123L 无后缀L时根据大小决定 3、符号位: 无符号整型(后缀U):23U 256U0xFFU 无后缀U的整数都是有符号 的 一、整型常量 1、数制: 十进制:23 0 -123 八进制(前缀0): 023 0 -0123 十六进制(前缀0x):0x23 0x0 -0x123 3.2.1 常量和变量 常量 6 C C语言程序设计语言程序设计 二、浮点型常量 1、书写形式: 小数形式:0.123 345.0 -34. .679 0.0 0. 小数点不能省略,不能只有一个小数点 指数形式:1.4E-3-45e71e00e0 科学计数法:1.4x10-3-45x10710 2、精度: 单精度(后缀F):6位有效数字,如: 0.0123456789012F 双精度:15位有效数字,如:0.0123456789012345 长双精度:15位有效数字 无后缀实数的精度缺省为双精度。 3.2.1 常量和变量 常量 e3 3e0.3 e前后必须有数字, e后必须为整型数 7 C C语言程序设计语言程序设计 三、字符常量 字符常量的界定符为一对单引号,表示一个单字节字符 1、普通字符:a A 0 + “ 和 是非法字符常量 2、转义字符: 1)字母表示:n t r n 2)八进制数字表示(ddd):101 3 注意数字的取值范围 3)十六进制数字表示(xdd): xFF x5 说明:字符可用对应的编码(整数)表示 如:用 065 53 0x35 表示 5 C中经常将字符常量等价为整数参与运算: 如:A +32 结果为 a 0 - 48 为 0 3.2.1 常量和变量 常量 8 C C语言程序设计语言程序设计 四、字符串常量 字符串由若干字符(含转义字符)组成,用双引号界定 如:“hello“ “a“ “123“ “ “n“ “Tomtis078n“ 含几个字符? 没有长度为零的字符(),但有长度为零的字符串(“) 注:双引号在一行内成对出现,长字符串可写在多行上,C会自动 连接为整体 如:“hello, Im“ xu. “ “Who are you?“ 输出显示:hello, Im xu. Who are you? 思考:字符串中的 和 “ 如何表示? 答案: “ “ 区别字符常量 “ 3.2.1 常量和变量 常量 9 C C语言程序设计语言程序设计 习惯上,符号常量名用大写,变量用小写 用一个标识符代表的一个常量 定义方法: #define 标识符 常量 五、符号常量 例: #define PRICE 30 void main( ) int num,total; num = 10;/* 10 是常量 */ total = num * PRICE;/* PRICE是符号常量 */ printf ( “total=%d“, total); 3.2.1 常量和变量 常量 10 C C语言程序设计语言程序设计 3.2.1 常量和变量 变量 标识符的格式: 1)只能使用字母、数字或下划线 2)首字符必须为字母或下划线 3)字符个数不超过32个 4)区分大小写 5)不能使用关键字(保留字) 如:x,sum,_word,lotus_1_2_3 3df,$12, a+b, M.D.John,int 变量:是值可以改变的量 定义方法:数据类型 标识符 注意: 标识符要“见名知意”,变量应“先定义后使用” 11 C C语言程序设计语言程序设计 3.2.1 常量和变量 常变量 例: const int a=-10; -10 内存 x 常变量具有变量的基本属性,只是 不允许改变其值。 符号常量在预编译时仅是进行字符 替换,预编译后,符号常量就不存在了 ,对符号常量的名字是不分配存储单元 的。 12 C C语言程序设计语言程序设计 3.2.3 整型数据 一、整型变量 1、有效位数 短整型:以short int 或short说明,如:short s, sum 基本型(整型):以 int 说明,如:int i, sum 长整型:以 long int或long说明,如:long l, sum 双长整形:以long long int或long long说明,如:long long m 2、符号位 用signed(常常省略)、unsigned说明符号位 如:无符号整型用 unsigned int 或 unsigned 说明 无符号短整型用 unsigned short 说明 无符号长整型用 unsigned long 说明 无符号双长整型用unsigned long long 说明 13 C C语言程序设计语言程序设计 3.2.3 整型数据 一、整型变量 例如: int a , b; long num, i, j; unsigned short c, d; signed signed 整形数据在内存中的存放形式 数据在内存中以二进制的补码表示: 符 号 位 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 +10 -10 14 C C语言程序设计语言程序设计 定义格式(类型)字 节 数 最小取值范围 signed int 2 -3276832767 (-215215-1) 4 -21474826482147483647 (-231231-1) unsigned int 2 065535 (0216-1) 4 04294967295 (0232-1) signed short int 2 -3276832767 (-215215-1) unsigned short int 2 065535 (0216-1) signed long int 4 -21474826482147483647 (-231231-1) unsigned long int 4 04294967295 (0232-1) signed long long int 8 -92233720368547758089223372036854775807(-263263- 1) unsigned long long int 8 018446744073709551615(0264-1) 3.2.3 整型数据 15 C C语言程序设计语言程序设计 3.2.4 浮点型数据 二、浮点型变量 单精度(float型):4个字节,定义如 float x,y; 双精度(double型):8个字节,定义如 double a,b; 长双精度(long double型):8个字节,如 long double m, n; 字符变量用来存放字符,且只能存放一个字符。 例如: char c1,c2; unsigned char c3,c4; 字符型变量的赋值方法: c1 = a; c2 = 101; c3 = 53; c4 = n; 三、字符变量 16 C C语言程序设计语言程序设计 四、变量的初始化 void main( ) int a = 3; float f = 3.56; char c = a; int i, j, k = 5; int x = 3, y = 5; 变量在声明的同时可以给其赋值,称为变量的初始化。 如果变量没有被初始化,变量的初始值将不能确定,变 量参与运算前,必须显示地赋值,否则运算无效! 先定义后使用: 1、必须首先声明; 2、参与运算前必须先赋值 17 C C语言程序设计语言程序设计 3.2.6 怎样确定常量的类型 八进制、十六进制常量的类型根据数值的大小可以是 整型、无符号整型、长整型或无符号长整型。 整数后有后缀u或U,认为是unsigned型 整数后有后缀l或L,认为是long int型 只有整型(包括字符型)数据可以加signed或 unsigned修饰符,实型数据不能加。 无符号整型数据用“%u”格式输出。“%u”表示用 无符号十进制数的格式输出。 18 C C语言程序设计语言程序设计 3.2.7 运算符和表达式 C 运算符的种类: 表达式是常量、变量、数组元素、函数等运算对象和运算符以及括 号的有意义组合。类似数学算式或公式,但写法有所不同 注意:运算符具有优先级和结合性。 算术运算符 + - * / %指针运算符* +i; printf(“i=%d“,i); i=4 单独作为语句使用两者用法相同 程序1 void main() int i=3; i+; printf(“i=%d“,i); 程序2 i=4 以 +i 和 i+ 为例说明两者的相同和不同 23 C C语言程序设计语言程序设计 +i 和 i+ int i=3; j=+i; printf(“j=%d,i=%d“,j,i); j=4,i=4 int i=3; j=i+; printf(“j=%d,i=%d“,j,i); j=3,i=4 int i=3; printf(“i=%d“,i+); int i=3; printf(“i=%d“,+i); i=3i=4 其它运算一起构成语句时,两者用法不同。 程序段说明 24 C C语言程序设计语言程序设计 3.2.7- 数值型数据间的混合运算 整型、实型、字符型数据可以混合运算 运算时,不同类型的数据要先转换成同一类型 如:10 + a + 12.3 - 3.14x12 floatdouble long unsigned intchar, short float 型先转换成 double 型 char 和 short 型先 转换成 int 型 不同类型数据按照 类型级别由低到高 的顺序转换 低 高 转换规则 红色箭头为 必须转换 25 C C语言程序设计语言程序设计 3.2.7- 数值型数据间的混合运算 可以利用强制类型转换运算 符将一个表达式转换成所需 类型。 如: ( double ) a ( int ) ( x + y ) 与 ( int ) x + y不同 ( float ) ( 8 % 5 ) 例: void main ( ) float x; int i; x = 3.6; i = ( int ) x + 2; printf ( “%f, %dn“, x, i ); 同一运算符相连的运算数的数据类型自动从短类型向长类 型转化,如上例 26 C C语言程序设计语言程序设计 3.3 C语句 程序由语句构成,每次只能执行一个语句 顺序结构是根据语句在程序中的先后次序顺序执行的程序结构 A A B B N-S图 例: void main() a = 3; b = 4; c = a + b; 27 C C语言程序设计语言程序设计 3.3.1 C语句作用和分类 语句是表达算法的基本语言单位。 用计算机语言编写程序同样需要正确使用语句: 完整的句法、准确的语义 常量、变量、运算符、表达式等都是一些基本语法项目 ,由这些基本项目,按一定的规则进行组合,并以分号 结束,则可构成各种语句。 C语句都是“可执行语句” ,没有“非执行语句; 书写比较 自由;通常“一行一句” 。 C语句可分为五类:表达式语句、函数调用语句、控制语 句、复合语句、空语句。 28 C C语言程序设计语言程序设计 3.3.1 C语句作用和分类 任何一个表达式后加上“;”就构成了表达式语句,如算术表达 式、关系表达式等。最典型的是用赋值表达式组成的赋值语 句。例如: i = 1; i+; 1、表达式语句 C 语言所有的操作都是通过表达式来实现的。 表达式语句: 表达式 ; 2、函数调用语句 函数调用语句由函数名、括号、实际参数加上分号“;”组 成。其一般形式为: 函数名( 实际参数表 ); 例: printf (“Hello , worldn“); “函数调用语句”也可以看成是表达式语句,C语言称为“表达 式语言”。 29 C C语言程序设计语言程序设计 3、控制语句 控制语句用于控制程序的流程,以实现程序的各种基本结构, 由特定的语句定义符组成。共有9种控制语句,分成三类:选 择语句 、循环语句 和转移语句 。 C 使用控制语句控制程序的执行,常用的控制语句有: if else switch 选择控制 for while do while 循环控制 continue break return goto 转移控制 3.3.1 C语句作用和分类 30 C C语言程序设计语言程序设计 4、复合语句 例:while ( i a ave = ( a + b ) / 2 先计算(a+b)/2,结果赋给 ave x = y = z 首先 z = y,然后(y=z)= x 与数学上的等式不同! 5 = x x+1 = y * a + 3 都是非法的 在 C 语言中判断是否相等用关系运算(=)。 3.3.2 赋值语句 34 C C语言程序设计语言程序设计 3)整型数据赋给实型变量时,数值不变,但以浮点数形式存储到 变量中。 2、赋值结果与类型转换 p62 2)实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小 数部分。 如:设 i 为整型变量,执行 i = 5.34 i 的值为 5 如:对 float 型变量 f ,执行 f = 23 f 的值为 23.000000 1)如果两边的类型一致,就直接赋值;否则需要进行类型转换。 3.3.2 赋值语句 35 C C语言程序设计语言程序设计 例: void main ( ) int i; float f; i = 5.34; f = 23; printf (“i=%d,f=%fn“, i, f ); 结果: i=5,f=23.000000 3.3.2 赋值语句 36 C C语言程序设计语言程序设计 void main() char c1,c2; c1=a; c2=98; printf(“%c,%cn“,c1,c2); printf(“%d,%dn“,c1,c2); a,b 97,98 press any key to continue_ c语言把字符默认处理成带符号的整数 01100001 c1的存储形式: 3.3.2 赋值语句 4)字符型数据赋给整型变量时,将字符的ASCII码赋给整型变量。 37 C C语言程序设计语言程序设计 例 大小写字母的转换。字符数据的应用 #include void main() char c1,c2; c1=a; c2=b; printf(“%c,%ct“,c1,c2); printf(“%d,%dn“,c1,c2); A,B 65,66 press any key to continue_ c1=c1-32; c2=c2-32; 38 C C语言程序设计语言程序设计 3、复合赋值运算符 p60 例如: a += 3等价于 a = a + 3 x *= y + 8等价于 x = x * ( y + 8 ) 注意有括号 x %= 3等价于 x = x % 3 算术运算:+=,- =,*=,/=,%= 位运算: =, a+=a-=a*a; 逗号表达式可组合 逗号运算符的优先级最低,结合方向自左到右 并不是任何地方出现的逗号都是逗号运算符 如:printf(“%d, %d, %dn“, a, b, c ); 如:(a=3*5, a*4), a+5; 3.3.3 逗号运算符与表达式 a=(a=3*5, a*4); 40 C C语言程序设计语言程序设计 3.4 数据的输入与输出 数据处理的一般过程是:输入 处理 输出。 “输出”的功能是将保存在内存单元中的变量或者数组中的值显 示在屏幕上或者用打印机打印出来,即把信息从内存传送到外设 。 “输入”的功能是利用键盘等输入设备为变量或者数组等提供数据 ,并保存到内存单元中,供程序计算时使用,即把信息从外设传 送到内存。 在C语言中,输入输出操作是由编译系统提供的库函数来实现的。 使用标准输入、输出库函数时要用在源文件开头使用预编译命令 “#include ”或“#include “stdio.h“ ”。 主要介绍getchar()、putchar()、scanf()、printf()等输入、输 出库函数。 41 C C语言程序设计语言程序设计 3.4 数据的输入与输出 1、putchar函数 形式: putchar ( c ) 作用:将 c 字符输出到显示器上 例: #include void main ( ) char c1, c2; c1 = b; c2 = 98; putchar (c1); putchar (c2); putchar(b); putchar(98); 一、字符的输入和输出 p78 42 C C语言程序设计语言程序设计 3.4 数据的输入与输出 2、getchar函数 格式:ch = getchar( ) 作用:从键盘缓冲区读入一个字符 (存入变量 ch 的存储区) 例: #include void main( ) int c; printf (“Enter a character:“); c = getchar( ); printf (“%c : %dn“, c , c); 以回车结束 输入提示 一、字符的输入和输出 43 C C语言程序设计语言程序设计 3.4 数据的输入与输出 #include void main ( ) char c; c = getchar( ) ; putchar( c ); 例:读程序 #include void main ( ) putchar( getchar( ) ); 一、字符的输入和输出 44 C C语言程序设计语言程序设计 例3.9 从键盘输入BOY三个字符,然后把它 们输出到屏幕。 解题思路: 用3个getchar函数先后从键盘向计算机输入 BOY三个字符 用putchar函数输出 3.4 数据的输入与输出 一、字符的输入和输出 45 C C语言程序设计语言程序设计 #include int main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); return 0; 输入一个字符,送给变量a 3.4 数据的输入与输出 一、字符的输入和输出 46 C C语言程序设计语言程序设计 #include int main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); return 0; putchar(getchar(); 3.4 数据的输入与输出 一、字符的输入和输出 47 C C语言程序设计语言程序设计 #include int main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); return 0; putchar(getchar(); putchar(getchar(); 3.4 数据的输入与输出 一、字符的输入和输出 48 C C语言程序设计语言程序设计 #include int main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); return 0; putchar(getchar(); putchar(getchar(); putchar(getchar(); 3.4 数据的输入与输出 一、字符的输入和输出 49 C C语言程序设计语言程序设计 #include int main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); return 0; putchar(getchar(); putchar(getchar(); putchar(getchar(); 3.4 数据的输入与输出 一、字符的输入和输出 50 C C语言程序设计语言程序设计 3.4 数据的输入与输出 二、格式输入和输出 形式:printf(格式控制,输出表列) 1、格式输出函数 printf #include void main( ) int i = 5; float f = 32.345; printf (“i =%3df =%5.1f n“, i, f ); printf (“End.n“); 要输出的值 列表 输出表列 格式控制 作用:按指定格式向终端输出数据 例: i= 5f= 32.3 End. Press any key to continue 51 C C语言程序设计语言程序设计 3.4 数据的输入与输出 格式控制字 符串的组成 i =%3df =%5.1f 普通字符 格式声明 % 5 . 1 f 引导符宽度 小数位数 精度 格式符 52 C C语言程序设计语言程序设计 3.4 数据的输入与输出 格式控制完整的格式: % 0 m.n l/h 格式字符 输出项的类型 长或短类型数据 输出域的宽度及精度 空位是否填0 是否左对齐输出 格式说明的引导符号 数字 注意:格式字符区分大小写 必须! 53 C C语言程序设计语言程序设计 3.4 数据的输入与输出 c 输出一字符 s 输出一字符串 f 以小数的形式输出小数 p71 1)格式字符 (课本p70) d 十进制整型 例: x = 123; printf ( “%d“, x ); 54 C C语言程序设计语言程序设计 3.4 数据的输入与输出 例: #include void main( ) short int b = - 2; unsigned short a = 65535u; printf (“a=%hd , %ho , %hx , %hu n“, a, a, a, a ); printf (“b=%hd , %ho , %hx , %hu n“, b, b, b, b ); 65535 1111 1111 1111 1111 21111 1111 1111 1110 符号位 a=-1 , 177777 , ffff , 65535 b=-2 , 177776 , fffe , 65534 55 C C语言程序设计语言程序设计 3.4 数据的输入与输出 g/G 自动取 e/E 和 f 中较短的一种 % 输出% (形如 %) e/E 以指数的形式输出小数 o 无符号八进制 u 不带符号的十进制整数 x/X 无符号十六进制 56 C C语言程序设计语言程序设计 3.4 数据的输入与输出 #include void main( ) float a, b; char c = a; int i = 97; a = 31.1111; b = 28.333; printf (“%f,%7.4f n“, a+b, a-b ); printf (“%c,%dn“, c, c); printf (“%c,%dn“,i , i ); printf (“%sn“, “china“); 59.444099, 2.7781 a,97 a,97 china 57 C C语言程序设计语言程序设计 3.4 数据的输入与输出 l: 对整型指长整型 long 例:% ld % lx % lo % lu 对实型指双精度double 例:% lf h:将整型格式字符修正为short 2)类型修正 3)宽度及精度 宽度:对应的输出项在输出设备上所占的字符数 精度:实型数的小数位数或字符串的有效字符数 58 C C语言程序设计语言程序设计 3.4 数据的输入与输出 #include void main( ) int i = 79; float x; double y, z; x = y =333.1234567890123456789; z =-555.1234567890123456789; printf (“%5d n“,i ); printf (“%f, %en“, x,z ); printf (“%.8fn“,y ); printf (“%.3e, %2.5fn“, z, y ); printf (“%2en“, z ); printf (“%3s, %5.2s, %-5.3sn“, “china“, “china“, “china“); 79 333.123444, -5.551235e+002 333.12345679 -5.551e+002, 333.12346 -5.551235e+002 china, ch, chi 59 C C语言程序设计语言程序设计 3.4 数据的输入与输出 4)空位的填充 5)对齐方式 数0用以指定数字前的空位是否用0填补 负号指定左对齐输出 #include void main( ) float a=1.23; printf (“% 08.1fn“, a ); printf (“% 15s |% 8.2fn“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院集中消毒管理制度
- 介绍黄河实践活动方案
- 仓储店双十二活动方案
- 广东省东莞市2023-2024学年四年级下学期数学期末试卷(含答案)
- 仙居美食活动方案
- 代理记账协会活动方案
- 代账公司年终活动方案
- 以公司为家征文活动方案
- 以色列舞曲音乐活动方案
- 仰卧起坐学生活动方案
- 2025届高三下学期高考物理模拟试题(二模)含答案
- 移动式冷库租赁合同协议
- 视频编辑考试题及答案
- 山东咏坤新材料科技有限公司年产4000吨锂钠电池负极材料生产项目报告书
- 2025年山东济南先行投资集团有限责任公司招聘笔试参考题库附带答案详解
- 业务结算补充合同标准文本
- 预防青少年药物滥用-主题班会课件
- 招商岗位测试题及答案
- 2025年税务师考试全面覆盖试题及答案
- 通信登高作业管理制度
- 小学科学教育与信息技术融合心得体会
评论
0/150
提交评论