2级C题库整理Word文档下载推荐.docx
《2级C题库整理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《2级C题库整理Word文档下载推荐.docx(60页珍藏版)》请在冰豆网上搜索。
-'
3'
;
ch2='
6'
printf("
%d,%c\n"
ch1,ch2);
}
(A)67,D(B)C,D(C)C,68(D)67,68
(50319)若已定义:
inti,j,k;
doublex;
则下列表达式中语法正确的是()。
(A)i=k+2j(B)x%5(C)j+2=k(D)j+=(k=4)*j
(50320)若已定义:
longinti;
charc;
则表达式i*c+x结果的类型是()。
(A)longint(B)int(C)double(D)char
(50321)若已定义:
intx,y,z;
则()是不正确。
(A)x=2.5;
(B)x=10,y=6;
(C)z=y+x=30;
(D)x=y+=10*x;
(50322)逗号表达式a=3*5,a*3,a+5的值是()。
(A)45(B)15(C)20(D)49
(50323)不能完成数学式(3ad)÷
(bc)的表达式是()。
(A)3*a*d/b/c(B)a/b/c*d*3(C)3*a*d/b*c(D)a*d/c/b*3
(50400)下列语句中,符合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;
(50419)()运算符不能用于非整型数据运算。
(A)++(B)/(C)*(D)%
(50420)若已定义:
inti=5,j;
则语句j=(++i)+(i--);
运行后的j值为()。
(A)9(B)10(C)11(D)12
(50421)若已定义:
intx=3,y=4;
则表达式--x+(y++)%y的值是()。
(A)2(B)3(C)4(D)5
(50422)若已定义:
intn=10,i=4;
则赋值运算n%=i+1执行后,n的值是()。
(A)3(B)2(C)1(D)0
(50423)若已定义:
doublex=3.5;
inty=14;
则表达式x+y%3/2的值是()。
(A)4.0(B)4.5(C)3.5(D)5.5
(50500)以下程序运行时,若从键盘输入5,则输出结果是()。
main()
{inta;
scanf("
%d"
&
a);
if(a++>
5)printf("
%d\n"
a);
elseprintf("
a--);
}
(A)7(B)4(C)5(D)6
(50519)若已定义:
floatf;
chars[20];
下列正确的输入语句是()。
(A)scanf("
%s%f"
s,f);
(B)scanf("
&
s,f);
(C)scanf("
%c%f"
s,&
f);
(D)scanf("
(50520)若已定义:
doublex;
下列可以用于求x的绝对值的数学函数是()。
(A)abs(x)(B)labs(x)(C)fabs(x)(D)sqrt(x)
(50521)()可求得0到0.99的随机数。
(A)srand()%100/100.0(B)rand()%100/100.0
(C)srand()*100%100(D)rand()%100/100
(50522)要使下列程序段输出的内容为123-123-45,正确的输入数据格式是()。
scanf("
%d%d%d"
i,&
j,&
k);
printf("
%d-%d-%d\n"
i,j,k);
(A)12312345(B)123,12345(C)12312345(D)123,123,45
(50523)要使用以下程序段给三个字符型变量c1,c2,c2分别赋值'
a'
'
b'
c'
,正确的输入数据格式是()。
charc1,c2,c3;
%c%c%c"
c1,&
c2,&
c3);
(A)abc(B)a,b,c(C)'
'
(50600)有以下程序:
{intc;
while((c=getchar())!
='
\n'
)
{switch(c-'
2'
{case0:
case1:
putchar(c+4);
case2:
break;
case3:
putchar(c+3);
default:
putchar(c+2);
\n"
);
当输入:
247<
回车>
,程序的输出结果是()。
(A)689(B)6689(C)66778(D)66887
(50619)若已定义:
intx;
下列与求x的绝对值等价的表达式是()。
(A)x>
0?
-x:
x(B)x>
x:
-x(C)x<
-x(D)x<
-x
(50620)能正确表示a和b同时为正或同时为负的逻辑表达式是()。
(A)(a>
0||b>
0)&
&
(a<
0||b<
0)(B)(a>
0&
b>
b<
0)
(C)(a+b>
0)&
(a+b<
=0)(D)a*b>
(50621)能正确表示30>
x>
10的逻辑表达式是()。
(A)10<
x<
30(B)x>
10&
x<
30(C)x>
10||x<
30(D)30>
10
(50622)若已定义:
inta=2,b=3,c=4;
则下列表达式中值为0的是()。
(A)a>
=a(B)(b-a)==(c/b)(C)a%b&
b/c(D)(b-a)&
(b-c)
(50623)若已定义:
inta=3,b=4,c=5;
&
(B)a<
=b
(C)a||b+c&
b-c(D)!
((a<
b)&
!
c||1)
(50700)以下程序运行后,a的值是()。
{inta,b;
for(a=1,b=1;
a<
=100;
a++)
{
if(b>
=20)break;
if(b%3==1){b+=3;
continue;
}
b-=5;
(A)101(B)100(C)8(D)7
(50719)下列运算符中,优先级最高的是()。
(A)+(B)++(C)&
(D)!
(50720)若已定义intk=5;
floatd=3.5;
则表达式d+k%3/2的值为()。
(A)3.5(B)4.5(C)5.5(D)4
(50721)若已定义:
intb=7;
floata=2.5,c=4.0;
则表达式a+(b/2*(int)(a+c))%4的值是()。
(A)2.5(B)3.5(C)4.5(D)5.5
(50722)若已定义:
(50723)若已定义:
doublea,b,c;
下列表达式中与(a-b)*c/2计算结果不相符的是()。
(A)(a-b)*c/2(B)(a-b)*c*1/2(C)(1/2)*(a-b)*c(D)c/2*(a-b)
(50800)以下程序段的运行结果是()。
intx=3;
do{
%3d,"
x-=2);
}while(!
(--x));
(A)1(B)30(C)死循环(D)1,-2
(50819)以下程序段的运行结果是()。
inta=-6,b;
if(a>
b=9;
elseif(a==0)
b=0;
elseif(a<
-5)
b=-8;
else
b=-1;
b);
(A)-1(B)0(C)-8(D)9
(50820)若已定义:
inta=-1,b=-3,c=0,d=2;
则表达式a<
b?
c:
(a>
d?
b:
d)的值是()。
(A)0(B)-3(C)-1(D)2
(50821)若已定义:
intm=3,n=2,k;
则下面正确的switch语句是()。
(A)switch(m+n)
case3:
k=m+n;
case2:
k=m-n;
k=m*n;
(B)switch(m)
{casem<
0:
casem==0:
(C)switch(m+n)
{case3:
(D)switch(m+n)
{caseis3:
caseis5:
(50822)以下程序的运行结果是()。
voidmain()
{intk=5;
switch(k)
{default:
k);
case1:
2*k);
3*k);
(A)55(B)5(C)10(D)15
(50823)以下程序段所表示的函数关系是()。
if(x<
=2)
{if(x<
2)y=-1;
elsey=0;
y=1;
(A)
y=1(x>
2)
y=0(x=2)
y=-1(x<
(B)
y=1(x=2)
y=0(x<
y=-1(x>
(C)
y=0(x>
y=1(x=2)
(D)
y=1(x<
2)
(50900)下列程序段中,非死循环的是()。
(A)
inti=100;
while
(1)
{i=i%100+1;
if(i>
=100)break;
intk=0;
do{
++k;
}while(k>
=0);
ints=10;
while(++s%2+s%2)s++;
(D)for(;
(50919)以下程序段运行后x的值为()。
inti,x=1;
for(i=3;
i>
0;
i--)
x=(x+1)*3;
(A)9(B)27(C)54(D)66
(50920)设有程序段
inth=8;
while(h=0)
h=h-2;
叙述正确的是()。
(A)循环体语句执行4次(B)循环体语句执行3次
(C)循环体语句一次也不执行(D)循环体语句执行1次
(50921)以下程序段运行后m的值为()。
inti,m=1;
for(i=1;
i<
=4;
i++)
{m+=1;
if(m%2==0)
m+=2;
(A)12(B)6(C)5(D)9
(50922)以下程序段运行后m的值为()。
inti,m=3;
=3;
if(m%2!
=0)
(A)6(B)7(C)8(D)9
(50923)叙述正确的是()。
(A)while循环中,不能用break语句跳出循环体
(B)while循环体至少无条件执行一次,而do…while循环体可能都不执行
(C)for循环中,不能用break语句跳出循环体
(D)for循环中循环体可包含多条语句,但必须用{}括起来
(51000)设已定义chars[]="
\"
Name\\Address\023\n"
,则字符串所占的字节数是()。
(A)19(B)16(C)18(D)14
(51019)给数组a所有元素赋初值0的语句是()。
(A)inta[9]={0};
(B)inta[9]=9*0;
(C)inta[9]={};
(D)inta[9]=0;
(51020)()是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]
(51021)已知a为一维整型数组,正确表示数组a元素个数的表达式是()。
(A)sizeof(a)/int(B)sizeof(int)/sizeof(a)
(C)sizeof(a)/sizeof(int)(D)a/sizeof(int)
(51022)以下程序的运行结果是()。
voidmain()
{ints[5]={1},i;
for(i=1;
5;
i++)
s[i]=s[i-1]+i;
for(i=0;
%d"
s[i]);
(A)12345(B)1261015
(C)12468(D)124711
(51023)以下程序的执行功能是()。
{inta[5]={66,78,82,53,91},b[5]={70,58,81,65,90},i,n=0;
{if(a[i]>
b[i])
n++;
n=%d\n"
n);
(A)统计数组a各元素值大于数组b对应元素值的个数
(B)统计数组a各元素值小于数组b对应元素值的个数
(C)统计数组a各元素值等于数组b对应元素值的个数
(D)统计数组a各元素值大于60的个数
(51100)以下程序段的运行结果是()。
{inti=4,j;
j=i;
pic(i+2*j-2,'
*'
putchar('
for(j-=2;
j>
=0;
j--)
{pic(3-j,'
pic(i+2*j,'
pic(intlen,charc)
{intk;
for(k=1;
k<
=len;
k++)putchar(c);
*
***
*****
*******
**********
**********
(C)
****
******
********
(D)
****
(51119)若已定义inta[][4]={1,2,3,4,5,6,7,8,9,10,11};
则表达式sizeof(a)/(sizeof(int)*4)的值为()。
(A)数组a的元素个数(B)数组a第一维长度
(C)数组a第二维长度(D)数组a占用的字节数
(51120)若已定义intarr[][3]={1,2,5,6,8,9,11};
则数组a第一维长度是()。
(A)5(B)4(C)2(D)3
(51121)若已定义inta[3][4];
无法正确引用数组a元素的是()。
(A)a[0][3/2](B)a[2][1](C)a[2+1][3](D)a[1][5-2]
(51122)以下程序的运行结果是()。
{inta[3][3]={0},i,j;
3;
a[i][i]=1;
{for(j=0;
j<
j++)
a[i][j]);
}}
000
000
000
100
010
001
001
100
(51123)正确定义二维数组arr的语句是()。
(A)floatarr[4][];
(B)floatarr(4,3);
(C)floatarr[4][3];
(D)floatarr[4,3];
(51200)设有下列语句,则()是对a数组元素的不正确引用,其中0≤i<
10。
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
(A)a[p-a](B)*(&
a[i])(C)p[i](D)*(*(a+i))
(51219)使字符数组str正确存放字符串"
abc"
的语句是()。
(A)charstr[]={'
};
(B)charstr[4]={'
\0'
(C)charstr[3]={'
(D)charstr[4]={'
(51220)下列关于字符数组描述正确的是()。
(A)只能用len函数计算字符数组中字符串的长度
(B)可使用printf函数实现字符数组中字符串的输出,遇'
字符结束
(C)只能利用赋值语句实现字符数组的整体赋值
(D)字符数组只能存放字符串,不能存放单个字符
(51221)以下程序的运行结果是()。
#include<
stdio.h>
{char*str;
str="
ThisisaBook"
str=str+8;
while(*str)
{putchar(*str);
str++;
(A)isaBook(B)Book(C)aBook(D)Thisis
(51222)若已定义chars3[20],s1[10]="
Howare"
s[2]="
you"
语句strcpy(s3,strcat(s1,s2));
的功能是()。
(A)将字符串s2连接到s1之后,再将s1复制到s3中
(B)将字符串s1复制到s2中,再连接到s3之后
(C)将字符串s2复制到s1中,再将s1连接到s3之后
(D)将字符串s2连接到s1之后,再将s3复制到s1中
(51223)若已定义charb[20]="
Nicetomeetyou!
"
实现输出字符串"
meetyou!
(A)printf("
%s"
(B)printf("
b+8);
(C)printf("
%c"
(D)printf("
b[8]);
(51300)设有下列语句:
charstr1[]="
string"
str2[8],*str3,*str4="
则()是对库函数strcpy的不正确调用。
此函数用来复制字符串。
(A)strcpy(str3,"
HELLO3"
(B)strcpy(str2,"
HELLO2"
(C)strcpy(str1,"
HELLO1"
(D)strcpy(str4,"
HELLO4"
(51319)下列叙述错误的是()。
(A)定义函数时必须指明函数参数
(B)定义函数时函数类型可省略
(C)定义函数时函数名和函数类型必须指明
(D)定