二级C选择题.docx

上传人:b****6 文档编号:3878433 上传时间:2022-11-26 格式:DOCX 页数:9 大小:21.99KB
下载 相关 举报
二级C选择题.docx_第1页
第1页 / 共9页
二级C选择题.docx_第2页
第2页 / 共9页
二级C选择题.docx_第3页
第3页 / 共9页
二级C选择题.docx_第4页
第4页 / 共9页
二级C选择题.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

二级C选择题.docx

《二级C选择题.docx》由会员分享,可在线阅读,更多相关《二级C选择题.docx(9页珍藏版)》请在冰豆网上搜索。

二级C选择题.docx

二级C选择题

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."x"0222、正确的常量是(D)。

A.'a3'B.1E6.1C.E-3D."\0"0223、合法的用户标识符是(C)。

A.f0.6B.5dC._structD.for

0319、若已定义:

inti,j,k;doublex;则下列表达式中语法正确的是(D)。

A.i=k+2jB.x%5C.j+2=kD.j+=(k=4)*j

0320、若已定义:

longinti;charc;doublex;则表达式i*c+x结果的类型是(C)。

A.longintB.intC.doubleD.char

0321、若已定义:

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.49

0323、不能完成数学式(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.12

0421、若已定义:

intx=3,y=4;则表达式--x+(y++)%y的值是(A)。

A.2B.3C.4D.5

0422、若已定义:

intn=10,i=4;则赋值运算n%=i+1执行后,n的值是(D)。

A.3B.2C.1D.0

0423、若已定义:

doublex=3.5;inty=14;则表达式x+y%3/2的值是(B)。

A.4.0B.4.5C.3.5D.5.5

0519、若已定义:

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,45

0523、要使用以下程序段给三个字符型变量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.x>0?

-x:

xB.x>0?

x:

-xC.x<0?

x:

-xD.x<0?

-x:

-x

0620、能正确表示a和b同时为正或同时为负的逻辑表达式是(D)。

A.(a>0||b>0)&&(a<0||b<0)B.(a>0&&b>0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>0

0621、能正确表示30>x>10的逻辑表达式是(B)。

A.1010&&x<30C.x>10||x<30D.30>x>10

0622、若已定义:

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.!

((a

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.4

0721、若已定义:

intb=7;floata=2.5,c=4.0;则表达式a+(b/2*(int)(a+c))%4的值是(C)。

A.2.5B.3.5C.4.5D.5.5

0723、若已定义:

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(a>0)b=9;elseif(a==0)b=0;

elseif(a<-5)b=-8;

elseb=-1;

printf("%d\n",b);A.-1B.0C.-8D.9

0820、若已定义:

inta=-1,b=-3,c=0,d=2;则表达式a

c:

(a>d?

b:

d)的值是(D)。

A.0B.-3C.-1D.2

0821、若已定义:

intm=3,n=2,k;则下面正确的switch语句是(C)。

A.switch(m+n)

case3:

k=m+n;break;case2:

B.switch(m)

{casem<0:

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.15

0823、以下程序段所表示的函数关系是(A)。

if(x<=2)

{if(x<2)y=-1;

elsey=0;}elsey=1;

A.y=1(x>2)B.y=1(x=2)C.y=0(x>2)D.y=1(x<2)y=0(x=2)y=0(x<2)y=1(x=2)y=0(x=2)y=-1(x<2)y=-1(x>2)y=-1(x<2)y=-1(x>2)0919、以下程序段运行后x的值为(D)。

inti,x=1;for(i=3;i>0;i--)x=(x+1)*3;

A.9B.27C.54D.66

0920、设有程序段inth=8;while(h=0)

h=h-2;叙述正确的是(C)。

A.循环体语句执行4次B.循环体语句执行3次

k=m-n;break;

default:

k=m*n;

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.9

0922、以下程序段运行后m的值为(B)。

inti,m=3;for(i=1;i<=3;i++)

{m+=1;

if(m%2!

=0)break;m+=2;

}

A.6B.7C.8D.9

0923、叙述正确的是(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;i<5;i++)s[i]=s[i-1]+i;for(i=0;i<5;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;i<5;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.3

1121、若已定义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;i<3;i++)a[i][i]=1;for(i=0;i<3;i++){for(j=0;j<3;j++)

printf("%d",a[i][j]);printf("\n");}}A.000000000

B.100010001

C.001010100

D.111111111

1123、正确定义二维数组arr的语句是(C)。

A.floatarr[4][];B.floatarr(4,3);C.floatarr[4][3];D.floatarr[4,3];1219、使字符数组str正确存放字符串"abc"的语句是(B)。

A.charstr[]={'a','b','c'};B.charstr[4]={'a','b','c','\0'};C.charstr[3]={'a','b','c'};D.charstr[4]={'a','b','c','0'};1220、下列关于字符数组描述正确的是(B)。

A.只能用len函数计算字符数组中字符串的长度

B.可使用printf函数实现字符数组中字符串的输出,遇'\0'字符结束C.只能利用赋值语句实现字符数组的整体赋值D.字符数组只能存放字符串,不能存放单个字符1221、以下程序的运行结果是(C)。

#includevoidmain(){char*str;

str="ThisisaBook";str=str+8;while(*str)

{putchar(*str);str++;}}

A.isaBookB.BookC.aBookD.Thisis

1222、若已定义chars3[20],s1[10]="Howare",s[2]="you";语句strcpy(s3,strcat(s1,s2));的功能是(A)。

A.将字符串s2连接到s1之后,再将s1复制到s3中B.将字符串s1复制到s2中,再连接到s3之后C.将字符串s2复制到s1中,再将s1连接到s3之后D.将字符串s2连接到s1之后,再将s3复制到s1中

1223、若已定义charb[20]="Nicetomeetyou!

";实现输出字符串"meetyou!

"的语句是(B)。

A.printf("%s",b);B.printf("%s",b+8);C.printf("%c",b+8);D.printf("%c",b[8]);1319、下列叙述错误的是(A)。

A.定义函数时必须指明函数参数B.定义函数时函数类型可省略C.定义函数时函数名和函数类型必须指明D.定义函数时必须有函数体1320、函数调用中,若实参为数组名,则传递给对应形参的是(C)。

A.数组的长度B.数组中每个元素的地址C.数组的首地址D.数组中每个元素的值1321、叙述错误的是(B)。

A.所有形参都是局部变量

B.函数内复合语句中定义的变量在该函数内有效C.全局变量的作用域是从其定义处起至本程序结束处D.函数内定义的变量其有效范围不超出该函数1322、以下程序的运行结果是(C)。

intfun(intk){switch(k)

{case2:

return0;case3:

case4:

return1;default:

return5;}return-1;}

voidmain()

{printf("%d\n",fun(3));}A.0B.-1C.1D.5

1323、以下程序的运行结果是(D)。

inttm(intx)

{inty;y=2*x;returny;}intad(inta)

{intb;b=5+tm(a+1);returnb;}voidmain()

{printf("%d\n",ad

(1));}A.6B.4C.5D.9

1419、叙述正确的是(A)。

A.宏定义:

#defineCR15的作用是定义一个与15等价的符号常量CRB.宏定义命令可根据需要以"#"开头或省略"#"C.宏定义命令也是语句,必须以分号结束

第6/10页

D.C源程序中加入一些宏定义是为了提高程序运行速度1420、以下程序的运行结果是(C)。

#defineM5#defineNM+1voidmain()

{printf("%d\n",3*N);}A.15B.6C.16D.18

1421、宏定义#definePI3.14中,用宏名PI代表一个(A)。

A.符号常量B.字符变量C.单精度数D.双精度数1422、以下程序的运行结果是(C)。

#defineM2#defineNM*3voidmain()

{printf("%d\n",6/N);}A.6B.2C.9D.1

1423、正确的宏定义命令是(A)。

A.#defineK9.78B.#defineK=9.78C.#defineK9.78;D.#defineK=9.78;

1519、若已定义:

inta=5,*p1=&a;floatx=11.6,*p2=&x;下列能实现正确赋值的语句是(B)。

A.p2=a+x;B.x=*p1+*p2;C.x=p1+p2;D.p1=x;

1520、若已定义:

inta=2,*p=&a,b=5,*q=&b;下列运算无意义的是(A)。

A.q+pB.*q-*pC.b-aD.p=q

1521、若已定义:

intb=12,*p=&b;下列描述错误的是(C)。

A.&(*p)等价于pB.b等价于*(&b)C.*(&p)等价于bD.*p等价于b

1522、若已定义:

inta[6]={1,2,3,4,5,6},*p,i=3;下列赋值语句不合理的是(D)。

A.p=a;B.p=&i;C.p=&a[i];D.p=a[i];1523、以下程序段的运行结果是(D)。

charstr[]="Computer",*p=str;printf("%s",p);

A.rB.CC.retupmoCD.Computer1619、以下程序的运行结果是(C)。

voidmain()

{inta[5]={6,8,9,15,20};inti=1,*p1,*p2;p1=&a[i];p2=&a[i+3];

printf("%d\n",*p2-*p1);}

A.0B.9C.12D.3

1620、以下程序的运行结果是(A)。

voidmain(){inta=5,b=6,c;int*p1,*p2;p1=&a;p2=&b;

第7/10页

p2=p1;

c=*p1+2*(*p2);printf("%d\n",c);}

A.15B.18C.17D.16

1621、以下程序的运行结果是(B)。

voidmain(){inta=5,b=6,c;int*p1,*p2;p1=&a;p2=&b;p1=p2;

c=*p2+2*(*p1);printf("%d\n",c);}

A.15B.18C.17D.16

1622、以下程序的运行结果是(B)。

voidfn(intx,inty,int*p){*p=x+y;}voidmain(){inta,b;fn(5,3,&a);fn(7,a,&b);

printf("a=%d,b=%d\n",a,b);}

A.a=15,b=8B.a=8,b=15C.a=8,b=7D.a=7,b=81623、以下程序的运行结果是(B)。

voidmain()

{inta[2][3]={{1,3,5},{2,4,6}};inti,*p;p=a[0];

for(i=0;i<=5;i++)

printf("%d",*(p+i));printf("\n");}

A.135135B.135246C.246135D.246246

1719、若已定义:

structstudent{intnum;charname[10];floatscore;}stu,*p=&stu;下列对结构成员的引用方式中,不正确的是(A)。

A.*p.numB.(*p).scoreC.p->numD.stu.name

1720、若已定义:

structstudent{intnum;charname[10];floatscore;}stu,*p=&stu;下列对结构变量stu中成员num的合法引用是(C)。

A.p.numB.student.numC.p->numD.stu->num1721、下列程序的运行结果是(B)。

uniondata{charc;intk;}data1;

第8/10页

data1.c='A';data1.k=66;printf("%c\n",data1.c);A.AB.BC.CD.不确定

1722、若有以下对结构类型和结构变量的定义:

structdate{intyear;intmonth;intday;};structstudent{charname[20];structdatebirthday;}stu;

以下能对结构变量stu的birthday成员进行正确赋值的是(C)。

A.day=20B.stu.date.day=20C.stu.birthday.day=20D.birthday.day=201723、对结构类型变量定义不正确的是(B)。

A.structperson{intnum;charname[20];}person1;

B.struct{intnum;charname[20];}person;struct

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1