C语言运算符与表达式的练习题

合集下载

C语言数据类型与表达式习题及答案

C语言数据类型与表达式习题及答案

第一章数据类型,运算符与表达式一.选择题1.不合法的常量是 A 。

A)‘/2’B) “”C)‘’D)“483”2. B 是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char3.在以下各组标识符中,合法的标识符是(1) A ,(2) C ,(3) D 。

(1)A)B01 B)table_1 C)0_t D)k%Int t*.1 W10 point (2)A)Fast_ B)void C)pbl D)<book> Fast+Big abs fabs beep (3)A)xy_ B)longdouble C)*p D)CHAR 变量1 signed history Flaut4. 不属于合法的C语言长整型常量的是 C 。

A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。

A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-0 8.在C语言中,要求参加运算的数必须是整数的运算符是 C 。

A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以 D 形式存放。

A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是 C 。

A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=7+b,b++,a+7;D)a=7+b = c=a+7;11. B 是非法的C语言转义字符。

A)‘\b’B)‘\0xf’C)‘\037’D)‘\’’12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, B 是正确的。

A)语法错误B)f为5.0 C)f为0.0 D)f为2.013.与代数式x yu v⨯⨯不等价的C语言表达式是 A 。

C语言运算符与表达式的练习题答案(2021年整理精品文档)

C语言运算符与表达式的练习题答案(2021年整理精品文档)

C语言运算符与表达式的练习题答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言运算符与表达式的练习题答案)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C语言运算符与表达式的练习题答案的全部内容。

C语言运算符与表达式的练习题单项选择题(1)以下选项中,正确的 C 语言整型常量是(D)。

A. 32L B。

510000 C。

-1。

00 D。

567(2)以下选项中,(D)是不正确的 C 语言字符型常量。

A。

’a' B. ’\x41' C。

'\101’ D. ”a"(3)字符串的结束标志是(C)。

A. 0B. '0' C。

’\0' D. "0”(4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B )。

A。

算术运算、赋值运算、关系运算 B。

算术运算、关系运算、赋值运算C。

关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算(5)逻辑运算符中,运算优先级按从高到低依次为(D ).A。

&& ! || B. || &&! C。

&& || ! D. ! && ||(6)表达式!x||a==b 等效于(D )。

A. !((x||a)==b) B。

!(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b)(7)设整型变量 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。

c语言表达式题库

c语言表达式题库

c语言表达式题库(总1页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--C语言程序设计表达式一、表达式求值1.表达式:!(4<=6)&&(3<=7) 的值为_______ 02.表达式:x=!(2<5==5) 的值为【1】 13.如果有变量定义:int i=1,j=8,a;则表达式:a=i+(j%4!=0) 的值为_【1】 14.表达式:x=(7+6)%4/2 的值为【1】 05.如果有变量定义:int x,则表达式:x=-3*4%-6/50 的值为【1】 06.如果有变量定义:int x ,则表达式:x=3+7%5-6 的值为【1】 -17.如果有变量定义:int x,则表达式:x=-3+4/5-6 的值为【1】 -98.如果有变量定义:int x=3,y=4,z=4则表达式:z>=y&&y>=x 的值为_____ 19.如果有变量定义:int x=3,y=4,z=4则表达式:(z>=y>=x)1:0 的值为____ 0 10.如果有变量定义:int x=0,y=0,z=0则表达式:k=++x&&++y||++z 的值为_____ 111. 如果有变量定义:int x=0,y=0,z=0则表达式:k=++x||++y&&++z 的值为______ 112. 如果有变量定义:int x=40,y=4,z=4则表达式:x=x==(y-z) 的值为____ 013.如果有变量定义:int a=15,则表达式:a=a<<1 的值为【1】 3014.如果有变量定义:int y;char x='a';则表达式:y='a'+1 的值为【1】 9815.如果有变量定义float x=,y=则表达式:x<y:的值为【1】16.如果有变量定义:int a=1,b=2,c=3,d=5则表达式:a>b a : c>d c : d 的值为【1】 517.如果有变量定义:int a=1,b=3,m 则表达式:m=a>b a : b+1 的值为【1】 418.如果有变量定义:int a=1,b=2则表达式:(!a)||(a>b) 的值为_______ 019. 如果有变量定义:int a=1,b=2,c=1,x=4,y=5则表达式:!a&&b||x>y&&c 的值为______ 020如果有变量定义:int a=12,n=5则表达式:a%=(n%=2) 的值为_______ 021如果有变量定义:int a=2, b=3;float x=, y=则表达式:(float)(a+b)/2+(int)x%(int)y 的值为【1】22如果有变量定义:int x=, y=则表达式:z=(int)x%(int)y 的值为【1】 1 23如果有变量定义:int x=,a=7,y=则表达式:k=a%3*(x+y)/2 的值为【1】 3 24如果有变量定义:int a=5则表达式:a*=1+3 的值为【1】 2025如果有变量定义:int a,b则表达式:b=(a=3*4, a*4),a+5 的值为【1】 17 26如果有变量定义:int a,b 则表达式:x=a=3,5*a 的值为【1】 1527如果有变量定义:int a=120 则表达式:a%=(5%2) 的值为【1】 028如果有变量定义:int a=10则表达式:a+=a-=a*=a 的值为【1】 029 如果有变量定义:int a=10则表达式:a+=a-=a*a 的值为【1】 -180 30 如果有变量定义:int i=3则表达式:j=i++ 的值为【1】 331如果有变量定义:int i=3则表达式:j=++i 的值为【1】 432表达式5&7的值为【1】 ,5│7的值为【2】 . 5 72。

C练习_数据类型运算符及表达式_选择题-答案-

C练习_数据类型运算符及表达式_选择题-答案-

C练习_数据类型运算符及表达式_选择题-答案-1、一个C语言的执行是从:()A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束A2. 以下叙述正确的是:A) 在C程序中,主函数必须位于程序的最前面B) 在C程序中,一行只能写一条语句C) C程序的基本结构是程序行D) C语句是完成某种程序功能的最小单位D3. 在C语言中(以16位PC机为例),五种基本数据类型存储空间长度的排列顺序是:A) char<int<="float<double</p">B) char=int<="float<double</p">C) char<intD) char=int=long int<=float<double< p="">A4. 在C语言的变量类型说明中,int,char,float等类型的长度是:A) 固定的B) 由用户自己定义的C) 任意的D) 与机器字长有关的D5. 下列四组常数中,均是正确的八进制数或十六进制数的一组是:A) 016 0xbf 018B) 0abc 017 0xaC) 010 -0x11 0x16D) 0A12 7FF -123C6. 下列四组常数中,均是合法整型常量的一组是:A) 160 0xffff 011B) -0xcdf 01a 0xeC) -01 986,012 0668D) -0x48a 2e5 0xA7. 下列四组转义符中,均合法的一组是:A) '\t' '\\' '\n' B) '\' '\017' '\x'C) '\018' '\f' '\xab' D) '\\0' '\101' '\xif'A8. 设有说明:char w; int x; float y; double z; 则表达式:w*x+z-y值的数据类型是:A) float B) charC) int D) doubleD9. 以下能正确定义变量a、b和c并为其赋值的语句是:A) int a=5; b=5; c=5; B) int a,b,c=5;C) a=5, b=5, c=5; D) int a=5, b=5, c=5;D10. 若有定义:int a=7; float x=2.5, y=4.7; 则表达式:x+a%3*(int)(x+y)%2/4的值是:A) 2.500000 B) 2.7500000C) 3.500000 D) 0.000000A11. C语言所提供的基本数据类型包括字符型、整型、双精度型、单精度型和____:A) 指针型B) 结构型C) 数组型D) 枚举类型D12. 已知字母"A"的ASCII码为十进制的65,下面程序输出正确的是:main(){char ch1, ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d, %c\n", ch1, ch2);}A) 67, D B) B, CC) 不确定的值D) C, DA13. 下面程序的输出是:main(){unsigned int a=32768;printf("a=%d\n",a);}A) a=32768 B) a=32767C) a=-32768 D) a=-1C14. 在C语言中,下面合法的长整型数是:A) 0L B) 4962710C) 0.054838743 D) 2.1869e10A15. 若有说明语句:char c='\101'; 则变量c:A) 包含一个字符B) 包含两个字符C) 包含三个字符D) 说明不合法A16. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是:A) int型B)float型C) double型D)不确定C17. C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种C18. 执行printf("%x,%o,%d\n", -1, -1, -1)后输出结果是:A) -1, -1, -1 B) ffff, -01, -1C) ffff, 32767, -1 D) ffff, 177777, -1D19. 下面四个选项中,均是合法浮点数的选项是:A) 1e+1 5e-9.4 03e2B) -.60 12e-4 -8e5C) 123e 1.2e-.4 e-4D) -e3 e-4 5.e-0B20. 在C语言中,以下叙述不正确的是:A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先说明后引用A21. 若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是:A) 0 B) 2C) 1.5 D) 122. 若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值:A) 0 B) 1C) 12 D) 6A23. 执行语句printf("%u\n",-32768)的输出结果是:A) 32768 B) 0C) -1 D) 不定值A24. 以下对整数的书写形式中,错误的是:A) 7000L B) 17000LC) -3078u D) 32767C25. 以下叙述中不正确的是:A) 空字符串(即两个双引号连写)只占一个存储单元B) 字符型常量可以放在字符型变量中C) 字符型常量可以放在字符串变量中D) 字符型常量可以与整数混合运算,而字符串常量不可以C26. C语言中,要求运算量必须是整型的运算符是:A) + B) /C) % D) *C27. 表达式5!=3的值是:A) T B) 非零值C) 0 D) 1D28. 若d为double型变量,则表达式d=1,d+5,d++的值是:A) 1 B) 6.0C) 2.0 D) 1.029. 设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的值是:< p="">A) 4 B) 3C) 2 D) 1D30. 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则下面不能满足要求的表达式是:A) A%2==1 B) !(A%2==0)C) !(A%2) D) A%2C31. a,b均为整数,且b!=0,则表达式a/b*b+a%b的值是:A) a B) bC) a被b除的整数部分D) a被b除的商的整数部分A32. 为表示关系x>y>z,应使用的C语言表达式是:A) (x>y)&&(y>z) B) (x>y)AND(y>z)C) x>y>z D) (x>y)&(y>z)A33. 设有以下语句:int x=10;x+=3+x%(-3),则x的值是:A) 14 B) 15C) 11 D) 12A34. 以下符合C语言语法的表达式:A) d=9+e+f=d+9 B) d=9+e,f=d+9C) d=9+e=e++,d+9 D) d=9+e++=d+7B35. 若有定义:int y=7,x=12,则能使值为3的表达式是;A) x%=(y%=5) B) x%=(y-y%5)C) x%=y-y%5 D) (x%=y)-(y%=5)36. 在C语言中,要求运算量必须是整型或字符型的运算符是:A) && B) %C) ! D) +B37. 设x为int型变量,则执行语句x=10和x+=x-=x-x后,x的值为:A) 10 B) 20C) 40 D) 30B38. 设x,y,z,s均为int型变量,且初值均为1,则执行语句s=++x||++y&&++z后, 则s的值为:A) 不定值B) 2C) 1 D) 0C39. 设有如下变量定义:int i=8,k,a,b;unsigned long w=5;double x=1.42, y=5.2;则以下符合C语言语法的表达式是:A) a+=a-=(b=4)*(a=3) B) x%(-3)C) a=a*3=2 D) y=float(i)A40. 以下程序的输出结果是:main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12C) 11,10 D) 11,1341. 若有代数式(3ae)/(bc),则下面不正确的C语言表达式是:A) a/b/c*e*3 B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*3C42. 已知x=43,ch='A',y=0,则表达式(x>=y&&ch<'B'&&!y)的值是:A) 0 B) 语法错C) 1 D) "假"C43. 若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是:A) 5.5 B) 5C) 3 D) 4.0C44. 若已定义int a,则表达式a=10,a+10,a++的值是:A) 20 B) 10C) 21 D) 11B45. 若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是:A) 10,10,10 B) 8,16,10C) 8,10,10 D) 8,8,10B46. 执行下列语句后,输出结果是:int a;long int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0C) -1 D) 1B47. 若有定义int a=12,则表达式a+=a-=a*=a的值是:A) 0 B) -264C) -144 D) 132A48. 执行以下程序,输出结果是:main(){int a=353;char b;b=a;printf("%c\n",b);}A) b B) aC) 65 D) 错误信息C49. 下面程序的输出结果是:main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1C) 1,1 D) 0,0A50. 下面程序的输出结果是:main(){int a=-1, b=4, k;k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3C) 0,1,2 D) 0,0,3B51. 下面程序的输出结果是:main(){int a,b,c;long int d;b=(a=32767, a++);c=d=0xffff;printf("%x,%d,%d,%d\n",a,b,c,d);}A) 8000,32767,-1,-1 B) -1,-1,32767,8000C) -1,-1,-1,-1 D) 32767,-1,-1,-1A52.. 阅读下面的程序main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是: A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=45D53. 阅读下面的程序main(){int i,j;float x,y;scanf("%f,%f",&i,&j);scanf("%f,%f",&x,&y);printf("i=%d,j=%d\n",i,j);printf("x=%f,y=%f\n",x,y);}如果从键盘上输入32,18<回车>12.5,-4.3<回车>则程序的运行结果是:A) i=32,j=18 B) i=0,j=0x=12.500000,y=-4.300000 x=12.500000,y=-4.300000 C) i=32,j=18 D) i=0,j=0x=12.5,y=-4.3 x=12.5,y=-4.3B54. 已知a=12,则表达式a+=a-=a*=a的结果是:A) 0 B) 144C) 12 D) -264A55. 已知x=2.5,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%2/4 的结果是:A) 2.4 B) 2.5C) 2.75 D) 0B56. 阅读下面的程序main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n); }程序的运行结果是:A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,11C57. 阅读下面的程序main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是:A) 1,19 B) -1,19C) 1,17 D) -1,17D58阅读下面的程序main(){printf("%f%%",1.0/3);}则程序的运行结果是:A) 0.3333333% B) 0.33%C) 0.333333% D) 0.333333%% A59. 阅读下面的程序main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是:A) a B) bC) c D) 程序语法出错A60. 阅读下面的程序main(){int i,j;scanf("%2d %*3d %2d",&i,&j); printf("%d%4d",i,j);}如果从键盘上输入12 345 67<回车>则程序的运行结果是:A) 12 67 B) 12 345C) 12345 D) 程序语法出错A61. 阅读下面的程序main(){int i,j;char ch;scanf("%d%c%f",&i,&ch,&j);printf("%d%2c%7.2f",i,ch,j);}如果从键盘上输入123a123x.12<回车>则程序的运行结果是:A) 123a123.00 B) 123 a 123.12 C) 123a123.12 D) 123 a 123.00 D62. 阅读下面的程序#includemain(){char c1,c2;c1=getchar();c2=c1+3;printf("%c,%d\n",c2,c2);}已知'A'的ASCII的值为65,如果从键盘上输入D<回车>则程序的运行结果是:A) D,68 B) 'G',68C) D,71 D) G,71D63. 请读程序:#includemain(){ int a; float b,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是A) a=98,b=765,c=4321 B) a=10,b=432,c=8765C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765.0,c=4321.0C64. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值AC语言中最简单的数据类型包括A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型B66. 为表示关系x≥y≥z,应使用C语言表达式A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)A67. 设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是A) 1 B) 0 C) 4 D) 368. 以下程序的输出结果是main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 9D69. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a<>0 B) !a C) a=0 D) aD70. 以下程序的输出结果是main(){int a=-1,b=4,k;k=(++a<0) && !(b--<=0);printf("%d %d %d\n",k,a,b);}A) 1 0 4 B) 1 0 3 C) 0 0 3 D) 0 0 4D71. 下列语句中符合C语言语法的赋值语句是A) a=7+b+c=a+7; B) a=7+b++=a+7;C) a=7+b,b++,a+7 D) a=7+b,c=a+7;D72. 已知字母A的ASCII码为十进制的65,下面程序的输出是main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值73. 下面程序的输出的是main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值C74. 下面程序的输出是main(){int x=023;printf("%d\n",--x);A) 17 B) 18 C) 23 D) 24B75. 执行下面程序中的输出语句后,a的值是main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 10C76. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof B77. 设int a=12,则执行完语句a+=a-=a*a后,a的值是A) 552 B) 264 C) 144 D) -264D78. C语言程序的基本单位是A) 程序行B) 语句C) 函数D) 字符79. 请选出合法的C语言赋值语句A) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b);D80. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A) 5 B) 14C) 8 D) 输出项不合法,无法正常输出A81. 字符(char)型数据在微机内存中的存储形式是A) 反码B) 补码C) EBCDIC码D) ASCII码D82. C语言提供的合法的数据类型关键字是A) Double B) short C) integer D) CharB83. 在C语言中合法的长整型常数是A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10 A84. 表达式: 10!=9的值是A) true B) 非零值C) 0 D) 1D合法的C语言字符常量是A) '\t' B) "A" C) 65 D) A85. 若有说明和语句int a=5;a++;此处表达式a++的值是A) 7 B) 6 C) 5 D) 4 C在下列选项中,不正确的赋值语句是A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;D86. 下面程序的输出是main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=bD87. 下面程序的输出是main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=bD</b?a:c<d?a:d的值是:<></double<></int</int。

C语言试题数据类型运算符与表达式

C语言试题数据类型运算符与表达式

C 语言试题数据类型运算符与表达式1、以下选项中,不正确的 C 语言浮点型常量是(C)。

A.160.B.0.12C.2e4.2D.0.0分析: e 后面的指数必须为整数。

2、以下选项中,(D)是不正确的 C 语言字符型常量。

A.'a'B.'\\某41'C.'\\101'D.\分析:在 C 语言中,’a’表示字符常量,”a”表示字符串。

3、在 C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。

A.原码 B.反码 C.ASCII 码 D.BCD 码分析:将一个字符常量放入一个字符变量中,实际上并非将字符本身放到内存单元中,而是将字符的对应的 ASCII 码放到储存单元中。

4、若某、 i、j 和 k 都是 int 型变量,则计算下面表达式后,某的值是(C)。

某= (i=4,j=16,k=32)分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为 32,所以某=32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低挨次为(B)。

A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算 C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算分析:算术运算符包括加法运算“+”符减法运算“- ”符乘法运算符“某”以及除法运算符“/”,赋值运算符包括“=、 +=、-=、某=、/=、”,关系运算符包括“、>=”。

3ae6、若有代数式 bc,则不正确的 C 语言表达式是(C)。

分析: C 选项表达的是 3ace/b。

7、表达式!某||a==b 等效于(D)。

A.!((某| |a)==b)B.!(某| |y)==bC.!(某| | (a==b))D. (!某) | | (a==b)分析:由符优先级先后顺序在!某||a==b 中应先算“| | ”再算“!”,最后算“==”。

选项 B 不影响运算顺序。

分析:先算括号里面的, a 不大于 b,则 m=0,c 不大于 d,则 n=0.分析:从后往前算, a 某=a 即 a=a 某 a,a=9;然后 a-=a=9,a=a-9,=0;a+=0,a=a+a=0.10、在以下一组运算符中,优先级最低的运算符是(D)。

带答案C语言2-10章作业

带答案C语言2-10章作业

带答案C语言2-10章作业C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。

(float)(a+b)/2+(int)x% (int)yA) B)35 C) D)2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。

(x+y)%2+(int)a/(int)bA) B)1 C) D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。

x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。

A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。

#include <>main( ){ double d=; int x,y;x=; y=(x+/;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)6.下列程序执行后的输出结果是(小数点后只写一位)( A )。

#include <>main( ){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f\n", i,l,f,d);}A)6 6 B)6 6C)6 6 D)6 67.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。

A)1 B)2 C) D)8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);9.若执行以下程序段后,c3的值为( A )。

int c1=1,c2=2,c3;c3=c2*c1;A)0 B)0.5 C)1 D)210.如下程序的运行结果是( D )。

C语言数据类型和运算符及表达式复习题

C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) 34566666 d) 213&8. 以下正确的实型常量是()a) 1.2E b) .579899 c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0d) 1.3E10. 以下合法的八进制数是()a) 0135b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5)d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6.500000 b) 6 c) 5.500000 d) 6.000000 17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式c b a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式z y x⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z21. 不能正确表示代数式d c b a ⋅⋅的C 语言表达式是( ) a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( ) a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n”,y);printf(“y=%+06d\n”,y);}程序运行的结果是:()a) y= 1111 b) y= 1111c) y=1111 d) y= 1111y=001111 y=+01111 y=+01111 y=1111 26. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n”,y);printf(“*y=%-7o*\n”,y);printf(“*y=%07o*\n”,y);}程序运行的结果是:()a) *y= 710*b) *y= 456**y=710 * *y=456 **y=0000710* *y=0000456*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.667000* b) *3.667000** 3.67* *3.667 ** 4* *4.000000*c) *3.667* d) *3.667000**3.667000* *3.67**3.667000* *4.000000*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768d) b=-1 39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.000000__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为__28____.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。

C语言题库(2020版)第2章 数据类型运算符和表达式√

C语言题库(2020版)第2章 数据类型运算符和表达式√

第二章数据类型运算符和表达式一、单项选择1.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( B )2.下面四个选项中,均是不合法的用户标识符的选项是( B )。

3.判断字符型变量c1是否为数字字符的正确表达式为( A )4.在C语言中,要求运算数必须是整型的运算符是( A )5.下面四个选项中,均是合法的用户标识符的选项是(A)。

6.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。

7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为(B)。

8.表达式18/4*sqrt(4.0)/8值的数据类型为(B)。

9.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( D )10.判断字符型变量c1是否为小写字母的正确表达式为(B)。

11.在C语言中,char型数据在内存中的存储形式是(C)。

12.以下选项中关于C语言常量的叙述错误的是:( D )13.下面正确的字符常量是(B)14.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( D)15.以下选项中,能表示逻辑值"假"的是( B )16.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(C)17.以下选项中非法的字符常量是( B )18.以下关于C语言数据类型使用的叙述中错误的是(B )19.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为(C)。

20.若有数学式3aebc,则不正确的C语言表达式是(A)21.下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是(C)二、填空1.若s是int型变量,s=6;则表达式s%2+(s+1)%2的值为___1__2.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为___9__3.C语言中的标识符只能由三种字符组成,它们是__字母___,_数字____和____下划线_4.若a.b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6,b值为_4,c值为_2_5.在C语言中,不带任何修饰符的浮点常量,是按___double__类型数据存储的。

C语言数据类型和运算符及表达式复习题

C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0d) 1.3E10. 以下合法的八进制数是()a) 0135b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5)d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式c b a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式z y x⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z21. 不能正确表示代数式d c b a ⋅⋅的C 语言表达式是( ) a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( ) a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n”,y);printf(“y=%+06d\n”,y);}程序运行的结果是:()a) y= 1111 b) y= 1111c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n”,y);printf(“*y=%-7o*\n”,y);printf(“*y=%07o*\n”,y);}程序运行的结果是:()a) *y= 710*b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768d) b=-1 39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为__28____.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。

c语言 运算符 测试题

c语言 运算符 测试题

c语言运算符测试题C语言运算符测试题C语言中的运算符是程序中重要的组成部分,也是实现各种计算和逻辑操作的基础。

本文将为大家准备了一些C语言运算符的测试题,让我们一起来挑战一下吧!1. 以下运算符中,具有最高优先级的是哪个?A. 逻辑或运算符 ||B. 逻辑与运算符 &&C. 关系运算符 ==D. 赋值运算符 =答案:B. 逻辑与运算符 &&2. C语言中的自增运算符的作用是什么?A. 增大变量的值并返回原来的值B. 增大变量的值并返回增加后的值C. 增大变量的值并返回增加前的值D. 只返回增加后的值,不改变变量的值答案:B. 增大变量的值并返回增加后的值3. 假设变量x的初始值为10,下面表达式的结果是多少?int y = x++ + ++x;A. 20B. 21C. 22D. 23答案:C. 22解析:在这个表达式中,x++使用了后缀自增运算符,所以y的值先被赋为10,然后x的值加1。

++x使用了前缀自增运算符,所以x的值再加1。

所以最后的结果是10+12=22。

4. 以下代码段的输出结果是什么?int a = 5, b = 3;printf("%d\n", a++ * ++b);printf("%d\n", a);答案:24解析:在第一行代码中,a++运算符返回a的值(5),然后a的值加1,b的值先加1,再与a相乘。

所以打印出的结果是5*4=20。

在第二行代码中,a的值已经增加为6。

5. 当运算符的优先级相同时,C语言中使用什么规则来确定运算次序?A. 从左到右B. 从右到左C. 先执行算术运算,再执行逻辑运算D. 先执行逻辑运算,再执行算术运算答案:A. 从左到右6. 下面哪个运算符用于计算两个变量的地址之间的距离(差值)?A. 加法运算符 +B. 减法运算符 -C. 除法运算符 /D. 乘法运算符 *答案:B. 减法运算符 -7. 下面的代码段将输出什么内容?int a = 10, b = 5, c = 7;a =b >c ? b : c;printf("%d\n", a);A. 5B. 7C. 10D. 12答案:B. 7解析:这段代码使用了条件运算符? : ,当b > c时,表达式的值为b的值,否则为c的值。

C语言运算符与表达式的练习题-答案教学文案

C语言运算符与表达式的练习题-答案教学文案

C语言运算符与表达式的练习题-答案C语言运算符与表达式的练习题单项选择题(1)以下选项中,正确的 C 语言整型常量是(D)。

A. 32LB. 510000C. -1.00D. 567(2)以下选项中,(D)是不正确的 C 语言字符型常量。

A. 'a'B. '\x41'C. '\101'D. "a"(3)字符串的结束标志是(C)。

A. 0B. '0'C. '\0'D. "0"(4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。

A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(5)逻辑运算符中,运算优先级按从高到低依次为(D)。

A. && ! ||B. || && !C. && || !D. ! && ||(6)表达式!x||a==b 等效于(D)。

A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)(7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(A)。

A. 0,0B. 0,1C. 1,0D. 1,1*(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。

A. 3B. 0C. 9D. -12(9)在以下一组运算符中,优先级最低的运算符是(D)。

A. *B. !=C. +D. =(10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。

A. 6B. 12C. 15D. 表达式出错(11)若已定义 x 和 y为double 类型,则表达式的值是(D)。

c语言运算符与表达式练习一

c语言运算符与表达式练习一

运算符与表达式练习一一、选择题1.C语言中运算对象必须是整型的运算符是A)% B)/ C)* D)+2.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b3.以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D) x=j>0;4.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A) 6.500000 B) 6 C) 5.500000 D) 6.0000005.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6 B) 0 C) 2 D) 16.以下叙述中正确的是A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。

B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D)已有a=3, b=5。

当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3 7.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=100; B)d++; C)c+b; D)d=(c=22)-(b++);8.以下选项中不是C语句的是A){int i; i++; printf(“%d\n”, i); }B); C)a=5,c=10 D){ ; }9.以下合法的C语言赋值语句是A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)--i;10.判断char型变量c是否为大写字母的最简单且正确的表达式是A)’A’<=c<=’Z’ B)(c>=’A’&(c<=’Z’)C) (‘A’<=c)AND(‘Z’>=c) D)(c>=’A’)&&(c<=’Z’)11.下列运算符中优先级最高的运算符是A)! B)% C)-= D)&&12.下列运算符中优先级最低的运算符是A)|| B)!= C)<= D)+13.为表示关系 x≥y≥z,应使用的C语言表达式是A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)14.设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是A)a&&b B)a<=b C)a||b+c&&b-c D)!((a<b)&&!c||1)二、填空题1.若k为int型变量且赋值11,请写出运算k++后表达式的值和变量的值。

C语言运算符与表达式训练附答案

C语言运算符与表达式训练附答案

逻辑表达式类型:与运算、 或运算、非运算
逻辑运算符:&&、||、!
逻辑表达式应用:条件判断、 循环控制
逻辑表达式注意事项:运算 符优先级、括号的使用
条件表达式定义
条件表达式的语法
条件表达式的应用
条件表达式的注意 事项
逗号表达式的定义 逗号表达式的语法结构 逗号表达式的执行顺序 逗号表达式的应用场景
编写一个C程序, 要求输入两个浮 点数,计算它们 的和、差、积、 商,并将结果输 出到屏幕上。
编写一个C程序, 要求输入一个字符 串和一个整数,将 字符串中的第几个 字符替换为指定的 字符,并将结果输 出到屏幕上。
编写一个C语 言程序,要求 实现两个数的 四则运算,并
输出结果。
编写一个C语言 程序,要求实 现一个简单的 计算器,可以 进行加减乘除
逻辑或(||):用于连接两个或多个条件,只要其中一个条件为真,结果就为真。
单击此处添加正文,文字是您思想的提炼,请言简意赅的阐述您的观点。单击此处添加正文, 文字是您思想的提炼,请言简意赅的阐述您的观点。
逻辑非(!):用于对一个条件取反,当条件为真时,结果为假;当条件为假时,结果为真。
单击此处添加正文,文字是您思想的提炼,请言简意赅的阐述您的观点。单击此处添加正文, 文字是您思想的提炼,请言简意赅的阐述您的观点。
条件运算符的语法:使用"?"和":"表示条件运算符的格式 条件运算符的执行顺序:先计算条件表达式,再执行相应的语句 条件运算符的应用示例:使用条件运算符进行条件判断和选择执行语句
注意事项:避免在条件表达式中过度嵌套条件运算符,以免影响代码可读性和性能
逗号运算符的定 义
逗号运算符的优 先级

最新C语言运算符与表达式的练习题资料

最新C语言运算符与表达式的练习题资料

C语言运算符与表达式的练习题(作业写到纸质作业本上,在规定时间内交给助教批阅,不要再网上提交)一、单项选择题(1) 以下选项中,正确的C 语言整型常量是。

A. 32LB. 510000C. -1.00D. 567(2) 以下选项中,是不正确的C 语言字符型常量。

A. 'a'B. '\x41'C. '\101'D. "a"(3) 在C 语言中,字符型数据在计算机内存中,以字符的形式存储。

A. 原码B. 反码C. ASCII 码D. BCD码(4) 字符串的结束标志是。

A. 0B. '0'C. '\0'D. "0"(5) 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为。

A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(6) 逻辑运算符中,运算优先级按从高到低依次为。

A. &&,!,||B. ||,&&,!C. &&,||,!D. !,&&,||(7) 表达式!x||a==b 等效于。

A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D.(!x)||(a==b)(8) 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是。

A. 0,0B. 0,1C. 1,0D. 1,1(9) int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为。

A. 2,3B. 2,0C. 3,0D. 3,2(10) 设有语句int a=3;,则执行了语句a+=a-=a*=a; 后,变量 a 的值是。

A. 3B. 0C. 9D. -12(11) 在以下一组运算符中,优先级最低的运算符是。

c语言运算符和表达式测试

c语言运算符和表达式测试

运算符和表达式测试一、选择题(每题2分,共44分)1、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是__________。

A) 6.500000 B) 6 C) 5.500000 D) 6.0000002、若int k=7,x=12;则能使值为3的表达式是___________。

A)x%=(k%=5) B)x%=(k-k%5)C)x%=k-k%5 D)(x%=k)-(k%=5)3、表达式5!=3的值是:_________A) T B) 非零值 C) 0 D) 14、以下程序段a、b的值是:__________main(){int a=12, b=12;--a,++b;}A) 10,10 B) 12,12 C) 11,10 D) 11,135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值:________A) 0 B) 1 C) 12 D) 66、假定x和y为double型,则表达式x=2,y=x+3/2的值是_________。

A)3.500000 B)3 C)2.000000 D)3.0000007、设a为整型变量, 不能正确表达数学关系: 10<a<15 的C语言表达式是________。

A) 10<a<15 B) a==11 || a==12 || a==13 || a==14C) a>10 && a<15 D) !(a<=10) && !(a>=15)8 、下列运算符中,优先级最高的是________。

A) < B) + C) & D) !=9、为表示y在闭区间【x,z】内,应使用的C语言表达式是________。

A) (x<=y)&&(y<=z) B)(x<=y)OR(y<=z)C) x<=y<=z D)(x<=y)&(y<=z)10、设有以下语句:int x=10; x+=3+x%(-3); 则x的值是________。

运算符与表达式练习题附答案

运算符与表达式练习题附答案

运算符与表达式练习题附答案(总5页)-本页仅作为预览文档封面,使用时请删除本页-1. 以下运算符中优先级最高的是()。

A.&&B.+ C.!=D.:2.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。

>=10 or a<=0 >=10|a<=0 >=10 && a<=0 >=10||a<=03. C语言中运算对象必需是整型的运算符是()。

(A)+ (B)/ (C)% (D)*4. 已知int i;float f;正确的表达式是()。

A)(int f)%i B) int(f)%i C) int(f %i) D) (int)f % i5. 下列程序的输出结果是()。

voidmain( ){ int a=7,b=5; printf("%d\n",b=b%a); }(A)0 (B)1 (C)5 (D)不确定值6. 若有定义:int a=8,b=5,c;,执行语句c=a/b+;后,c的值为()。

(A)(B)1 (C)(D)27. 已知x=,y=,求表达式(x+y)/2+(int)y%(int)x的值()。

A) 3 B)5 C) D)8. 已知各变量的类型如下int i=8,k,a,b;unsigned long w=5;double x=,y=;则以下符合C语言语法的表达式是()。

(A)a+=a-=(b=4)*(a=3)(B)a=a*3+2(C)x%(-3)(D)y=float(i)9. 已知int a,b;执行语句a=(b=3*2,b*4),a+6;后变量a的值为()。

A)6 B) 12 C) 24 D)3010. 若有以下程序main(){int k=2,i=2,m;m=(k+=i*=k); printf("%d,%d\n",m,i); }执行后的输出结果是()。

(A)8,6 (B)8,3 (C)6,4 (D)7,411. 设 int i,j=5;执行语句i=(++j)+(++j);后i 的值是()。

萌萌哒C语言-运算符表达式【测试试题】

萌萌哒C语言-运算符表达式【测试试题】

1/2.0
(int)1.0/2
7. 已知在 ASCII 码中,字母 A 的序号是 65,以下程序的输出结果是

#include<stdio.h>
main()
{char c1=‟B‟,c2=‟C‟;
printf(“%d,%d\n”,c1,c2);
}
8. 当 a=3,b=4,c=5 时,写出下列各式的值。
19、 若有定义:int a=8,b=5,c;执行语句 c=a/b+0.4;后,c 的值为( )。
A、1.4
B、1 C、2.0 D、2
20、设变量 a 是整型,f 是实型,i 是双精度,则表达式 10+‘a’+i*f 值的数据类型为( )
A、int
B、float
C、double
D、不确定
21、 若有定义:int a=7;float x=2.5,y=4.7;;则表达式 x+a%3*(int)(x+y)%2/4 的值是( )。
B) 0-32767 C)0-65535 D)0-2147483647
13. 若有以下定义,则执行表达式 y+=y-=m*=y 后的 y 值是()
14 若 a 是 int 型变量,则表达式 (a=4 *5 ,a* 2),a+6; 的值为(
)
15、以下选项中不合法的实型常量是( )
A、 2.607E-1 B、0.8103*12 C、-77.77 D、456e-2
{int x=10,y=3;
printf(“%d\n”,y=x/y);
}
24、若变量已正确定义,以下程序段的输出结果是( )
A、输出格式说明与输出项不匹配,输出无定值

C语言练习-运算符和表达式

C语言练习-运算符和表达式

数据类型,运算符与表达式1. 单项选择题(1)以下字符串为标识符的是。

A. _MYB. 2_2222C. shortD. LINE 5【答】A(2)下列符号可以作为变量名的是。

A. +aB. *pC. _DAYD. next day【答】C(3)设c是字符变量,则以下表达式正确的是。

A. c=666B. c='c'C. c="c"D. c="abcd"【答】B(4)23+'m'+3.6-123.45/'b'的结果是型数据。

A. charB. doubleC. intD. long int【答】3.6和123.45均为double型,运算结果也是double型。

本题答案为B。

(5)若变量已正确赋值,以下符合C语言语法的表达式是。

A. a=a+7;B. a=7+b+c,a++C. int(12.3%4)D. a=a+7=c+b【答】选项A错误,以分号结尾是一个语句而不是表达式;选项B正确,是一个逗号表达式;选项C错误,因为%求模运算的两个运算数必须均为整数;选项D错误,给一个表达式(a+7)而非变量赋值是不正确的。

本题答案为B。

(6)整型变量x=1,y=3,经下列计算后,x的值不等于6的表达式是。

A. x=(x=1+2,x*2)B. x=y>2?6:5C. x=9-(--y)-(--y)D. x=y*(int)(4.8/2)【答】选项A的计算过程——x=1+2=3,再计算x=x*2=6;选项B的计算过程——y>2为真,x=6;选项C的计算过程——式中有两个--运算,最后y=1,x=9-1-1=7;选项D的计算过程——x=y*(int)(4.8/2)=y*2=6。

本题答案为C。

(7)若定义int m=7,n=12;则能得到值为3的表达式是。

A. n%=(m%=5)B. n%=(m-m%5)C. n%=m-m%5D. (n%=m)-(m%=5)【答】A、B、C、D选项各表达式的值分别是0、2、2、3。

标准C语言_运算符表达式_练习

标准C语言_运算符表达式_练习

一、选择题1. 若x、i、j和k都是int型变量,则执行下面表达式后x的值为( )x= (i=4,j=16,k=32)A) 4 B) 16 C) 32 D)522. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )A) 7 B) 8 C) 6 D)23. 下面相个选项中,均是合法整型常量的选项是()A) 160 -0xffff 011B) -0xcdf 01a 0xeC) -01 986.012 0668D) -0x48a 2e5 0x4. 下面四个选项中,均是不合法的转义字符的选项是( )A) …\”‟…\\‟…\xf‟B) …\1011‟…\‟…\a‟C) …\011‟…\f‟…\}‟D) …\abc‟…\101‟…xlf‟5. 若有代数式,则不正确的C语言表达式是( )A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*36.若已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()k=x%(-3); x不是整型w+=-2; 3k=(a=2,b=3,a+b); 5a+=a-=(b=4)*(a=3);7. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’;后,c2中的值为( )A) D B) 68 C) 不确定值D)G8. 若有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y); 的值是( )A) 2.5 B) 2.75 C) 3.5 D) 9.59. sizeof(float)是一个( )A) 一个双精度表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式10. 设变量a是整型,f是实型,i是双精度,则表达式10+’a’+i *f 值的数据类型为( )A) int B) float C)double D)不确定11. 表达式18/4*sqrt(4.0)/8 值的数据类型为( )A) int B) float C)double D)不确定12. 设C语言中,一个int型数据在内存中占2字节,则unsigned int型数据的取值范围为( )A) 0-255 B) 0-32767 C)0-65535 D)0-214748364713. 若有以下定义,则执行表达式y+=y-=m*=y后的y值是()14 若a是int型变量,则表达式(a=4 *5 ,a* 2),a+6; 的值为( )15、以下选项中不合法的实型常量是( )A、 2.607E-1B、0.8103*12C、-77.77D、456e-216、下面正确的字符常量是()A、”c”B、‘\\’’C、‘w’D、‘’17、c语言中运算对象必须是整型的运算符是( )A、%B、 /C、 !D、 **18、若变量已正确定义并赋值,符合C语言语法的表达式是( )A、 a=a+7;B、a=7+b+c,a++C、 int(12.3%4)D、 a=a+7=c+b19、若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()。

国家二级C语言运算符与表达式基本语句机试模拟试卷1真题(含答案与解析)交互

国家二级C语言运算符与表达式基本语句机试模拟试卷1真题(含答案与解析)交互

国家二级C语言(运算符与表达式、基本语句)机试模拟试卷1(总分62,做题时间90分钟)1.选择题1.—9%2的值是()。

A0B3C4D5分值:2答案:B解析:先将整型数据9强制转换成CIOUble型,然后除以2,得到的结果与double型保持一致,即为4.5,然后将4.5强制转换成整型数据4,然后计算9%2的值为1,最后计算4一1的值为3,所以选择B选项。

2.若有定义intX,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(χ-y)等价的是()。

ISSSSING1.ESElA(x一y<0IlX-y>0)B(X—y<0)C(x—y>0)D(x—y=0)分值:2答案:A解析:条件表达式“x=表达式1?表达式2:表达式3”的含义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x;若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给X。

本题中与表达式1:(X—y)等价的是(X—yθ)O3.若变量己正确定义,在if(w)prinff("%d\n",k);中,以下不可替代W的是()。

_______________________I SSSSING1.ESElAa<>b÷cBch=getchar()Ca==b+cDa++分值:2答案:A解析:选项A是非法的表达式,C语言中没有运算符。

4.若有定义语句:intx=10;,则表达式X-=X+X的值为()OISSSSING1.ESElAOB-20C一10D10分值:2答案:C解析:算术运算符+的优先级高于一二,且一二的结合方向为自右向左,所以表达式X一二x+x可以表示成x-x一(x+x)=10—(10+10)=一10,选择C选项。

5.设有定义:intx=2;,以下表达式中,值不为6的是()ISSS_SING1.E_SE1A2*x,x+=2Bx++,2*xCX*=(l+x)Dx*=x+l分值:2答案:A解析:A选项中逗号表达式先计算第一表达式2*x,然后计算表达式x+=2的值,即x=x+2即4,整个逗号表达式为第二个表达式的值4,所以选择A选项。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言运算符与表达式的练习题
(作业写到纸质作业本上,在规定时间内交给助教批阅,不要
再网上提交)
一、单项选择题
(1) 以下选项中,正确的C 语言整型常量是。

A. 32L
B. 510000
C. -1.00
D. 567
(2) 以下选项中,是不正确的C 语言字符型常量。

A. 'a'
B. '\x41'
C. '\101'
D. "a"
(3) 在C 语言中,字符型数据在计算机内存中,以字符
的形式存储。

A. 原码
B. 反码
C. ASCII 码
D. BCD码
(4) 字符串的结束标志是。

A. 0
B. '0'
C. '\0'
D. "0"
(5) 算术运算符、赋值运算符和关系运算符的运算优先级按
从高到低依次为。

A. 算术运算、赋值运算、关系运算
B. 算术运算、关系运
算、赋值运算
C. 关系运算、赋值运算、算术运算
D. 关系运算、算术运算、赋值运算
(6) 逻辑运算符中,运算优先级按从高到低依次为。

A. &&,!,||
B. ||,&&,!
C. &&,||,!
D. !,&&,||
(7) 表达式!x||a==b 等效于。

A. !((x||a)==b)
B. !(x||y)==b
C. !(x||(a==b))
D.
(!x)||(a==b)
(8) 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是。

A. 0,0
B. 0,1
C. 1,0
D. 1,1
(9) int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为。

A. 2,3
B. 2,0
C. 3,0
D. 3,2
(10) 设有语句int a=3;,则执行了语句a+=a-=a*=a; 后,变量 a 的值是。

A. 3
B. 0
C. 9
D. -12
(11) 在以下一组运算符中,优先级最低的运算符是。

A. *
B. !=
C. +
D. =
(12) 设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是。

A. 6
B. 12
C. 15
D. 表达式出错
(13) 若已定义x 和y为double 类型,则表达式x=1,
y=x+3/2 的值是。

A. 1
B. 2
C. 2.0
D. 2.5
(14) sizeof (double)的结果值是。

A. 8
B. 4
C. 2
D. 出错
(15) 设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d
的结果为。

A. 4
B. 3
C. 2
D. 1
(16) 设a 为整型变量,不能正确表达数学关系:10<a<15的
C 语言表达式是。

A. 10<a<15
B. a= =11|| a= =12 || a= =13 || a= =14
C. a>10 && a<15
D. !(a<=10) && !(a>=15)
(17) 设f是实型变量,下列表达式中不是逗号表达式的是。

A. f= 3.2, 1.0
B. f>0, f<10
C. f=2.0, f>0
D. f=(3.2, 1.0)
(18) 设ch是char型变量,其值为'A',则下面表达式的值是。

ch=(ch>='A'&& ch<='Z')? (ch+32):ch
A. A
B. a
C. Z
D. Z
(19) 以下运算符中,结合性与其他运算符不同的是。

A. ++
B. %
C. /
D. +
(20) 以下用户标识符中,合法的是。

A. int
B. nit
C. 123
D. a+b
(21) C 语言中,要求运算对象只能为整数的运算符是。

A. %
B. /
C. >
D. *
(22) PC 机中,'\n'在内存占用的字节数是。

A. 1
B. 2
C. 3
D. 4
(23) 字符串"ABC"在内存占用的字节数是。

A. 3
B. 4
C. 6
D. 8
(24) 要为字符型变量a赋初值,下列语句中哪一个是正确
的。

A. char a="3";
B. char a=’3’;
C. char a=%;
D. char a=*;
(25)下列不正确的转义字符是。

A. \\
B. \'
C. 074
D. \0
二、填空题
(1) C 语言中的逻辑值“真”是用表示的,逻辑值“假”是
用表示的。

(2) 符号常量的定义方法是。

(3) 无符号基本整型的数据类型符为,双精度实型数据
类型符为,字符型数据类型符为。

(4) 设c='w',a=1,b=2,d=-5, 则表达式'x'+1>c, 'y'!=c+2,
-a-5*b<=d+1, b==a=2的值分别为、、、。

(5) 设float x=2.5,y=4.7; int a=7;,表达式
x+a%3*(int)(x+y)%2/4的值为。

(6) 判断变量a、b 的值均不为0 的逻辑表达式为。

(7) 求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c 的
值依次为。

(8) 求解逗号表达式x=a=3,6*a 后,表达式值、x、a 的值依
次为。

数学式a/(b*c)的C 语言表达式。

相关文档
最新文档