国家开放大学电大《C语言程序设计》期末考试及答案参考Word文件下载.docx
《国家开放大学电大《C语言程序设计》期末考试及答案参考Word文件下载.docx》由会员分享,可在线阅读,更多相关《国家开放大学电大《C语言程序设计》期末考试及答案参考Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
![国家开放大学电大《C语言程序设计》期末考试及答案参考Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/24/d414f7f5-0065-4393-b6bf-2b6ee5a268cd/d414f7f5-0065-4393-b6bf-2b6ee5a268cd1.gif)
4.判断char型变量c是否为小写字母的正确表达式为
A.'
a'
<
=c<
='
z'
B.(c>
=a)&
&
(c<
=z)
C.('
>
=c)('
=c)
D.(c>
)&
)
D
5.若有定义“intx=11;
”,则表达式“(x++*1/3)”的值是
A.12
B.11
C.4
D.3
2
6.若有定义“inta=1,b=2,c=3,d=4;
”,则表达式“a<
b?
a:
c<
d?
c:
d”的值是
A.1
B.2
C.3
D.4
A
7.若有定义“inta=1,b=0,c=0,x=35;
”,则执行下列程序段后,变量x的值是
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A.3
B.4
C.34
D.35
第5章选择结构的程序设计
8.{
若有定义“intx=1,y=1,m=1,n=1;
”,则执行下列语句后,变量x和y的值分别是
switch(m)\{
case0:
x=x*2;
case1:
switch(n)\{
case2:
y=y*2;
break;
case3:
x++;
\}
y++;
x*=2;
y*=2;
default:
y++;
}
A.x=2,y=1
B.x=2,y=2
C.x=6,y=6
D.x=7,y=7
9.若有定义“inti,j;
”,执行语句“for(i=0,j=1;
i<
=j+1;
i+=2,j--)printf("
%d"
i);
”时的循环次数是
C.1
D.0
第6章循环结构的程序设计
10.若有定义“intn=4;
”,则执行语句“while(n--)printf("
n--);
”后的输出结果是
A.20
B.31
C.210
D.321
11.{
若有定义“intx=3;
”,则执行下列语句后的输出结果是
do\{
printf("
%d"
x+=1);
\}while(--x);
A.4
B.44
C.444
D.死循环
12.若有定义“chara[]="
xyz"
b[]={'
x'
'
y'
};
”,则下列叙述中正确的是
A.数组a的长度大于数组b的长度
B.数组a的长度小于数组b的长度
C.数组a和数组b的长度相同
D.数组a和数组b等价
第7章数组
13.{
若有定义“intaa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6\}\},i,s=0;
”,则执行下列语句后,变量s的值是
for(i=0;
i<
4;
i++)s+=aa[i][0];
B.19
C.13
D.11
14.调用函数时,若实参是一个数组名,则向函数传送的是
A.数组的长度
B.数组的首地址
C.数组每一个元素的地址
D.数组每个元素中的值
第8章函数
15.下列各函数首部中,正确的是
A.voidplay(var:
Integer,varb:
Integer)
B.voidplay(inta,b)
C.Subplay(aasinteger,basinteger)
D.voidplay(inta,intb)
16.若有定义“intn=2,*p=&
n,*q=p;
”,则下列选项中,非法的赋值语句是
A.p=n;
B.p=q;
C.n=*q;
D.*p=*q;
第9章指针
17.若有定义“int*p[3];
”,则下列叙述中正确的是
A.定义了一个类型为int的指针变量p,该变量具有三个指针
B.定义了一个名为*p的整型数组,该数组含有三个int类型元素
C.定义了一个指向一维数组的指针变量p,该一维数组应具有三个int类型元素
D.定义了一个指针数组p,该数组含有三个元素,各元素都是基类型为int的指针
18.下列对枚举类型名的定义中正确的是
A.enuma={one,two,three};
B.enuma{one=9,two=-1,three};
C.enuma={"
one"
"
two"
three"
D.enuma{"
第10章结构、联合与枚举类型
19.{
若有如下定义:
structstudent\{
intnum;
intage;
\}stu[3]=\{\{1001,20\},\{1002,19\},\{1003,21\}\},*p=stu;
则下列表达式中,值为1002的是
A.p++->
num
B.(p++)->
age
C.(*++p).num
D.(*p).num
20.下列选项中,可以作为函数fopen中第一个参数的是
A."
\\user\\text.txt"
B.c:
\user\text.txt
C."
\user\text.txt"
D.c:
user\text.txt
第11章文件
21.若y是int型变量,则判断y为偶数的关系表达式为__________。
(y%2)==0或!
(y%2)或(y%2)!
=1
填空题
22.下列语句序列执行后的输出结果是__________。
intx=10,y=10;
%d,%d\n"
--x,y--);
9,10
23.若有语句“scanf("
%d%c%f"
&
a,&
b,&
c);
”,假设输入序列为2223a123o.12,则变量a和b的值分别为
(1) 和
(2) 。
(1)2223
(2)a
第4章顺序结构的程序设计
24.下列语句序列执行后的输出结果是__________。
intm=5;
if(m++>
5)printf("
%d\n"
m);
elseprintf("
--m);
5
25.{
下列语句序列执行后,变量x和a的值分别是
(1) 和
(2) 。
intx=3,y=6,a=0;
while(x++!
=(y-=1))\{
a+=1;
if(y<
x)break;
\}
(1)5
(2)1
26.{
下列语句序列执行后的输出结果是__________。
for(inti=1;
6;
i++)\{
if(!
(i%2))\{
#"
);
continue;
*"
*#*#*
27.若有定义“chars1[15]="
Hello"
s2[10]="
Jack"
;
”,则语句“printf("
strlen(strcpy(s1,s2)));
”执行后的输出结果为__________。
4
28.{
若有定义“inta[]=\{1,2,3,4,5,6,7,8,9,0,},*p;
”,则执行语句序列“p=a;
*(p+9));
”后的输出结果是 。
29.函数调用语句“func((exp1,exp2),(exp3,exp4,exp5));
”中含有__________个实参。
30.{
若有定义:
struct\{
intx;
inty;
\}d[2]=\{\{1,3\},\{2,7\}\};
则执行语句“printf("
d[0].y*d[1].y/d[0].x);
”的结果是 。
21
31.{
下列程序的功能是调用函数fun计算m=1+2+3+4+…+9+10,并输出结果。
请将划线处的语句补充完整。
#include<
stdio.h>
intfun(intn)\{
intm=0,i;
for(i=1;
=n;
(1))
m=m+i;
return
(2);
intmain()\{
printf("
m=%d\n"
(3));
return0;
(1)i++
(2)m(3)fun(10)
32.C语言是一种结构化程序设计语言。
√
判断