C语言程序设计模拟试题7附答案Word格式.docx
- 文档编号:20379258
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:15
- 大小:20.75KB
C语言程序设计模拟试题7附答案Word格式.docx
《C语言程序设计模拟试题7附答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题7附答案Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
4;
k+=arr[i]+i/2;
%d\n"
k);
}
6.执行下述程序的输出结果是__
inti=0;
charx[]="
China"
;
chary[]="
Chinese"
while(x[i]!
='
\0'
&
y[i]!
)
if(x[i]==y[i])
%c"
x[i++]);
i++;
\n"
7.下述函数定义的功能是:
把两个整数指针所指的存储单元中的内容进行交换。
请填空。
voidexchange(
intt;
t=*y;
*y=*x;
*x=t;
8.设有如下变量说明语句
inta[8]={44,55,12,42,94,18,6,67},*p=a;
则通过指针变量p引用值为18的表达式是____
或
____。
9.执行下述程序
intstrlength(chara[],charb[])
intnum=0,n=0;
while(*(a+num)!
num++;
while(b[n])
*(a+num)=b[n];
n++;
return(num);
}
main()
{
charstr1[81],str2[81],*p1=str1,*p2=str2;
gets(p1);
gets(p2);
strlength(p1,p2));
}
若从键盘输入
qwerty
abcd
则输出结果是____
___。
10.下面的函数定义是一个求阶乘的递归调用函数。
假定n≠0。
longfac(intn)
longf;
if(n==0)
f=1;
f=___
____;
return(f);
11.下述程序的功能是:
输入n值,输出高度为n的、由字符'
*'
组成的直角三角形,例如当n=4时的输出图形如下(最后一行前面没有空格):
*
**
***
****
voidfunc(charc,intn)
if(n>
0)
c);
func(c,n-1);
inti,n;
%d"
n);
=n;
____
___;
12.执行下述程序的输出结果是
#defineCOMPstructcomplex
COMP
floatre;
floatim;
};
voidplus(COMP*z1,COMP*z2,COMP*z3)
z3->
re=z1->
re+z2->
re;
im=z1->
im+z2->
im;
COMPa,b,c;
a.re=7.0;
a.im=4.0;
b.re=-2.0;
b.im=5.5;
plus(&
c=%5.lf+%5.lfi\n"
c.re,c.im);
13.以下程序在运行时输入
10
20
30
则输出结果是___
intfunc(inta,intb,intc)
return(a+b+c);
intx,y,z;
Enterx,y,z:
"
%d%d%d"
x,&
y,&
z);
z=func(x,x+y,func(x,x+y,z));
z=%d\n"
z);
14.下面的程序把从终端读入的文本(用字符'
@'
作为文本结束标志)逐个字符复制到一个当前磁盘目录下名为bi.dat的新文本文件中。
stdlib.h>
FILE*fp;
charch;
if((fp=fopen("
bi.dat"
"
w"
))==NULL)
Can'
topenfilebi.dat.\n"
exit(0);
while((ch=getchar())!
fclose(fp);
15.执行下述程序的输出结果是
#include"
stdio.h"
intabc(intu,intv);
intabc(intu,intv)
{intw;
while(v)
{w=u%v;
u=v;
v=w;
returnu;
{inta=24,b=16,c;
c=abc(a,b);
二、单项选择题。
(每题1分,共20分)
1.在计算机上可以直接运行的程序是写【
】
A.高级语言程序
B.汇编语言程序
C.机器语言程序
D.C语言源程序
2.下列符号串中,合法的C语言标识将是【
】
A._121 B.121_ C.a.121 D.#121
3.下列符号串中,合法的十进制整型常量是【
A.09876 B.0x9876 C.9.876*e4
D.-9876
4.设有关变量已经正确定义并赋值,则下列表达式中符合C语言语法规则的是【
A.a_=\12
B.a_1=a_2+=12
C.int13.5%2
D.a=b+7=C-2
5.若整型变量x的值为8,则下列表达式中值为1的表达式是【
A.x+=x-=x=x
B.x%=x-1
C.x%=x%=3
D.x/=x+x
6.字符串"
m\x43\\\np\102q"
的长度是【
A.7
B.9
C.15
D.16
7.设有定义语句“inta=10,*p=&a;
”,则表达式“a十*p”的值是【
A.10
B.20
C.100
D.语法出错
8.若有定义语句“intx,*p=&x,**ppx=&px;
”,则下列表达式中错误的是【
A.x=*px
B.x=**ppx
C.px=&ppx
D.*ppx=&x
9.如果某个函数在定义时,省略了存储类型,则默认的存储类型是【
A.auto
B.void
C.extern
D.static
10.能正确定义一个用来指向打开文件的文件型指针变量fp的语句是【
A.filefp;
B.file*fp;
C.FILEfp;
D.FILE*fp;
11.函数fopen()的返回值不能是【
A.NULL
B.O
C.1
D.某个内存地址
12.以只写方式打开一个二进制文件,应选择的文件操作方式是【
A."
a+"
B."
w+"
C."
rb"
D."
Wb"
13.设有定义语句“charch='
\77'
;
”,则下列说法中正确的是【
A.ch中含有1个字符
B.ch中含有2个字符
C.ch中含有3个字符
14.设有函数调用语句“f(x1,x1+x2,(x1,x2));
”,正确的说法是【
A.调用的实际参数是2个
B.调用的实际参数是3个
C.调用的实际参数是4个
D.调用时会出现语法错误。
15.计算平方数时不可能引起二义性的宏定义是【
A.#defineSOR(x)x*x
B.#defineSQR(x)(x)*(x)
C.#defineSQR(x)(x*x)
D.#defineSQR(x)((x)*(x))
16.执行下列程序段后,x的位是【
inta=8,b=7,c=6,x=1;
if(a>6)if(b>7)if(c>8)x=2;
elsex=3;
A.O
B.1
C.2
D.3
17.执行下列程序段后,变量y的值为【
intx[]={1,2,3,4},y,*p=&
x[1];
y=(*--P)++;
A.1
B.2
C.3
D.4
18.能正确表达逻辑关系“-1<x<1并且-1<y<1”的表达式是【
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)
19.函数调用时,下列说法中不正确的是【
A.若用值传递方式,则形式参数不予分配内存
B.实际参数和形式参数可以同名
C.主调函数和被调用函数可以不在同一个文件中
D.函数间传送数据可以使用外部全局变量
20.下列关于结构型变量的定义语句中,错误的是【
A.typedefstructCCC
B.#defineGGGstruct
{charname[20];
GGGCCC
{charname[20];
intage;
}GGG;
};
GGGabc;
GGGCCCabc;
C.struct
D.struct
}ccc;
}abc;
CCCabc;
三、程序分析题(每题8分,共32分)
1.写出执行下述程序的输出结果。
inta=2,b=4,c=5;
switch(a>
case1:
switch(b=b>
>
2)
@"
case0:
!
"
default:
?
swith(c==5)
*"
break;
#"
dafault:
$"
2.写出执行下述程序的输出结果。
#defineN5
inti,j,cent;
for(cent=1;
cent<
=N;
cent++)
=N-cent+5;
for(j=1;
=cent;
j++)
j));
for(j=cent-1;
j>
=1;
j--)
j);
(注:
第一行1前面有9个空格,以下类推)
3.阅读下述程序,设输入如下数据
8
5
7
9
4
请写出输出结果。
inti,j,k,1;
inta[N];
N;
a[i]);
for(i=N-1;
i>
=0;
i--)
k=a[N-1];
for(j=N-2;
a[j+1]=a[j];
a[0]=k;
for(1=0;
1<
n;
1++)
%3d"
a[1]);
4.写出执行下述程序的输出结果。
#include<
chars[]="
ABCDE"
*p;
for(p=s;
p<
s+5;
p++)
%s\n"
p);
四、程序设计题(每小题9分,共18分)
1、编写程序,从键盘输入一个字符序列(以字符'
#'
作为结束标志),将其中的英文小写字母全部转换成相应的英文大写字母,逐个字符写入一个名为test.dat的磁盘文本文件以保存。
然后,从该文件中读取所存入的字符序列,将它们输出在显示屏上。
2、编写一程序,从键盘输入10个实数,计算并输出算术平均值。
模拟试卷七参考答案
1)1
2)Error:
3.
3)5.0,4,c=3
4)20,24,24,20
5)8
6)Chin
7)int*y,int*x
8)p[5]或*(p+5)
9)10
10)n*fac(n-1)
11)func('
i)
12)c=5+10i
13)z=110
14)fputc(ch,fp)
15)8
1.C2.A3.D4.B5.
B
6A7.B8.C9.A10.D
11.C
12.C13.A14.B15.D
16.D17.A18.D19.A20.C
三、程序分析题(每题5分,共30分)
1.输出结果如下:
400-4-3
2.输出结果如下:
1
21
321
4321
3.输出结果如下:
48579
94857
79485
57948
85794
4.输出结果如下:
ABCDE
BCDE
CDE
DE
E
5.读下列程序,写出程序的主要功能。
#include”dos.h”
{structdatetoday;
intn,year1;
getdate(&today);
,&year1);
while((n=today.da_year-year1)>=0)
{printf("
age=%d\n"
,n);
6.阅读下列程序,写出程序运行的输出结果。
char*f(pl,p2)
char*pl,*p2;
{char*pp1=p1,*pp2=p2,ch;
while(*pp1!
='
\0'
{for(ch='
0'
ch<*pp1;
ch++)
*pp2=*(pp1+1),pp2++;
ppl=ppl+2;
*pp2='
return(p2);
{charsl[10]={"
la2b3c"
},s2[20],*p;
p=f(sl,s2);
printf(”%s\n”,p);
四、程序设计题(每小题10分,共20分)
int
main()
{
FILE
*fio;
char
k;
fio
=
fopen("
test3.dat"
if(fio
==
NULL)
exit(-1);
while
(1)
k=getch();
if
(k=='
)
{break;
}
putch(k);
(islower(k))
{fputc(k-32,fio)(k-32);
else{fputc(k,fio)(k);
}
fclose(fio);
return
0;
{inti;
floatave=0.0,a[10];
for(i=0;
i<10;
i++)
%f"
,&a[i]);
ave+=a[i];
%10.4f\n"
,ave/10.0);
.
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 模拟 试题 答案