《C程序设计语言》课程模拟试题一.docx
《《C程序设计语言》课程模拟试题一.docx》由会员分享,可在线阅读,更多相关《《C程序设计语言》课程模拟试题一.docx(26页珍藏版)》请在冰豆网上搜索。
![《C程序设计语言》课程模拟试题一.docx](https://file1.bdocx.com/fileroot1/2022-10/27/94f41973-d1ed-454d-99ec-ad4d45a14822/94f41973-d1ed-454d-99ec-ad4d45a148221.gif)
《C程序设计语言》课程模拟试题一
《C程序设计语言》课程模拟试题(一
题号
一
二
三
四
五
总分
分数
得分
评卷人
一、完成下列各题(共20分)
1.请用C语言的表达式表示下列代数式:
(4分)
(1)
(2)x3sin550÷πd
(3)(e=2.71828)
(4)(e=2.71828)
2.请指出下列各个说明中将dd说明成什么:
(6分)
(1)double**dd;
(2)doubledd[10];
(3)double*dd[10];
(4)double(*dd)[10];
(5)double*dd();
(6)double(*dd)();
3.设在程序的变量说明部分已作了如下说明和初始化
inti=3,j=8,k=11,x=0,t=0,*p=&i;
chara='X',b='Y',c='Z';
现若分别执行下列各条语句,请写出各语句执行后变量x的值:
(10分)
(1)x=(c>b)?
k%i:
k/i;
(2)x=k>j+2>i;
(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("%d",sizeof(asin(0.5)));
(4)printf("%d",strcmp("Windows98","Windows95")<0?
2:
-2);
(5)printf("%d",isprint('X'));
2.修改下列程序段,去掉其中的break、continue,保持与原程序段等价。
(5分)
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
问该程序的执行完成了什么工作?
(10分)
#include"stdio.h"
main(argv,argc)
intargv;
char*argc[];
{
FILE*fp;inti;
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)!
='\0';i++)fputc(*(ss+i),fp);
fclose(argc[1]);
}
得分
评卷人
三、完成下列各题(共20分)
1.请写出下列程序的功能:
#defineM200
#include
main()
{
inta[M+1];
inti,j,k=0;
for(i=0;ia[0]=1;
for(j=1;jif(!
a[j-1])
{k++;
for(i=j;i<=M;i+=j)a[i-1]=1;
}
printf("\n%d\n",k);
}
2.请写出下列程序中各printf的输出结果:
#include
intx=1,y=2,z=3;
voidfuncA(int,int);
voidfuncB();
voidmain()
{intx=6;
y=5;
funcA(x++,y);
printf("%d,%d,%d",x,y,z);
}
voidfuncA(inty,intz)
{registerintc=10;
intx;
y=7;x=c;
funcB();
printf("%d,%d,%d,",x,y,z);
funcB();
printf("%d,%d,%d,",x,y,z);
}
voidfuncB()
{staticinta=2;
z=++a;
printf("%d,%d,%d,",x,y,z);
}
得分
评卷人
四、阅读下列程序(共20分)
1.请写出下列程序中各printf的输出结果:
#include"stdio.h"
main()
{
chara[]="MicrosoftWindows98";
intb[][4]={1,2,3,4,11,12,13,14,21,22,23,24};
int*p;char*c=a;
printf("\n%c,%c,",a[5],*c);
c+=5;
printf("%c,%c,",*c,*(c+3));
printf("%d,%d,",*b[1],(*b)[2]);
p=b[1];
printf("%d,%d,",p[3],*(p+2));
printf("%d,%d",*(b[1]+1),*(*b+10));
}
2.请写出下列程序的输出结果:
#include
voidsort(cc,m)
char*cc[];
intm;
{
char*pp;
inti,j,k;
for(i=1;i{k=i;
for(j=i+1;jif(strcmp(cc[k],cc[j])<=0)k=j;
if(k!
=i)
{pp=cc[i];cc[i]=cc[k];cc[k]=pp;}
}
}
main()
{
inti;
char*tt[]={"America","Austria","Russia","Britain","Japan","France"};
sort(tt,5);
for(i=0;i<=5;i++)i<5?
printf("%s,",tt[i]):
printf("%s",tt[i]);
}
得分
评卷人
五、完成下列各题(共20分)
1.请补充下列程序中的空白处,使其能输出下图所示的图形。
#defineM10
#include
main()
{
①;
for(i=0;i<6;i++)
{printf("\n");
for(j=0;j<=M/2-i;j++)printf("");
for(k=0;k<=②;k++)printf("*");
}
for(i=0;i<=5;i++)
{③;
for(j=0;④;j++)printf("");
for(k=0;⑤;k++)printf("*");
}
}
2.下列程序先输入一个6×6的矩阵,然后再输入一个整型变量n,若n≤6,则对6×6的矩阵中的左上角的n×n矩阵进行转置,请编写出实现这一要求的函数transf()。
#defineM6
#include
main()
{
charcc[M][M];
inti,j,n;
for(i=0;ifor(j=0;jscanf("%c",&n);
if(n>M)exit(0);
transf(cc,n);
for(i=0;ifor(j=0;j}
试卷代号:
座位号
江苏广播电视大学转业军人学历教育本科2004年春模拟试题
《C程序设计语言》课程模拟试题
(二)
2004年春
题号
一
二
三
四
五
总分
分数
得分
评卷人
一、完成下列各题(共20分)
1.请用C语言的表达式表示下列代数式:
(5分)
(1)
(2)
(3)(e=2.71828)
(4)
(5)
2.设u、v均为整型变量,且u=8、v=3,请计算下列表达式的值:
(5分)
(1)u&&!
v-3
(2)u++/v
(3)*&u–v
(4)++u>3*v
(5)u||v
3.设在程序的变量说明部分已作了如下说明和初始化
inti=4,j=5,k=6,x=0,t=0,*p=&i;
chara=‘X’,b=‘Y’,c=‘Z’;
现若分别执行下列各条语句,请写出各语句执行后变量t的值:
(10分)
(1)t=k**p;
(2)t=(b--<=a)?
i:
j;
(3)t=!
c&&c<<2+b;
(4)t=k>j>i;
(5)t=++b>c&&t=5;
得分
评卷人
二、完成下列各题(共20分)
1.设在PC机上用TurboC执行下列语句,请写出下列各语句的输出结果:
(5分)
(1)printf(“%d”,strlen(“C语言程序设计”));
(2)printf(“%d”,s