M1C语言模拟试题一分析.docx

上传人:b****4 文档编号:5717958 上传时间:2023-05-09 格式:DOCX 页数:21 大小:24.33KB
下载 相关 举报
M1C语言模拟试题一分析.docx_第1页
第1页 / 共21页
M1C语言模拟试题一分析.docx_第2页
第2页 / 共21页
M1C语言模拟试题一分析.docx_第3页
第3页 / 共21页
M1C语言模拟试题一分析.docx_第4页
第4页 / 共21页
M1C语言模拟试题一分析.docx_第5页
第5页 / 共21页
M1C语言模拟试题一分析.docx_第6页
第6页 / 共21页
M1C语言模拟试题一分析.docx_第7页
第7页 / 共21页
M1C语言模拟试题一分析.docx_第8页
第8页 / 共21页
M1C语言模拟试题一分析.docx_第9页
第9页 / 共21页
M1C语言模拟试题一分析.docx_第10页
第10页 / 共21页
M1C语言模拟试题一分析.docx_第11页
第11页 / 共21页
M1C语言模拟试题一分析.docx_第12页
第12页 / 共21页
M1C语言模拟试题一分析.docx_第13页
第13页 / 共21页
M1C语言模拟试题一分析.docx_第14页
第14页 / 共21页
M1C语言模拟试题一分析.docx_第15页
第15页 / 共21页
M1C语言模拟试题一分析.docx_第16页
第16页 / 共21页
M1C语言模拟试题一分析.docx_第17页
第17页 / 共21页
M1C语言模拟试题一分析.docx_第18页
第18页 / 共21页
M1C语言模拟试题一分析.docx_第19页
第19页 / 共21页
M1C语言模拟试题一分析.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

M1C语言模拟试题一分析.docx

《M1C语言模拟试题一分析.docx》由会员分享,可在线阅读,更多相关《M1C语言模拟试题一分析.docx(21页珍藏版)》请在冰点文库上搜索。

M1C语言模拟试题一分析.docx

M1C语言模拟试题一分析

单选题:

1、下列程序执行后输出的结果是

   #include 〈stdio.h〉

   f(int a)

   { int b=0;

    int c=3;

    a=c++,b++;//先计算a,再取b值,但没使用。

如果a=(c++,b++),结果?

;

    return(a);

   }

   main( )

   { int a=2,i,k;

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

      k=f(a+ +);//i=0,a=2;i=1,a=3(但没有改变被调函数的使用)

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

   }

  

  A.3

  B.0

  C.1

  D.4

 答案:

A

2、假定a和b为int型变量,则执行以下语句后b的值为

main()

 {a=1;b=10;

  do

  {b=b-a;a++;}/*①10-1=9,a=2;②8-2=6,a=3;③5-3=2、a=4④1-4=-3*/

  while(b-->0);/*①9-1=8;②6-1=5;③2-1=1;④-3-1=-4*/

}  

  A.-3

  B.-2

  C.-1

  D.-4

 答案:

D

3、下面的表达式中_______满足:

当x为偶数时值为“真”,为奇数时值为“假”

  A.x%2==0/*如4%2==0

(1)5%2==0(0)

  B.!

x%2!

=0/*如!

4%2!

=0(0)!

5%2!

=0(0)(优先级:

->%->!

=)

  C.2*x/2-x==0

  D.!

(x%2)

 答案:

B?

4、设 int b=2;表达式b/(b*2)的值是_______.

  A.0

  B.0.5

  C.0.500000

  D.0.00000

 答案:

A

5、设x、y、z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32)后,x的值为_____.

  A.4

  B.16

  C.32

  D.52

 答案:

C

6、若有以下定义和语句:

 int  u=010,v=0x10,w=10;

 printf(″%d,%d,%d\n″,u,v,w);

则输出结果是:

  

  A.8,16,10  

  B.10,10,10  

  C.8,8,10   

  D.8,10,10

 答案:

A

7、若有以下说明和语名:

 int a=5

 a++;

此处表达式a++的值是____

  A.7

  B.6

  C.5

  D.4

 答案:

C

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

   main()

  { int a,b,s;

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

  s=a;

  if (a < b) s=b;

  s=s*s;

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

  }

  A.14

  B.16

  C.18

  D.20

 答案:

B

9、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系

的表达式为________。

 

 

  A.a<>0

  B.!

a

  C.a=0

  D.a!

=0

 答案:

D

10、执行语句:

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

  

  A.3

  B.4

  C.5

  D.不定

 答案:

C

11、执行语句:

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

  

  A.3

  B.4

  C.5

  D.不定

 答案:

C

12、已知字母A的ASCⅡ码为十进制的65,下面程序的输出是

main()

{ char ch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%c,%c\n",c1,c2);

}

  A.67,D

  B.B,C

  C.C,D

  D.ch2='A'+'6'-'3';

 答案:

C

13、下列程序执行后的输出结果是

main()

{ char arr[2][4];

strcpy(arr[0],"you"); 

strcpy(arr[1],"me");

arr[0][3]='&';

printf("%s \n",arr);

}

  A.you&me

  B.you

  C.me

  D.err

 答案:

A

14、下列程序执行后的输出结果是

#define MA(x) x*(x-1)

main()

{ int a=1,b=2;

 printf("%d \n",MA(1+a+b));}/*1+1+2*(1+1+2-1)=8

  A.6

  B.8

  C.10

  D.12

 答案:

B

15、以下程序运行后,输出结果是

main( )

{ char s[]="abcde";

s+=2;//errorC2106:

'+=':

leftoperandmustbel-value

printf("%ld\n",s);

}

  A.cde

  B.字符c的ASCII码值

  C.字符c的地址

  D.出错

 答案:

D

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

   for (i=5; i; i--)/*i=5、4、3、2、1*/

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

   

  A.20

  B.24

  C.25

  D.30

 答案:

A

17、执行下面语句后的输出为( ) 

int i= -1;

if (i < =0)printf("****\n")

else printf("%%%%\n")

  A.****

  B.%%%%

  C.%%%%C

  D.有语法错,不能执行

 答案:

D(else前缺少;)

18、语句:

printf("%d \n",12&&12);的输出结果是

 

  A.12

  B.1

  C.24

  D.0

 答案:

B

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

 

  A.C语言程序总是从第一个的函数开始执行

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

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

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

 答案:

C

20、下述对C语言字符数组的描叙不正确的是(   )

  

  A.字符数组可以存放字符串

  B.字符数组中的字符串可以整体输入、输出

  C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

  D.不可以用关系运算符对字符数组中的字符串进行比较

 答案:

C

21、C程序是(  ) 

  A.按顺序执行的

  B.从Main函数开始

  C.从函数体开始

  D.任意语句

 答案:

B

22、下列语句正确的是( ) 

  A.if(a>b>c)temp=a

  B.if((a=b)>0)temp=a

  C.inta=b=c=4

  D.inta;scanf(%d,a)

 答案:

B

23、以下关于字符串的不正确说法是( ) 

 

  A.字符串长度就是字符串中字符的个数

  B.字符串的尾部会自动追加一个"字符串结束标志"

  C.字符串的长度为字符个数加1

  D.在C语言中常用字符型数组来存放字符串

 答案:

A

24、以下正确的说法是:

在C语言中

  A.实参和与其对应的形参各占用独立的存储单元

  B.实参和与其对应的形参共占用一个存储单元

  C.只有当实参和与其对应的形参同名时才共占用存储单元

  D.形参是虚拟的,不占用存储单元

 答案:

A

25、以下不正确的if语句形式是

  A.if(x>y&&x!

=y)t=x++;

  B.if(x==y)x+=y;

  C.if(x!

=y)scanf("%d",&x)elsescanf("%d",&y);

  D.if(x<>

 答案:

C?

?

26、请阅读以下程序:

main( )

{

int a=5,b=0,c=0;

if(a==b+c) printf("***\n");

else   printf("$$$\n");

}

以上程序

  A.有语法错不能通过编译

  B.可以通过编译但不能通过连接

  C.输出***

  D.输出$$$

 答案:

D

27、以下不正确的说法是:

C语言规定

  A.实参不可以是常量,变量或表达式

  B.形参可以是常量,变量或表达式

  C.实参可以为任何类型

  D.形参应与其对应的实参类型一致

 答案:

B

28、若有语句:

char s1[]="string",s2[8],*s3,*s4="string2";则对库函数strcpy的错误调用是

  A.strcpy(s1,"string2");

  B.strcpy(s4,"string1");

  C.strcpy(s3,"string1");//指针s3没有指向

  D.strcpy(s1,s2);

 答案:

C

29、假定x和y为double型,则表达式x=2,y=x+3/2的值是

  A.3.500000

  B.3

  C.2.000000

  D.3.000000(3/2=1作为整型数据运算,应为:

3.0/2.0)

 答案:

D

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

main()

{ char c='z';

printf("%c",c-25);

}

  A.a

  B.Z

  C.z-25

  D.y

 答案:

A

31、有如下程序 

main()

{ int x=23;

do

{ printf("%d",x--);}

while(!

x);

}

该程序的执行结果是

  A.321

  B.23

  C.不输出任何内容

  D.陷入死循环

 答案:

B

32、设有说明语句:

char a='\72';则变量a

  A.包含1个字符

  B.包含2个字符

  C.包含3个字符

  D.说明不合法

 答案:

A

33、有如下程序段

int a=14,b=15,x;

char c='A';

x=(a&&b)&&(c<'B');

执行该程序段后,x的值为

  A.ture

  B.false

  C.0

  D.1

 答案:

D

34、有如下程序

main()

{ char s[]="ABCD", *P;

for(p=s+l; p < s+4; p++) printf ("%s\n",p);//p:

1~3

}

该程序的输出结果是

  A.ABCDBCDCDD

  B.ABCD

  C.BCD

  D.BCDCDD

 答案:

D

35、 设有 int x=11; 则表达式 (x++ * 1/3) 的值是

  A.3(11*1/3取整=3)

  B.4

  C.11

  D.12

 答案:

A

36、请选出正确的程序段

A) int *p;      B) int *s, k;

  scanf("%d",p);    *s=100;

  …          …

C) int *s, k;     D) int *s, k;

  char *p, c;      char *p, e;

  s=&k;         s=&k;

  p=&c;         p=&c;

  *p='a';        s=p;

  …          *s=1;

             …

  A.

  B.

  C.

  D.

 答案:

C

37、下列程序执行后的输出结果是

void func1(int i);

void func2(int i);

char st[]="hello,friend!

";

void func1(int i)

{ printf("%c",st[i]);

if(i<3){i+=2;func2(i);}

}

void func2(int i)

{ printf("%c",st[i]);

if(i<3){i+=2;func1(i);}

}

main()

{ int i=0; func1(i); printf("\n");}

  A.hello

  B.hel

  C.hlo

  D.hlm

 答案:

C

38、算法的表示方法有(  )。

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

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

  C.C语言,QBASIC语言,InterDev

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

  E.计算机语言

 答案:

A

39、设有定义:

“long x=-123456L;”,以下能正确输出变量x的的语句是( )

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

  B.printf("x=%ld\n",x);

  C.printf("x=%8dl\n",x);

  D.printf("x=%LD\n",x);

 答案:

B

40、合法的C语言赋值语句是( )

  A.a=b=1

  B.k=int(a+b);

  C.a=1,b=2

  D.--i;

 答案:

D

填空题:

1、一球从100m高度自由落下,每次落地后又回跳到原高度的一半,再落下,

求它在第10次落地时共经过多少m?

第10次反弹多高?

程序如下:

main()

{floatSn=100,hn=Sn/2;

intn;

for(n=2;n<=100;n++)(应为n<=10)?

?

{(a)__________;

(b)___________;}

printf("第10次落地时共经过%fm\n",Sn);

printf("第10次反弹%fm\n",hn);}

 答案:

Sn=Sn+2*hn,hn=hn/2

2、程序的功能:

从键盘输入若干学生的成绩,统计并输出最高成绩和

最低成绩,当输入负数时结束输入

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while__1__

{if(x>amax)amax=x;

if(__2__)amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);}

 答案:

x>=0.0或x>=0或!

(x<0)或!

(x<0.0),x

3、下面程序的功能是:

将字符数组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;_______

(1)__________)

if(_________

(2)__________)

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

puts(a);

printf("\n");

}

 答案:

j=j+2,a[i]>a[j]

4、用来引用特定数组元素的数字称为____.

 答案:

下标

5、求下面算术表达式的值

1)x+a%3*(int)(x+y)%2/4(注:

1/4=0)

 设x=2.5,a=7,y=4.7

2)(float)(a+b)/2+(int)x%(int)y(5.0/2+3%2=2.5+1=3.5)

  设a=2,b=3,x=3.5,y=2.5

 答案:

2.5,3.5

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

0+x/y的值为___。

 答案:

0

7、当a=3,b=2,c=1时,表达式f=a>b>c的值是_________

 答案:

0

8、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

 答案:

scanf,printf

9、若a,b和c均是int型变量,则计算表达式后,

a值为______,b值为______,c值为__________

a=(b=4)+(c=2)

 答案:

6,4,2

10、若从键盘输入58,则以下程序输出的结果是________。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

 答案:

585858

11、以下程序的输出结果是___________

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

 答案:

2,1

12、下列程序段的输出结果是_____________。

intn='c';

switch(n++)

{default:

printf("error");break;

case'a':

case'A':

case'b':

case'B':

printf("good");break;

case'c':

case'C':

printf("pass");

case'd':

case'D':

printf("warm");

}

 答案:

passwarm

13、要使以下程序段输出10个整数,请填入一个整数。

for(i=0;i<=____________;printf("%d\n",i+=2));

 答案:

18

14、

若输入字符串:

abcde<回车>,则以下while循环体将执行___________次。

while((ch=getchar())=='e')printf("*");

 答案:

0

15、下面程序的输出结果是__________。

﹟include﹤stdio.h﹥

voidmain()

{

inti=﹣200,j=25;

printf("%d,%d",i,j);

printf("i=%d,j=%d﹨n",i,j);

}

 答案:

-200,25,i=-200,j=25

16、使用强制转换方法将正整数转换成字符。

本题程序如下:

﹟include﹤stdio.h﹥

voidmain()

{

charc;intI;

scanf("%d",&I);

c=("%c的ASCII码为%d﹨n",c,I);

}

本程序的执行结果为___________。

 答案:

a的ASCII码为97

程序设计题:

1、编程序求1+3+5+7+9+…这样的数之和。

如果累加数大于750时,则程序终止并输出结果。

 答案:

main()

{

inti=1,sum=0;

while(sum<=750)

{

sum=sum+i;

i=i+2;

}

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

}

参考答案:

784

2、编写程序,求在10~1000之间所有能被4除余2,被7除余3,被9除余5的数之和。

 答案:

main()

{longs=0;

intm;

for(m=10;m<=1000;m++)

{

if(m%4==2&&m%7==3&&m%9==5)

s=s+m;

}

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

}

本题参考答案:

2000

3、一只猴子一天从山上摘来一袋桃子,从这天开始,它每天都要把袋中的桃子平分为二堆,吃掉其中的一堆,然后再从剩下的桃中拿出一个解谗,等到第10天,它发现袋中只有一只桃可吃啦,问猴子总共摘了多少桃。

 答案:

main()

{

inti,num;

inttemp=1;

for(i=9;i>0;i--)

{num=(temp+1)*2;

temp=num;

}

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

}

本题答案为:

1534

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2