2010年6月二级C选择题0119、(C)不属于结构化程序设计的三种基本控制结构。A.选择结构B.循环结构C.嵌套结构D.顺序结构0120、函数是C源程序的基本单位,一个函数由函数的首体和(A)两部分组成。A.函数体B.语句体C.结构体D.联合体0121、能将C源程序转换为目标程序的软件是(B)。A.汇编程序B.编译程序C.编辑程序D.解释程序0122、下列叙述正确的是(A)。A.注释部分可在C源程序单独占一行,也可跟在一行语句后面B.花括号{}只能用作函数体的定界符C.函数是C源程序的基本单位,所有函数名都可以由用户命名D.分号是C语句之间的分隔符,并不表示一条语句的结束0123、C源程序的基本单位是(D)。A.子程序B.复合语句C.过程D.函数0219、整型常量没有(A)形式。A.二进制B.八进制C.十进制D.十六进制0220、合法的长整型常量是(C)。(A在其他编译器可能是普通整型,B是浮点型,D中Long应用小写)A.6246245B.1E10C.0LD.(Long)62462450221、合法的字符常量是(C)。A.'\'B.'xx'C.'\\'D.x0222、正确的常量是(D)。A.'a3'B.1E6.1C.E-3D.\00223、合法的用户标识符是(C)。A.f0.6B.5dC._structD.for0319、若已定义:inti,j,k;doublex;则下列表达式中语法正确的是(D)。A.i=k+2jB.x%5C.j+2=kD.j+=(k=4)*j0320、若已定义:longinti;charc;doublex;则表达式i*c+x结果的类型是(C)。A.longintB.intC.doubleD.char0321、若已定义:intx,y,z;则(C)是不正确。A.x=2.5;B.x=10,y=6;C.z=y+x=30;D.x=y+=10*x;0322、逗号表达式a=3*5,a*3,a+5的值是(C)。A.45B.15C.20D.490323、不能完成数学式(3ad)÷(bc)的表达式是(C)。A.3*a*d/b/cB.a/b/c*d*3C.3*a*d/b*cD.a*d/c/b*30419、(D)运算符不能用于非整型数据运算。A.++B./C.*D.%0420、若已定义:inti=5,j;则语句j=(++i)+(i--);运行后的j值为(D)。A.9B.10C.11D.120421、若已定义:intx=3,y=4;则表达式--x+(y++)%y的值是(A)。A.2B.3C.4D.50422、若已定义:intn=10,i=4;则赋值运算n%=i+1执行后,n的值是(D)。A.3B.2C.1D.00423、若已定义:doublex=3.5;inty=14;则表达式x+y%3/2的值是(B)。A.4.0B.4.5C.3.5D.5.50519、若已定义:floatf;chars[20];下列正确的输入语句是(D)。A.scanf(%s%f,s,f);B.scanf(%s%f,&s,f);C.scanf(%c%f,s,&f);D.scanf(%s%f,s,&f);0520、若已定义:doublex;下列可以用于求x的绝对值的数学函数是(C)。A.abs(x)B.labs(x)C.fabs(x)D.sqrt(x)0521、(B)可求得0到0.99的随机数。A.srand()%100/100.0B.rand()%100/100.0C.srand()*100%100D.rand()%100/1000522、要使下列程序段输出的内容为123-123-45,正确的输入数据格式是(C)。inti,j,k;scanf(%d%d%d,&i,&j,&k);printf(%d-%d-%d\n,i,j,k);A.12312345B.123,12345C.12312345D.123,123,450523、要使用以下程序段给三个字符型变量c1,c2,c2分别赋值'a','b','c',正确的输入数据格式是(A)。charc1,c2,c3;scanf(%c%c%c,&c1,&c2,&c3);A.abcB.a,b,cC.'a','b','c'D.'a''b''c'0619、若已定义:intx;下列与求x的绝对值等价的表达式是(B)。A.x0?-x:xB.x0?x:-xC.x0?x:-xD.x0?-x:-x0620、能正确表示a和b同时为正或同时为负的逻辑表达式是(D)。A.(a0||b0)&&(a0||b0)B.(a0&&b0)&&(a0&&b0)C.(a+b0)&&(a+b=0)D.a*b00621、能正确表示30x10的逻辑表达式是(B)。A.10x30B.x10&&x30C.x10||x30D.30x100622、若已定义:inta=2,b=3,c=4;则下列表达式中值为0的是(C)。A.a=aB.(b-a)==(c/b)C.a%b&&b/cD.(b-a)&&(b-c)0623、若已定义:inta=3,b=4,c=5;则下列表达式中值为0的是(D)。A.'a'&&'b'B.a=bC.a||b+c&&b-cD.!((ab)&&!c||1)0719、下列运算符中,优先级最高的是(B)。A.+B.++C.&&D.!=0720、若已定义intk=5;floatd=3.5;则表达式d+k%3/2的值为(B)。A.3.5B.4.5C.5.5D.40721、若已定义:intb=7;floata=2.5,c=4.0;则表达式a+(b/2*(int)(a+c))%4的值是(C)。A.2.5B.3.5C.4.5D.5.50723、若已定义:doublea,b,c;下列表达式中与(a-b)*c/2计算结果不相符的是(C)。A.(a-b)*c/2B.(a-b)*c*1/2C.(1/2)*(a-b)*cD.c/2*(a-b)0819、以下程序段的运行结果是(C)。inta=-6,b;if(a0)b=9;elseif(a==0)b=0;elseif(a-5)b=-8;elseb=-1;printf(%d\n,b);A.-1B.0C.-8D.90820、若已定义:inta=-1,b=-3,c=0,d=2;则表达式ab?c:(ad?b:d)的值是(D)。A.0B.-3C.-1D.20821、若已定义:intm=3,n=2,k;则下面正确的switch语句是(C)。A.switch(m+n)case3:k=m+n;break;case2:k=m-n;break;default:k=m*n;B.switch(m){casem0:k=m+n;break;casem==0:k=m-n;break;default:k=m*n;}C.switch(m+n){case3:k=m+n;break;case2:k=m-n;break;default:k=m*n;}D.switch(m+n){caseis3:k=m+n;break;caseis5:k=m-n;break;default:k=m*n;}0822、以下程序的运行结果是(A)。voidmain(){intk=5;switch(k){default:printf(%d,k);case1:printf(%d,k);break;case2:printf(%d,2*k);case3:printf(%d,3*k);break;}}A.55B.5C.10D.150823、以下程序段所表示的函数关系是(A)。if(x=2){if(x2)y=-1;elsey=0;}elsey=1;A.y=1(x2)y=0(x=2)y=-1(x2)B.y=1(x=2)y=0(x2)y=-1(x2)C.y=0(x2)y=1(x=2)y=-1(x2)D.y=1(x2)y=0(x=2)y=-1(x2)0919、以下程序段运行后x的值为(D)。inti,x=1;for(i=3;i0;i--)x=(x+1)*3;A.9B.27C.54D.660920、设有程序段inth=8;while(h=0)h=h-2;叙述正确的是(C)。A.循环体语句执行4次B.循环体语句执行3次C.循环体语句一次也不执行D.循环体语句执行1次0921、以下程序段运行后m的值为(D)。inti,m=1;for(i=1;i=4;i++){m+=1;if(m%2==0)continue;m+=2;}A.12B.6C.5D.90922、以下程序段运行后m的值为(B)。inti,m=3;for(i=1;i=3;i++){m+=1;if(m%2!=0)break;m+=2;}A.6B.7C.8D.90923、叙述正确的是(D)。A.while循环中,不能用break语句跳出循环体B.while循环体至少无条件执行一次,而do…while循环体可能都不执行C.for循环中,不能用break语句跳出循环体D.for循环中循环体可包含多条语句,但必须用{}括起来1019、给数组a所有元素赋初值0的语句是(A)。A.inta[9]={0};B.inta[9]=9*0;C.inta[9]={};D.inta[9]=0;1020、(B)是inta[9]={3,5,6,8,9};功能的正确描述。A.将5个初值依次赋给a[1]至a[5]B.将5个初值依次赋给a[0]至a[4]C.将5个初值依次赋给a[4]至a[8]D.将5个初值依次赋给a[5]至a[9]1021、已知a为一维整型数组,正确表示数组a元素个数的表达式是(C)。A.sizeof(a)/intB.sizeof(int)/sizeof(a)C.sizeof(a)/sizeof(int)D.a/sizeof(int)1022、以下程序的运行结果是(D)。voidmain(){ints[5]={1},i;for(i=1;i5;i++)s[i]=s[i-1]+i;for(i=0;i5;i++)printf(%d,s[i]);}A.12345B.1261015C.12468D.1247111023、以下程序的执行功能是(A)。voidmain(){inta[5]={66,78,82,53,91},b[5]={70,58,81,65,90},i,n=0;for(i=0;i5;i++){if(a[i]b[i])n++;}printf(n=%d\n,n);}A.统计数组a各元素值大于数组b对应元素值的个数B.统计数组a各元素值小于数组b对应元素值的个数C.统计数组a各元素值等于数组b对应元素值的个数D.统计数组a各元素值大于60的个数1119、若已定义inta[][4]={1,2,3,4,5,6,7,8,9,10,11};则表达式sizeof(a)/(sizeof(int)*4)的值为(B)。A.数组a的元素个数B.数组a第一维长度C.数组a第二维长度D.数组a占用的字节数1120、若已定义intarr[][3]={1,2,5,6,8,9,11};则数组a第一维长度是(D)。A.5B.4C.2D.31121、若已定义inta[3][4];无法正确引用数组a元素的是(C)。A.a[0][3/2]B.a[2][1]C.a[2+1][3]D.a[1][5-2]1122、以下程序的运行结果是(B)。voidmain(){inta[3][3]={0},i,j;for(i=0;i3;i++)a[i][i]=1;for(i=0;i3;i++){for(j=0;j3;j++)printf(%d,a[i][j]);printf(\n);}}A.000000000B.100010001C.001010100D.1111111111123、正确定义二维数组arr的语句是(C)。A.floatarr[4][];B.floatarr(4,3);C.floatarr[4][3];D.floatarr[4,3];1219、使字符数组str正确存放字符串abc的语句是(B)。A.charstr[