福建省二级c语言资料Word格式.docx
《福建省二级c语言资料Word格式.docx》由会员分享,可在线阅读,更多相关《福建省二级c语言资料Word格式.docx(104页珍藏版)》请在冰豆网上搜索。
则表达式x=(y==6)的值为()
A.5B.1C.6D.0
34、下面叙述正确的是()
A.2/3与2.0/3.0等价B.(int)2.0/3与2/3等价
C.++5与6等价D.‘A’与”A”等价
35、下面叙述中,错误的是()
A.C语言基本的算术运算符不包含模运算符”%”
B.算术运算符的优先级高于关系运算符
C.自加和自减运算符的结合方向是”自右向左”
D.C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行
36、下面叙述正确的是()
A.强制类型转换运算的优先级高于算术运算B.若a和b是整型变量,(a+b)++是合法的
C.‘A’*’B’是不合法的D.“A”+”B”是合法的
38、设整型变量a为5,使b不为2的表达式是()
A.b=(++a)/3B.b=6-(--a)C.b=a%2D.b=a/2
39、若有定义:
inta=1,b=2,c=3;
则语句++a||++b&
&
++c;
运行后b的值为()
A.1B.0C.2D.3
40、若有定义:
inti,j;
则表达式(i=2,j=5,i++,i+j++)的值是()
A.7B.8C.9D.10
41、若有定义:
inta,b;
则表达式(a=2,b=5,a*2,b++,a+b)的值是()
A.7B.8C.9D.10
42、若有定义:
inti=2,j=5;
则表达式(i+1,j+1,(++i+(j--))的值为()
A.8B.6C.7D.5
43、若已定义:
inti=3,k;
则语句k=(i--)+(i--);
运行后k的值为()
A.4B.5C.6D.7
44、C语言的运算符按运算对象的个数可以分为()
A.单目运算符一种B.单目和双目运算符
C.单目、双目和三目运算符D.单目、双目、三目和四目运算符
45、若已定义:
floatm;
拟从键盘输入135.78这一数据给变量m,则应选用的语句是()
A.scanf(“%5.2f”,&
m);
B.scanf(“%3.2f”,&
C.scanf(“6.2f”,&
D.scanf(“6f”,&
46、已知doublea;
使用scanf()函数输入一个数值给变量a,正确的函数调用是()
A.scanf(“%ld”,&
a);
B.scanf(“%lf”,&
C.scanf(“%c”,&
D.scanf(“%u”,&
47、已知chara;
使用scanf()函数输入一个字符给变量a,不正确的函数调用是()
A.scanf(“%d”,&
C.scanf(“%c”,&
48、putchar()函数的功能是向终端输出()
A.多个字符B.一个字符C.一个实型变量值D.一个整型变量表达式
49、以下程序段运行后的输出结果是()
intk=11;
printf(“k=%d,k=%o,k=%x\n”,k,k,k);
A.k=11,k=13,k=cB.k=11,k=12,k=13
C.k=11,k=13,k=bD.k=11,k=13,k=a
50、若有定义:
intx=1234,y=123,z=12;
则语句printf(“%4d+%3d+%2d”,x,y,z);
运行后的输出结果为()
A.123412312B.12341234123412341231231231212
C.1234+1234+1234D.1234+123+12
51、已有如下定义和输入语句,
inta;
charc1,c2;
scanf(“%d%c%c”,&
a,&
c1,&
c2);
若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()
A.10ABB.10ABC.10ABD.10AB
52、以下程序段的运行结果是()
inta=0,b=0,c=0;
if(a&
++b)
c++;
printf(“%d,%d\n”,b,c);
A.0,0B.1,2C.2,2D.1,0
53、以下程序的运行结果是()
voidmain()
{
inta=65;
charc=’A’;
printf(“%x,%d”,b,c);
}
A.65,aB.41,aC.65,65D.41,65
54、若已定义:
inta=5;
floatb=63.72;
以下语句中能输出正确值的是()
A.printf(“%d%d”,a,b);
B.printf(“%d%2f”,a,b);
C.printf(“%2f%2f”,a,b);
D.printf(“%2f%d”,a,b);
55、运行以下程序段时编译出错,其原因是()
charc1='
8'
c2='
2008'
;
printf("
%c,%d\n"
c1,c2);
A.c2是字符变量,只能赋以字符常量,不能赋以字符串常量
B.字符串要用“2008“表示,而‘2008’不是字符串表示
C.‘2008’只能赋值给字符数组
D.字符变量不能用%d格式输出
56、若已定义:
inta=3,b=15,c;
则语句c=a>
b;
运行后c的值为()
A.1B.0C.tD.f
57、在C语言中,判定逻辑值为“真“的最正确的叙述是()
A.1B.非0的数C.大于0的数D.非0的整数
58、若已定义:
inta=-36,b=-30,c;
则语句c=a<
b;
A.1B.tC.0D.f
59、能正确表示数学关系式800>
=y>
=500的C语言表达式为()
A.(y<
=800)&
(y>
=500)B.(y<
=800)AND(y>
=500)
C.800>
=500D.(y<
60、若有定义:
intx=3,y=4;
则表达式!
x||y的值为()
A.1B.0C.3D.4
61、若有定义:
inti=7,j=8;
则表达式i>
=j||i<
j的值为()
A.1B.变量i的值C.0D.变量j的值
62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。
则不能满足要求的表达式是()
A.a%2==1B.!
(a%2==0)C.!
(a%2)D.a%2
63、若有定义:
intx=3,y=4,z=5;
则值为0的表达式是()
A.‘x’&
yB.x<
=y
C.x||y+z&
y-zD.!
((x<
y)&
!
z||1)
64、若有定义:
inta=5,b=2,c=1;
则表达式a-b<
c||b==c的值是()
A.0B.1C.3D.-1
67、已知doublea=5.2;
A.a+=a-=(a=4)*(a=3)B.a=a*3=2
C.a%3D.a=double(-2)
68、已知chara='
R'
A.a=(a++)%4B.a+2=3C.a+=256--D.a=’\078’
69、已知inta=’R’;
则正确的表达式是()
A.a%10B.a=int(3e2)C.2*a=a++D.a=a+a=a+3
75、若有定义:
inta=6,b=2;
charc1=’a’,c2=’b’;
则表达式a+b%5+c2-c1的值是(c)
A.7B.8C.9D.表达式错误
77、设有定义:
charc;
floatf;
inti;
unsignedu;
doubled;
下列各表达式的类型分别是()
1.u+92.d!
=f&
(i+2)3.8.2*i+c
A.1.unsigned,2.int,3.doubleB.1.double,2.double,3.double
C.1.int,2.double,3.charD.1.unsigned,2.double,3.int
控制结构
81、以下程序段运行的结果是()
inta,b,c,x;
a=b=c=0;
x=15;
if(!
a)x--;
elseif(b);
if(c)x=3;
else
x+=4;
printf("
%d\n"
x);
A.15B.17C.18D.19
89、若有定义:
intx;
以下不会产生死循环的是()
A.for(;
(x=getchar())!
=’\n’;
);
B.while
(1){x++;
C.for(i=10;
i++);
D.for(;
x+=1);
90、在循环语句的循环体中,break语句的作用是()
A.暂停程序的运行B.结束本次循环
C.继续执行break语句之后的循环体各语句
D.提前结束循环,接着执行该循环后续的语句
96、以下程序的运行结果是()
intsum=0,item=0;
while(item<
5)
{
item++;
sum+=item;
if(sum>
=6)
break;
printf(“%d\n”,sum);
A.10B.15C.6D.7
97、以下程序的运行结果是()
voinmain()
if(item==2)
continue;
A.10B.13C.15D.1
99、以下程序的运行结果是()
#include<
studio.h>
main()
inty=10;
do
{y--;
while(--y);
y--);
A.1B.2C.-1D.0
数组
101、下列数组定义中,正确的是()
A.inta[10];
B.intn=10,a[n];
C.intN=10;
inta[N];
D.intn;
scanf(“%d”,&
n);
inta[n];
102、若已定义:
inta[13];
则不能正确引用a数组的元素的是()
A.a[0]B.a[10]C.a[10+3]D.a[13-5]
103、若有定义:
inta[3]={0,1,2};
则a[1]的值为()
104、若有定义:
inta[5]={1,2,3,4,5};
则语句a[1]=a[2]+a[2+2]-a[3-1];
运行后a[1]的值为()
A.6B.5C.1D.2
106、若有如下程序段:
chars[10];
s=“abcd”;
printf(“%s\n”,s);
则()。
A.执行时输出:
abcdB.执行时输出:
a
C.执行时输出:
abD.编译不通过
107、下面程序段的运行结果是()
inti=0,a[]={7,5,7,3,8,3};
do{
a[i]+=2;
}while(a[++i]>
5);
for(i=0;
i<
6;
i++)
%d"
a[i]);
A.9795105B.9593103C.957383D.757383
108、下面程序段的运行结果是()
inti=0,a[]={1,2,3,4,5};
a[i]+=10;
2);
5;
A.112345B.12345C.1112131415D.1112345
109、西面关于数组的叙述中,正确的是()
A.数组必须先定义,然后使用
B.定义数组时,可不加类型说明符
C.定义数组后,可通过赋值运算符“=”对该数组名直接赋值
D.在数据类型中,数组属于基本类型
110、一下程序段的运行结果是()
inti=0,a[]={6,5,3,7};
do
a[i]++;
}while(a[i]<
4);
4;
i++)printf("
A.6537B.7563C.7537D.5673
111、有如下程序段:
intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
t[2][1]);
则执行该程序段后输出结果是()
A.8B.7C.4D.2
112、以下程序段运行后s的值是()
inta[3][3]={1,2,3,1,2,3,1,2,3};
inti,j,s=1;
3;
for(j=i;
j<
j++)s*=a[i][j];
A.18B.108C.2D.12
113、以下不能对二维数组arr进行正确初始化的语句是()
A.intarr[2][3]={0};
B.intarr[][3]={1,2,3,4,5};
C.intarr[2][3]={{1,2},{3,4},{5,6}};
D.intarr[2][3]={{1},{3,4,5}};
114、若有定义:
inta[3][4]={{1,2},{0},{1,2,3}};
则a[1][1]的值为()
A.0B.{1,2}C.1D.3
116、若有定义:
inti=0,x=0;
inta[3][3]={1,2,3,4,5,6,7,8,9};
则以下程序段运行后x的值为()
for(;
i++)x+=a[i][2-i];
A.0B.12C.15D.18
117、若有定义inta[2][3];
则对数组元素的非法引用的是()
A.a[0][1/2]B.a[1][1]C.a[4-4][0]D.a[0][3]
118、以下数组定义中,正确的是()
A.inta[2][]={1,2,3,4,5};
B.inta[][2]={{0},{}};
C.inta[2][2]={{1,2},{3}};
D.inta[][]={1,2,3,4};
120、以下程序段运行后s的值是()
inta[3][3]={1,2,3,4,5,1,2,3,4};
for(j=i+1;
j++)
s*=a[i][j];
A.6B.120C.24D.480
121、设已定义:
inta[][4]={0,0};
则下列描述错误的是()
A.数组a的每个元素都可得到初值0B.二维数组a的第一维大小为1
C.数组a的行数为1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
122、设已定义:
charstr1[10],str2[10]=”Fujian”;
则能将字符串”Fujian”赋给数组str1的正确语句是()
A.str1=”Fujian”B.strcpy(str1,str2);
C.strcpy(str2,str1);
D.str1=str2;
123、有如下定义:
charstr[3][2]={'
a'
'
b'
c'
\0'
e'
f'
};
则语句:
%s"
str[0]);
的输出结果是()
A.abB.abcefC.abc\0D.abc
124、设有如下数组定义:
charstr[8]={"
Fujian"
则分配给数组str的存储空间是()字节
A.6B.7C.8D.9
125、若有定义:
chara[]="
abcdef"
charb[]="
xyz"
则以下程序段运行后屏幕输出为()
strcpy(a,b);
%c"
a[2]);
A.cB.zC.\0D.d
126、以下程序段运行后屏幕输出为()
abc\0mis"
strlen(a));
A.5B.8C.3D.4
127、若有定义:
inta=2;
则语句a=strcmp("
miss"
"
运行后a的值为()
A.1B.0C.-1D.2
128、以下对C语言字符数组描述中,正确的是()
A.可以用length函数计算字符数组中字符串的长度
B.可以在赋值语句中通过赋值运算符"
="
对字符数组整体赋值
C.存放在字符数组中的字符串,以’\0’作为该字符串结束标志
D.字符数组只能存放字符串,不能存放字符
129、以下程序段运行后屏幕输出为()
charstr[80];
strcpy(str,"
hello"
strlen(str));
A.5B.6C.7D.80
131、已有定义:
charstr1[15]={“university”},str2[15];
则以下语句中正确的是()
A.str2=str1;
B.str2=”college”;
C.scanf(“%s”,&
str2);
D.printf(“%s”,str1);
132、设已定义:
chars1[20]=”Youare”,s2[9]=”welcome!
”;
若要形成字符串”Youarewelcome!
”,正确的语句是()
A.strcat(s1,s2);
B.strcpy(s1,s2);
C.s1+s2;
D.s1&
s2
函数
134、以下程序的运行结果是()
intfun(intarray[4][4])
intj;
for(j=0;
j++)printf("
%2d"
array[2][j]);
\n"
inta[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};
fun(a);
A.2005B.1004C.0120D.0450
136、以下程序运行后屏幕输出为()
intf(intx,inty)
return(x+y);
inta=2,b=3,c;
c=f(a,b);
%d+%d=%d\n"
a,b,c);
A.0B.2+3=5C.2+3=0D.3+2=5
137、以下程序运行后屏幕输出为()
stdio.h>
inta=2,b=3;
intmax(inta,intb)
intc;
c=a>
b?
a:
return(c);
inta=4;
%d"
max(a,b));
A.3,2B.2C.3D.4
138、以下程序的运行结果是()
fun(inti)
{
inta=2;
a=i++;
a);
inta=5,c=3;
fun(c);
A.45B.35C.44D.33
139、若有如下函数定义:
intfun()
staticintk=0;
return++k;
以下程序段运行后屏幕输出为()
for(i=1;
=5;
i++)fun();
fun());
A.0B.1C.5D.6
140、下面程序的输出结果是:
()
intglobal=100;
fun()
intglobal=5;
return++global;
A.100B