版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言考前冲刺c语言考前冲刺/NUMPAGES29c语言考前冲刺c语言考前冲刺二、语法基础C语言的下列运算符中,优先级最高的运算符是(A)。++ B.+= C.|| D.!=课本P42优先级别从低到高为:+=、||、!=、++(D)为正确的用户标识符。Struct B.5f C._f0.6 D._for合法用户标识符是有字母、数字、下划线构成,且不能以数字开头。另外C语言关键字(课本P301)不能作为用户标识符。AStruct为关键字B5f数字开头C_f0.6含有非法字符.所以答案选DC语言基本数据类型包括(B)。整型、实型、逻辑型 B.整型、实型、字符型C.整型、字符型、逻辑型 D.整型、实型、字符串型课本P21实型即浮点型(A)为合法的常量。52686L B.E-7 C.1.2E-2.1 D.课本P223.2常量A正确,52686L为长整型常量以指数形式aEn表示实数时,a和n都不能省略,且n必须是整数。所以B和C都错D一个字符加单引号是字符常量,1个字或多个字符加双引号是字符串常量,所以D错(C)为正确的变量名。-k15 B.Int C.k_5 D.k.jeep见15题解释(D)为正确的字符常量。''\\'' B."\24m" C."c" D.'M'见17题解释A,C表示错误,应该加单引号表示字符常量。B是字符串常量。(C)为非法的字符串常量。"" B."s" C.'efg' D."26'62"1个字或多个字符加双引号是字符串常量,空格字符也是一个字符C语言整型数据在内存中的代码是用(C)表示的。原码 B.反码 C.补码 D.BCD码以下选项中,合法的实型常数是(B)。E-3 B..2E1 C.1E.5 D.以指数形式aEn表示实数时,a和n都不能省略,且n必须是整数下列C语言合法的数据类型关键字是(B)。Double B.Unsigned C.Integer D.Char这题答案错误,C语言大小写是有区别的,A,B,C,D都错,double、unsigned、char才是合法的数据类型关键字TurboC中,int型数据占用的字节数(B)。由用户自己定义为2个字节是任意的等于所用计算机的字长见课本P28表3-2TurboC中,基本数据类型存储空间长度的排列顺序是(A)。char<int<longint<float<doublechar=int<longint<float<doublechar<int<longint=float=doublechar=int=longint<float<double见课本P28表3-2不同的编译系统规定基本数据类型存储空间长度是不同的,TurboC规定:char=1个字节int=2个字节long=4个字节float=4个字节double=8个字节char<int<longint<float<double应该改为char<int<longint=float<double才正确以下叙述中正确的是(A)。字符常量用一对单撇号''作为单个字符的定界符字符常量和字符串常量一样,都是用双引号括起来字符常量存储时,自动在字符后加一个字符结束符号'\0'字符常量和字符串常量所分配的内存空间大小是一样的B错,一个字符加单引号是字符常量,1个字或多个字符加双引号是字符串常量。C错,应该是字符串常量存储时,自动在字符后加一个字符结束符号'\0'D错,字符常量和字符串常量所分配的内存空间大小不是一样的已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是(A)。main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}67,D B.C,D C.C,68 D.67,68ch1='A'+'5'-'3'='A'+2所以ch1以%d格式输出是67,以%c输出是Cch2='A'+'6'-'3'='A'+3所以ch2以%d格式输出是68,以%c输出是D所以答案选A若有定义intm=6;则正确的赋值表达式是(C)。m*7 B.m*5=8 C.m-=m*6A、D不是赋值表达式,且D语法错误,应该改为(double)(-m)赋值运算符左边不能是常量或表达式,B=左边是表达式,所以B错误语句k=(m=5,n=++m);运行之后,变量k、m、n的值依次为(D)。5,5,6 B.5,6,5 C.6,6,5 D.n=++m即m先自增1,再赋值给n,所以m=6,n=6逗号表达式的值等于其中最后一个表达式的值,所以k=(m=5,n=++m)=(5,6)=6语句x=5%4+(4/5);运行之后,整型变量x的值为(A)。1 B.2 C.3 D.x=5%4+(4/5)=1+0=1(B)语句符合C语言语法。floatz=28,intx,y=18;intx=25,y=25,z=25;intx=25:y=25:z=25;intx+y=z;若有定义inta,x;则语句a=(x=8,x+8);运行后,变量a、x的值依次为(A)。16,8 B.8,8 C.16,16 D.x=8a=(x=8,x+8)=(8,16)=16若变量m,n,t已定义且赋予初值,则正确的表达式是(B)。m=m+1=t-n B.m=6+n+t,m++ C.m=m\2 D.赋值运算符左边不能是表达式,所以A错\不是运算符,/才是除法运算符,所以C错D有2处错误:1.模运算%,左右操作数只能是整型数据,2..强制类型转换的一般形式:(类型名)表达式;详细见课本P47若有定义:inta,b;floatx,则以下不符合C语言语法的表达式是(A)。x%7 B.x/=a-b C.a=b=2 D.x=(float)a/b模运算%,左右操作数只能是整型数据,所以A错若有定义:intm=4,n=5;floatk;,则以下符合C语言语法的表达式是(B)。(m+n)*=k B.m=(n==5) C.k=float(n)/m D.n%2.5赋值运算符左边不能是表达式,所以A错强制类型转换的一般形式:(类型名)表达式;详细见课本P47,所以C错模运算%,左右操作数只能是整型数据,所以D错若有定义:inta=6;则语句a*=a-=a/=3;运行后,a的值是(B)。10 B.0 C.34 D.a/=3→a=a/3=6/3=2a-=2→a=a-2=2-2=0a*=0;→a=a*0=0*0=0下面关于C语言变量的叙述中,错误的是(A)。可以用define关键字定义变量变量名用大小写字母是有区别的C语言允许不同基本类型的变量之间进行混合运算C语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间可以用define关键字定义常量,不可以用define关键字定义变量若有定义:inta=5,b=2;则表达式b=(a!=5)的值为(B)。5 B.0 C.3 D.b=(a!=5)=0逗号表达式(a=15,a*4),a+15的值为(B)。15 B.30 C.75 D.(a=15,a*4),a+15→(15,60),30逗号表达式(15,60),30的值为30下列语句中,符合C语言语法的赋值语句是(C)。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;赋值运算符左边不能是表达式或常量,所以A,C,D都错(A)是正确的叙述。(int)5.0/6与5/6等价 B.'G'与"G"等价C.5/6与5.0/6.0等价 D.++3与4等价B'G'是字符常量,占1个字节;"G"是字符串常量,占2个字节,所以B错C5/6=05.0/6.0≈0.83所以C错D++3语法错误,常量不能进行++运算下面叙述中,错误的是(D)。C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行自增与自减运算符的结合方向为“自右至左”关系运算符的优先级低于算术运算符C语言算术运算符不包含模运算符“%”C语言算术运算符有5个:+-*/%(C)是正确的叙述。表达式"m"+"M"是合法的若变量x,y为整型,则(a+b)++是合法的强制类型转换运算的优先级高于算术运算表达式'm'*'n'是不合法的字符串常量不能进行算术运算,所以A错++运算操作对象不能是表达式或常量,所以B错字符常量可以进行算术运算,’m’*’n’合法,所以D错若有定义inti=1,j=9;则表达式(++j)*(i--)的值为(B)。0 B.10 C.9 D.++jj先自增1,再参与其他运算i--i先参与其他运算,再自减1所以(++j)*(i--)=10*1=10设整型变量x为7,使整型变量y不为2的表达式是(A)。y=x%3 B.y=x/3C.y=(++x)/3 D.y=8-(--x)y=x%3=7%3=1若已定义inta=3,b=2,c=1;则语句++a||++b&&++c;运行后b的值为(D)。0 B.3 C.1 D.这题主要考逻辑运算中的“不完全计算”规则,详细见课本P51&&优先级别高于||所以++a||++b&&++c等价于++a||(++b&&++c)a=3→4||(++b&&++c)不管(++b&&++c)是真是假,我们都可以断定4||(++b&&++c)为真。根据“不完全计算”规则,不再执行++b&&++c。所以运行后b值不变若有定义:inti=5,j=4;则语句i/=++j;运行后i的值为(B)。10 B.1 C.1.25 D.++jj先自增1,变为5,再参与其他运算,所以i/=5即i=i/5=5/5=1若已定义:inta=2,b=2;则表达式(a+(b++),b)的值是(B)。2 B.3 C.4 D.b++先参与其他运算,再自增1所以(a+(b++),b)=(2+2,3)=3若有定义:intr,x=245;则语句r=x/100%9;运行后r的值为(A)。2 B.5 C.0 D.除法/和取模%优先级别相同,结合方向从左到右(详细见课本P42)所以r=x/100%9=(x/100)%9=(245/100)%9=2%9=2若已定义:inti=6,t;则语句t=3+(--i);运行后t的值为(C)。9 B.7 C.8 D.--i先自减1,再参与其他运算所以t=3+(--i)=3+5=8C语言的%运算符按运算对象的个数属(C)。单目运算符 B.四目运算符C.双目运算符D.三目运算符若已定义:inta=5,b=9,c=6;则语句b++;++c;a=b-c;运行后a的值为(B)。5 B.3 C.2 D.执行b++;后b值变为10,执行++c;后c值变为7所以a=b-c=10-7=3以下程序运行时,若从键盘输入5,则输出结果是(D)。main(){inta;scanf("%d",&a);if(a++>5)printf("%d\n",a);elseprintf("%d\n",a--);}7 B.4 C.5 D.a++>5a所以5>5为假,执行elseprintf("%d\n",a--);先输出a,即6,然后a再自减1,a值变为5。若已定义floatx;要从键盘输入数据36.582给变量x,则应选用(B)语句。scanf("%2.3f",&x); B.scanf("%6f",&x);C.scanf("%6.3f",&x); D.scanf("%5.3f",&x);scanf函数不能指定输入小数位数见课本P307-308Scanf函数格式字符串的一半形式为:%[*][输入数据宽度][长度]类型例如longb;scanf(“%3ld”,&b);/*宽度为3,长度为l,类型为d*/printf(“%ld”,b);输入:1234567输出:123若已定义doubley;拟从键盘输入一个值赋给变量y,则正确的函数调用是(C)。scanf("%d",&y); B.scanf("%7.2f",&y);C.scanf("%lf",&y); D.scanf("%ld",&y);scanf函数不能指定输入小数位数double%lffloat%dunsigned%u无符号十进制整数格式输出long%ldint%d八进制%o十六进制%xchar(字符变量)%c字符串%s已有定义chars;使用scanf()函数输入一个字符给变量s,不正确的函数调用是(D)。scanf("%c",&s); B.scanf("%d",&s);C.scanf("%u",&s); D.scanf("%lf",&s);字符在内存中以ascii码的形式存储的,所以字符可以以%d,%u,%c的格式输入输出函数putchar()的功能是向终端输出(A)。一个字符 B.多个字符C.一个关系表达式 D.一个实型变量值详细见课本P34若已定义inta=11;执行以下语句后的输出结果是(B)。printf("a=%d,a=%o,a=%x\n",a,a,a);a=11,a=11,a=b B.a=11,a=13,a=bC.a=11,a=13,a=c D.a=11,a=12,a=13见55题解释若有定义intm=4321,n=123,k=21;语句printf("%4d+%3d+%2d",m,n,k);执行后的输出结果是(C)。 B.432112321C.4321+123+21 D.432+123+021Printf中的格式控制字符串中字符分三种:格式字符、转义字符、普通字符其中普通字符+原样输出。已有如下定义和输入语句,charc1,c2;intx;scanf("%c%d%c",&c1,&x,&c2);若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是(A)。K9H B.K9H C.K9H D.9KH字符在内存中以ascii码的形式存储的,所以字符可以以%d,%u,%c的格式输入输出字符ascii码值见课本300以下程序段的运行结果是(A)。inta=1;printf("%d,%d,%d\n",a,++a,a++);3,3,1 B.1,2,2 C.1,2,3 D.Printf函数中变量列表中如果有多个变量,计算顺序是从右到左,输出顺序是从左到右以下程序的运行结果是(D)。voidmain(){inta=65;charc='A';printf("%d+%c=%d\n",a,c,a+c);}A+A=AA B.65+A=65A C.65+65=130 D.65+A=130字符以ascii码值参与算术运算。字符ascii码值见课本300若已定义:intx=7;floaty=7.0;以下语句中能输出正确值的是(B)。printf("%d%d",x,y); B.printf("%d%.3f",x,y);C.printf("%.3f%.3f",x,y); D.printf("%.3f%d",x,y);见55题解释putchar函数可以向终端输出一个(A)。字符或字符型变量值 B.整型变量表达式值C.实型变量值 D.字符串详细见课本P34若已定义:inta=6;floatb=1.5;要求输出形式为:6*1.50=9.00,应选用的正确输出语句是(B)。printf("%d*%f=%f",a,b,a*b); B.printf("%d*%.2f=%.2f",a,b,a*b);C.printf("%d*%d=%.2f",a,b,a*b); D.printf("%.2f*%.2f=%.2f",a,b,a*b);int%dfloat%f%.02f以两位小数格式输出float变量值*是普通字符原样输出有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}printf("\n");}当输入:247<回车>,程序的输出结果是(B)。689 B.6689 C.66778 D.c=getchar()作用是从键盘输入流中获取一个字符,然后赋值给c.switch语句见课本P76.第一次循环:c=’2’→c-‘2所以从case0:入口开始往下执行,一直语句break;才结束switch语句。即执行以下语句:case0:case1:putchar(c+4);case2:putchar(c+4);break;输出:66第二次循环:c=’4’→c-‘2所以从case2:入口开始往下执行,一直语句break;才结束switch语句。即执行以下语句:case2:putchar(c+4);break;输出:8第二次循环:c=’7’→c-‘2因为没有case值与5匹配,所以执行default分支。即执行以下语句:default:putchar(c+2);break;输出:9c=’\0’若已定义intx=5,y=9,z;语句z=x>=y;运行后z的值为(C)。1 B..t. C.0 D..f.见课本P42,关系运算符优先级别高于赋值运算符,所以>=优先级别高于=z=x>=y;等价于z=(x>=y);所以z=(x>=y)=(5>=9)=0判定逻辑值为“真”的最准确叙述是(C)。1 B.大于0的数 C.非0的整数 D.非0的数这个标准答案有错,正确应该选D若已定义intx=-16,y=-12,z;语句z=x<=y;运行后z的值为(B)。.t. B.1 C..f. D.见67题解释:z=(x<=y)=(-16<=-12)=1能正确表示数学关系式100≤s<300的表达式为(C)。(s>=100)&(s<300) B.100<=s<300C.(s>=100)&&(s<300) D.(s>=100)and(s<300)见课本P51若定义inta=2,b=3;则表达式!a||b的值为(B)。0 B.1 C.2 D.!优先级别高于||所以!a||b等价于(!a)||b,即0||3,所以值为1若定义inta=-5,b=-8,c=-12;则表达式a>=b||b<c的值为(D)。变量i的值 B.变量j的值 C.0 D.1关系运算符优先级别高于逻辑运算符,所以a>=b||b<c等价于(a>=b)||(b<c)即(-5>=-8)||(-8<-12)的值为1下列表达式(C)不能用来判断整型变量x中的值是否为奇数。x%2==1 B.!(x%2==0) C.!(x%2) D.x%2当!(x%2)为真时→x%2为假,即x%2==0→x为偶数。所以选C若有定义:inta=3,b=2,c=3;则值为0的表达式是(C)。(a-b)==(c/b) B.a>=cC.c-b||a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b)见课本50面若已定义:intx=4,y=2,z=0;则表达式(x-y<=y)||(y=z)的值是(A)。1 B.0 C.2 D.(x-y<=y)||(y=z)等价于((x-y)<=y)||(y=z)即(2<=2)||(y=z),它的值为1若有定义:inta=3,b=2,c=1,k;则表达式k=a>b>c的值是(A)。0 B.1 C.2 D.>优先级别高于=,所以k=(a>b>c)>的结合方向是从左到右,所以k=((a>b)>c)=((3>2)>1)=(1>1)=0以下运算符中优先级最高的是(D)。<= B.&& C.|| D.!优先级从高到低:!<=&&||执行以下语句后,b的值是(A)。inta=5,b=6,c=1,x=2,y=3,z=4;(a=c>x)||(b=y>z);0 B.1 C.-1 D.(这题主要考逻辑运算中的“不完全计算”规则,详细见课本P51.)如果||的左端为假,继续计算||的右端。如果||的左端为真,不计算||的右端。a=c>x→a=1>2→a=0所以a=c>x为假b=y>z→b=3>4→b=0所以b=y>z为假以下程序运行后,a的值是(C)。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}101 B.100 C.8 D.break语句作用是结束本层循环。continue语句作用是不再执行本次循环中剩下的语句,直接进入下一次循环。详细见课本P103因为b=1,无论执行b+=3几次b%3==1恒成立。所以当b>=20或a>100时才结束for循环。第1次循环:在执行if(b>=20)break;之前a的值为1,b的值为1第2次循环:在执行if(b>=20)break;之前a的值为2,b的值为4第3次循环:在执行if(b>=20)break;之前a的值为3,b的值为7第4次循环:在执行if(b>=20)break;之前a的值为4,b的值为10第5次循环:在执行if(b>=20)break;之前a的值为5,b的值为13第6次循环:在执行if(b>=20)break;之前a的值为6,b的值为16第7次循环:在执行if(b>=20)break;之前a的值为7,b的值为19第8次循环:在执行if(b>=20)break;之前a的值为8,b的值为22当b=22执行if(b>=20)break;结束for循环,这时候a的值为8已定义doublek=3.6;则正确的赋值表达式是(D)。k=double(-3.6) B.k%3C.k=k*(-1.0)=-3.6 D.k+=k-=(k=1.2)*(k=3)A强制类型转换格式写错。应该是k=(double)(-3.6)B不是赋值表达式C赋值运算符左边不能是表达式,所以C错已定义charc='A';则正确的赋值表达式是(B)。c=\028 B.c=(c++)%4 C.c+1=66 D.c+=127A\028不是合法八进制数,八进制的数码只能是:0,1,2,。。,6.,7,所以A错C赋值运算符左边不能是表达式,所以C错D自减法运算符—的操作对象只能是变量,不能是常量和表达式,所以D错已定义intm='A';则正确的表达式是(C)。2*m=m++ B.m=int(-3.2) C.m%3 D.m=m-m=m-5赋值运算符左边不能是表达式,所以A,D错B强制类型转换格式写错。应该是m=(int)(-3.2)设已定义floata=2.0,b=3.0;使a值为5.0的表达式是(A)。a+=b B.a*=b+2.0 C.a/=b+2.0 D.Aa+=b等价于a=a+b所以a=a+b=2+3=5因为加法运算符+优先级高于复合赋值运算符*=,/=.-=所以B.a*=b+2.0等价于a*=(b+2.0)所以a=a*(b+2)=2*(3+2)=10C.a/=b+2.0等价于a/=(b+2.0)所以a=a/(b+2)=2/(3+2)=0.4D.a-=b+2.0等价于a-=(b+2.0)所以a=a-(b+2)=2-(3+2)=3若已定义intm=7;floatk=5.5;则表达式k+m%2/4的值为(D)。6.375 B.6.75 C.5.75 D./和%优先级相同,结合方向从左到右,且高于+,所以k+m%2/4等价于k+((m%2)/4)=5.5+((7%2)/4)=5.5+1/4=5.5+0=5.5若已定义inta=3,b=3,x=1,y=2;表达式(a=y>x)&&(x=b>a)的值是(B)。6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学科学发芽课程设计
- 刑事勘察课程设计
- 青岛农业大学海都学院《商业设计》2021-2022学年第一学期期末试卷
- 青春有格教学课件
- 青岛黄海学院《室内空间设计》2021-2022学年第一学期期末试卷
- 学校物业管理课程设计
- 制冷机组的组成课程设计
- 2024淮安房屋买卖合同
- 防护车间课程设计
- 阀门铣床课程设计
- 理论力学-课件
- 初中音乐《玫瑰三愿》教案
- 高电压技术ppt
- 地质灾害危险性评估收费标准 版
- 保罗大叔分比萨绘本PPT课件
- 圆盘式脚手架产品使用说明书
- 美国超声医学会AIUM透析通路术后血管超声评估实践指南中文(2014年版)江西超声网
- 考古学课件 单元8(秦汉考古:秦汉墓葬2)
- 光伏发电项目达标投产实施细则
- 吸收塔防腐施工方案(电厂脱硫装置防腐施工工艺)
- 标准法兰盘尺寸表PgMPa
评论
0/150
提交评论