C语言程序设计模拟试题3附答案NEW_精品文档.doc

上传人:b****1 文档编号:209657 上传时间:2022-10-06 格式:DOC 页数:12 大小:50.50KB
下载 相关 举报
C语言程序设计模拟试题3附答案NEW_精品文档.doc_第1页
第1页 / 共12页
C语言程序设计模拟试题3附答案NEW_精品文档.doc_第2页
第2页 / 共12页
C语言程序设计模拟试题3附答案NEW_精品文档.doc_第3页
第3页 / 共12页
C语言程序设计模拟试题3附答案NEW_精品文档.doc_第4页
第4页 / 共12页
C语言程序设计模拟试题3附答案NEW_精品文档.doc_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言程序设计模拟试题3附答案NEW_精品文档.doc

《C语言程序设计模拟试题3附答案NEW_精品文档.doc》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题3附答案NEW_精品文档.doc(12页珍藏版)》请在冰豆网上搜索。

C语言程序设计模拟试题3附答案NEW_精品文档.doc

《C语言程序设计》模拟试卷三

 

一、填空题。

(每空2分,共16分)

1.在内存中,短整型变量占  字节,单精度实型变量占  字节,字符型变量占   字节。

2.一个C语言文件是由若干个    组成。

3.设有以下变量定义,并已赋确定的值

 charw;intx;floaty;doublez;

则表达式:

w*x+z-y所求得的数据类型为          。

4.若x为int类型,请以最简单的形式写出与逻辑表达式!

x等价的C语言关系表达式        。

5.若有如下图所示五个连续的int类型的存储单元并赋值如下图,a[0]的地址小于a[4]的地址。

p和s是基类型为int的指针变量。

请对以下问题进行填空。

 a[0]a[1]a[2]a[3]a[4]

22

33

44

55

66

(1)若p已指向存储单元a[1]。

通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是   。

(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是          。

二、单项选择题。

(每题2分,共40分)

1.设有intx=11;则表达式(x++*1/3)的值是( )。

A)3  B)4  C)11  D)12

2.下列程序的输出结果是( )。

A)3  B)3.2   C)0    D)3.07

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

printf(“%d\n”,d*y);

}

3.下列程序执行后的输出结果是(小数点后只写一位)( )。

A)6 6 6.0 6.0    B)6 6 6.7 6.7

C)6 6 6.0 6.7    D)6 6 6.7 6.0

main()

{doubled;floatf;longl;inti;

i=f=l=d=20/3;

printf("%d%ld%f%f\n",i,l,f,d);

scanf("%d",&d);

}

4.下列变量定义中合法的是( )。

A)short_a=1-.le-1;     B)doubleb=1+5e2.5;

C)longdo=0xfdaL;    D)float2_and=1-e-3;

5.设intx=1,y=1;表达式(!

x||y--)的值是( )。

A)0  B)1  C)2  D)-1

6.与y=(x>0?

1:

x<0?

-1:

0);的功能相同的if语句是( )。

A)if(x>0)y=1;     B)if(x)

 elseif(x<0)y=-1;      if(x>0)y=1;

   elsey=0;      elseif(x<0)y=-1;

                  elsey=0;

C)y=-1           D) y=0;

if(x)           if(x>=0)

if(x>0)y=1;         if(x>0)y=1;

elseif(x==0)y=0;      elsey=-1;

       elsey=-1;

7.以下循环体的执行次数是( )。

A)3  B)2   C)1   D)0

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)printf(“%d\n”,i);

}

8.以下叙述正确的是( )。

A)do-while语句构成的循环不能用其它语句构成的循环来代替。

B)do-while语句构成的循环只能用break语句退出。

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

9.下列程序执行后的输出结果是()。

A)G   B)H   C)I  D)J

main()

{intx=’f’;printf(“%c\n”,’A’+(x-‘a’+1));}

10.执行下面的程序段后,变量k中的值为()。

A)不定值  B)33  C)30  D)10

intk=3,s[2];

s[0]=k;k=s[1]*10;

11.若已定义:

inta[]={0,1,2,3,4,5,6,7,8,9],*p=a,i;

其中0≤i≤9,则对a数组元素不正确的引用是( )。

A)a[p-a]  B)*(&a[i])  C)p[i]  D)a[10]

12.下列程序执行后的输出结果是( )。

A)6   B)7  C)8   D)9

voidfunc(int*a,intb[])

{b[0]=*a+6;}

main()

{inta,b[5];

  a=0;b[0]=3;

  func(&a,b);printf(“%d\n”,b[0]);

}

13.下列程序的运行结果是( )。

A)a=%2,b=%5     B)a=2,b=5

C)a=d,b=d      D)a=%d,b=%d

#include

main()

{inta=2,c=5;

 printf(“a=%d,b=%d\n”,a,c);}

14.下列程序执行后的输出结果是()。

A)3  B)6   C)9   D)随机数

main()

{  inta[3][3],*p,i;

  p=&a[0][0];

  for(i=0;i<9;i++)p[i]=i+1;

  printf(“%d\n”,a[1][2]);

}

15.设有数组定义:

chararray[]=“China”;则数组array所占的空间为( )。

A)4个字节  B)5个字节  C)6个字节  D)7个字节

16.下列程序的输出结果是( )。

A)4  B)6   C)8  D)10

intb=2;

intfunc(int*a)

{b+=*a;return(b);}

main()

{inta=2,res=2;

 res+=func(&a);

 printf(“%d\n”,res);

}

17.有以下定义和语句

inta[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是()

A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]

18.下列程序的输出结果是( )。

A)5   B)6  C)7  D)8

structabc

{inta,b,c;};

main()

{  structabcs[2]={{1,2,3},{4,5,6}};

intt;

  t=s[0].a+s[1].b;

  printf(“%d\n”,t);

}

19.若有以下调用语句,则不正确的fun函数的首部是( )。

A)voidfun(intm,intx[])   B)voidfun(ints,inth[41])

C)voidfun(intp,int*s)     D)voidfun(intn,inta)

main()

{…

 inta[50],n;

 …

 fun(n,&a[9]);

 …

}

20.在C程序中,可把整型数以二进制形式存放到文件中的函数是()。

A)fprintf函数 B)fread函数  C)fwrite函数  D)fputc函数

三、修改下列程序:

(在程序出错的语句下划横线并标号,把修改后的语句写在程序下面的横线上。

)(每小题5分,共10分)

1.下列给定程序的功能是:

读入一个整数(2<=k<=10000),打印它的所有质因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出2、3、5、7、11。

#include

#include

*******************************

IsPrime(intn);

{inti,m;

m=1;

for(i=2;i

******************************

if!

(n%i)

{m=0;contitue;}

return(m);

}

main()

{intj,k;

clrscr();

printf(“nPleaseenteranintegernumberbetween2and10000:

”);

scanf(“%d”,k);

printf(“nnTheprimefactor(s)of%dis(are):

”,k);

for(j=2;j<=k;j++)

if((!

(k%j))&(IsPrime(j))) printf("%4d",j);

getchar();

})

 

      

 

             

2.下列给定程序中,函数fun的功能是:

逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或等于的字符一次存放到c数组中,形成一个新的字符串。

例如,若a中的字符串为aBCDeFgH,b中的字符串为:

ABcd,则c中的字符串为:

aBcdeFgh。

#include

#include

***************************************

void;fun(char*p,char*q,char*c);

***************************************

{intk=1;

**************************************

while(*p!

=*q)

{if(*p<*q)c[k]=*q;

elsec[k]=*p;

if(*p)p++;

if(*q)q++;

k++;

}

K=’\0’;

}

***************************************

 

main()

{chara[10]=“aBCDeFgh”,b[10]=“ABcd”,c[80]={“”};

fun(a,b,c);

printf(“Thestringa:

”);puts(a);

printf(“Thestringb:

”);puts(b);

printf(“Theresult:

”);puts(c);

}

 

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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