首页 逗号运算符

逗号运算符

举报
开通vip

逗号运算符逗号运算符 篇一:逗号运算符 3 数据类型、运算符与表达式 一、单项选择题 1、以下选项中,不正确的 C 语言浮点型常量是( C )。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 分析:e后面的指数必须为整数。 2、以下选项中,( D )是不正确的 C 语言字符型常量。 A. a B. \x41 C. \101 D. "a" 分析:在C语言中,’a’表示字符常量,”a”表示字符串。 3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。...

逗号运算符
逗号运算符 篇一:逗号运算符 3 数据类型、运算符与表达式 一、单项选择题 1、以下选项中,不正确的 C 语言浮点型常量是( C )。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 :e后面的指数必须为整数。 2、以下选项中,( D )是不正确的 C 语言字符型常量。 A. a B. \x41 C. \101 D. "a" 分析:在C语言中,’a’表示字符常量,”a”表示字符串。 3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。 A.原码 B.反码 C. ASCII 码 D. BCD码 分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII码放到储存单元中。 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32, 所以x=32. 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“*”以及除法运算符“/”,赋值运算符包括“=、+=、-=、*=、/=、??”,关系运算符包括“、>=”。 3ae 6、若有代数式bc ,则不正确的C语言表达式是( C )。 A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*3 分析:C选项表达的是3ace/b。 7、表达式!x||a==b 等效于( D )。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 分析:由符优先级先后顺序在!x||a==b中应先算“||”再算“~”,最后算“==”。选项B不影响运算顺序。 8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A )。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 分析:先算括号里面的,a不大于b,则m=0,c不大于d,则n=0. 9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12 分析:从后往前算,a*=a即a=a*a,a=9;然后a-=a=9,a=a-9,=0;a+=0,a=a+a=0. 10、在以下一组运算符中,优先级最低的运算符是( D )。 A. * B. != C. + D. = 分析:在上述选项中,运算符优先级从低到高为=、~=、+、*。 11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。 A. 6 B. 12 C. 15 D. 表达式出错 分析:++i表示在将i运算前(转 载 于:wWW.zw2.Cn 爱作文网:逗号运算符)先加上1再进行运算。 12、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.5 分析:double类型下,3/2=1,y为double类型,故y=1+1=2.0。 13、sizeof (double)的结果值是( A )。 A. 8 B. 4 C. 2 D. 出错 分析:SIZEOF的作用是判断数据类型长度,double在C里用8个字节来存储数据。 14、设a=1,b=2,c=3,d=4,则表达式:aA. 4 B. 3 C. 2 D. 1 分析:a15、设a 为整型变量,不能正确表达数学关系:10A. 10C. a>10 && a=15) 分析:a 为整型变量表示a为整数,1010并且a 16、设 f是实型变量,下列表达式中不是逗号表达式的是( A )。 A. f= 3.2, 1.0 B. f>0, f0 D. f=(3.2, 1.0) 分析:逗号的优先级低于等号的优先级。A表示将3.2赋值给f,1.0无法识别。 17、 表达式18/4*sqrt(4.0)/8值的数据类型是( B )。 A. int B. float C. double D. 不确定 分析:int表示整形, float表示单精度型, double表示双精度型。 18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是( A )。 A. D B. 68 C. 不确定的值 D. C 分析:字符型常量A为65,加上6减去3为68,对应D的ASCII码。 19、以下用户标识符中,合法的是( B )。 A. int B. nit C. 123 D. a+b 分析:C语言规定标识符只能由字母、数字、 下划线组成,并且只能由字母、下划线开头。一些标识符被赋于特定的含义就叫做保留字,不用于标识符。 20、C 语言中,要求运算对象只能为整数的运算符是( A )。 A. % B. / C. > D. * 分析:%表示求余,运算对象只能为整数。 21、若有说明语句:char c=\72;则变量c在内存占用的字节数是( A )。 A. 1 B. 2 C. 3 D. 4 分析:char 是字符型,它定义的字符,在内存中只占一个字节,定义的char c=\72,系统只会将它做一个字符处理。 22、字符串"ABC"在内存占用的字节数是( B )。 A. 3 B. 4 C. 6 D. 8 分析:C规定在每一个字符常量的结尾加上一个字符串结束标志’/0’,在内存单元中ABC表示6个字符。 23、要为字符型变量 a赋初值,下列语句中哪一个是正确的( B )。 A. char a="3"; B. char a=’3’; C. char a=%; D. char a=*; 分析:字符用单引号,字符串用双引号。 24、下列不正确的转义字符是( C )。 A. \\ B. \ C. 074 D. \0 分析:所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为它后面的字符都不是它本来的ASCII字符意思了。 二、填空题 1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是 用 0 表示的。 2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。 3、设 c=w,a=1,b=2,d=-5, 则表达式 x+1>c, y!=c+2, -a-5*b4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.75 。 5、判断变量 a、b 的值均不为 0 的逻辑表达式为 a!==0&&b!==0 。 6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4、10、10、6 。 7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为 18、3、3 。 逗号运算符应先求解逗号前面的,求出后变量经重新赋值,在计算逗号后面的。 8、数学式a/(b*c)的 C 语言表达式 a/b/c 。 三、判断题 ( Y )1、C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1, 取得false值时,为0。 ( N )2、为了确保表达式n/2的值为float型,可写成float(n/2)。 ( N )3、若有(float)x,则x变成float型变量。 ( N )4、若a=3,b=4,c=5,则d=!(a%b)的值是0。 ( Y )5、a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值 (N )6、在赋值表达式中,赋值号左边既可以是变量也可以是?我獗泶锸? ( N )7、 执行表达式a=b后,在内存中a和b存储单元中的原值都将被改变,a的值已由原来的改变为b的值,b的值由原来改变为0 ( N )8、有a=3,b=5。执行a=b,b=a后,使a的值为5,b的值为3。 ( N)9、 get )和scanf()均为输入函数,它们之间可通用,没有任何区别。 (N )10、执行语句scanf("%6.3f,&a) 后,输入123456可使a的值为123.456 。 ( Y )11、 putchar()函数的作用是输出一串字符 。 ( Y )12、 使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。 ( Y )13、在C中所用的变量必须先定义后使用。 ( Y )14、在 C 程序中,运算符%仅能用于整型数的运算。 ( Y )15、APH与aph 分别表示不同的变量。 ( Y )16、设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y; 的功能是交换x和y的值。 ( N )17、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为0。 ( Y )18、C语言中无逻辑变量,也无逻辑表达式。 四、编程题: 1、 设长方形的高为 1.5,宽为 2.3,编程求该长方形的周长和 面积。 #include void main() { float a,b,C,S; a=1.5,b=2.3; C=2*(a+b);S=a*b; printf(“%f,%f\n”,C,S); } 2、 编写一个程序,将大写字母 A转换为小写字母 a。 #include void main() { char c; c=’A’; c=c+32; printf(“%c”,c) } C语言试题:数据类型、运算符与表达式 篇二:逗号运算符 篇三:逗号运算符 逗号运算符 在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。 假设b=2,c=7,d=5, a1=(++b,c--,d+3); a2=++b,c--,d+3; 对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8。 对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。 注意:逗号运算的结合性是从左至右,完毕之后整个表达式的值是最后一个表达式的值。 例子:int a[2],x=2,y=5; a[0]=(x+3,y++,x++);那么最终结果是:a[0]=2 x=3 y=6; 为何a[0]=2:因为(x++)是运算之后再自 加 a[1]=(x++,x+3,x+7);那么最终结果是:a[1]=11 ,x=4 第一反应,我以为a[1]=10,就是3+7;其实是错的,逗号运算是从左至右,所以?人? x++,x从而变成4了,然后a[1]=4+7=11; 不信你改成a[1]=(x++,x+3);调试一下,结果是7,就是4+3,说明经过一个逗号,x已经自加变成4了。
本文档为【逗号运算符】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_731942
暂无简介~
格式:doc
大小:23KB
软件:Word
页数:8
分类:生活休闲
上传时间:2017-09-02
浏览量:52