【文档说明】C语言程序设计第三章课件.ppt,共(62)页,980.582 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-44497.html
以下为本文档部分文字说明:
§3.0预备知识计算机中数的表示及进制转换数码、基与权数码:表示数的符号基:数码的个数权:每一位所具有的值数制语言程序设计第二章数据描述C各种进制之间的转换二进制、八进制、十六进制转换成十进制方法:按权相加100123
45259212120212121111011)()(例10012894868381136)()(例1001231679781610162161516121)()(例AF语言程序设计第二章数据描述C各种进制之间的转换(整数)
二进制、八进制、十六进制转换成十进制方法:按权相加十进制转换成二进制、八进制、十六进制原理:的余数是2)2......22(222......22)......(00012110011112011NaaaaaaaaaaaaaNnnnnnnnnnn
方法:连续除以基,从低到高记录余数,直至商为0例把十进制数59转换成二进制数5922921427232120(59)10=(111011)2110111111011余余余余余余例
把十进制数159转换成八进制数1598198280(159)10=(237)8237余7余3余2例把十进制数459转换成十六进制数4591628161160(459)10=(1CB)161CB余11余12余1语言程序设计第二章数据描述C二进制与八进
制之间的转换二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制八进制转换成二进制:用3位二进制数代替每一位八进制数例(1101001)2=(001,101,001)2=(151)8例(246)8=(010,100,110)2=(10100110)2000~000
1~1010~2011~3100~4101~5110~6111~7语言程序设计第二章数据描述C二进制与十六进制之间的转换二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制十六进制转换成二进制:用4
位二进制数代替每一位十六进制数例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16例(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)20000~00001~10010~20011~30100~40
101~50110~60111~71000~81001~91010~A1011~B1100~C1101~D1110~E1111~F语言程序设计第二章数据描述C字节和位内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成
每个二进位的值是0或101234567012345678910……...语言程序设计第二章数据描述C数值的表示方法——原码、反码和补码原码:最高位为符号位,其余各位为数值本身的绝对值反码:正数:反码与原码相同负数:符号位为1,其余位对原码取反补码:正数:原码、反码、补码相同
负数:最高位为1,其余位为原码取反,再对整个数加13126912457810119-5=49+7=16=(14)12语言程序设计第二章数据描述C§3.1数据类型数据类型总表C数据类型基本类型构造类型指针类型空类型void定义类型ty
pedef字符类型char枚举类型enum整型浮点型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行
的操作语言程序设计第三章数据描述C基本数据类型字符型实型16unsignedint0~65535类型符号关键字数的表示范围所占位数整型有无(signed)int16-32768~32767(signed)short16-32
768~32767(signed)long32-2147483648~2147483647320~4294967295unsignedlongunsignedshort160~65535有float323.4e-38~3.4e38有double641.7e-3
08~1.7e308有char8-128~127无unsignedchar80~255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBMPC机为例:语言程序设计第三章数据描述C§3.2常量与变量标识符定义:用来标识变量、常量、函数等的字符序列组成:只能由字母、
数字、下划线组成,且第一个字母必须是字母或下划线大小写敏感不能使用关键字(附录B)由C语言规定的具有特定意义的字符串,通常也称为保留字。长度:最长32个字符,一般最好不要超过8个字符命名原则:见名
知意不宜混淆如l与I,o与0例:判断下列标识符号合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days#33char$123a>b语言
程序设计第三章数据描述C练:判断下列标识符号合法性AP_0intla0_A3d一般用大写字母在作用域内不能改变也不能被赋值如#definePRICE30常量定义:程序运行时其值不能改变的量(即常数)分类:
直接常量:整型常量12、-3实型常量4.5、-1.2字符常量‘a‟、’D‟字符串常量‛hello”符号常量:用标识符代表常量定义格式:#define符号常量常量例符号常量举例/*3-1.c*/#definePRICE30voidmain(){intnum,tota
l;num=10;total=num*PRICE;printf("total=%d",total);}运行结果:total=300语言程序设计第三章数据描述C例符号常量举例/*3-1.c*/#definePRICE30voidmain(){intnum,total;num=10;PRI
CE=40;total=num*PRICE;printf("total=%d",total);}编译程序根据变量定义为其分配指定字节的内存单元…...地址inta=1,b=-3,c;abc2字节2字节2字节地址地址…...内存1-3随机数变量概念:其值可以改变
的量变量定义的一般格式:数据类型变量1[,变量2,…,变量n];变量初始化:定义时赋初值例:inta,b,c;floatdata;决定分配字节数和数的表示范围合法标识符例:inta=2,b,c=4;floatdata=3.67;charch=„A‟;intx=
1,y=1,z=1;intx=y=z=1;变量的使用:先定义,后使用先赋值,后引用例1intstudent;stadent=19;//Undefinedsymbol„statent‟infuncti
onmain例2floata,b,c;c=a%b;//Illegaluseoffloatingpointinfunctionmain变量定义位置:一般放在函数开头main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,dat
a);}变量定义可执行语句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;printf(“data=%f\n”,data);}语言程序设计第三章数据描述C变量名与变量值变量名代表内存中的一个存储单元,用于存放该变量的值该存储单元的大小由变量的数据类
型决定§3.3整型数据整型常量(整常数)三种形式:十进制整数:由数字0~9和正负号表示.如123,-456,0八进制整数:由数字0开头,后跟数字0~7表示.如0123,011十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.如0x123,0Xff问题:0123=()10
0x123=()100Xff=()1083291255问题:0123=()100x123=()100Xff=()10语言程序设计第三章数据描述C123=1111011(B)二进制=173(O)八进制=7B(X)十六进制inti=0173;intj=
0x7b;intk=123;整型变量占字节数随机器不同而不同,一般占一个机器字short≤int≤long可用sizeof(类型标识符)测量实型变量float:占4字节,提供7位有效数字double:占8字
节,提供15~16位有效数字字符型变量字符变量存放字符ASCII码char与int数据间可进行算术运算例floata;a=111111.111;/*a=111111.1*/doubleb;b=111111.111;/*b=111111.111*/例a=„D
‟;/*a=68;*/x=„A‟+5;/*x=65+5;*/s=„!‟+„G‟/*s=33+71;*/没有字符串变量,用字符数组存放语言程序设计第三章数据描述C整型变量数据在内存中是以二进制形式存放的。TurboC
2.0和TurboC++3.0为一个整型变量在内存中分配2个字节的存储单元如定义了一个整型变量:语言程序设计第三章数据描述Cinti;i=10;在计算机中,数值是以补码的形式存在的。正数的原码和补码相同。负数的原码与补码不同100
000000000001010原码-101000000000001010原码-101111111111110101反码-101111111111110110补码整型变量的分类整型变量有6种类型:有符号基本整型
[signed]int;无符号基本整型unsignedint;有符号短整型[signed]short[int];无符号短整型unsignedshort[int];有符号长整型[signed]long[int];无符号长整型unsignedlong[int
];语言程序设计第三章数据描述C类型符号关键字数的表示范围所占位数整型有无(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~2147483647320~4
294967295unsignedlongunsignedshort160~6553516unsignedint0~65535inta;-32768~32767unsignedintb;0~65535整型变量的定义例(3-3.c):#include<
stdio.h>voidmain(){inta,b,c,d;unsignedu;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d,b+u=%d\n”,c,d);}语言程
序设计第三章数据描述C运行结果:a+u=22,b+u=-14不同种类的整型数据可以进行算术运算整型变量的溢出例(3-4.c):#include<stdio.h>voidmain(){inta,b;a=32767;b=a+1;printf
(“%d,%d\n”,a,b);}语言程序设计第三章数据描述Ca:011111111111111132767b:1000000000000000-32768整型常量的类型根据其值所在范围确定其数据类型-32768~+32767int型-2147483648~+2147483647long
int型在整常量后加字母l或L,认为它是longint型常量在整常量后加字母u或U,认为它是unsignedint型常量此时所能表示的数值范围为0~6553530000为int型65536为longint型123u123l§3.4浮点型数据
实型常量(实数或浮点数)表示形式:十进制数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4规范化指数形式:字母e之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数
字语言程序设计第三章数据描述C浮点型变量1、浮点型数据在内存存放的形式一个浮点型数据在内存种占4个字节,存储方式与整型数据存储的方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分为两部分小数部分指数部分语言程序设计第三章数据描述C1.314159+在4个字节(3
2位)中,究竟用多少位来表示小数部分,多少位来表示指数部分,标准中并没有具体对定。不少操作系统用24位来表示小数部分,用8位来表示指数部分(包括符号位)。小数越多,精度越高。指数越多,范围越大3.14159存放形式:浮点型变量的分类单精度(float)双精度(double)长双精度
(longdouble)语言程序设计第三章数据描述C类型位数有效数字(精度)数值范围float326--7-3.4*e-38——3.4*e38double6415--16-1.7*e-308——1.7*e308longdouble12818--19-1.2*e-4932——
1.2*e4932floatx,y;doublez;浮点型变量的舍入误差由于浮点变量是由有限的存储单元组成,因此提供的有效数字总是有限的。在有效位以外的数字将被舍去。数据精度(有效位)与取值范围是两个不同的概念:floatx=1.23456789;floaty=123456789;虽
在数据表示范围内,但无法精确表达floatz=1.2e55(3-11.c)z的精度要求不高,但数据表示范围超出并不是所有的实数都能在计算机中精确表示x=1.234568y=123456792.000000例(3-5.c):#include<s
tdio.h>voidmain(){floata,b;a=123456.789e5;b=a+20;printf(“a=%f,b=%f\n”,a,b);}语言程序设计第三章数据描述C运行结果:a=12345678848.000000,b=123456
78848.000000浮点型常量的类型(OVER)默认double型在实型常量后加字母f或F,认为它是float型f=1.1234*456.123按双精度进行运算,最后取前7位赋给浮点型变量f浮点型常量可以赋给一个float型、do
uble型或longdouble型变量,根据变量类型截取实型常量中相应的有效位数字。floata;a=111111.111;接收7位有效数字,最后两位小数不起作用§3.5字符型数据字符常量定义:用单引号括起来的单个普通字符或转义字符.字符
常量的值:该字符的ASCII码值(附录A)ASCII字符集:列出所有可用的字符每个字符:唯一的次序值(ASCII码)如‘A‟——65,‘a‟——97,‘0‟——48,„\n‟——10如‘a‟„A‟„?‟„\n‟„\101‟„0‟----‟9‟„A‟----
‟Z‟„a‟----‟z‟转义字符:反斜线后面跟一个字符或一个代码值表示如‘\101‟-----------„A‟„\012‟-----------‟\n‟„\376‟-----------‟‟„\x61‟---
--------‟a‟„\60‟-----------‟0‟„\483‟----------()„\0‟空操作‘\477‟----------()例:„A‟-------‟\101‟-------‟\x41‟--------65<
转义字符及其含义:转义字符含义\n\v\r\a\„\ddd\t\b\f\\\“\xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符运行结果:(屏幕显示)ABC
Isay:”Howareyou?”\CProgram\Turbo„C‟例转义字符举例(3-2.c)main(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");print
f("Turbo\'C\'");}例main(){printf(“Y\b=\n”);}运行结果:屏幕显示:=打印机输出:¥字符变量字符变量用来存放字符常量,只能放一个字符。不能用来放置一个字符串。定义charc1,c2;赋值c1=„a‟,c2=„b‟;语言程序
设计第三章数据描述C存储形式:一个字符变量在内存中占一个字节字符数据在内存中的存储,并不是把字符本身放到内存单元去,而是将该字符相应的ASCII代码放到存储单元中。使用方法:字符型数据和整型数据之间可以通用。一个字
符数据既可以以字符形式输出,也可以以整数形式输出。对字符数据可以进行算术运算字符数据与整型数据可以互相赋值字符数据在内存中的存储形式及使用方法字符ASCII码内存‘A‟6501000001„B‟6601000010„A‟+1=„A‟+1=„B‟
„A‟+1=66例:向字符变量赋予整数(3-6.c)#include<stdio.h>voidmain(){charc1,c2;c1=97;c2=98;printf(“%c%c\n”,c1,c2);printf(“%d%d\n”,c1,
c2);}语言程序设计第三章数据描述Cab9798先将ASCII码转换成相应字符,然后输出直接将ASCII码作为整数输出#include<stdio.h>voidmain(){charc1,c2;c1=„a‟;c2=„b‟;printf(“%c%c\n”,c1,c2);printf(“%
d%d\n”,c1,c2);}字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出(%c),也可以以整数形式输出(%d)注意:字符数据只占一个字节,它只能存放0~255范围内的整数例:大小
写字母转化(3-7.c)#include<stdio.h>voidmain(){charc1,c2;c1=‟a‟;c2=„b‟;c1=c1-32;c2=c2-32;printf(“%c%c\n”,c1,c2);}语言程序设计第三
章数据描述CAB对字符数据可以进行算术运算字符数据与整型数据可以互相赋值例#include<stdio.h>voidmain(){inti;charc;i=„a‟;c=97;printf(“%c,%d\n”,c,c);printf(“%c
,%d\n”,i,i);}a,97a,97若系统将字符变量定义为signedchar型,其存储单元中的最高位作为符号位,取值范围是-128~127当存放一个ASCII码是128~255之间的字符,以
整数输出时,输出的是负数。如果不想按照有符号数处理,需要定义该字符变量为unsignedchar,此时范围是0~255charc=130;printf(“%d”,c);输出:-126unsignedch
arc=130;printf(“%d”,c);输出:130字符常量与字符串常量不同字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个‘\0’作为字符串结束标志hello\0例字符串“hello”在内存中aa\0例‘a‟“a”例空串“”\0例:cha
rch;ch=“A”;例:charch;ch=„A‟;语言程序设计第三章数据描述C“hello”“Howareyou”“a”“$123”在内存中占6个字节不能把一个字符串常量赋给一个字符变量语言程序设计第三章数据描述C§3.6变量赋初值在程序中,变量必须在程序的开始进行定义,
方便使用。在使用前,最好赋初始值。inta=3,b=3,c=3;表示a,b,c都赋值为3inta,b,c=3;表示a,b为整型变量,c初值为3相当于inta,b,c;/*定义a,b,c为整型变量*/c=3;/*将3赋给c*/inta=b=
c=3;例/*3-8.c*/#definePRICE12.5voidmain(){intnum=3;floattotal;charch1,ch2=„D‟;total=num*PRICE;ch1=ch2-„A‟+„a‟;printf(“total=%f,
ch1=%c\n”,total,ch1);}变量定义输出结果运行结果:total=37.500000,ch1=d语言程序设计第三章数据描述C§3.7各类数值型数据间的混合运算隐式转换什么情况下发生运算转换------不同类
型数据混合运算时赋值转换------把一个值赋给与其类型不同的变量时输出转换------输出时转换成指定的输出格式函数调用转换------实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转
换成同一类型语言程序设计第三章数据描述Cdoublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换例charch;inti;floatf;doubled;ch/i+f*d-(f+i)intintdoubledoubledoubledouble
doubledoubleintintdoubledoubledoubledoubledoubledouble10+„a‟+i*f-d/l例inti;floatf;doubled;longl;§3.8算术运算
符和算术表达式C运算符算术运算符:(+-*/%++--)关系运算符:(<<===>>=!=)逻辑运算符:((!&&||)位运算符:(<<>>~|^&)赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符
:(*&)求字节数:(sizeof)强制类型转换:(类型)分量运算符:(.->)下标运算符:([])其它:(()-)语言程序设计第三章数据描述C学习运算符应注意:运算符功能与运算量关系要求运算量个数要求
运算量类型运算符优先级别结合方向结果的类型语言程序设计第三章数据描述C算术运算符和算术表达式基本算术运算符:+:加法运算符,或正值运算符,如3+5,+3-:减法运算符,或负值运算符,如5-2,-3*:乘法运算符,如3*5/:除法运算符,如5/3%:模运算符,或称
求余运算符,如7%3说明:两整数相除,结果为整数%要求两侧均为整型数据例5/2=-5/2.0=例5%2=-5%2=1%10=5%1=5.5%2例5/2=2-5/2.0=-2.5例5%2=1-5%2=-11%10=15%1=05.5%2()语言程序设计第三章数据描述C例
5/3=1-5/3=-1算术表达式和运算符的优先级与结合性C算术表达式:用算术运算符和括号将运算对象连接起来的,符合C语法规则的式子a+b*c/d-2.5优先级:*/%----->+-结合方向
:从左向右,左结合性(附录C)a+b-c优先级别相同,看结合方向说明:一个运算符两侧数据类型不同,先自动进行类型转换,具有同一类型后再进行运算语言程序设计第三章数据描述C强制类型转换运算符一般形式:(类型名)(表达式)例(
int)(x+y)(int)x+y(double)(3/2)(int)3.6说明:强制转换得到所需类型的中间变量,原变量类型不变例main(){floatx;inti;x=3.6;i=(int)x;printf(
“x=%f,i=%d”,x,i);}结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生语言程序设计第三章数据描述C自增、自减运算符++--作用:使变量值加1或减1种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--
(先使用i值,再执行i+1或i-1)例j=3;k=++j;j=3;k=j++;j=3;printf(“%d”,++j);j=3;printf(“%d”,j++);a=3;b=5;c=(++a)*b;a=3;b=5
;c=(a++)*b;//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=4语言程序设计第三章数据描述C说明:++--不能用于常量和表达式,如5++,(a+b)++++--结合方向:自右向左优先级:-++-------->*/%----->+-
例-i++-(i++)i=3;printf(“%d”,-i++);//-3例-i++i=3;printf(“%d”,-i++);语言程序设计第三章数据描述C例j+++k;(j++)+k;例(i++)+(i++)+(i++)Turboc系统得到表达式值为9
,i=6例i=3;a=i++;b=i++;c=i++;d=a+b+c;d=12,i=6§3.9赋值运算符和赋值表达式简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量复合赋值运算符在赋值符‚=”之前加上其他运算符,可以构
成复合的运算符种类:+=-=*=/=%=《=》=&=^=|=含义:exp1op=exp2exp1=exp1opexp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;d=func();c=d+2;语言程序设计第三章数据描述C
先使a加3,再赋给a类型转换将浮点型数据(包括单、双精度)赋给整形变量时,会舍弃浮点小数部分。以整数形式存储在整型变量中。例:i=3.09283;将整数给单、双精度变量时,以浮点形式存储,大小保
持不变。将一个double型数据赋值给float时,截取其前面7位有效数字,放到float变量的存储单元中。但是范围不能溢出。例:floatf=1.12355422将一个float型数据赋给double变量时,数值不变,有效位数扩展到16位语言程序设计第三章数据描述C
如果将字符型数据赋给整型变量时,由于字符型变量只占有1个字节,而整形变量占2个字节,因此把字符数据(8个)放到整型变量的低8位中。有两种情况如下:将字符处理为无符号类型,这样把低8位放到整型变量的低8位,高8位补零。111
111100000000011111110如果将字符看作有符号数,如果字符最高位为0,补零,字符最高位为1,补1.c=„\376‟111111101111111111111110语言程序设计第三章数据描述C如果将一个int,short,long型数据赋值给一个char类型的变
量时,只是将低8为原封不动送到char型变量。将带符号的整型数据赋值给long型变量时,要进行符号扩展。如果int型数据为正值,则补0,如果int型数据为负值,则补1如果将long型数据赋值给int型变量,只是从long型数据中的低16位原封不动的送到整型变量unsi
gnedint和longint之间原封不动相互传递将非unsigned型数据赋值给长度相同的unsigned型变量,也是原样赋值语言程序设计第三章数据描述C例:inti=289;charc=„a‟;c=i;i=28900000000100100001c=33001000011000000
01001000011111111111111111100000001001000010000000010010000100000000000000000000000000100100001b=8000000000000000000000000000
00001000a=800000000000001000b=6553600000000000000000100000000000000000a=000000000000000000例:inta;longb=8;a=b;#include<stdio.h>voidmain(){unsigneda
;intb=-1;a=b;printf(“%u\n”,a);}运行结果:65535赋值表达式形式:<变量><赋值运算符><表达式>变量=表达式计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量将赋值运算符左
侧变量的值作为表达式的值a=3*5表达式值为15,a的值为15赋值运算符左侧的标识符称为左值if((a=b)>0)t=a;说明:((OVER)结合方向:自右向左左值必须是变量,不能是常量或表达式赋值表达式的值与变量值相等,且可嵌
套赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型例3=x-2*y;a+b=3;例floatf;inti;i=10;f=i;则f=10.0例inti;i=2.56;//结果i=2;例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(
c=2)//表达式值为5,a,b,c值为5//b=5;a=5//表达式值11,c=6,a=11//表达式值10,a=10,b=4,c=6//表达式值5,a=5,b=10,c=2语言程序设计第三章数据描述C(a=3*5)=4*3a=3*5=4*3说明:结合方向:自右
向左优先级:12左侧必须是变量,不能是常量或表达式赋值表达式的值与变量值相等,且可嵌套赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型例:a=12;a+=a-=a*a例:inta=2;a*=4-1;a+=a*=a-=a*=3;//a=-264等价于a=a+(a
=a-(a*a))//a=0等价于a=a+(a=a*(a=a-(a=a*3)))语言程序设计第三章数据描述C赋值表达式也可以包含复合的赋值运算符逗号运算符和表达式形式:表达式1,表达式2,……表达式n优先级最低结合性:从左向右先计算表达式1,然后计算表达式2
,……,最后计算表达式n的值,并将表达式n的值作为逗号表达式的值。逗号表达式的值:等于表达式n的值用途:常用于循环for语句中例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)x=a=3,6*a例a=1;b=2;c=3;printf(
“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);//a=15,表达式值60//a=15,表达式值20//赋值表达式,表达式值18,x=18//逗号表达式,表达式值
18,x=3//1,2,3//3,2,3语言程序设计第三章数据描述C逗号运算符和表达式形式:表达式1,表达式2,……表达式n结合性:从左向右优先级:15逗号表达式的值:等于表达式n的值用途:常用于循环for语句中例:/*ch2_6.c*
/#include<stdio.h>main(){intx,y=7;floatz=4;x=(y=y+6,y/z);printf("x=%d\n",x);}运行结果:x=3语言程序设计第三章数据描述C#inc
lude<stdio.h>voidmain(){charc1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);pr
intf("\t\b%c%c\n",c4,c5);}运行结果:aabbccabcAN写出以下程序的运行结果:要将‚China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母‚A”后面第4个字母是‚E”,用‚E”代替‚A”。因此,‚China”应译为‚Glmr
e”。请编写程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为’C‟、‘h‟、’i‟、‘n‟、’a‟,经过运算,使c1、c2、c3、c4、c5分别变成’G‟、‘l‟、’m‟、‘r‟、’e‟,并输出。#include<stdio.h>vo
idmain(){charc1=„C‟,c2=„h‟,c3=„i‟,c4=„n‟,c5=„a‟;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf(“passwordis%c%c%c%c%c\n”,c1,c2,c3,c4,c5);}运行结
果:passwordisGlmre求下面算术表达式的值(1)x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.
5,y=2.52.53.5#include<stdio.h>voidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d\n”,i,j,m,n);}运行结果:9,11,9,10写出以下程序的
运行结果:写出下面赋值表达式运算后a的值,设原来a=12(1)a+=a(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2),n的值等于5(6)a+=a-=a*=a241060000