教材每章后选择题参考答案Word格式文档下载.docx
- 文档编号:22253015
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:23
- 大小:24.57KB
教材每章后选择题参考答案Word格式文档下载.docx
《教材每章后选择题参考答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《教材每章后选择题参考答案Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
A.dB.cC.fD.r
3.能够输入字符型数据至字符变量c的语句是(d)。
A.putchar(c);
B.getchar(c);
C.getchar();
D.scanf("
%c"
&
c);
4.若x是int种类变量,y是float种类变量,则为了将数据55和55.5分别赋给x和y,则履行语句:
scanf(“%d,%f”,&
x,&
y);
时,正确的键盘输入是(a)。
A.55,55.5↙
↙
C.55↙55.5↙
D.x=55↙y=55.5↙
5.printf格式控制与输出项的个数一定同样。
格式说明的个数小于输出项的个数,剩余的输出项将(a)。
A.不予输出B.输出空格C.正常输出D.输出不定值或0
6.scanf函数的格式说明的种类与输入的种类应一一般配。
假如种类不般配,系统(b)。
A.不予接收
B.其实不给出犯错信息,但不行能得出正确信息数据
C.能接受正确输入
D.给出犯错信息,不予接收输入
7.(d)是正确的描绘
A.输入项能够是一个实型常量,如scanf("
%f"
4.8);
B.只有格式控制,没有输入项也能输入,如scanf("
a=%d,b=%d"
);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("
%5.3f"
f);
D.当输入数据时,一定指明变量的地点,如scanf("
6
8.履行代码:
inti;
scanf("
i);
printf("
%d"
i);
输入值为7,输出(c)。
A.7B.C.1088421888D.
9.有以下代码:
floatx=213.82631;
%-8.2f\n"
x);
履行后程序的运转结果是(d)。
A.不可以输出
B.
C.
D.
10.设有charch;
与语句“ch=getchar();
”等价的语句是(d)。
A.printf("
ch);
B.printf("
ch);
C.scanf("
D.scanf("
习题3:
一、选择题
1.以下不属于C语言中重点字的是()
A.longB.printC.defaultD.typedef
答案(B)
2.假定变量名i,c,f的定义为inti;
charc;
floatf;
那么以下结果为整型的表达式是()。
A.i+fB.i*cC.c+fD.i+c+f
答案(B)
3.下边四个选项中,均为合法的常量的选项是()。
A.160、-0xffff
、011
7
B.-0xcdf、01A、0xe
C.-01、986,012、0668
D.-0x48A、2e5、0x
答案(A)
4.以下正确的变量定义是()。
A.intd=10.23;
B.floatm1=m2=10.0;
C.charc1='
A'
c2=A;
D.doublex=0.618,x=3.14;
答案(A)
5.定义字符型变量:
将字符a赋给变量c,则以下语句中正确的选项是().
A.c='
a'
;
B.c="
a"
C.c="
97"
D.c='
97'
6.如有定义intx=20;
则履行语句x+=x/=4;
后,x的值为()
A、5B、10C、25D、无答案
7.以下程序的输出结果是()。
voidmain()
{
intnum=0xF;
intmoney=010;
inttotal=num*money;
%d,%d,%d\n"
num,money,total);
}
A.10,10,100
B.15,8,120
C.15,10,150
D.6,10,60
8.如有定义intx=9;
floaty;
则以下的语句履行的结果是()
y=x/2;
y);
8
答案(D)
9.char和short数据种类所占内存空间大小为()
A.都是2字节B.用户自己定义的C.随意的D.1字节和2字节
10.-8作为short型数据,在内存中的表示形式为()
A.0000000000001000
B.1000000000000000
C.111111111110111
D.1111111111111000
习题4:
1.
能正确表示逻辑关系“
a≥10或a≤0”的C语言表达式是(
A.a>
=10ora<
=0
B.a>
=0|a<
=10
=10&
&
a<
D.a>
=10||a<
设x,y和z是int
型变量,且x=3,y=4,z=5,则下边表达式中值为
0的是(B)。
A.y&
‘y’
B.x==y&
y!
=z
C.x||y+z&
y-z
D.!
(x<
y)&
!
z||1
3.以下程序运转后的输出结果是(C)。
#include<
stdio.h>
intmain()
inta=5,b=4,c=3,d=2;
if(a>
b>
c)
printf(“%d\n”,d);
elseif((c-1>
=d)==1)
printf(“%d\n”,d+1);
else
printf(“%d\n”,d+2);
9
return0;
C.3
4.在履行以下程序时,为使输出结果为:
t=4,则给a和b输入的值应知足的条件是(C)。
inta,b,s,t;
scanf(“%d,%d”,&
a,&
b);
s=1;
t=1;
if(a>
0)s=s+1;
b)t=s+t;
elseif(a==b)t=5;
t=2*s;
printf(“t=%d\n”,t);
bB.a<
b<
0C.0<
a<
bD.0>
a>
b
5.若a、b均是整型变量,合法的switch语句是(B)。
A.switch(a)
case3.0:
ok!
\n"
break;
default:
***\n"
B.switch(a+b)
caseb:
hello!
\n"
10
C.switch(a-b)
casea-b:
case3:
D.switch(a*b)
case3+5:
习题5:
1.以下程序段C
x=-1;
do
{x=x*x;
}while(!
x);
A.是死循环B.循环履行二次C.循环履行一次D.有语法错误
2.以下while循环履行B次。
intk=2;
while(k=0)
k=%d"
k),k--;
FinalK=%d\n"
A.无穷次B.0次次次
3.下边这个程序的输出是D。
intmain()
{inty=10;
while(y--);
y=%d\n"
y);
A.y=0B.while构成死循环C.y=1D.y=-1
4.若i为整型变量,则以下循环履行次数是D。
for(i=2;
i!
=0;
)
i--);
A.无穷次B.0次C.1次D.2次
11
5.C语言中,while循环和do....while循环的主要差别是A。
A.do....while循环的循环体起码履行1次
B.while循环的循环控制条件比do....while循环控制条件严格
C.do....while循环体不可以是复合语句
D.while循环的循环体起码履行1次
6.语句while(!
E)中的表达式!
E等价于A。
A.E==0B.E!
=1C.E!
=0D.E==1
7.下边程序段的运转结果是A。
a=1;
b=2;
c=2;
while(a<
{t=a;
a=b;
b=t;
c--;
%d,%d,%d"
a,b,c);
A.1,2,0B.2,1,0C.1,2,1D.2,1,1
8.该程序段的输出结果是C。
for(i=0;
i<
5;
i++)
for(j=1;
j<
10;
j++)
if(j==5)break;
if(i<
2)continue;
if(i>
2)break;
%d,"
j);
%d\n"
A.10,3B.5,2C.5,3D.10,2
9.以下不是无穷循环的语句为A。
A.for(y=0,x=1;
x>
++y;
x=i++)i=x;
B.for(;
x++=i);
C.while
(1){x++;
D.for(i=10;
;
i--)sum+=i;
10.以下程序段运转后x的值为C。
inti=0,x=0,j=10;
for(;
=j;
i++,j--)
x+=3;
A.21B.15C.18D.12
习题6:
一、
1、C2、A3、D4、B5、B6、D7、C8、C9、C10、D
习题7:
1.以下正确的说法是()。
A.用户若需要调用标准函数,调用前一定从头定义
B.用户能够直接调用全部标准库函数
12
C.用户能够定义和标准库函数重名的函数,可是在使用时调用的是系统库函数
D.用户能够经过文件包含命令将系统库函数包含到用户源文件中,而后调用系统库函数答案:
D
2.对于函数返回值的的描绘正确的选项是()。
A.函数返回表达式的种类必定与函数的种类同样
B.函数返回值的种类决定了返回值表达式的种类
C.当函数种类与返回值表达式种类不一样,返回时将对返回表达式值的种类变换为函数种类
D.函数返回值种类就是返回值表达式种类
答案:
C
3.以下对于函数的说法错误的选项是()。
A.函数是构成C程序的基本元素
B.主函数是C程序中不行缺乏的函数
C.程序老是从第一个定义的函数开始履行
D.在函数调用以前,一定要进行函数定义或申明
4.在参数传达过程中,对形参和实参的要求是()。
A.函数定义时,形参向来占用储存空间
B.实参能够是常量、变量或表达式
C.形参能够是常量、变量或表达式
D.形参和实参种类和个数都能够不一样
B
5.对数组名作函数的参数,下边描绘正确的选项是()。
A.数组名作函数的参数,调用时将实参数组复制给形参数组
B.数组名作函数的参数,主调函数和被调函数共用一段储存单元
C.数组名作参数时,形参定义的数组长度不可以省略
D.数组名作参数,不可以改变主调函数中的数据
13
6.若函数的种类和return语句表达式的种类不一致,则()。
A.编译时犯错
B.运转时出现不确立结果
C.不会犯错,且返回值的种类以return语句中表达式的种类为准
D.不会犯错,且返回值的种类以函数的种类为准答案:
7.下边函数定义正确的选项是()。
A.floatf(floatx;
floaty)B.floatf(floatx,y)
{returnx*y;
}{returnx*y;
C.floatf(x,y)D.floatf(floatx,floaty)
8.设函数的说明为:
“voidfun(inta[],intm);
”,如有定义“inta[10],n;
”,则下边调用该函数正确的选项是()。
A.fun(a,n);
B.x=fun(inta,intn);
C.fun(a[10],10);
D.x=fun(a[],n);
A
9.以下表达错误的选项是()。
A.主函数中定义的变量在整个函数中都是有效的
B.复合语句中定义的变量只在该复合语句中有效
C.其余函数中定义的变量在主函数中不可以使用
D.形式参数是局部变量
10.以下描绘不正确的选项是()。
A.在函数外定义的变量是全局变量
B.在函数内定义的变量是局部变量
C.函数的形参是局部变量
14
D.全局变量和局部变量不可以同名答案:
11.以下语句对静态变量描绘不正确的选项是()。
A.静态局部变量在静态储存区内分派单元
B.静态局部变量和全局变量使用同样
C.静态局部变量在函数调用结束时,仍保持其值,不会跟着消逝
D.静态局部变量只赋一次初值
12.以下各种变量,哪个不是局部变量()。
A.register型变量B.外面static变量C.auto型变量D.函数形参
习题8:
1.选择题
CBBDB
习题9:
1.以下不正确的定义是________。
A、int*p=&
i,i;
B、int*p,i;
C、inti,*p=&
i;
D、inti,*p;
选项A先定义一个整型指针变量p,而后将变量i的地点赋给p。
但是此时还不决义变量i
所以编译器没法获取变量i的地点。
(A与C对照,选项C先定义变量i,则在内存中为i分派空间,所以i在内存空间的地点就能够确立了;
而后再定义p,此时能够为p赋i的地点,
C正确)
2.如有说明:
intn=2,*p=&
n,*q=p,则以下非法的赋值语句是________。
A、p=q
B、*p=*q
C、n=*q
D、p=n
p,q同为整型指针变量,两者里面仅能寄存整型变量的地点。
选项A,q中为地点,所以可
将此地点赋给p。
选项B,*p表示p所指向对象n的内容,即一个整数;
*q表示q所指向对象的内容,因为在定义q时为其初始化,将p中n的地点给q,所以p中寄存n的地点,*q
表示q所指向对象n的内容.所以*p=*q相当于n=n;
选项C,n=*q等价于n=n;
选项D,p中
15
只好寄存地点,不可以将n中的整数值赋给p
3.有语句:
inta[10],;
则________是对指针变量p的正确立义和初始化。
A、intp=*a;
B、int*p=a;
C、intp=&
a;
D、int*p=&
选项A,a是数组名,不是指针变量名,所以不行用*标明数组名a。
选项C,a是数组名,
数组名就是地点,无需再用地点符号。
并且在定义指针变量p时,应在变量名前加*,注明
p是指针变量。
选项D,a是数组名,数组名就是地点,无需再用地点符号。
4.如有说明语句“inta[5],*p=a;
”,则对数组元素的正确引用是________。
C
A、a[p]
B、p[a]
C、*(p+2)
D、p+2
第一定义一个整型数组a,a的长度为5,而后定义一个指针变量p,并同时对p进行初始化,
将数组a的地点赋给p。
所以此时p中寄存的数组a的首地点,即数组中第一个元素a[0]的
地点。
对于数组元素下标的引用(详见p144),一般形式数组名[下标]此中下标为逻辑地点下标,从0开始计数,方括号中的下标能够是变量,能够是表达式,但结果必定假如整数。
选项A,p中寄存的是地点,不是整数,不可以做数组元素的下标。
选项B,a是数组名,数
组名就是地点,不是整数,不可以做数组元素的下标。
选项C,p+2表示指向同一数组中的下
两个元素的地点,目前p指向a[0],则p+2表示a[2]的地点,所以*(p+2)表示a[2]的内容
5.有以下程序
inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
则数值为9的表达式是________。
B
A、*P+9
B、*(P+8)
C、*P+=9
D、P+8
第一定义一个整型数组a,a的长度为5,而后定义一个指针变量P,并同时对P进行初始化,将数组a的地点赋给P。
所以此时P中寄存的数组a的首地点,即数组中第一个元素
a[0]的地点。
数组中9对应的是a[8],选项B,P+8表示数组中后8个元素的地点,即a[8]
的地点。
*(P+8)则表示该地点内所寄存的内容,即a[8]的值。
选项A,*P表示P所指向对象的内容,此时P指向a[0],*P即a[0]的值1.*P+9=1+9=10。
选项C,*P表示P所指向对象的内容,此时P指向a[0],*P即a[0]的值。
所以*P+=9即
*P=*P+9,等价于a[0]=a[0]+9。
选项D,P+8表示数组中后8个元素的地点,即a[8]的地点,而非a[8]中的值。
6.如有以下程序:
voidfun(float*a,float*b)
(floatw;
*a=*a+*a;
w=*a;
*a=*b;
*b=W;
16
{floatx=2..0,y=3.0,*px=&
x,*py=&
y;
fun(px,py);
printf(”%.0f,%.0f\n”,x,y);
)
程序的输出结果是________。
A.4,3B.2,3C.3,4D.3,2
参照分析:
voidfun(float*a,float*b){//a=px,即a指向x,b=py,即b指向y,则*a等价于x,*b等价
于y
floatW;
//将x数据自加,x变成4
W=*a;
*a=*b;
*b=w;
//将x和y地点里面的数据交换,则x变
为3,y变成4)
7.以下对构造变量stul中成员age的非法引用是________。
structstudent
intage;
intnum;
}stu1,*p;
p=&
stu1;
A、
B、
C、p->
age
D、(*p).age
8.定义以下构造体(结合)数组:
struetSt
charname[15];
)a[10]={”ZHANG”,14,”WANG”,15,”LIU”,16,”ZHANG”,17);
履行语句printf(”%d,%c”,a[2].age,*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教材 每章 选择题 参考答案