二级C选择题.docx
- 文档编号:3878433
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:9
- 大小:21.99KB
二级C选择题.docx
《二级C选择题.docx》由会员分享,可在线阅读,更多相关《二级C选择题.docx(9页珍藏版)》请在冰豆网上搜索。
二级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.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)。
#include
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 选择题