C语言选择题库6Word下载.docx
《C语言选择题库6Word下载.docx》由会员分享,可在线阅读,更多相关《C语言选择题库6Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
【1.10】已知
long
i=32768;
执行语句printf("
%d"
i);
-32768
32768
【1.11】已知
i=65539;
65539
-3
3
程序不能执行
【1.12】在C语言中,整数-8在内存中的存储形式是
1111
1000
0000
1000
0111
【1.13】C语言中字符型(char)数据在内存中的存储形式是____。
原码
补码
反码
ASCII码
【1.14】将字符g赋给字符变量c,正确的表达式是
c=\147
c="
\147"
c=’\147’
c=’0147’
【1.15】下列转义字符中错误的一个是____。
’\000’
’\0014’
’\x111’
’\2’
【1.16】将空格符赋给字符变量c,正确的赋值语句是____。
c=’\0’
c=NULL
c=0
c=32
【1.17】已知:
char
a=’\70’;
则变量a中
包含1个字符
包含2个字符
包含3个字符
说明非法
【1.18】字符串"
\"
EOF\n=-\61\"
"
的长度是____。
8
9
14
非法字符串
【1.19】字符串"
2
【1.20】已知:
a;
b;
float
c;
double
d;
执行语句"
c=a+b+c+d;
后,变量c的数据类型是
double
【1.21】温度华氏和摄氏的关系是:
C=5/9*(F-32)。
已知:
C,F;
由华氏求摄氏的正确的赋值表达式是____。
C=5/9(F-32)
C=5*(F-32)/9
C=5/9*(F-32)
三个表达式都正确
【1.22】逗号表达式"
(a=3*5,a*4),a+15"
的值是____。
15
60
30
不确定
【1.23】如果int
a=1,b=2,c=3,d=4;
则条件表达式"
a<
b?
a:
c
4
【1.24】为求出s=10!
的值,则变量s的类型应当为
unsiged
以上三种类型均可
【1.25】已知int
i=10;
表达式"
20-0<
=i<
=9"
19
20
【1.26】已知int
x=1,y;
执行下述语句后变量x的值是____。
y=++x>
5&
&
++x<
10;
【1.27】为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。
c<
=48||c>
=57&
=65||c>
=90&
=97||c>
=122
!
(c<
=122)
c>
=48&
=57||c>
=65&
=90||c>
=97&
(c>
【1.28】已知
a[3][2]={3,2,1};
则表达式"
a[0][0]/a[0][1]/a[0][2]"
0.166667
错误的表达式
【1.29】已知
x=1,y=1,z=1;
x+++y+++z++"
4
5
表达式错误
【1.30】用十进制表示表达式"
12|012"
12
14
【1.31】已知以下程序段:
a=3,b=4;
a=a^b;
0011
0100
b=b^a;
0100
则执行以上语句后a和b的值分别是____。
a=3,b=4
a=4,b=3
a=4,b=4
a=3,b=3
【1.32】在位运算中,操作数每右移一位,其结果相当于____。
操作数乘以2
操作数除以2
操作数除以16
操作数乘以16
【1.33】已知
a=222;
执行语句a=a&
052;
后,变量a的值是____。
222
10
244
254
【1.34】已知二进制数a是00101101,如果想通过整型变量b与a做异或运算,使变量a的高4位取反,低4位不变,则二进制数b的值应是____。
11110000
00001111
11111111
00000000
【1.35】已知
a=15,执行语句a=a<
<
2以后,变量a的值是____。
20
40
80
【1.36】已知int
x=5,y=5,z=5;
执行语句x%=y+z;
后,x的值是____。
6
【1.37】使用语句scanf("
x=%f,y=%f"
&
x,&
y);
输入变量x、y的值(□代表空格),正确的输入是____。
1.25,2.4
1.25□2.4
x=1.25,y=2.4
x=1.25□y=2.4
【1.38】下列循环语句中有语法错误的是____。
while(x=y)
5;
while(0)
;
do
2;
while(x==b);
x++
while(x==10);
【1.39】已知int
x=(1,2,3,4);
变量x的值是____。
【1.40】表达式sizeof(double)是
函数调用
double型表达式
int型表达式
非法表达式
【1.41】执行语句printf("
2:
%d,"
printf("
1:
scanf("
x)));
以后的输出结果是____。
1,1:
1,
1,2:
4,1:
4,
【1.42】已知:
x,y;
z;
则以下语句中错误的函数调用是
scanf
("
%d,%lx,%le"
y,&
z);
-*%d%lf"
%x%*d%o"
%x%o%6.2f"
【1.43】与条件表达式"
(n)?
(c++):
(c--)"
中的表达式(n)等价的表达式是____。
(n==0)
(n==1)
(n!
=0)
=1)
【1.44】已知int
i=1,j=0;
执行下面语句后j的值是____。
while(i)
switch(i)
{
case
i+=1;
j++;
break;
i+=2;
j3:
i+=3;
++;
default:
i--;
}
死循环
【1.45】求取满足式
12+22+32+
……
+n2
≤1000的n,正确的语句是____。
for(i=1,s=0;
(s=s+i*i)<
=1000;
n=i++)
n=++i)
(s=s+i*++i)<
n=i)
(s=s+i*i++)<
【1.54】对函数形参的说明有错误的是____。
a(float
x[],int
n)
*x,int
n)
x[10],int
x,int
此处函数形参是一个指针变量,接受实参的地址,而不是一个数组。
【1.55】如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。
静态变量
动态变量
外部变量
内部变量
【1.56】在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是
extern
auto
static
【1.57】在C语言中,函数的数据类型是指____。
函数返回值的数据类型
函数形参的数据类型
调用该函数时的实参的数据类型
任意指定的数据类型
【1.58】已知如下定义的函数:
fun1(a)
\n%d"
a);
则该函数的数据类型是____。
与参数a的类型相同
void型
没有返回值
无法确定
【1.59】定义一个函数实现交换x和y的值,并将结果正确返回。
能够实现此功能的是____。
swapa(int
y)
函数swapa是值传递,函数的执行结果不能返回
swapb(int
*y)
temp;
temp=x;
x=y;
y=temp;
}
swapc(int
*y)
swapd(int
*temp;
temp=*x;
*x=*y;
*y=temp;
【1.60】求一个角的正弦函数值的平方。
能够实现此功能的函数是____。
sqofsina(x)
x;
return(sin(x)*sin(x));
sqofsinb(x)
return(sin((double)x)*sin((double)x));
sqofsinc(x)
return(((sin(x)*sin(x));
sqofsind(x)
return(double(sin(x)*sin(x)));
【1.61】一个函数内有数据类型说明语句如下:
x,y,z(10);
关于此语句的解释,下面说法正确的是____。
z是一个数组,它有10个元素。
z是一个函数,小括号内的10是它的实参的值。
z是一个变量,小括号内的10是它的初值。
语句中有错误。
【1.62】已知函数定义如下:
fun1(int
y)
z=(float)x/y;
return(z);
主调函数中有int
a=1,b=0;
可以正确调用此函数的语句是____。
%f"
fun1(a,b));
fun1(&
a,&
b));
fun1(*a,*b));
调用时发生错误(y不能为0)
【1.63】下面函数的功能是____。
a(s1,s2)
s1[],s2[];
while(s2++=s1++)
字符串比较
字符串复制
字符串连接
字符串反向
【1.64】在下列结论中,只有一个是错误的,它是
C语言允许函数的递归调用
C语言中的continue语句,可以通过改变程序的结构而省略
有些递归程序是不能用非递归算法实现的
C语言中不允许在函数中再定义函数
【1.65】已知:
a,
*y=&
则下列函数调用中错误的是
scanf("
a);
【1.66】说明语句"
(*p)(
);
的含义是
p是一个指向一维数组的指针变量
p是指针变量,指向一个整型数据
p是一个指向函数的指针,该函数的返回值是一个整型
以上都不对
【1.67】设有说明int
(*p)[4];
其中的标识符p是
4个指向整型变量的指针变量
指向4个整型变量的函数指针
一个指向具有4个整型元素的一维数组的指针
具有4个指向整型变量的指针元素的一维指针数组
【1.68】已知:
s[10],
*p=s,则在下列语句中,错误的语句是
p=s+5;
s=p+s;
s[2]=p[4];
*p=s[0];
【1.69】已知:
s[100];
i;
则引用数组元素的错误的形式是
s[i+10]
*(s+i)
*(i+s)
*((s++)+i)
【1.70】已知:
s[6],
*ps=s;
则正确的赋值语句是
s="
12345"
*s="
ps="
*ps="
【1.71】已知:
a[3][10]={"
BeiJing"
"
ShangHai"
TianJin"
},
*pa=a;
不能正确显示字符串"
的语句是
%s"
a+1);
*(a+1));
*a+1);
a[1][0]);
【1.72】已知:
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
(*ptr)[3]=a,*p=a[0];
则以下能够正确表示数组元素a[1][2]的表达式是
*(*(a+1)+2)
*(*(p+5))
(*ptr+1)+2
*((ptr+1)[2])
【1.79】已知:
struct
st
n;
st
*next;
};
static
a[3]={1,&
a[1],3,&
a[2],5,&
a[0]},*p;
如果下述语句的显示是2,则对p的赋值是____。
++(p->
next->
n));
p=&
a[0];
a[1];
a[2];
a[3];
【1.80】已知:
person
name[10];
age;
}class[10]={"
LiMing"
29,"
ZhangHong"
21,"
WangFang"
22};
下述表达式中,值为72的一个是____。
class[0]->
age
+
class[1]->
age+
class[2]->
age
class[1].name[5]
person[1].name[5]
clase->
name[5]
【1.81】已知:
struct
}test;
则sizeof(test)的值是
6
7
【1.82】已知:
union
【1.83】已知:
union
u_type
ch;
}temp;
现在执行"
temp.i=266;
temp.ch)"
的结果是
266
256
1
【1.84】若有以下程序段:
dent
*m;
a=1,b=2,c=3;
dent
s[3]
=
{101,&
a},{102,&
b},{103,&
c}
*p=s;
则以下表达式中值为2的是
(p++)->
m
*(p++)->
(*p).m
*(++p)->
m
【1.85】若有以下说明语句,则对结构变量pup中sex域的正确引用是
pupil
name[20];
sex;
}pup,*p;
pup;
p.pup.sex
p->
pup.sex
(*p).pup.sex
(*p).sex
【1.86】以下对结构变量stul中成员age的非法引用是
student
num;
}stu1,*p;
stu1;
stu1.age
student.age
(*p).age
【1.87】若有以下定义和语句:
data
f;
}a;
则以下语句正确的是______。
a=5;
a={2,’a’,1.2};
%d\n"
n=a;
【1.88】已知:
sk
}date,*p;
如果要使指针p指向data中的成员a,正确的赋值语句是____。
p
(struct
sk
*)&
data.a;
*)data.a;
*p
【1.89】已知
week
{sun,mon,tue,wed,thu,fri,sat}day;
则正确的赋值语句是____。
sun=0;
san=day;
sun=mon;
day=sun;
【1.90】已知
color
{red,yellow=2,blue,white,black}ren;
执行下述语句的输出结果是____。
ren=white);
【1.91】已知
name{zhao=1,qian,sun,li}man;
执行下述程序段后的输出是____。
man=0;
switch(man)
0:
People\n"
Man\n"
Woman\n"
Error\n"
People
Man
Woman
D)Error
【1.92】下述关于枚举类型名的定义中,正确的是____。
enem
a={
one,two,three
a
o