第三章顺序结构 31赋值语句 由赋值表达式加分号构成,也称表达式语句。 其一般形式为: 变量=表达式; 在赋值语句的使用中需要注意以下几点: 1由于在赋值符“=”右边的表达式也可以又是一个 赋值表达式,因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套
第三章 顺序结构 3.1 赋值语句 由赋值表达式加分号构成,也称表达式语句。 其一般形式为: 变量=表达式; 在赋值语句的使用中需要注意以下几点: 1.由于在赋值符“=”右边的表达式也可以又是一个 赋值表达式,因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套
31赋值语句 2注意在变量说明中给变量赋初值和赋值语句的区别 给变量赋初值是变量说明的一部分,赋初值后的变量 与其后的其它同类变量之间仍必须用逗号间隔,而赋 值语句则必须用分号结尾 3在变量说明中,不允许连续给多个变量赋初值。如 下述说明是错误的: int a=b=c=5 必须写为 inta=5,b=5,c=5; 而赋值语句允许连续赋值。a=b=c=5:
3.1 赋值语句 2.注意在变量说明中给变量赋初值和赋值语句的区别。 给变量赋初值是变量说明的一部分,赋初值后的变 量 与其后的其它同类变量之间仍必须用逗号间隔, 而赋 值语句则必须用分号结尾。 3.在变量说明中,不允许连续给多个变量赋初值。 如 下述说明是错误的: int a=b=c=5 必须写为 int a=5,b=5,c=5; 而赋值语句允许连续赋值。a=b=c=5;
32数据输出 在C语言中,所有的数据输入/输出都是由库函 数完成的。因此都是函数语句。 321 printi函数的一般调用形式 printi数称为格式输出函数,其功能是按用户指 定的格式,把指定的数据显示到显示器屏幕上。 prnt:数调用的一般形式为: printi(“格式控制字符串”,输出项表) 其中格式控制字符串用于指定输出格式。格式控制 串可由格式字符串和非格式字符串两种组成。 格式字符串是以%开头的字符串,以说明输出数据 的类型、形式、长度、小数位数等。如“%d″表示按 十进制整型输出
3.2 数据输出 在C语言中,所有的数据输入/输出都是由库函 数完成的。 因此都是函数语句。 3.2.1 printf函数的一般调用形式 printf函数称为格式输出函数,其功能是按用户指 定的格式, 把指定的数据显示到显示器屏幕上。 printf函数调用的一般形式为: printf(“格式控制字符串”,输出项表) 其中格式控制字符串用于指定输出格式。 格式控制 串可由格式字符串和非格式字符串两种组成。 格式字符串是以%开头的字符串,以说明输出数据 的类型、形式、长度、小数位数等。如“%d”表示按 十进制整型输出
321 printi数的一般调用形式 maino inta=88,b=89; printf( % d %dn,a, b): printf( %d, %dn", a, b) printf( %C, %cn", a, b): printf(a=%d, b=%d", a, b) 本例中四次输出了a,b的值,但由于格式控制串不 同,输出的结果也不相同 第一个输出语句格式控制串中,两格式串%d之间 加了一个空格(非格式字符),所以输出的a,b值之间有 个空格。第二个 printi语句格式控制串中加入的是非 格式字符逗号,因此输出的a,b值之间加了一个逗号 第三个格式串要求按字符型输出a,b值。第四个为了提 示输出结果又增加了非格式字符串
3.2.1 printf函数的一般调用形式 main() { int a=88,b=89; printf("%d %d\n",a,b); printf("%d,%d\n",a,b); printf("%c,%c\n",a,b); printf("a=%d,b=%d",a,b); } 本例中四次输出了a,b的值,但由于格式控制串不 同,输出的结果也不相同。 第一个输出语句格式控制串中,两格式串%d 之间 加了一个空格(非格式字符),所以输出的a,b值之间有 一个空格。第二个printf语句格式控制串中加入的是非 格式字符逗号,因此输出的a,b值之间加了一个逗号。 第三个格式串要求按字符型输出 a,b值。第四个为了提 示输出结果又增加了非格式字符串
322 printeR数中常用的格式说明 表示输出类型的格式字符 格式字符 意 义 d以十进制形式输出带符号整数(正数不输出符号) o以八进制形式输出无符号整数(不输出前缀O) 以十六进制形式输出无符号整数(不输出前缀0X) u以十进制形式输出无符号整数 f以小数形式输出单、双精度实数 e以指数形式输出单、双精度实数 g以%f、%‰e中较短的输出宽度输出单双精度实数 c输出单个字符 s输出字符串
3.2.2 printf函数中常用的格式说明 表示输出类型的格式字符 格式字符 意 义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x 以十六进制形式输出无符号整数(不输出前缀0X) u 以十进制形式输出无符号整数 f 以小数形式输出单、双精度实数 e 以指数形式输出单、双精度实数 g 以%f、%e中较短的输出宽度输出单双精度实数 c 输出单个字符 s 输出字符串
322 printeR数中常用的格式说明 1.d格式符一十进制整数输出。 (1)%d:按数据的实际长度输出。 (2)%md:m表示输出字段宽度。若实际位数<m,左边 补空格。 (3)%d:输出长整数 例:lnga=1234567; pl %d",a) 如直接用%d,则将出错 如要指定宽度,则用%md即可
3.2.2 printf函数中常用的格式说明 1. d格式符––十进制整数输出。 (1) %d: 按数据的实际长度输出。 (2) %md: m表示输出字段宽度。若实际位数<m,左边 补空格。 (3) %ld: 输出长整数 例: long a=1234567; printf(" %ld", a); 如直接用%d,则将出错。 如要指定宽度, 则用%mld即可
322 printeR数中常用的格式说明 2.0格式符——按八进制形式输出 如以长整型输出,在%后加l,也可指定宽度m,%mo 3.x格式符—以十六进制形式输出整数 4.u格式符——无符号格式输出整数 5.c格式符—输出一个字符 ●若有一整型变量,其值在0~255之间,则可以字符形式 输出 个字符型变量亦可以一个整型数据输出
3.2.2 printf函数中常用的格式说明 2.o格式符––– 按八进制形式输出. 如以长整型输出,在%后加l,也可指定宽度m, %mo 3. x格式符–––以十六进制形式输出整数. 4. u格式符–––无符号格式输出整数. 5. c格式符–––输出一个字符. ⚫ 若有一整型变量,其值在0~255之间,则可以字符形式 输出. ⚫ 一个字符型变量亦可以一个整型数据输出
322 printeR数中常用的格式说明 例:main() i char c=a int i=97 printf (%C, %dn,c, c) printf ( %C, %dn,i, D 运行结果为: a,97 a,97 可以指定输出字符宽度,比如: printf(“%3c”,C); 则输出:“a”,即c变量输出占3列,前2列补空格
3.2.2 printf函数中常用的格式说明 例: main ( ) { char c='a’; int i=97; printf ("%c,%d\n",c,c); printf ("%c,%d\n",i,i); } 运行结果为: a, 97 a, 97 可以指定输出字符宽度,比如:printf (“%3c”, c); 则输出:“ a”, 即c变量输出占3列,前2列补空格
322 printeR数中常用的格式说明 6.s格式符—用来输出一个字符串 61: printf("%s", "CHINA") 结果:CH|NA S格式还包括%ms,%-ms,%m.ns,%-m.ns四种形 式,每一形式的意义如下: (1)%ms,输出的字符串占m列,如字符串本身长度大于 m,则突破m的限制,将字符串全部输出。若串长小于 m,则左补空格。 (2)%-ms,如果串长小于m,则在m列范围内,字符串向 左靠,右补空格 (3)%mns,输出占m列,但只取字符串中左端n个字符。 这n个字符输出在m列的右侧,左补空格
3.2.2 printf函数中常用的格式说明 6. s格式符–––用来输出一个字符串 例: printf("%s", "CHINA"); 结果: CHINA S格式还包括%ms, %–ms, %m.ns, %–m.ns四种形 式,每一形式的意义如下: (1)%ms, 输出的字符串占m列,如字符串本身长度大于 m,则突破m的限制,将字符串全部输出。若串长小于 m,则左补空格。 (2)%–ms, 如果串长小于m,则在m列范围内,字符串向 左靠,右补空格。 (3) %m.ns,输出占m列,但只取字符串中左端n个字符。 这n个字符输出在m列的右侧,左补空格
322 printeR数中常用的格式说明 (4)%-mns,其中m、n含义同上,n个字符输出在m列 范围的左侧,右补空格。如果η>m,则m自动取η值 即保证n个字符正常输出。 7.f格式符—以小数形式输出单、双精度实数 有以下几种形式:%f、%mnf和%-m.nf (1)%f,不指定字段宽度,由系统自动指定,使整数部分全 部如数输出,并输出6位小数。 (2)%mnf,指定输出的数据共占m列,其中有n位小数 如果值长度小于m,则左端补空格。 (3)%-mnf,与%m,n「基本相同,只是使输出的数值向 左端靠,右端补空格
3.2.2 printf函数中常用的格式说明 (4) %–m.ns,其中m、n含义同上,n个字符输出在m列 范围的左侧,右补空格。如果n>m,则m自动取n值, 即保证n个字符正常输出。 7. f格式符–––以小数形式输出单、双精度实数 有以下几种形式: %f 、%m.nf和%–m.nf (1) %f, 不指定字段宽度,由系统自动指定,使整数部分全 部如数输出,并输出6位小数。 (2) %m.nf, 指定输出的数据共占m列,其中有n位小数。 如果值长度小于m,则左端补空格。 (3) %–m.nf, 与%m.nf基本相同,只是使输出的数值向 左端靠,右端补空格