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语言运算符与表达式的练习题答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(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语言表达式题库(总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练习_数据类型运算符及表达式_选择题-答案-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 语言试题数据类型运算符与表达式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章运算符与表达式一、选择题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语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题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章 数据类型运算符和表达式√

第二章数据类型运算符和表达式一、单项选择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__类型数据存储的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 语言表达式。