《C程序设计语言》课程模拟试题一Word下载.docx
- 文档编号:19190147
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:26
- 大小:20KB
《C程序设计语言》课程模拟试题一Word下载.docx
《《C程序设计语言》课程模拟试题一Word下载.docx》由会员分享,可在线阅读,更多相关《《C程序设计语言》课程模拟试题一Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
(3)x=!
c&
&
b>
>
2+a;
(4)x*=c*a**p/b;
(5)x=b++<
=c&
++x;
二、完成下列各题(共20分)
1.设在PC机上用TurboC执行下列语句,请写出下列各语句的输出结果:
(5分)
(1)printf("
%d"
strlen("
ABCD\t\x04"
));
(2)printf("
%s"
strcat("
Beijing,"
"
China"
(3)printf("
sizeof(asin(0.5)));
(4)printf("
strcmp("
Windows98"
Windows95"
)<
0?
2:
-2);
(5)printf("
isprint('
2.修改下列程序段,去掉其中的break、continue,保持与原程序段等价。
charc[]="
AmericanandEnglishPeople"
char*p;
inti;
p=c;
i=0;
for(;
p[i]!
='
\0'
)
{if(*(p+i)=='
'
)break;
if(isupper(p[i])){
i+=1;
continue;
}
p[i]=*(p+i)-32;
i++;
}
3.设下列程序经编译、连接后生成的可执行程序的名字为MYFUNC.EXE,若在DOS提示符后输入
C:
\TC>
MYFUNCFILE1.TXTFILE2.TXTFILE3.TXT
问该程序的执行完成了什么工作?
#include"
stdio.h"
main(argv,argc)
intargv;
char*argc[];
{
FILE*fp;
char*ss;
if((fp=fopen(argc[1],"
a"
))==NULL){
printf("
\nCan'
topenfile%s!
"
argc[1]);
exit
(1);
ss=argc[2];
for(i=1;
*(ss+i)!
i++)fputc(*(ss+i),fp);
fclose(argc[1]);
三、完成下列各题(共20分)
1.请写出下列程序的功能:
#defineM200
#include<
stdio.h>
main()
inta[M+1];
inti,j,k=0;
for(i=0;
i<
M+1;
i++)a[i]=0;
a[0]=1;
for(j=1;
j<
j++)
if(!
a[j-1])
{k++;
for(i=j;
=M;
i+=j)a[i-1]=1;
\n%d\n"
k);
2.请写出下列程序中各printf的输出结果:
intx=1,y=2,z=3;
voidfuncA(int,int);
voidfuncB();
voidmain()
{intx=6;
y=5;
funcA(x++,y);
%d,%d,%d"
x,y,z);
voidfuncA(inty,intz)
{registerintc=10;
intx;
y=7;
x=c;
funcB();
%d,%d,%d,"
voidfuncB()
{staticinta=2;
z=++a;
四、阅读下列程序(共20分)
1.请写出下列程序中各printf的输出结果:
chara[]="
MicrosoftWindows98"
intb[][4]={1,2,3,4,11,12,13,14,21,22,23,24};
int*p;
char*c=a;
\n%c,%c,"
a[5],*c);
c+=5;
%c,%c,"
*c,*(c+3));
%d,%d,"
*b[1],(*b)[2]);
p=b[1];
p[3],*(p+2));
%d,%d"
*(b[1]+1),*(*b+10));
2.请写出下列程序的输出结果:
voidsort(cc,m)
char*cc[];
intm;
char*pp;
inti,j,k;
for(i=1;
m-1;
i++)
{k=i;
for(j=i+1;
j<
m;
j++)
if(strcmp(cc[k],cc[j])<
=0)k=j;
if(k!
=i)
{pp=cc[i];
cc[i]=cc[k];
cc[k]=pp;
char*tt[]={"
America"
Austria"
Russia"
Britain"
Japan"
France"
};
sort(tt,5);
=5;
i++)i<
5?
printf("
%s,"
tt[i]):
tt[i]);
五、完成下列各题(共20分)
1.请补充下列程序中的空白处,使其能输出下图所示的图形。
#defineM10
①;
for(i=0;
i<
6;
i++)
{printf("
\n"
);
for(j=0;
=M/2-i;
j++)printf("
"
for(k=0;
k<
=②;
k++)printf("
*"
for(i=0;
i<
{③;
④;
for(k=0;
⑤;
2.下列程序先输入一个6×
6的矩阵,然后再输入一个整型变量n,若n≤6,则对6×
6的矩阵中的左上角的n×
n矩阵进行转置,请编写出实现这一要求的函数transf()。
#defineM6
{
charcc[M][M];
inti,j,n;
M;
for(j=0;
j++)scanf("
%c"
&
cc[i][j]);
scanf("
n);
if(n>
M)exit(0);
transf(cc,n);
i++){printf("
\n\n"
j++)printf("
%c"
cc[i][j]);
试卷代号:
座位号
江苏广播电视大学转业军人学历教育本科2004年春模拟试题
《C程序设计语言》课程模拟试题
(二)
2004年春
(2)
(4)
(5)
2.设u、v均为整型变量,且u=8、v=3,请计算下列表达式的值:
(1)u&
!
v-3
(2)u++/v
(3)*&
u–v
(4)++u>
3*v
(5)u||v
inti=4,j=5,k=6,x=0,t=0,*p=&
chara=‘X’,b=‘Y’,c=‘Z’;
现若分别执行下列各条语句,请写出各语句执行后变量t的值:
(1)t=k**p;
(2)t=(b--<
=a)?
i:
j;
(3)t=!
c<
<
2+b;
(4)t=k>
j>
(5)t=++b>
t=5;
1.设在PC机上用TurboC执行下列语句,请写出下列各语句的输出结果:
(1)printf(“%d”,strlen(“C语言程序设计”));
(2)printf(“%d”,strcmp(“Windows98”,”Windows95”)>
0?
1:
-1);
(3)printf(“%d”,sizeof(“xyz\t\042”));
(4)printf(“%d”,isalpha('
P'
(5)printf(“%s”,strupr(“Jiangsu”));
2.请指出下列两个程序段在什么情况下等价,在什么情况下不等价:
inti,sum=0;
i);
while(i<
=100)do{sum+=i;
{sum+=i;
}}while(i<
=100)
\n%d"
sum);
3.设下列程序经编译、连接后生成的可执行程序的名字为MYF.EXE,若在DOS提示符后输入
MYFFA.TXTFB.TXT
问该程序执行完成了什么工作?
main(argc,argv)
intargc;
char*argv[];
FILE*fpr,*fpw;
if((fpr=fopen(argv[2],"
r"
\nFile%snotfound!
argv[2]);
if((fpw=fopen(argv[1],"
argv[1]);
do{fputc(fgetc(fpr),fpw);
while(!
feof(fpr));
三、完成下列各题(共20分,每题10分)
1.修改下列程序段,去掉其中的break、continue,保持与原程序段等价。
charc[]="
MicroSoftWindows98"
inti;
i=0;
while(p[i]!
)
if(*(p+i)=='
main()
{char*cc="
AB9\11STUDENT"
inti,c;
(c=cc[i])!
i++){
switch(c){
case'
A'
:
putchar(c+1);
i=i+5;
B'
putchar(c+4);
9'
putchar(c);
break;
S'
while((c=cc[++i])!
\\'
putchar('
1'
case9:
*'
四、阅读下列程序(共20分,每题10分)
intx=5,y=6,z=7;
voidfuna(int,int);
voidfunb();
voidmain()
{intz=10;
y=11;
\n%d,%d,%d,"
funa(x,y);
voidfuna(inta,intb)
{intz=12;
y=a;
x=b;
funb();
voidfunb()
{inty=30;
2.请写出运行下列程序后的输出结果:
#defineNULL0
structmylist{
chard1,d2;
structmylist*next;
};
typedefstructmylistNode;
typedefstructmylist*LINK;
voidplist();
LINKbuildl();
main()/*函数定义*/
{LINKhead;
head=buildl("
ABCDEFGHIJ"
plist(head);
LINKbuildl(cc)/*函数定义*/
char*cc;
{LINKhead,tail;
intk;
if(*cc){
head=(LINK)malloc(sizeof(Node));
head->
d1=cc[0];
d2=cc[1];
tail=head;
for(k=2;
cc[k]!
k+=2){
tail->
next=(LINK)malloc(sizeof(Node));
tail=tail->
next;
d1=*(cc+k)+1;
tail->
d2=*(cc+k+1)+1;
next=NULL;
return(head);
voidplist(xx)/*函数定义*/
LINKxx;
{if(xx!
=NULL){
if(xx->
next!
=NULL)
%c-->
xx->
d1);
else
%c\n"
plist(xx->
next);
五、完成下列各题(共20分,每题10分)
1、请编写一完整的C程序把一个二维数组的行列元素互换,构成一个新的二维数组。
设原数组为4行3列,其中各数据元素由用户输入,要求分别输出原数组和新数组。
2、请补充下列程序中的空白处,使其能将name数组中的字符串按字典序从大到小输出。
{
voidsort();
inti,n=5;
char*name[]={"
MS-DOS"
Windows"
UCDOS"
CCDOS"
Unix"
sort(name,n);
n;
i++)printf("
\n%s"
① );
②
if( ③ )
k=j;
if( ④ )
《C程序设计语言》课程模拟试题(三)
2.设u、v均为整型变量,且u=6、v=2,请计算下列表达式的值:
(1)u*!
v
(2)u/++v
(3)u-*&
(4)u--%v
(5)u!
=v
inti=2,j=3,k=4,x=0,t=0,*p=&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C程序设计语言 程序设计语言 课程 模拟 试题