C语言期末考试选择题题库含答案Word下载.docx
《C语言期末考试选择题题库含答案Word下载.docx》由会员分享,可在线阅读,更多相关《C语言期末考试选择题题库含答案Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
----------------------------------------------------------------
0020以下不正确的转义字符是(D)。
A.'
\\'
B.'
\"
'
C.'
074'
D.'
\0'
---------------------------------------------------------------
0023以下叙述正确的是(D)。
A.do-while语句构成的循环不能用其他语句构成的循环来代替
B.do-while语句构成的循环只能用break语句退出
C.do-while语句构成的循环,在while后的表达式为非零时结束循环
D.do-while语句构成的循环,在while后的表达式为零时结束循环
0024若有以下程序片段
charstr[]="
ab\n\012\\\"
"
%d\n"
strlen(str));
则执行printf语句的输出结果是(A)。
A.6B.12C.3D.4
0028对于如下之程序段,应有(D)。
chara[10],b[]="
china"
a=b;
%s"
a);
A.运行后将输出chinaB.运行后将输出ch
C.运行后将输出cD.程序出错,不能运行
--------------------------------------------------------------
0031决定C语言中函数返回值类型的是(D)。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.调用函数时临时指定的类型
D.定义函数时在函数首部中所指定的类型
0032在C语言中,合法的整型常数是(A)
A.-0x123B.3.14159
C.01001101BD.6.7e10
------------------------------------------------------------
0039以下选项中属于C语言的数据类型是(C)。
A.复数型B.逻辑型
C.双精度型D.集合型
0040设x和y均为int型变量,则下列语句
x+=y;
y=x-y;
x-=y;
的功能是(D)。
A.把x和y按从大到小排序B.把x和y按从小到大排序
C.无确定结果D.交换x和y的值
0043在C语言中,变量所分配的内存空间大小(C)
A.均为一个字节
B.由用户自己定义
C.由变量的类型决定
D.是任意的
0044执行以下程序的输出结果是(B)。
inti;
for(i='
a'
i'
i++,i++)
%c"
i);
A.编译不通过B.acegC.acegi(4)abcdefghi
0045以下不形成死循环的是(D)。
A.for(;
x+=i);
B.while
(1)x++
C.for(i=10;
i--)sum+=i;
D.for(;
(c=getchar())!
='
\n'
)printf("
c);
0047若有以下定义和语句
chars[10];
s="
ABCD"
%s\n"
s);
则结果是(D)。
A.输出ABCDB.输出A
C.输出ABCD.有语法错误,编译不能通过
0048下列关于带初始赋值的字符数组说明中,错误的是(B)。
A.charstr[]={'
T'
u'
r'
b'
o'
'
C'
};
B.charstr[7]="
TurboC"
C.charstr[]="
D.char*str="
0056若有说明:
chars1='
\067'
chars2="
1"
chars3='
1'
则s2中(D)。
A.包含1个字符B.包含2个字符
C.包含3个字符D.无定值,说明不合法
0058能将C语言编写的源程序转换成目标程序的是(B)。
A.编辑程序B.编译程序C.解释程序D.链接程序
-----------------------------------------------------------
0060执行下述程序的输出结果是(A)。
#include<
stdio.h>
intmain()
{
inta,b,c=246;
a=c/100%9;
b=(-1)&
&
(-1);
%d,%d\n"
a,b);
}
A.2,1B.3,2C.4,3D.2,-1
0063两次运行下述程序,如果从键盘上分别输入6和4,则输出结果是(A)。
intx;
scanf("
%d"
&
x);
if(x++>
5)
x);
else
x--);
A.7和5B.6和3C.7和4D.6和4
0067若inti;
则以下循环语句的循环执行次数是(B)
for(i=2;
i==0;
i--);
A.无限次B.0次C.1次D.2次
0080设有变量说明
intk=7,x=12;
则能使值为3的表达式是(D)。
A.x%=(k%=5)B.x%=(k-k%5)
C.x%=k-k%5D.(x%=k)-(k%=5)
0102若设n是个整型变量且已有值,则与给定条件表达式
(!
n)?
n+10:
n-10
等价的条件表达式是(C)。
A.(n!
=0)?
n-10B.(n!
=1)?
n-10
C.(n==0)?
n-10D.(n==1)?
0104设有程序
intx=3,y=0,z=1;
if(x=y+z)
****\n"
);
else
####\n"
则以下叙述正确的是(A)。
A.程序有语法错误,不能通过编译
B.程序可执行,输出结果是****
C.程序可以通过编译,但是不能通过连接,因而不能运行
D.程序可执行,输出结果是####
0111下述对于C语言字符数组的描述中错误的是(C)。
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
0115阅读程序
intfunC(intB[],intn)
inti,r;
r=1;
=n;
i++)
r=r*B[i];
return(r);
intx,A[]={2,3,4,5,6,7,8,9};
x=funC(A,3);
执行下述程序的输出结果是(B)。
A.720B.120C.24D.6
0123已知intA=6;
则执行A+=A-=A*A;
语句后,A的值为D
A.36B.0C.-24D.-60
0128若i、j已定义为int类型,则以下程序段中内循环体执行printf语句的总执行次数是(A )。
for(i=5;
i;
i--)
for(j=0;
j<
4;
j++)
OK.\n"
A.20B.24C.25D.30
0133以下关于数组说明的描述中正确的是(C)。
A.数组的大小是固定的,但可以有不同类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同类型的数组元素
0146语句printf("
(A=2)&
(B=-2));
则输出结果是(D)。
A.无输出B.结果不确定C.-1D.1
0147设有如下的变量定义
inti=8,k,A,B;
unsignedlongw=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是(A)。
A.A+=A-=(B=4)*(A=3)B.x%(-3)
C.A=A*3=2D.y=float(i);
0150给出以下定义
charx[]="
ABCDefg"
chary[]={'
B'
D'
e'
f'
g'
则正确的叙述为(C)。
A.数组x和数组y等价
B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度
D.数组x的长度小于数组y的长度
0153下述描述中不正确的是(C)。
A.字符型数组中可以存放字符串
B.可以对字符型数组进行整体输入、输出
C.可以对整型数组进行整体进行输入、输出
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
0158在计算机上可以直接运行的程序是写(C)
A.高级语言程序 B.汇编语言程序 C.机器语言程序 D.C语言源程序
0163下列符号串中,合法的C.语言标识符是(A)
A._121 B.121_ C.a.121 D.#121
0165下列符号串中,合法的十进制整型常量是(D)
A.09876 B.0x9876 C.9.876*e4D.-9876
0166字符串"
m\x43\\\np\102q"
的长度是(A)
A.7B.9C.15D.16
0168执行下列程序后的输出结果是(C)
intfun(intx1,intx2)
{intx;
x1>x2?
(x=3):
(x=4);
return(x+x1);
}
{printf("
%d\n"
,fun(7,8));
}
A.9B.10C.11D.12
0175执行下列程序段后的输出结果是(C)
x=9;
while(x>7)
{printf("*");
x--;
A.****B.***C.**D.*
0177能正确表达逻辑关系“-1<x<1并且-1<y<1”的表达式是(D)
A.(-1<x<1)&
(-1<y<1)
B.(-1<x<1)&
C.((-1<x)¦
¦
(x<1))&
((-1<y)¦
(y<1))
D.(-1<x)&
(x<1)&
(-1<y)&
(y<1)
0179若整型变量x的值为8,则下列表达式中值为1的表达式是(B)
A.x+=x-=x=xB.x%=x-1C.x%=x%=3D.x/=x+x
0187已知x,y,z均为整型变量,且值均为1,则执行语句++x||y++&
z++;
后,表达式x+y的值为(C)
A.1B.2C.3D.4
0188已知inta=1,b=1;
则语句printf("
(a--,++b));
的输出结果是(C)
A.2B.0C.1D.语句错误
0194以下叙述中错误的是A
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.数组名代表的是数组所占存储区的首地址,其值不可改变
C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出"
下标越界"
的出错信息
D.可以通过赋初值的方式确定数组元素的个数
0201有以下程序段
chara[7]="
A0\0A0\0"
inti,j;
i=sizeof(a);
j=strlen(a);
printf("
%d%d\n"
i,j);
程序运行后的输出结果是(C)
A.22B.76C.72D.62
0202已知inta=6;
则执行a+=a-=a*a;
语句后,a的值为(D)
A.36B.0C.-24D.-60
0205有以下程序段
intm=12,n=34;
%d%d"
m++,++n);
%d%d\n"
n++,++m);
程序运行后的输出结果是(A)
A.12353514B.12353513C.12343514D.12343513
0207数字字符0的ASCII值为48,若有以下程序
intmain()
{
charA=’1’,B=’2’;
%c,"
B++);
B-A);
}
程序运行后的输出结果是C
A.3,2B.50,2C.2,2D.2,50
0208以下叙述中正确的是C
A.用C语言实现的算法必须要有输入和输出操作
B.用C语言实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
0209阅读以下程序,当输入数据的形式为:
25,13,10<
CR>
正确的输出结果是(D)。
intmain()
{intx,y,z;
scanf(“%d%d%d”,&
x,&
y,&
z);
printf(“x+y+z=%d\n”,x+y+z);
}
A.x+y+z=48B.x+y+z=35
C.x+z=35D.不确定值
0210一个C程序的执行是从(A)。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
0211若x、i、j和k都是int型变量,则计算下面表达式后,x的值为(C)。
x=(i=4,j=16,k=32)
A.4