C语言程序设计期末考试选择题题库Word格式文档下载.docx
- 文档编号:5365112
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:27
- 大小:31.53KB
C语言程序设计期末考试选择题题库Word格式文档下载.docx
《C语言程序设计期末考试选择题题库Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计期末考试选择题题库Word格式文档下载.docx(27页珍藏版)》请在冰点文库上搜索。
,则y的值是(B)A,1
B,2.0
C,2
D,2.58、设inta=1,b=2;
以下选项中不正确的语句是(B)
A.a=a+b
B.a*3=3
C.a+=3
D.a/=1
(C)
9、在C语言中,要求参加运算的数必须是整数的运算符是
A.*
B./
C.%
D.++
10、设有定义:
inta=7;
floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是(D)A,3.5
B,2.75
C,0.0
D,2.5
第三章
1、执行以下程序后k的值是(C)inti,j=10,k=0;
for(i=0;
i<
=j;
i++)
{k=i+j;
j--;
}
A.9
B.8
C.10
D.11
2、2、设inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>
b)&
&
(n=c>
d)后n的值为(C)
A.3
B.1
C.2
D.0
3、表示y在(-∞,3]和[23,+∞)范围内为真的表达式为(A)
A.(y<
=3)||(y>
=23)
C.(y<
3)||(y>
23)
C.(y<
=3)&
(y>
D.(y<
3)&
4、设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是(D)voidmain()
{ints=0,a=1,n;
scanf("
%d"
&
n);
do
{s=s+1;
a=a-2;
}while(a!
=n);
printf("
%d"
s);
A.-5
B.0
C.-1
D.-3
5、对下面程序段,描述正确的是(D)for(t=1;
t<
=100;
t++)
{scanf("
x);
if(x<
0)continue;
printf("
x);
A.当x>
=0时,什么也不输出
B.printf函数永远也不执行
C.当x<
0时,整个循环结束
D.最多允许输出100个非负整数
6、已知intx=10,y=20,z=30;
则执行以下语句后x、y、z的值是(A)if(x>
y)
z=x;
x=y;
y=z;
A.x=20,y=30,z=30
B.x=20,y=30,z=10
C.x=20,y=30,z=20
D.x=10,y=20,z=307、设有声明语句:
inta=1,b=0;
则执行以下语句后输出结果为(A)switch(a)
{case1:
switch(b)
{case0:
**0**"
);
break;
case1:
**1**"
case2:
**2**"
B.有语法错误
C.
**0
D.**08、以下程序段的输出结果是(B)intx=5;
if(x--<
5)printf("
elseprintf("
x++);
A.6
B.4
C.5
D.3
9、算法描述可以有多种表达方法,下面(C)方法不可以描述算法
A.自然语言
B.伪代码
C.机器语言
D.N-S图
10、for(i=j=0;
10&
j<
8;
i++,j+=3)控制的循环体执行的次数是(C)
A.2
C.3
D.9
第四章
1、包含标准库函数scanf声明的头文件是(B)
A.stdlib.h
B.stdio.h
C.time.h
D.math.h2、以下关于函数的叙述中正确的是(C)
A.C语言程序将从源程序中第一个函数开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D.main可作为用户标识符,用以定义任意一个函数
3、以下正确的函数定义是(
A)
A.double
fun(int
x,int
y){
double
z;
z=x+y;
returnz;
}
B.double
C.fun(x,y){
int
x,y;
z=x+y;
return
D.fun(int
x,y)
{int
returnz;
4、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(D)
A.地址传递
B.由用户指定传递方式
C.由实参传给形参,再由形参传回实参
D.单向值传递
5、以下正确的描述是(A)
A.函数的定义不可以嵌套,但函数的调用可以嵌套
B.函数的定义可以嵌套,但函数的调用不可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可嵌套6、以下关于函数的叙述中不正确的是(C)
A.C程序是函数的集合,包括标准库函数和用户自定义函数
B.在C语言程序中,函数的定义不能嵌套
C.在C语言程序中,被调用的函数必须在main函数中定义
D.在C语言程序中,函数的调用可以嵌套
7、下列程序的运行结果是(D)
#include<
stdio.h>
voidint{
}void
{
fun();
main()
inta=10;
fun();
]"
a);
return0;
fun()
inta=20;
A,2020
B,1020
C,1010
D,20108、下列程序的运行结果是(D)
intfun1(intx);
voidfun2();
intx=5;
intmain()
intx=1;
x=fun1(x);
return0;
intfun1(intx){
x++;
fun2();
returnx;
voidfun2()
A.7
B.5
C.6
D.29、以下不正确的说法是(C)
A.在函数内定义的变量只在本函数范围内可以使用
B.形式参数是局部变量
C.在主函数内定义的变量可在其余函数中通用
D.在不同函数中可以使用相同名字的变量
10、下列程序的运行结果是()
void
a=5;
a=a+5;
A.5
5
B.10
10
D.10
第五章
1、利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则(C)。
A.将当前数据后移
B.交换两个数的位置
C.不做操作
D.将当前数据前移
2、在定义intm[][3]={1,2,3,4,5,6};
后,m[1][0]的值是(C)
C.4
D.5
3、若给出以下定义:
charx[]="
abcdefg"
;
chary[]={'
a'
'
b'
c'
d'
e'
f'
g'
};
则正确的叙述为(C)。
A.数组x和数组y等价
B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度
D.数组x的长度小于数组y的长度
4、函数调用语句为:
inta[10],maxnum;
maxnum=max(a);
函数定义首部应为(B)。
A.doublemax(intb[])
B.intmax(intb[])
C.intmax(inta)
D.intmax(intb)
intb[3][4]={0};
则下述正确的是(D)
A.没有元素可得初值0
B.数组b中各元素可得初值但值不一定为0
C.此定义语句不正确.
D.数组b中各元素均为0
6.C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是(A)
A.数组
B.结构体
C.链表
D.队列
7、冒泡排序中,若有n个数,第一趟最多需要比较(C)次
A.n
B.2(n-1)
C.n-1
D.2n
8.当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可(A)
A.在方括号中写入变量表达式
B.对数组元素赋同一初值
C.对部分元素赋初值
D.对全部元素赋初值9、数组元素下标可从(0)开始
A.用户指定
C.任意自然数
D.010、若不允许函数修改数组元素,则可以用(A)限定符作为数组参数的前缀,这样数组元素就成为函数中的常量。
A.const
B.fix
C.define
D.include
第六章
1、在16位系统中,定义以下结构体类型structs
inta;
charb;
floatf;
则语句printf("
sizeof(structs))的输出结果为(B)
A.4
B.7
D.62、
以下选项中不能正确把cl定义成结构体变量的是(B)
A.structcolor
{intred;
intgreen;
intblue;
}cl;
B.structcolorcl
C.struct
{intred;
intgreen;
}c1;
D.typedefstruct
}COLOR;
COLORcl;
3、结构体变量整体作函数参数时,以下说法正确的是(D)
A.以上说法都不对
B.结构体变量整体不能做形参
C.结构体变量整体不能做实参
D.实参结构体变量和形参结构体变量的类型应当一致4、已知字符'
0'
的ASCII码为十六进制的30H,下面程序的输出是(D)voidmain()
{union{unsignedcharc;
unsignedinti[4];
}z;
z.i[0]=0x39;
z.i[1]=0x36;
%c\n"
z.c);
5、在下面的叙述中,不正确的是(A)。
A.枚举常量的值可以是整数或字符串
B.枚举变量只能取对应枚举类型的枚举常量表中的元素
C.可以在定义枚举类型时对枚举常量进行指定表示的值
D.枚举常量表中的元素有先后次序,可以进行比较
第七章
1、程序编译后,对变量的访问时通过(B)来进行的。
A.变量名
B.地址
C.文件
D.函数
2、若int*p[4],则p的含义是(A)。
A.指针数组
B.指向一维分数组的指针
C.整型变量
D.指向整型的指针
3、请正确的填充语句:
voidmain(intargc,char(A))。
A.*argv[]
B.argv
C.argv[]
D.**argv[]
4、inta[10],*p;
则让p指向数组的首地址的是(C)。
A.*p=a
B.p=a[0]
C.p=&
a[0]
D.a=p5、inta[3][5],*p;
p=a[0];
则p++后的值代表了(D)。
A.第二行的首地址
B.第一个元素的首地址
C.第一个元素的值
D.第一行第二个元素的首地址
6、定义p为指向函数的指针变量,应该采用(D)方式
A.int
B.int
*p(int*x);
p(int*x);
p(intx);
(*p)(intx);
7、获取指针变量所指向的值,用的运算符是(B)A.&
B.*
D.!
8、系统根据(B)为变量分配内存单元。
A.大小
B.类型
C.名称
D.数据
9、程序编译后,对变量的访问时通过(D)来进行的
A.文件
B.函数
C.变量名
D.地址
10、inta[5]={printf("
%d\n"
*p+1);
结果是(C)。
A.10
B.20
C.11
10,20,30,40,50
},*p=a;
D.21
第八章
1、将文件分为ASCII码文件和二进制码文件两种,是从文件的(A.存盘方式
B.读写方式
C.编码方式
D.打开方式
C)来区分的
2、文本文件在磁盘存放时,每个字符对应一个字节,用来存放(
A.字符
B.数字
C.ASCII
D.二进制
C)码
3、文件操作流程中的最后一个步骤是(C)文件
A.存储
B.读取
C.关闭
D.打开4、文件的变量类型名是(D)
A.file
C.char
D.FILE5、在fopen函数中,“rb”表示为输入打开一个(A)文件
A.二进制
B.头文件
C.文本
D.目标文件
散乱的:
3、下列数据类型的精度由高到低的顺序是(B)
A.float,double,int,long
B.double,float,int,char
C.char,long,double,float
D.double,long,float,int
5、C语言中符号常量定义的关键字是(D)
B.const
C.include
D.define6、表达式3.6-5/2+1.2+5%2的值是(D)
A,4.3
B,4.8
C,3.3
D,3.87、以下选项中非法的表达式是(D)
A.0<
=x<
100
B.i=j==0
C.(char)(x<
100)
D.x+1=x+18、若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值是(C)
A.-3
B.9
C.-12
D.6
9、有输入语句:
scanf("
a=%d,b=%d,c=%d"
a,&
b,&
c);
为使变量a的值为1,b的值为3,c的值2,正确的数据输入方式是(D)
A.132
B.1,3,2
C.a=1b=3c=2
D.a=1,b=3,c=210、函数putchar()可以向终端输出一个(B)
A.字符串
B.字符或字符型变量的值
C.整型变量的值.
D.实型变量的值11、下列运算符中,优先级从高到低依次为(D)
A.&
!
||
B.||&
C.&
||!
D.!
&
||11、表达式!
x等效于(B)
A.x==1
B.x==0
C.x!
=1
D.x!
=013、以下程序的运行结果是(C)voidmain()
{inta=0,b=1,c=0,d=20;
if(a)d=d-10;
elseif(!
b)
if(!
c)d=15;
elsed=25;
d);
(2.5分)
A.15
B.25
C.20
D.1014、以下程序段的输出结果是(A)intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
}printf("
a=%d,b=%d\n"
a,b);
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
15、设有如下程序,则程序的输出结果是(B)intk=1,s=0;
while(s<
10)
{s=s+k*k;
k++;
k);
D.616、以下程序段的输出结果是(C)intk,n;
for(k=1;
k<
=5;
k++)
{n=k*k;
if(n<
10)continue;
n);
A.149
B.1491625
C.1625
D.因循环终止,没有任何输出结果
17、以下正确的函数原型声明是(C)
x,
x;
y);
D.doublefun(intx,y)
18、下列程序的输出结果是(C)intfun(inta,intb,intc){c=a*b;
returnc;
{intc=5;
c=fun(2,3,c);
printf(“%dn”,c);
A.0
D.519、以下不正确的说法是,C语言规定(B)
A.实参可以是常量、变量或表达式
B.形参可以是常量、变量或表达式
C.实参可以是任意类型
D.实参应与其对应的形参类型一致
22、
下列程序的运行结果是(C)
#include<
fun(intx);
fun(7);
"
fun(intx)
if(x/2>
1)
fun(x/2);
-"
B.2
7
7.
D.2
23、以下数组定义中,(D)是错误的
A.inta[7];
B.#defineN5
longb[N];
C.charc[5];
D.intn,d[n];
24、执行下面程序,输出结果是(B)#include<
voidmain()
inti,j=3,a[]={1,2,3,4,5,6,7,8,9,10};
5;
a[i]=i*(i+1);
4;
j+=a[i]*3;
j);
A.33
B.63
C.123
D.48
25、
执行下面程序,输出结果是(C)
voidmain()
inti,j,k=0,a[3][3]={1,2,3,4,5,6};
3;
for(j=0;
j++)
k+=a[i][j];
A.21
B.19
C.17
D.18
26、执行下面程序,输出结果是(B)
inti,a[10]={0,1,2,3,4,5,6,7,8,9};
for(i=1;
9;
a[i]=a[i-1]+a[i+1];
%d%d"
a[5],a[7]);
A.1014
B.2035
C.812
D.2744
27、设有charstr[]="
Shanghai"
则执行printf("
A.14
B.ShanghaiShanxi
D.Shanxi28、若有定义和语句:
chars[10]=”abcd”;
printf(“%sn”,s);
则结果是(以下u代表空格)(A)
A.输出abcd
B.输出a
C.输出abcduuuuuu
D.编译不通过
29、当定义一个结构体变量时,系统为它分配的内存空间是(D)
A.结构体中一个成员所需的内存容量
B.结构体中第一个成员所需的内存容量
C.结构体中占内存容量最大者所需的容量
D.结构体中各成员所需内存容量之和
30、根据下面的定义,能打印出字母P的语句是(C)structperson
{charname[9];
intage;
structpersonclasses[10]={"
John"
17,"
Paul"
19,"
Mary"
18,"
Adam"
16};
A.printf("
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 期末考试 选择题 题库