还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C语言基础学问总结主要内容LC数据类型
2.简洁的算术运算和表达式
3.键盘输入和屏幕输出
4.选择限制结构
5.循环限制结构总结风格分条排列,主要是学问点,有例题不多
三、键盘输入和屏幕输出
1.字符常量把字符放在一对单引号内,适用于多数可打印字符
2.转义字符以反斜线\开头,也是放在一对单引号内,适用于限制字符如回车符,换行符
3.常用的转义字符8\a-响铃报警提示音1-换行9,\〃,——个双引号2\r-回车不换行10——个单引号3\0—空字符11——个反斜线4\t-水平制表12\-问号5\v-垂直制表13\ddd—1到3位八进制6\b—退格ASCII码值所代表的字符7\f-走纸换页14\xhh—1到2位十六进制ASCH
4.\n,是将光标移到下一行起始位置,\r是将光标移到当前行的起始位置
5.\t,是水平制表符,相当于按下Tab键,每次按下Tab键并不是从当前光标位置向后移动一个Tab宽度,而是移到下一个制表位实际移动的宽度视当前光标位置距相邻的下一个制表位的距离而定
6.制表位,屏幕上的一行被分为若干个域,相邻域之间的交接点称为制表位,每个域的宽度就是一个Tab宽度,多数习惯上为
47.当转义序列出现在字符串中时,是按单个字符计数的
8.一个整形数在内存中是以二进制形式存储的,而一个字符在内存中也是以其对应的ASCII码的二进制形式存储的,但char型数据在内存中只占一个字节,而int型数据在16位系统中占2个字节,32位系统占4个字节
9.在ASCII码取值范围内,char型数据可以和int型数据进行混合运算,char型数据也能以int型输出,干脆输出其对应的ASCII码的十进制值
10.字符的输入/输出1getcharO和putchar是C标准函数库中特地用于字符输入/输出的函数,功能是只能输入/输出一个字符2例从键盘输入一个大写英文字母,将其转换为小写字母显示在屏幕上#includestdio.hvoid mainchar ch;ch二getchar;〃键盘输入一个字符,再按回车表示输入结束,字符存入变量ch,留意getchar没有参数,干脆返回读入的字符ch=ch+32;putcharch;〃其次次按回车,将显示转换后的结果putchar\n;〃留意putchar内确定要有参数,参数就是待输出的字符,可以是可打印字符,也可是转义字符
11.数据的格式化屏幕输出1函数printf的一般格式printf格式限制字符串;或者printf格式限制字符串,输出值参数表;2格式限制字符串包括格式转换说明符,须要原样输出的一般字符3函数printf的格式转换说明符%d-输出带符号十进制整数,整数符号省略%u-输出无符号十进制整数%o-输出无符号八进制整数,不输出前导符0%x-输出无符号十六进制整数小写,不输出前导符Ox%X-输出无符号十六进制整数大写,不输出前导符Ox%c—输出一个字符%s—输出字符串%f-以十进制小数形式输出实数,包含单,双精度,隐含6位小数,但并非全是有效数字,单精度有效7位,双精度16位%e-以指数形式输出实数小写e表示指数部分,小数点前有且仅有一位非0数字%E-以指数形式输出实数大写E表示指数部分%g-自动选取f或e格式中宽度较小的一种运用,不输出无意义的%%—输出%4输出值参数表须要输出的数据项的列表,可以是变量或表达式,逗号隔开,类型及格式转换说明符相匹配5每个格式转换说明符及输出值参数表中的输出值参数一一对应,没有输出值参数,格式限制字符串就不须要格式转换说明符6例从键盘输入一个大写英文字母,将其转换为小写字母和其十进制ASCH码值显示在屏幕上#includestdio.hvoid maincharch;printfZ/Please entera key:〃;ch=getchar;ch=ch+32;printf/z%c,%d\n〃,ch,ch;//printf〃%c〃,ch=putchar ch,pr intf〃\n〃=putchar\n}7函数printf中的格式修饰符在%和格式符中间插入格式修饰符,用于输出格式的微调,如指定输出域宽、精度、左对齐等英文字母1—修饰格式符d,o,x,u时,用于输出long型数据英文字母L一修饰格式符f,e,g时,用于输出long double型数据英文字母h-修饰格式符d,o,x时,用于输出short型数据输出域宽m—m为整数,输出时占ni列,若m0,当数据宽度小于m时,域内右靠齐,左补空格,当数据宽度大于m时,修饰符失效,按实际宽度输出,若m有前导符0,左边多余位补0;若水0,输出数据在域内左靠齐显示精度.n—n为大于等于0的整数,精度修饰符位于最小域宽修饰符之后,由圆点和整数构成,对于浮点数,用于指定输出的浮点数小数位数;对于字符串,用于指定从字符串左侧起先截取的子串字符个数8运用const常量定义pi,编程从键盘输入圆的周长和面积,使其输出数据保留两位小数#includestdio.hvoid mainconstdouble pi=
3.14159;double r,circum,area;printfPlease enterr:〃;scanfr;circum=2*pi*r;area=pi*r*r;printf〃输出没有宽度和精度的值:〃;printf/zcircum=%f,area=%f\n/z,circum,area;printf〃输出没有宽度和精度的值:〃;printf〃circum=%72f,area=%
7.2f\n〃,circum,area;//域宽为7,・占7个字符宽度,小数点也算一个字符,精度为2,小数点后保留2位
12.数据的格式化键盘输入1函数scanf的一般格式scanf格式限制字符串,参数地址表;2格式限制字符串包括格式转换说明符,分隔符3格式转换说明符以%起先,以格式字符结束,用于指定各参数的输入格式4函数scanf的格式转换说明符%d-输入十进制整数%o-输入八进制整数%x-输入十六进制整数%c-输入一个字符,空白字符包括空格、回车、制表符也作为有效字符输入%s-输入字符串,遇到第一个空白字符包括空格、回车、制表符时结束%f或眺一输入实数,以小数或指数形式输入均可%%—输入一个%5参数地址表由若干变量的地址组成的列表,用逗号分隔6函数scanf中的格式修饰符在%和格式符中间插入格式修饰符英文字母1一加在格式符d,o,x,u之前,用于输入long型数据;加在f,e之前,用于输入double型数据英文字母L一加在格式符f,e之前,用于输入long double型数据英文字母h—加在格式符d,o,x时,用于输入short型数据输出域宽m—m为正整数,指定输入数据的宽度,系统自动按此宽度截取所需数据显示精度.n—n为0或正整数,scanf没有精度格式修饰符,输入时不能规定精度忽视输入修饰符*—表示对应的输入项在读入后不赋给相应的变量7函数scanf输入数值型数据时,被认为输入结束的几种状况遇空格符、回车符、制表符;达到输出域宽;遇非法字符输入8假如函数scanf的格式限制字符串中存在除格式转换说明符以外的其他字符,必需将这些字符原样输入#includestdio.hvoid main{int a,b;scanf,,%d%d〃,a,b;〃以空格作为分隔符,等价于scanf%d%d〃,a,b,等价于scanf〃%d%d〃,a,b,「出成乳〃@二%1,4%1\、,a9;〃实际输入时,空格、回车符、制表符都可作为分隔符,即输入12空格3412回车3412制表符34均可,#includestdio.hvoid main{int a,b;scanf〃%d,%d〃,a,b;〃输入时必需以逗号作为分隔符,即只能输入12,34printf/za=%d,b=%d\n〃,a,b;#includestdio.hvoid mainint a,b;scanf〃a=%d,b=%d〃,a,b;〃输入时必需将〃a=和〃b=原样输入,即只能输入a=12,b=34printf z/a=%d,b=%d\n〃,a,b;#includestdio.hvoid main{int a,b;scanf线2d%2d〃,a,b;〃输入时将前两位数读入存到a中,接着两位存到b中,然后结束读取,即输入1234,或123456结果一样printf〃a=%d,b=%d\n〃,a,b;#includestdio.hvoid mainint a,b;scanf〃%d%dz,,a,b;printf〃a=\〃%d\〃,b=\〃%d\〃\n〃,a,b;〃输出a二〃12〃,b=〃34〃}#includestdio.hvoid mainint a,b;scanf,/%d%*c%d//,a,b;〃随意字符都可作为分隔符,即输入12,34或1234或12+34结果都一样printf/za=%d,b=%d\n〃,a,b;#includestdio.hvoid mainint a,b;scanf〃%2d%*2d%d〃,a,b;〃忽视两位,输入123456printf z,a=%d,b=%d\n〃,a,b;〃输出a=12,b=56对于程序#includestdio.hvoid mainint a,b;scanf〃%d%d〃,a,b;printf〃a=%d,b=%d\n〃,a,b;假如输入1234a回车,则结果a=12,b=3,程序在遇到非法字符a时,会导致程序输入终止,此时a会读入12,b会读入3假如输入123a回车,则结果a=123,b=-858993460,程序在遇到非法字符a时,会导致程序输入终止,此时a会读入123,而b未能读入指定数据项数假如在scanf函数中遗忘在变量前加取地址运算符,会导致非法内存访问
13.%c格式符运用几种状况1用加格式读入字符时,空格字符和转义字符包括回车都会被当做有效字符读入例键盘输入一个整数加法算式操作数1+操作数2,输出操作数1+操作数2二计算结果#includestdio.hvoid mainintdatal,data2;char op;〃输入12空格+空格3回车〃输出12-858993460^-858993448printf Z/Enter datal+data2\n〃;〃输入12空格3回车〃输出123=15scanf/z%d%c%d/z,datal,op,data2;〃输入12+3回车〃输出12+3=15printf〃%d%c%d=%d\n〃,datal,op,data2,datal+data2;2先输入一个数据后再输入字符型变量时,输入一个数据后,输入的回车符将被当做有效字符读给字符型变量例编程从键盘先后输入int型、char型和float型数据,要求每输入一个数据就显示这个数据的类型和数据值#includestdio.hvoid maininta;char b;float c;printf Z/Please input an integer/;scanf〃%d〃,a;printfinteger:%d\n〃,a;〃在输入一个整型数据后,输入的回车符被当做有效字符读给了字符型变量b了printf Please input acharacter/;scanf〃%c〃,b;printfchracter:%c\n〃,b;printf/zPlease input a floatnumber:;scanf〃%f〃,c;printf Afloat:%f\n/z,c;}
14.%c格式符存在问题的解决方法1用函数getcharO将数据输入时存入缓冲区中的回车符读入,以避开被后面的字符型变量作为有效字符读入#includestdio.hvoid main{inta;char b;float c;printf/zPlease inputan integer:;scanf〃%d〃,a;printfinteger:%d\n〃,a;getcharO;〃将存于缓冲区中的回车符读入,避开在后面作为有效字符读入〃函数getcharO的返回值是一个回车符,已经避开了错误,不须要再将其赋给字符型变量运用printf Please inputacharacter/7;scanf〃%c〃,b;printfchracter:%c\n〃,b;printf/zPlease inputa floatnumber/7;scanf〃%f〃,c;printf Afloat:%f\nz\c;2在枇前面加一个空格,将前面数据输入时存于缓冲区的回车符读入,避开被后面的字符型变量作为有效字符读入#includestdio.hvoid maininta;char b;float c;printf Z/Pleaseinputan integer/;scanf〃%d〃,a;printf^integer:%d\n/z,a;printf Pleaseinputacharacter:/z;scanf〃%c〃,b;〃在祝前面加空格,将存于缓冲区中的回车符读入printf/zchracter:%c\n/z,b;printf Z/Pleaseinputa floatnumber/7;scanf〃%f〃,c;printf Afloat:%f\n/z,c;〃说明在%c前加空格为什么能将存于缓冲区中的回车符读入因为假如函数scanf的格式限制字符串中存在除格式转换说明符以外的其他字符,必需将这些字符原样输入,所以在枇前加空格,就必需在输入字符型数据前先原样输入空格,而空格,回车符,制表符在函数scanf输入数值型数据时都代表输入结束,由实践可知,空格符、回车符、制表符在输入时等效所以,缓冲区中的回车将代替须要原样输入的空格,因此,事实上,在加前增加空格或者Tab键都可以完成,并且及增加的数量无关,且可以混合增加3*经典例题编程实现键盘随意输入字符,统计字母、数字、空格、其他字符数量首选字符串的方法#includestdio.httdefine N100int main{char a[N];int i,m=0,n=0,b=0,c=0;printf〃请输入字符\n〃;getsa;for i=O;a[i]\05;i++if a[i]=,a a[i]=,z||a[i]=A a[i]=,Tm++;else ifa[i]=0a[i]=9n++;else二二,,b++;else c++;printf〃字母个数%d\n〃,m;printf〃数字个数%d\n〃,n;printf〃空格个数%d\nzz,b;printf〃其他字符个数:%d\rT,c;return0;}单个字符输入的方法,但是要解决缓冲区的问题#includestdio.hint maincharch;inta,b,c,d;a=b=c=d=0;printf请输入字符:\n〃;do{ch=getchar;getcharO;//清除缓冲区的回车键,不然会当做其次个字符读入if ch!二’‘〃用Tab键限制输入结束,他在程序中只会出现一次并且统计一次,
一、C数据类型LC语言处理两种数据常量和变量
2.常量整形常量、实型常量、字符常量、字符串常量、枚举常量
3.整形常量正整数、负整数、零eg:10,-30,
04.实型常量实数、小数、浮点数eg:
3.14,-
0.56,
18.
05.字符常量字符型常量、用单引号括起来的随意字符eg:‘x X
6.字A串常量用双引号括起来的一个或多个字符eg:〃x〃Hello〃Y78〃
7.在C程序中,整型常量可以用十进制、八进制、十六进制形式表示,但编译器都会自动将其转换成二进制存储
8.整型常量的类型长整型、短整型、有符号、无符号
9.不同进制的整型常量的表示形式1)十进制0~9数字组合,可带正负号eg:256,-128,0,+72)八进制0开头,后面跟0~7数字组合eg:021,-0173)十六进制Ox(0X)开头,后跟0~9,a f(A F)数字组合eg:0x12,〜〜-OxlF
10.不同类型的整形常量的表示形式1)有符号整型常量默认int型定义为有符号整数,无需signed eg:10,-30,02)无符号整形常量常量值后跟u或U,只能表示>=0的数eg:30u,256U3)长整型常量常量值后跟1或L eg-2561,1024L4)无符号长整型常量常量值后跟LU、Lu、1U、lu eg:301u1LC程序中,实型常量两种表示形式小数、指数
12.不同形式的实型常量的表示形式1)十进制表示形式数字和小数点组成,必需要有小数点,整数部分可省略eg:O.123,-
12.35,.982)指数形式e或E代表以10为底的指数,e左边是数值部分(有效数字,可以是整数、小数,不能省略),e右边是指数部分(必需是整数形式)eg:
3.45e-
613.实型常量有单精度和双精度之分,无有符号和无符号之分
14.不同类型的实型常量表示形式1)单精度实型常量常量值后跟F或f eg:
1.25F,
1.25e-2f2)双精度实型常量(double)实型常量默认按双精度处理eg:
0.123,-
12.35,.983)长双精度实型常量(long double)常量值后跟L或1eg:
1.25L
15.变量在程序执行过程中可以变更的量
16.变量在必需先定义后运用,定义时须要声明变量的类型和变量名,一般形式类型关键字变量名;
17.关键字是C语言预先规定具有特殊意义的单词,类型关键字用于声明变量的类型
18.标准C语言编写的程序都是以main作为开头,指定了C程序执行的起点,在C程序中只能出现一次,称为主函数
19.C程序总是从main函数起先执行,及他在程序中的位置无关,main函数主体部分称为语句,用{}括起来,一般C语句以;结束
20.变量的类型确定了编译器为其支配内存单元的字节数、数据在内存单元中的存放形式、该类型变量合法的取值范围以及该类型变量可参及的运算种类
21.变量名是用户定义的标识符,用于标识内存中具体的存储单元,存放的数据称为变量的值
22.新数据存放于存储单元时,旧数据将会被修改,反应变量的值是可以变更的
23.变量名的命名规则1)标识符只能由英文字母、数字、下划线组成2)标识符必需以字母或下划线开头3)不允许运用C关键字为标识符命名4)标识符可以包含随意多个字符,但一般会有最大长度限制,预编译器有关,一般不会超过,最好不超过8个字符留意标识符区分大小写eg:x y3_imax ELSEX A_to_B(合法)eg:7x int#No badone re-input(不合法)
24.标准C规定全部变量必需在第一条可执行语句之前定义
25.在同一条语句中可以同时定义多个相同类型变量,多个变量之间用逗号分隔,没有依次要求
26.在运用标准输入/输出函数时,必需在程序开头加上编译预处理叮嘱
27.〈stdio.h中stdio为头文件,std是standard,i为input,为output,h为head
28.编译预处理叮嘱include的作用将在输入/输出函数的头文件stdio.h包含到用户源文件中
29.%d按十进制整数个格式输出,按十进制小数格式输出,一般输出6位小数,%输出一个字符,\n换行,双引号内字符原样输出
30.不同类型的数据在内存中占用不同大小的存储单元,他们所能表示的数据的取值范围各不相同,不同类型的数据表示形式及其可以参及的运算种类也不同
31.定义整型变量时,只要不指定为无符号型,其隐含类型为有符号型,signed通常省略不写
32.C程序中每个变量的值都是按字节编址,都被存储在内存中特定的存储单元中,这个存储空间实际是一个线性地址表,即每个字节的存储空间对应一个唯一的地址
1.11个字节等于8个二进制位,即8个位为一个字节,一个字节可以表示的整数最小为0,最大255,即8个位可以表示0-255之间的数,一个二进制位的值只能是0或
11.2同种类型在不同的平台所占字节数不同,要计算数据类型所占内存空间的字节数须要用sizeof运算符
1.51izeof是C语言关键字,不是函数名,sizeof变量名计算一个变量所占内存的字节数
36.计算不同类型运算符的表达式时,要考虑运算符的优先级和结合性
37.正数的反码、补码及原码都相同,负数的补码等于反码加
138.在计算机内存中负数都是用补码来表示
39.对于实数,无论小数海曙指数形式,在计算机内存中都接受浮点形式来存储
40.浮点数分为阶码、尾数两部分,实数N=S*powr,j,S为尾数无论正负,规定用存小数,j为阶码无论正负,必需是整数,r是基数eg:
10.0111=
0.100111*pow2,
1041.阶码所占位数确定实数的取值范围,尾数所占位数确定实数的精度,尾数的符号确定实数的正负,阶码和尾数的字节大小及编译器有关
42.float型变量能接收实型常量的7位有效数字,double型变量能接收16位
43.运算符的优先级单目运算〈算术运算〈关系运算〈逻辑运算〈条件运算〈赋值运算〈逗号运算
44.素数又称质数,指在大于1的自然数中,除1和本身不能被其他自然数整除的数
45.合数指在自然数中除1和本身外还能被其他自然数整除的数
46.因子全部能整除这个数的数,不包括自身,但包括
147.闰年能被4整除但不能被100整除,或能被400整除
二、简洁的算术运算和表达式
1.条件运算符是C语言供应的唯一一个三元运算符,C语言中没有幕运算符
2.只有计算相反数是一元运算符,其余运算符都是二元运算符3•一元运算符也叫单目运算符,二元运算符也叫双目运算符,三元运算符也叫三目运算符
4.整数除法的结果是整数,浮点数除法的结果是浮点数
5.求余运算限定参及运算的两个操作数必需为整型,余数的符号及被除数的符号相同,不能对两个实型数进行求余运算
6.全部的算术运算符中只有一元的去相反数运算符为右结合,其余的结合性都为左结合
7.同一优先级的运算符进行混合运算时,从左向右依次进行
8.运算符的优先级单目运算》算术运算〉关系运算〉逻辑运算》条件运算〉赋值运算》逗号运算
9.计算并输出一个三位整数的个位、十位、百位数字之和#includestdio.hvoid mainintx=321;inta,b,c,sum;a=x%10;//a=lb=x/10%10;//b=2c=x/100;//c=3sum=a+b+c;printf〃a=%d,b=%d,c=%d\nsum=%d\n//,a,b,c,sum;}
10.涉及算术运算的复合赋值运算符有5个+=,-=,*=,/=,%=
11.增1运算符也称自增运算符,减1运算符也称自减运算符,都是一元运算符,只有一个操作数必需是变量不能是常量或表达式
12.自增自减运算符作为前缀时,先执行加1或减1然后运用;自增自减运算符作为后缀时,先运用再执行加1或减1;
13.考虑优先级及结合性的实例m=-n++《=》m=-n++《=》m=-n,n=n+l;〃正面-和++都是一元运算符,优先级相同,此时要考虑结合性,结合性都是右结合的,所以先算++后算-〃反面假如等价m=-n++就不合法了,因为表达式不能进行自增操作
14.scanf函数和printf函数都是C的标准输入/输出函数,为取地址运算符
15.宏常量及宏替换1在程序中干脆运用的常数称为幻数,将幻数定义为宏常量或const常量是为了提高程序的可读性和可维护性2宏常量也称符号常量,没有数据类型,编译器不对其进行类型检查,只进行字符串替换3宏定义一般形式^define标识符字符串标识符被称为宏名,宏名及字符串之间可有多个空白符,不加等号,结尾不加分号4宏常量是由宏定义编译预处理叮嘱来定义,宏名替换成字符串的过程称为宏替换,宏替换不做任何语法检查5当宏定义是一个表达式时,调用时,是一个数就可以干脆带入,而是表达式也要看成是一个数代进宏定义表达式中,而看成一个数这就要求把调用的数加上圆括号,为了削减不必要的错误,最好都加上圆括号6)宏替换的过程是将宏名原样替换成字符串,而不是干脆计算出值,所以要用调用后的结果参及其他运算就须要把调用的结果加上圆括号7)例题#includestdio.h ttdefineN2#define MN+l^define NUM2*M+1〃N=2void main//M=2+l{int i;fori=l;i=NUM;i++;printf,,%d\n/,,i;//执行完空循环,i=7i—;//i=6printf〃%d\n〃,i;}8例题#includestdio.httdefine fxx*xvoid main{int b;b=f4+4;〃b=4+4*4+4=24,说明见5printf〃b=%d\n〃,b;9例题#includestdio.h#define fxx*xvoid main{int b;b=f4+4/2+2;〃b=4+4*4+4/2+2=21说明见6printf〃b=%d\n〃,b;10)例题:#includestdio.h#define fxx*x voidmainint b;b=f4+4;//b=4+4*4+4=64printf〃b二%d\n〃,b;11例题#includestdio.h#define fxx*xvoid mainintb;b=f4+4/2+2;//b=4+4*4+4/2+2=16printf〃b=%d\n〃,b;}
16.const常量1const常量只能在定义时赋初值,因为编译器将其放在只读存储区,不允许在程序中修改2const常量的定义一般形式const类型名标识符二字符串;〃将标识符声明为具有该数据类型的const常量3const是一种类型修饰符,const常量具有数据类型,编译器要对其进行类型检查
17.表达式中的自动类型转换1表达式中,操作数类型相同,运算的结果类型及操作数类型相同2表达式中,操作数类型不相同,C编译器自动将全部操作数进行类型提升,转换成同一类型,所占字节最大,再计算
18.赋值中的自动类型转换1赋值运算符左侧变量及右侧表达式类型不同时,发生自动类型转换右侧表达式的值转换成左侧变量的类型
19.强制类型转换1强制类型转换运算符是一元运算符2强制类型转换也称强转,是将表达式的值转换为随意类型,并不变更变量本身的数据类型3强转一般形式类型表达式4演示强制类型转换运算符的运用#includestdio.hvoid mainintm=5;printf//m/2=%d\n//,m/2;//m=2printf/z float m/2=%f\n/z,float m/2;//m=
2.000000printf z/float m/2=%f\nz/,floatm/2;//m=
2.500000printf z/m=%d\n/z,m;//m=5,只是将m强转为实型数据,并不变更m的数据类型
20.常用的标准数学函数I运用c标准数学函数,要在程序开头加上编译预处理叮嘱#includemath.h2例已知三角形三边长为a,b,c,计算三角形的面积#includestdio.h#includemath.h voidmain{float a,b,c,s,area;printf/zInput a,b,c:〃;scanf〃%f,%f,〃,a,b,c;s=a+b+c/2;area=float sqrts*s-a*s-b*s-c;printf/zarea=%f\nz,,area;}
21.赋值运算符的左侧不能出现表达式,变量及变量之间可以赋值例1若有定义inta,b,c;下列表达式中哪一个是合法的C语言赋值表达式C、DAa=7+b=c=7B a=b++=c=7C a=b=7,c=12D a=3,b=a+5,c=b+2//A.7+b表达式不能做左值B.b++表达式不能做左值C.逗号表达式a=12D.依次赋值例2下面不正确的赋值语句是BAa=++a Ba=b++=10Ca+=b Da=l,a//D.算术运算符优先级高于赋值运算符,先算1a再将其结果赋给a例3若有下列定义inta=3,b=2,c=1;以下选项错误的赋值表达式是AAa=b=4=3Ba=b=c+l Ca=b=4+cD a=l+b=c=4〃A.先计算圆括号里的值等于4,然后依据赋值表达式的依次从右向左计算,将3赋值给4这是不对的,即赋值号左侧只能是变量,不能出现表达式b=4。
个人认证
优秀文档
获得点赞 0