《C程序设计语言》课程模拟试题一.docx

上传人:b****5 文档编号:6186701 上传时间:2023-01-04 格式:DOCX 页数:26 大小:20KB
下载 相关 举报
《C程序设计语言》课程模拟试题一.docx_第1页
第1页 / 共26页
《C程序设计语言》课程模拟试题一.docx_第2页
第2页 / 共26页
《C程序设计语言》课程模拟试题一.docx_第3页
第3页 / 共26页
《C程序设计语言》课程模拟试题一.docx_第4页
第4页 / 共26页
《C程序设计语言》课程模拟试题一.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

《C程序设计语言》课程模拟试题一.docx

《《C程序设计语言》课程模拟试题一.docx》由会员分享,可在线阅读,更多相关《《C程序设计语言》课程模拟试题一.docx(26页珍藏版)》请在冰豆网上搜索。

《C程序设计语言》课程模拟试题一.docx

《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;i

a[0]=1;

for(j=1;j

if(!

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;j

if(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;i

for(j=0;j

scanf("%c",&n);

if(n>M)exit(0);

transf(cc,n);

for(i=0;i

for(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”,strcmp(“Windows98”,”Windows95”)>0?

1:

-1);

(3)printf(“%d”,sizeof(“xyz\t\042”));

(4)printf(“%d”,isalpha('P'));

(5)printf(“%s”,strupr(“Jiangsu”));

2.请指出下列两个程序段在什么情况下等价,在什么情况下不等价:

(5分)

inti,sum=0;inti,sum=0;

scanf("%d",&i);scanf("%d",&i);

while(i<=100)do{sum+=i;

{sum+=i;i++;

i++;}}while(i<=100)

printf("\n%d",sum);printf("\n%d",sum);

3.设下列程序经编译、连接后生成的可执行程序的名字为MYF.EXE,若在DOS提示符后输入

C:

\TC>MYFFA.TXTFB.TXT

问该程序执行完成了什么工作?

(10分)

#include"stdio.h"

main(argc,argv)

intargc;

char*argv[];

{

FILE*fpr,*fpw;

if((fpr=fopen(argv[2],"r"))==NULL){

printf("\nFile%snotfound!

",argv[2]);

exit

(1);}

if((fpw=fopen(argv[1],"a"))==NULL){

printf("\nCan'topenfile%s!

",argv[1]);

exit

(1);}

do{fputc(fgetc(fpr),fpw);}

while(!

feof(fpr));

}

得分

评卷人

三、完成下列各题(共20分,每题10分)

1.修改下列程序段,去掉其中的break、continue,保持与原程序段等价。

charc[]="MicroSoftWindows98";

char*p;

inti;

p=c;

i=0;

while(p[i]!

='\0')

{

if(*(p+i)=='')break;

if(isupper(p[i])){

i+=1;continue;}

p[i]=*(p+i)-32;

i++;

}

2.请写出下列程序的输出结果:

#include"stdio.h"

main()

{char*cc="AB9\11STUDENT";

inti,c;

for(i=1;(c=cc[i])!

='\0';i++){

switch(c){

case'A':

putchar(c+1);i=i+5;

case'B':

putchar(c+4);continue;

case'9':

putchar(c);break;

case'S':

while((c=cc[++i])!

='\0');continue;

case'\\':

putchar('X');break;

case'1':

case9:

putchar('Z');continue;}

putchar('*');}

}

得分

评卷人

四、阅读下列程序(共20分,每题10分)

1.请写出下列程序中各printf的输出结果:

#include"stdio.h"

intx=5,y=6,z=7;

voidfuna(int,int);

voidfunb();

voidmain()

{intz=10;

y=11;

printf("\n%d,%d,%d,",x,y,z);

funa(x,y);

printf("%d,%d,%d",x,y,z);

}

voidfuna(inta,intb)

{intz=12;

y=a;

printf("%d,%d,%d,",x,y,z);

x=b;

funb();

printf("%d,%d,%d,",x,y,z);

}

voidfunb()

{inty=30;

printf("%d,%d,%d,",x,y,z);

}

2.请写出运行下列程序后的输出结果:

#defineNULL0

#include"stdio.h"

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];head->d2=cc[1];

tail=head;

for(k=2;cc[k]!

='\0';k+=2){

tail->next=(LINK)malloc(sizeof(Node));

tail=tail->next;

tail->d1=*(cc+k)+1;tail->d2=*(cc+k+1)+1;}

tail->next=NULL;}

return(head);

}

voidplist(xx)/*函数定义*/

LINKxx;

{if(xx!

=NULL){

if(xx->next!

=NULL)

printf("%c-->",xx->d1);

else

printf("%c\n",xx->d1);

plist(xx->next);}

}

得分

评卷人

五、完成下列各题(共20分,每题10分)

1、请编写一完整的C程序把一个二维数组的行列元素互换,构成一个新的二维数组。

设原数组为4行3列,其中各数据元素由用户输入,要求分别输出原数组和新数组。

2、请补充下列程序中的空白处,使其能将name数组中的字符串按字典序从大到小输出。

#include"stdio.h"

main()

{

voidsort();

inti,n=5;

char*name[]={"MS-DOS","Windows","UCDOS","CCDOS","Unix"};

sort(name,n);

for(i=0;i

}

voidsort(cc,m)

char*cc[];

intm;

{

 ② 

inti,j,k;

for(i=0;i

{k=i;

for(j=i+1;j

if( ③ )

k=j;

if( ④ )

{pp=cc[i];cc[i]=cc[k];cc[k]=pp;}

}

}

试卷代号:

座位号

江苏广播电视大学转业军人学历教育本科2004年春模拟试题

《C程序设计语言》课程模拟试题(三)

2004年春

题号

总分

分数

得分

评卷人

一、完成下列各题(共20分)

1.请用C语言的表达式表示下列代数式:

(5分)

(1)

(2)

(3)(e=2.71828)

(4)

(5)

2.设u、v均为整型变量,且u=6、v=2,请计算下列表达式的值:

(5分)

(1)u*!

v

(2)u/++v

(3)u-*&v

(4)u--%v

(5)u!

=v

3.设在程序的变量说明部分已作了如下说明和初始化

inti=2,j=3,k=4,x=0,t=0,*p=&i;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1