C语言期末复习题Word文档格式.docx
- 文档编号:5925770
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:30
- 大小:33KB
C语言期末复习题Word文档格式.docx
《C语言期末复习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言期末复习题Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
15B)a==11||a==12||a==13||a==14
C)a>
10&
&
a<
15D)!
(a<
=10)&
!
(a>
=15)
11.语句for(x=0,y=0;
(y!
=123)&
(x<
4);
x++);
循环()。
A)是无限循环B)循环次数不定C)执行4次D)执行3次
12.下面的程序
main()
{inta,b,s;
scanf("
%d%d"
&
a,&
b);
s=a;
if(s<
b)s=b;
s=s*s;
%d\n"
s);
}
运行时,若从键盘输入3和2,则输出()。
A)14B)16C)18D)9
13.若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是
for(i=5;
i;
i--)
for(j=0;
j<
4;
j++){...}
A)20B)25
C)24D)30
14.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是
A)1B)2
C)2.0D)2.5
15.在C语言中,不合法的字符常量是
A)\014 B)\xab C)’D’ D)”e”
16.C语言中用于结构化程序设计的三种基本结构是
A)if、switch、whileB)for、while、do-while
C)if、while、continueD)顺序结构、选择结构、循环结构
17.已知a=1,b=2,c=3,d=4,则表达式a<
b?
a:
c<
d?
d的结果是
A)4B)3
C)1D)2
18.若执行下面程序时,从键盘输入"
3,4"
,则输出是()。
main()
%d,%d"
if(a<
else
s=s*s;
}
A)4B)16C)18D)20
19.若函数的类型和return语句中的表达式的类型不一致,则()。
A)编译时出错
B)运行时出现不正确的结果
C)不会出错,且返回值的类型以return语句中表达式的类型为准
D)不会出错,且返回值的类型以函数类型为准
20.在C语言程序中,以下叙述正确的是()。
A)函数的定义和函数的调用均可以嵌套
B)函数的定义可以嵌套,但函数的调用不能嵌套
C)函数的定义和函数的调用均不能嵌套
D)函数的定义不能嵌套,但函数的调用可以嵌套
21.若用数组名作为函数调用的实参,则传递给形参的是()。
A)数组的首地址B)数组的第一个元素的值
C)数组中全部元素的值D)数组元素的个数
22.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()。
A)外部(extern)B)寄存器(register)C)自动(atuo)D)静态(static)
23.在下面一组运算符中,优先级最高的运算符是
A)<
=B)=
C)%D)&
24.有如下函数调用语句
func(rec1,rec2+rec3,rec4);
该函数调用语句中,含有的实参个数是
A)3 B)4 C)5 D)有语法错
25.表示关系X<
=Y<
=Z的c语言表达式为
A)(X<
=Y)&
(Y<
=Z)B)(X<
=Y)AND(Y<
=Z)
C)(X<
=Z)D)(X<
=Z)
26.C语言中,若未说明函数的类型,则系统默认该函数的类型是()。
A)float型B)int型C)long型D)double型
27.若定义数组inta[3][4];
,并以f(a)语句调用函数f,则在定义f函数时,对形参数组array错误的定义方式为()。
A)f(intarray[][6])B)f(intarray[3][])
C)f(intarray[][4])D)f(intarray[2][5])
28.下列一维数组初始化语句中,正确的是()。
A)inta[5]={0,2,0,3,5};
B)inta[5]=0;
C)inta[5]={5*2};
D)inta[]=(0,2,0,3,7);
29.现要定义一个二维字符型数组c[M][N]来存放字符串"
China"
"
Tianjin"
和"
Education"
则常量M和N的合理取值应为()。
A)3和9B)2和10C)4和9D)3和10
30.若有说明charc[]={'
N'
'
n'
K'
i'
};
则对其元素的非法引用是()。
A)c[0]B)c[9-6]C)c[2*2]D)c[7]
31.在C语言中,运算对象必须是整型的运算符是
A)*B)%C)/D)!
32.设有以下宏定义:
#defineN3
#defineY(n)((N+1)*n)
则执行语句:
z=2*(N+Y(5+1));
后,z的值为
A)出错B)42C)48D)54
33.以下结构体变量的字节数是
structstudent
{
intnum;
charname[8];
doublescore;
union
{intclass;
charposition[10];
}category;
}stu;
A)18B)30C)28D)32
34.若有代数式
,则错误的表达式是
A)a/b/c*eB)a*e/c/bC)a*e/b/cD)a*e/b*c
35.要将字符串str2连接到字符串str1后,应使用的函数是()。
A)strcpy(str1,str2);
B)strcat(str2,str1);
C)strcat(str1,str2);
D)strcmp(str2,str1);
36.若定义inta=8,b,*p=&
b;
则赋值语句p=&
a执行后,结果为()。
A)p同时指向a和bB)p指向a,而不再指向b
C)p指向b,而b取a的值D)p指向a,a取b的值
37.定义以下结构体类型
structs
{
inta;
floatf;
}m[3];
语句printf("
%d"
sizeof(m))的输出结果为()。
A)4B)12C)18D)6
38.下面程序的输出是
intx=32;
x=x<
<
1);
A)100B)160C)120D)64
39.不正确的转义字符是
A)“\018”B)“\’”C)“\xaa”D)“\\”
40.以下程序执行后sum的值是
voidmain()
{inti,sum;
for(i=1;
i<
6;
i++)
sum+=i;
printf("
sum);
A)15B)14C)不确定D)0
二、程序填空题(每空1分)
1.以下程序调用readrec函数读入数据,把3名学生的学号、姓名、四门成绩以及平均分放在一个结构体数组中,学生的学号、姓名和四门成绩由键盘输入,然后计算出平均分放在结构体对应的域中,调用writrec函数输出3名学生的记录。
请填空。
#include<
stdio.h>
#defineN3
structstud
{charnum[5],name[10];
ints[4];
intave;
}st[N];
writrec(structstud*s)
{intk,i;
num\tname\tmark1\tmark2\tmark3\tmark4\tave\n"
for(k=0;
k<
3;
k++,s++)
{printf("
%s\t%s\t"
s->
num,s->
name);
for(i=0;
i++)
printf("
%d\t"
s[i]);
ave);
readrec(structstud*p)
{inti,j,sum;
N;
j++,p++)
{gets(p->
num);
gets(p->
scanf("
p->
getchar();
sum=0;
sum+=p->
s[i];
p->
ave=sum/4;
main()
{
readrec(st);
writrec(st);
2.求1!
+3!
+5!
+7!
+…+21!
之和
#include<
voidmain()
{floats,t;
intn;
s=0;
t=1;
for(n=1;
n<
=21;
n++)
t=t*n;
if(n%2!
=0)s+=t;
printf(“1!
=%e\n”,s);
3.用数组来处理求Fibonacci数列(即:
1,1,2,3,5,8,13……)问题,每行控制输出5个数据。
{
inti;
intf[20]={1,1};
for(i=2;
20;
f[i]=f[i-1]+f[i-2];
for(i=0;
if(i%5==0)printf(“\n”);
printf(“%12d”,f[i]);
}
printf(“\n”);
4.以下程序调用readrec函数读入数据,把3名学生的学号、姓名、四门成绩以及平均分放在一个结构体数组中,学生的学号、姓名和四门成绩由键盘输入,然后计算出平均分放在结构体对应的域中,调用writrec函数输出3名学生的记录。
};
num:
%sname:
%s\n"
mark:
%5d"
ave:
%5d\n"
readrec(structstud*rec)
{inti,sum;
gets(rec->
scanf("
rec->
getchar();
sum=0;
sum+=rec->
rec->
{structstudst[30];
intk;
k++)
readrec(&
st[k]);
5.下面程序把文件file1.dat中的内容复制到一个名为file2.dat的新文件中,请填空。
FILE*fp1,*fp2;
{charch;
if((fp1=fopen(“file1.dat”,”r”))==NULL)exit(0);
if((fp2=fopen(“file2.dat”,”w”))==NULL)exit(0);
while(fp1!
=EOF){ch=fgetc(fp1);
fputc(ch,fp2);
fclose(fp1);
fclose(fp2);
三、读程序写运行结果(每小题2分,共30分)
1.下面程序运行后,输出结果是
#include<
{inta=4,b=7;
printf(“%d\n”,(a=a+1,b+a,b+1));
}
2.下面程序运行后,输出结果是
floatfun(intx,inty)
{return(x+y);
{inta=2,b=5,c=8;
printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));
3.下面程序运行后,输出结果是
{intk=017,g=111;
++k);
%x\n"
g++);
4.下面程序运行后,输出结果是
{intm=7,n=4;
floata=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf(“%f\n”,x);
5.下面程序运行后,输出结果是
main()
{inta=9;
a+=a-=a+a;
printf(“%d\n”,a);
6.以下程序运行后的输出结果是
{inti,n[]={0,0,0,0,0};
for(i=1;
=4;
n[i]=n[i-1]*2+1;
printf("
%d"
n[i]);
7.下面程序运行后,输出结果是
#include<
voidmain()
{chars[]="
after"
c;
inti,j=0;
for(i=1;
i<
5;
i++)
if(s[j]<
s[i])
{c=s[j];
s[j]=s[i];
s[i]=c;
}
%s"
s);
8.以下程序执行后的输出结果是
#include<
{char*s[]={"
one"
two"
three"
},*p;
p=s[1];
printf("
%c,%s\n"
*(p+1),s[0]);
9.以下程序运行后的输出结果是
#defineN20
fun(inta[],intn,intm)
{inti;
for(i=m;
i>
=n;
a[i+1]=a[i];
voidmain()
{inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
a[i]);
10.写出下列程序结果
intm=1;
intfun(intm)
{intn=1;
staticinti=1;
n++;
i++;
returnm+n+i;
inti;
for(i=1;
%4d"
fun(m++));
\n"
11.已知字母a的ASCII码是为十进制的97,下面程序的输出是
{charc1,c2;
c1=’a’+’6’-‘2’;
c2=’a’+’6’-‘3’;
printf(“%c,%d\n”,c2,c1);
12.下列语句的输出结果是
chara=31;
printf(“%d,%o,%x,%u\n”,a,a,a,a);
13.下面程序运行后,输出结果是
{intj,x=0;
for(j=0;
=3;
j++)
{if(j%2)continue;
x++;
x);
14.下面程序运行后,输出结果是
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
case2:
b++;
case3:
printf(“\na=%d,b=%d”,a,b);
}
15.下面程序运行后,输出结果是
#defineMAX(a,b,c)((a)>
(b)?
((a)>
(c)?
(a):
(c)):
((b)>
(b):
(c)))
{intx,y,z;
x=1,y=2,z=3;
MAX(x+y,y,y+x));
16.有以下程序程序的执行结果是
charfun(charx,chary)
if(x<
y)returnx;
returny;
chara='
9'
b='
8'
c='
7'
%c\n"
fun(fun(a,b),fun(b,c)));
17.以下程序执行后输出结果是
intp[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<
7&
p[i]%2)
{k=k+p[i];
k);
18.定义以下结构体数组
struct
{intnum;
charname[10];
}s[3]={1,"
china"
3,"
USA"
4,"
England"
\n%d,%s"
s[0].num,s[1].name)的输出结果为。
19.以下程序执行后输出结果是
#include<
return(x-y);
{inta=2,b=5,c=8;
printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));
20.下面程序运行后,输出结果是
{intk=015,g=112;
21.下面程序运行后,输出结果是
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;
{inti,j=0;
for(i=1;
i++)j+=f(i);
printf(“%d\n”,j);
22.下面程序运行后,输出结果是
{unsignedchara,b,c;
a=0x3;
b=a|0x8;
c=b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习题