C语言程序设计模拟试题3附答案NEW.docx

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

C语言程序设计模拟试题3附答案NEW.docx

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

C语言程序设计模拟试题3附答案NEW.docx

C语言程序设计模拟试题3附答案NEW

《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〈stdio.h>

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〈conio。

h〉

#include

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

IsPrime(intn);

{inti,m;

m=1;

for(i=2;i〈n;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

h〉

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

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

}

   

  

                 

四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。

(每小题4分,共16分)

1.   #include〈stdio.h〉

       voidmain()

      {  charch;intk=0;

          for(ch=’A’;ch<’H’;ch++,k++)

if(k%2==0)printf(“%c”,ch);

          printf(“\n”);

       }                              

输出结果:

          

 2。

 #include〈stdio.h〉

     voidmain()

    {  intk=0;

        charc=’A’;

        do{

switch(c++)

{case‘A’:

k++;break;

                 case‘B':

k—-;

                 case‘C’:

k+=2;break;

                 case‘D’:

k=k%2;break;

                 case‘E':

k=k*10;break;

                 default:

k=k/3;

           }

           k++;

        }while(c〈’G’);

        printf(“k=%d\n”,k);

}                                

输出结果:

          

 3. #include〈stdio.h>

       voidmain()

      { inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;

          for(i=0;i<6;i++){

              for(j=0;j〈6;j++)if(a[i]==b[j])break;

                 if(j<6)printf(“%d”,a[i]);

          }

          printf(“\n”);

        }                         

输出结果:

        

 4.  #include

      voidmain()

     { inta[8]={1,0,1,0,1,0,1,0},i;

         for(i=2;i〈8;i++)a[i]+=a[i—1]+a[i-2];

         for(i=0;i〈8;i++)printf(“%d”,a[i]);

         printf(“\n”);

       }                                 

输出结果:

       

五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。

(每空1分,共6分)

1.将两个数从小到达输出。

  main()

{float  a,b,      ;

scanf(        ,&a,&b);

if(a>b)

  {t=a;

                    ;

   b=t;

  }

printf(“Thenumsmalltobig:

%d%d”,a,b);

   }

2.输出购买总价值和数量。

#define        30

   main()

  {          ;   

   num=10;

   total=num*PRICE;

printf(“total=%d,num=%d\n”,               );

六、按要求编写下列程序。

(每题6分,共12分)

1.输出下图。

               

 * *

 * * *  

 * * * *

 

 2.编程判断输入的正整数是否既是5又是7的整数倍数.若是,则输出yes;否则输出no。

 

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

一、填空题。

(每空2分,共16分)

12 4   1

2. 函数 

3.double 

4.  x==0||x==1 

5.  s=p+3   2 

二、单项选择题.(每题2分,共40分)

1.A2.C3.A4.A5.B

6.A7.C8.D 9.A10.A

11.D12.A13.B14.B15.C

16.B 17.C18.B19.D20。

C

三、修改下列程序:

(在程序出错的语句下划横线并标号,把修改后的语句写在程序下面的横线上.)(每小题5分,共10分)

1

 IsPrime(intn)   

if(!

(n%i)) 

 scanf(“%d”,&k);          

2.

 voidfun(char*p,char*q,char*c)  

  k=0;

     while(*p||*q)              

四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果.(每小题4分,共16分)

1.  ACEG 

2。

  k=8  

3。

  4252716  

4。

1022571320  

五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整.(每空1分,共6分)

1. t 

“a=%f,b=%f”

 a=b 

2.

 PRICE   

 intnum ,total

  total,num  

六、按要求编写下列程序.(每题6分,共12分)

1.

main()

inti,j;

for(i=0;i〈=3;i++)

for(j=0;j〈=i;j++)

printf("*");

printf("\n”);

}

getchar();

}

2.

main()

intn;

printf("请输入整数n:

");

scanf("%d",&n);

if(!

(n%5)||!

(n%7))

printf(”Yes!

");

else

printf(”No!

”);

}

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

当前位置:首页 > 农林牧渔

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

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