辽东学院 c语言期末复习题Word格式.docx
- 文档编号:4140224
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:15
- 大小:24.29KB
辽东学院 c语言期末复习题Word格式.docx
《辽东学院 c语言期末复习题Word格式.docx》由会员分享,可在线阅读,更多相关《辽东学院 c语言期末复习题Word格式.docx(15页珍藏版)》请在冰点文库上搜索。
}
此程序的输出结果是______
A.30
24
60
D.
48
8.在16位机上使用C语言,若有如下定义:
uniondata{inti;
charch;
doublef;
}b;
则共用体变量b占用内存的字节数是________。
A.所有成员字节数的总和B.2C.成员f的字节数D.11
9.以下说法正确的是:
A.输入项可以为-实型常量,如scanf("
%f"
3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf("
a=%d,b=%d"
);
C.当输入-个实型数据时,格式控制部分应规定小数点后的位数,
如scanf("
%4.2f"
&
f);
D.当输入数据时,必须指明变量的地址,如scanf("
10.下列对数组定义不正确的语句是______
A.intm[5];
B、charb[]={‘h’,‘e’};
C、inta[10]={1,6,8,4};
D、char
p[];
11、能正确表示a和b同时为正或同时为负的逻辑表达式是_______。
A.a>
=0||b>
=0)&
&
(a<
0||b<
0)
B.(a>
=0&
b>
0&
b<
0)
C.(a+b>
0)&
(a+b<
=0)
D.a*b>
12.有如下语句:
X+Y*Z>
39&
X*Z||Y*Z是什么表达式_________。
A.算术表达式
B.逻辑表达式
C.关系表达式
D.字符表达式
二、填空题(每空2分,共20分)
1.C语言中的实型变量分为两种类型,它们是______________和_____________。
2.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式______________。
3、若有inta[5],*p=a;
则p+2表示第
个元素的地址。
4.表达式7+8>
2&
25%5的结果是___________________。
5.int*p的含义________________________________。
6.一个变量的指针是指。
7.数组int
a[3][4];
共定义了___________个数组元素。
8.执行以下for(i=1;
i++<
=5)语句后,变量i的值为______________。
9、设a=12、b=24、c=36,对于“scanf(”a=%d,b=%d,c=%d“,&
a,&
b,&
c);
”,输入形式应为______________。
一、选择题(每题2分,共20分)
1、列正确的标识符是。
A.hot_do
B.a+b
C.test!
D.%y
2、设整型变量a为5,使b不为2的表达式是。
A.b=a/2
B.b=6-(——a)
C.b=a%2
D.b=a>
3?
2:
1
3、设x和y均为int型变量,则语句x+=y;
y=x-y;
x-=y;
的功能是
A.把x和y按从大到小排列B.把x和y按从小到大排列
C.无确定结果D.交换x和y中的值
4、以下程序的输出结果是。
intx=10,y=10;
printf(“%d
%d\n”,x——,——y);
A.10
B.9
9
C.9
D.10
9
5、变量定义为inta[3]={1,4,7},*p=&
a[2],则*p的值是。
A.&
a[2]
B.4
C.7
D.1
6、以下不能正确定义二维数组的语句是_________。
A.inta[2][2]={{1},{2}};
B.inta[][2]={1,2,3,4};
C.inta[2][2]={{1},2,3};
D.inta[2][]={{1,2},{3,4}};
7、下面几种说法中哪个是正确的?
_____________
A.else语句需与它前面的if语句配对使用;
B.else语句需与前面最接近它的if语句配对使用;
C.else语句需与前面最接近它的,且没有和其它else语句配对的if语句配对;
D.以上都正确。
8、下面程序段的运行结果是________。
charstr[]="
EFC"
*p=str;
printf("
%d\n"
*(p+2));
A.70B.0C.字符'
F'
的地址D.字符'
9、以下程序的输出结果是。
charstr[15]=“hello!
”;
printf(“%d\n”,strlen(str));
A.15
B.14
D.6
10、若有如下定义,则_________是对数组元素的正确的引用。
int
a[10],*p;
p=a;
A.*&
a[10]
a[11]
*(p+10)
D.*p
1、数组是表示类型相同的数据,而结构体则是若干
数据项的集合。
2、若自定义函数要求返回一个值,则应在该函数体中有一条语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符。
3、下列程序段的输出是___。
int*p,*q,k=5,j=6;
q=&
k;
p=q;
q=&
j;
printf("
%d"
*p);
4、在C语言中,字符串常量是用
括起的一串字符。
5、语句for(i=1;
i==1;
++i);
循环次数是,退出循环后i=。
6、C语言的表达式与语句的区别在于。
7、给定声明intx=5,y=4;
,表达式x+=y++的值是,执行该表达式后,x,y的值是,。
一、选择题(每小题2分,共20分)
1、在C程序中有如下语句:
char*func(intx,inty);
它是。
A.对函数func的定义。
B.对函数func的调用。
C.对函数func的原型说明。
D.不合法的。
2、对于for(s=2;
;
s++)可以理解为:
(
)
A.for(s=2;
0;
s++)
B.for(s=2;
1;
s++)
C.for(s=2;
s<
2;
D.for(s=2;
s>
2;
3、若c,c1,c2均为字符型变量,下列语句执行后。
c='
a'
;
c1=++c;
c2=c++;
c1,c2的值分别为。
A、c1='
b'
c2='
c'
B、c1='
c2='
C、c1='
D、c1='
4、执行语句:
printf(“%d”,(a=2)&
(b=-2));
后,输出结果是______。
A.无输出
B.结果不确定
C.-1
5、若变量c为char类型,能正确判断出c为小写字母的表达式是______.
A.‘a’<
=c<
=‘z’
B.(c>
=‘a’)||(c<
=‘z’)
C.(‘a’<
=c)and(‘z’>
=c)
D.(c>
=‘a’)&
(c<
6、设单精度变量f,g均为5.0,使f为10.0的表达式是________.
A.
f+=g
f-=g+5
f*=g-15
f/=g*10
7、已有定义intx=3,y=4,z=5;
则表达式“!
(x+y)+z-1&
y+z/2”的值是_______.
A.6
B.0
C.2
D.1
8、设a=1,b=2,c=3,d=4,则表达式:
a<
b?
a:
c<
d?
d的结果是()
A.4
B.3
9、设a为整型变量,不能正确表达数学关系:
10<
15的C语言表达式是()
A.10<
15
B.a==11||a==12||a==13||a==14
C.a>
10&
D.!
=10)&
!
(a>
=15)
10、以下说法中正确的是______________.
A、在C程序中,每行只能写一条语句
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数据
C、在C程序中,%是只能用于整数运算的运算符
D、在C程序中,无论是整数还是实数,都有能被准确无误地表示
(1)、组成数组元素的特点是_________________;
组成结构体元素的特点是___________________.
(2)C语言提供的三种逻辑运算符是、、。
(3)C程序设计中语句后的符号/*……*/所起作用是______________。
(4)在循环中,continue语句与break语句的区别是:
continue语句是_______,break是______。
(5)在C语言中,正确的标识符是由组成的,且由开头的。
(6)数组是表示类型相同的数据,而结构体则是若干
(7)C语言中putchar(c)函数的功能是______________________________。
三、判断题(每题1分,共10分)
1、C语言源程序文件通过了编译、连接之后,生成一个后缀为.EXE的文件。
(
2、在C程序中,函数既可以嵌套定义,也可以嵌套调用。
()
3、表达式1/2与表达式1.0/2.0的结果相同。
4、构成数组的各个元素可以有不同的数据类型。
)
5、在定义二维数组时,可以将该数组的两个维数全部省略
6、C语言中字符串的结束符是‘\0’。
()
7、do一while循环由do开始,用while结束,在while(表达式)后面不能写分号。
()
8、C程序总是从main()函数的第一条语句开始执行的。
()
9、只能在循环体内和switch语句体内使用break语句。
10、字符串"
That"
小于字符串"
the"
。
四、将下列程序补充完整(每空2.5分,共10分)
1、输入三角形的三条边a,b,c,求三角形的面积。
#include“math.h”
#include“stdio.h”
main()
{float
a,b,c,d,t,s;
printf(“请输入三角形的三条边:
”);
scanf(“%f,%f,%f”,&
if
(1)
printf(“%f%f%f不能构成三角形!
”,a,b,c);
else{t=(a+b+c)/2;
s=
(2)
printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”,a,b,c,s);
}}
2、编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。
{intx,n,k,k1=0,k2=0,k3=0;
printf(“inputn=:
(3)
for(k=0;
k<
n;
k++)
{scanf(“%d”,&
x);
if(x<
0)k1++;
(4);
else
k3++;
printf(“k1=%4d,k2=%4d,k3=%4d\n”,k1,k2,k3)}}
五、读程序题(每题5分,共10分)
1、 4.
main()
{staticinta[][3]={9,7,5,3,1,2,4,6,8};
inti,j,s1=0,s2=0;
i,j,s1=0,s2=0;
for(i=0;
i<
3;
i++)
for(j=0;
j<
j++)
{if(i==j)s1=s1+a[i][j];
if(i+j==2)s2=s2+a[i][j];
}
printf(“%d\n%d\n”,s1,s2);
2、intfun(intn)
{if(n>
returnn*fun(n-1);
else
return1;
{
inta=fun(4);
printf(″a=%d\n″,a);
程序运行结果:
____________________
1.若有代数式3ae/bc,则不正确的C语言表达式是:
A)a/b/c*e*3B)3*a*e/b/c
C)3*a*e/b*cD)a*e/c/b*3
2.设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为。
A.P+i*2
P+(i-1)*2
C.
P+(i-1)
P+i
3.以下能正确定义整型变量a、b、c并为其赋初值5的语句是。
A.int
a=b=c=5;
B.int
a,c,c=5;
C.a=5,b=5,c=5;
D.a=b=c=5;
4、若有说明inta[3][4];
则对a数组元素的正确引用是
A.a[2][4]
B.a[1,3]
C.a[1+1][0]
D.a
(2)
(2)
5、设inta=5,b,*p=&
a,则使b不等于5的语句为:
A.b=*&
a
B.b=*a
C.b=*p
D.b=a
6.下面程序段的运行结果是
charc[5]={'
'
\0'
};
%s"
c);
A.’a’’b’B.abC.abcD.a,b
7.已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下不符合C语言语法的表达式是:
A)x%(-3)B)w+=-2
C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)
8、不是C语言实型常量的是:
A.55.0
B.0.0
C.55.5
D.55e2.5
9.已有定义inta=-2;
和输出语句:
%8lx"
a);
以下正确的叙述是:
A.整型变量的输出格式符只有%d-种
B.%x是格式符的-种,它可以适用于任何-种类型的数据
C.%x是格式符的-种,其变量的值按+六进制输出,但%8lx是错误的
D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
10.字符串“xyzw”在内存中占用的字节数是:
B.5
C.4
D.3
1.语句printf(″s\\t″)的输出结果为。
2.C程序设计的三种基本结构是_______、________、________。
3.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>
c&
b-c的值是。
4.若有说明和语句:
inta=25,b=60;
b=++a;
则b的值是
。
5.若有定义:
charc=‘\010’;
则变量c中包含的字符个数是。
6.在C语言中,二维数组元素在内存中的存放顺序是。
若有定义:
doublex[3][5];
则x数组中行下标的下限为,列小标的上限为
a[5][4];
共定义了______个数组元素。
8.设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是__。
三、判断题(每小题1分,共10分)
1.逻辑运算符&
、||
、!
的运算顺序是!
优先于&
优先于||。
2、在循环过程中,使用break语句和continue语句的作用是一样的(
3.数组的下标从1始。
4.数组名可以作为参数进行传递。
5.C语言的一个特点是可以对计算机硬件进行操作
6.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输
入实型数值。
7.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式。
8.C语言中字符串的结束符是‘\0’。
9、逻辑运算符两侧运算对象的数据类型只能是0或1。
10.一个C程序的执行是从本程序的main函数开始,到本程序文件的最后一个函数结束。
(
11.getchar()函数的功能是从键盘上输入一个字符串。
12、inti=20;
switch(i/10){case2:
A"
case1:
B"
}输出
结果为A。
13.在定义二维数组时,可以将该数组的两个维数全部省略
14.若有说明intc;
则while(c=getchar());
是错误的C语句。
15.10、在C程序中,APH和aph代表不同的变量。
1.
C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回给实参
D.由用户指定传递方式
2.在C语言中,要求运算数必须是整型的运算符是
A、/
B、++
C、!
=
D、%
3、若有以下定义语句doublea[8],*p=a;
inti=5;
对数组元素错误的引用是
A.*a
B.*a[5]
C.*(p+i)
D.p[8]
4.下面标识符中正确的是。
A、a#bc
B、123ABC
C、sime
D、Y·
M·
D
5.
以下正确的函数定义形式是。
A.doublefun(intx,inty);
B.doublefun(intx;
inty)
C.doublefun(intx,inty)D.doublefun(intx,y)
6.
以下对二维数组a进行正确初始化的是(
A.inta[2][3]={{1,2},{3,4},{5,6}};
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][]={1,2,3,4,5,6};
D.inta[2][]={{1,2},{3,4}};
7.执行语句“x=(a=4,b=a--)”后,x,a,b的值依次是
A、4,4,3
B、4,3,3
C、4,3,34
D、3,4,3
8.C语言中while和do—while循环的主要区别是
A、do—while的循环体至少无条件执行一次
B、While的循环控制条件比do—while的循环控制条件严格
C、do—while允许从外部转到循环体内
D、do—while循环体不能是复合语句
9、若已定义:
inta[9],*p=a;
不能表示a[1]地址的表达式是
A.
p+1
a+1
a++
++p
10.假设指针p已经指向某个整型变量x,则*p相当于
A
&
x
B
p
C
x
D
*x
二、填空题(每个空2分,共20分)
1、C程序设计中语句后的符号/*……*/所起作用是_____________。
2、用{}把一些语句括起来称为语句。
3、若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]得到的初值是,a[2][2]得到的初值是。
4、执行下列语句inta=6;
a+=a-=a*a;
后,a的值是______。
5、组成数组元素的特点是______________;
组成结构体元素的特点是_________________。
6、语言中strlen(c)函数的功能是_________________________________。
7、设有“intx=1”,则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 辽东学院 c语言 期末复习题 辽东 学院 语言 期末 复习题