基础c语言模拟题含答案.docx

上传人:b****6 文档编号:4456245 上传时间:2022-12-01 格式:DOCX 页数:17 大小:21.29KB
下载 相关 举报
基础c语言模拟题含答案.docx_第1页
第1页 / 共17页
基础c语言模拟题含答案.docx_第2页
第2页 / 共17页
基础c语言模拟题含答案.docx_第3页
第3页 / 共17页
基础c语言模拟题含答案.docx_第4页
第4页 / 共17页
基础c语言模拟题含答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基础c语言模拟题含答案.docx

《基础c语言模拟题含答案.docx》由会员分享,可在线阅读,更多相关《基础c语言模拟题含答案.docx(17页珍藏版)》请在冰豆网上搜索。

基础c语言模拟题含答案.docx

基础c语言模拟题含答案

一、单选题:

(每题1.5分,共60分)

1、C程序是(  ) 

  A.顺序执行

  B.从Main函数开始

  C.从函数体开始

  D.任意语句

 答案:

B

2、以下说法中正确的是(  )。

  

  A.C语言程序中是从第一定义的函数开始执行

  B.在C语言程序中,要调用的函数必须在main()函数中定义

  C.C语言程序总是从main()函数开始执行

  D.C语言程序中的main()函数必须放在程序的开始部分

 答案:

C

3、算法的表示方法有________。

  A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言

  B.高级语言,汇编语言,机器语言

  C.C语言,QBASIC语言,InterDev

  D.图形图像法,描述法,编程法

  E.计算机语言

 答案:

A

4、以下选项中,非法的字符常量是(  )

  A.'\t'

  B.'\17'

  C."n"

  D.'\xaa'

 答案:

C

5、以下所列的C语言常量中,错误的是

  A.0xFF

  B.1.2e0.5

  C.2L

  D.'\72'

 答案:

B

6、下列变量名合法的是( ) 

  A.#1

  B.$567

  C.a-b

  D.m_number

 答案:

D

7、下面四个选项中,均是不正确的八进制数或十六进制数的选项是

  A.0160x8f018

  B.0abc0170xa

  C.010-0x110x16

  D.0a127ff-123

 答案:

D

8、sizeof(float)是

  A.一个双精度型表达式

  B.一个整型表达式

  C.一种函数调用

  D.一个不合法的表达式

 答案:

B

9、C语言中,double类型数据占( )个字节,char类型数据占( )个字节

  A.1

  B.2

  C.4

  D.8和1

 答案:

D

10、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是

  A.c=b=a;

  B.(a=c)‖(b=c);

  C.(a=c)&&(b=c);

  D.a=c=b;

 答案:

C

11、若已定义x和y为double型,则表达式:

x=1,y=x+3/2的值是( )

  A.1

  B.2

  C.2.0

  D.2.5

 答案:

C

12、执行语句x=(a=3,b=a--)后x,a,b的值为;

  A.332

  B.322

  C.323

  D.232

 答案:

C

13、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是

  A.a\bre\'hi\'y\\\bou

  B.a\bre\'hi\'y\bou

  C.re'hi'you

  D.abre'hi'y\bou

 答案:

C

14、在下列运算符中,优先级别最高的是

  A.<=

  B.=

  C.%

  D.&&

 答案:

C

15、若执行下面的程序时从键盘上输入3和4,则输出是

 main()

int a,b,s;

a=3,b=4;

scanf("%d%d",&a,&b);

s=a+b;

 printf("%d\n",s--);

 printf("%d\n,--s);

}

  A.7,7

  B.7,5

  C.6,7

  D.7,6

 答案:

B

16、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(  )。

  #include

  main()

  { int x;

  seanf(”%d”,&x);

  if(x++>5)printf(”%d”,x);

  else printf(”%d\n”,x--);}

  A.7和5

  B.6和3

  C.7和4

  D.6和4

 答案:

A

17、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,

则逻辑表达式(m=a > b)&&(n=c > d)运算后,n的值为:

 

  A.0

  B.1

  C.2

  D.3

 答案:

C

18、逻辑运算符两侧运算对象的数据类型

  A.只能是0或1

  B.只能是0或非0正数

  C.只能是整型或字符型数据

  D.可以是任何类型的数据

 答案:

D

19、表示关系X < =Y < =Z的C语言表达式为________。

  A.(X<=Y)&&(Y<=Z)

  B.(X<=Y)AND(Y<=Z)

  C.(X<=Y<=Z)

  D.(X<=Y)&(Y<=Z)

 答案:

A

20、判断字符型变量x是否是大写字母的正确的表达式______.

  A.'A'<=x<='Z'

  B.(x>=A)&&(x<=Z)

  C.('A'<=x)&&('Z'=>x)

  D.(x>='A')&&(x<='Z')

 答案:

D

21、有如下程序

main0

{ int x=1,a=0,b=0;

switch(x){

case 0:

 b++;

case 1:

 a++

case 2:

 a++;b++

}

printf("a=%d,b=%d\n",a,b);

}

该程序的输出结果是

  A.a=2,b=1

  B.a=1,b=1

  C.a=1,b=0

  D.a=2,b=2

 答案:

A

22、已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是

if(x>y)

 z=x;x=y;y=z;

  A.x=10,y=20,z=30

  B.x=20,y=30,z=30

  C.x=20,y=30,z=10

  D.x=20,y=30,z=20

 答案:

B

23、以下程序的输出结果是

main()

{int a=100,x=10,y=20,ok1=5,ok2=0;

 if(x < y)

  if(y!

=10)

   if(!

ok1)

     a=1;

   else

     if(ok2) a=10;

 a=-1;

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

}

  A.1

  B.0

  C.-1

  D.值不确定

 答案:

C

24、i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是

   for (i=5; i; i--)

    for(j=0; j < 4; j++){…}

   

  A.20

  B.24

  C.25

  D.30

 答案:

A

25、以下程序的输出结果是

main( )

{ int x=10,y=10,i;

for(i=0;x > 8;y=++i)

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

}

  A.10192

  B.9876

  C.10990

  D.101091

 答案:

D

26、执行语句:

 for (i=1;i++ < 4;);后,变量i的值是______.

  A.3

  B.4

  C.5

  D.不定

 答案:

C

27、以下程序的输出结果是

{ int  i,j,x=0;

 for(i=0;i < 2;i++)

   { x++;

    for(j=0;j < 3;j++)

     { if(j%2) continue;

      x++;

     }

    x++

   }

   printf("x=%d\n",x);

}

  A.x=4

  B.x=8

  C.x=6

  D.x=12

 答案:

B

28、有以下程序段

int k=0

while(k=1)k++;

while 循环执行的次数是

  A.无限次

  B.有语法错,不能执行

  C.一次也不执行

  D.执行1次

 答案:

A

29、在while(x)语句中的x与下面条件表达式等价的是(  )。

  A.x==0

  B.x==1

  C.x!

=0

  D.x!

=1

 答案:

C

30、执行下面的程序段后,变量k中的值为

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

  A.不定值

  B.33

  C.30

  D.10

 答案:

A

31、若有说明:

int a[10];则对a数组元素的正确引用是

  A.a[10]

  B.a[3,5]

  C.a(5)

  D.a[10-10]

 答案:

D

32、设有数组定义:

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

  A.4个字节

  B.5个字节

  C.6个字节

  D.7个字节

 答案:

C

33、从下列选项中选择不会引起二义性的宏定义是(  )。

 A)#define POWER(X)X*X  B)#define POWER(X)(X)*(X)

 C)#define POWER(X)(X*X) D)#define POWER(X)((X)*(X))

  A.A

  B.B

  C.C

  D.D

 答案:

D

34、在说明语句:

int *f();中,标识符f代表的是

  A.一个用于指向整型数据的指针变量

  B.一个用于指向一维数组的行指针

  C.一个用于指向函数的指针变量

  D.一个返回值为指针型的函数名

 答案:

D

35、 若有说明:

int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是

  A.i=*p;

  B.p*=*&j;

  C.i=&j;

  D.i=**p;

 答案:

D

36、下面程序的输出是

main()

{ char x=040;

 printf("%d\n",x=x<<1);

}

  A.100

  B.160

  C.120

  D.64

 答案:

D

37、C语言中____函数的递归调用。

  A.允许

  B.不允许

  C.由用户自己而定

  D.不确定

 答案:

A

38、关于建立函数的目的,以下正确的说法是

  A.提高程序的执行效率

  B.提高程序的可读性

  C.减少程序的篇幅

  D.减少程序文件所占内存

 答案:

B

39、有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是

  A.3

  B.4

  C.5

  D.有语法错

 答案:

A

40、以下函数

  fff(float x)

  {

  printf(”%d\n”,x*x);

  }

  的类型是(  )。

  A.与参数x的类型相同

  B.void类型

  C.int类型

  D.无法确定

 答案:

C

填空题:

(每题1.5分,共24分)

1、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为_____;一个double型数据在内存中所占的字节数为_________

 答案:

4,8

2、设有以下变量定义,并已赋确定的值

charw;intx;floaty;doublez;

则表达式:

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

 答案:

double

3、设x和y均为int型变量,且x=1,y=2,则以下表达式:

0+x/y的值为___。

 答案:

0

4、若a是int型变量,则计算表达式后a的值为_______

a=25/3%3

 答案:

2

5、语句:

x++;?

++x;x=x+1;?

x=l+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)

 答案:

X+=1

6、若变量已正确定义,以下语句段的输出结果是——。

x=0;y=2;z=3;

switch(x)

{

caseO:

switch(y==2)

{

case1:

printf(”*”);break;

case2:

printf(”%”);break;

}

case1:

switch(z)

{

case1:

printf(”$”);

case2tprintf(”$”);break;

d

 答案:

*#

7、设x,y、z均为int型变量,请写出描述“x或Y中至少有一个小于Z”的表达式——。

 答案:

x

8、已知charch;则判断ch是英文字符的逻辑表达式是_______________

 答案:

(ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')

9、表示条件:

10

 答案:

(X>10&&X<100)||X<0

10、请写出以下程序的输出结果——。

#include

main()

{

inta=100:

if(a>100)

printf(”%d\n”,a>100);

else

pIintf(”%d\n”,a<=100);}

 答案:

!

&&||

11、下面程序的功能是:

输出100以内能被3整除且个位数为6的所有整数,请填空。

#include

main()

{inti,j;

for(i=0;______________;i++)

{j=i*10+6;

if(________)continue;

printf("%d",j);

}

}

 答案:

i<10,j%3!

=0

12、下面程序的功能是:

将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。

请填空。

#include

#include

main()

{chara[]="clanguage",t;

inti,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

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

if(_______________

 答案:

j+=2

a[i]>a[j]

13、读入一个1到9的数a,求s=a+aa+aaa+…+aa…a(共20项)。

请对下述程

序填空,其中temp保存当前处理项aa…a。

(每个空分别以序号标注,如:

(1)

____)

#include

main()

{

intI;

longa,s,temp;

s=temp=0;

printf("Pleaseenteranumber(1-9)");

scanf(

(1)____);

s=a;

for(I=1;

(2)____;(3)____)

 答案:

"%lf",&a,i<20,i++,a+a*10,temp

14、下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存人数组b,并按每行3个元素

输出数组b。

请填空。

#include

main()

{inta[10],b[10],i;

for(i=0;_________;i++)

scanf(”%d”,&a[i]);

for(i=1;__________;i++)

b[i]=a[i]-a[i-1];

for(i=1;i<10;i++)

{printf(”%3d”,b

 答案:

i<10i<10i%3==0

15、下面程序的功能是:

将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。

#include

#include

main()

{chara[]=”clanguage”,t;

inti,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

for(j=i+2;j

if(___________)

{t=a[i];a[i]=a

 答案:

i+=2

a[ij>a[j]

16、阅读以下程序并填空,该程序是求阶乘的累加和。

S=0!

+1!

+2!

+…+n!

#include

longf(intn)

{

inti:

longs;

s=________;

for(i=1;i<=n;i++)

s=________;

returns;

}

main()

{

longs;

intk,n;

scanf(”%

 答案:

1s*i0f(k)

程序设计题:

(请在以下3题中任选2题作答,若3道全部解答,以前2道为准,每题8分,共16分)

1、编程序求出100到200之间同时满足除3余2和除5余3条件的数的个数。

 答案:

main()

{

inti,num=0;

for(i=100;i<=200;i++)

{

if((i%3==2)&&(i%5==3))

num=num+1;

}

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

}

本题答案:

6

2、回文数是指正读和反读都一样的正整数。

例如3773等都是回文数。

求出[1000,9999]以内的回文数是6的倍数的最大回文数。

 答案:

main()

{

inta1,b1,a2,b2,i,hwm;

for(i=1000;i<=9999;i++)

{

a1=i/1000;

b1=i/100-a1*10;

b2=i/10-a1*100-b1*10;

a2=i%10;

if((a1==a2)&&(b1==b2)&&(i%6==0))

hwm=i;

}

printf("所求的最大回文数为%d",hwm);

}

参考答案:

3、编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。

该数是一个完全平方数,第1、2位数字之和为12,第3、4位数字之积为24。

 答案:

#include

main()

{intn=0;

inta,b,c,d,e,m;

for(m=32;m<=99;m++)

{

e=m*m;

a=e/1000;/*a为千位*/

b=(e%1000)/100;/*b为百位*/

c=((e%1000)%100)/10;/*

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

当前位置:首页 > 高中教育 > 英语

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

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