二级C语言程序设计3真题含答案与解析交互.docx

上传人:b****3 文档编号:4960411 上传时间:2023-05-07 格式:DOCX 页数:23 大小:22.65KB
下载 相关 举报
二级C语言程序设计3真题含答案与解析交互.docx_第1页
第1页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第2页
第2页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第3页
第3页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第4页
第4页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第5页
第5页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第6页
第6页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第7页
第7页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第8页
第8页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第9页
第9页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第10页
第10页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第11页
第11页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第12页
第12页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第13页
第13页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第14页
第14页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第15页
第15页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第16页
第16页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第17页
第17页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第18页
第18页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第19页
第19页 / 共23页
二级C语言程序设计3真题含答案与解析交互.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

二级C语言程序设计3真题含答案与解析交互.docx

《二级C语言程序设计3真题含答案与解析交互.docx》由会员分享,可在线阅读,更多相关《二级C语言程序设计3真题含答案与解析交互.docx(23页珍藏版)》请在冰点文库上搜索。

二级C语言程序设计3真题含答案与解析交互.docx

二级C语言程序设计3真题含答案与解析交互

二级C语言程序设计-3

(总分100,做题时间90分钟)

一、选择题

1. 

C语言中的简单数据类型有

∙A.整型、实型、逻辑型 

∙B.整型、实型、字符型 

∙C.整型、字符型、逻辑型 

∙D.整型、实型、逻辑型、字符型

A  B  C  D  

    分值:

2

答案:

B

2. 

C语言中,字符(char)型数据在微机内存中的存储形式是

∙A.反码 

∙B.补码 

∙**码 

**码

A  B  C  D  

    分值:

2

答案:

D

3. 

设有定义语句:

chara='\72';,则变量a

∙A.包含1个字符

∙B.包含2个字符

∙C.包含3个字符 

∙D.定义不合法

A  B  C  D  

    分值:

2

答案:

A

4. 

C语言中,下列不合法的字符常量是

∙A.'\xff' 

∙B.'\65' 

∙C.'&' 

∙D.'\028'

A  B  C  D  

    分值:

2

答案:

D

5. 

C语言中,下列不合法的字符串常量是

∙A."\121" 

∙B.'y=' 

∙C."\n\n" 

∙D."ABCD\x6d"

A  B  C  D  

    分值:

2

答案:

B

6. 

判断char型变量c是否为大写字母的最简单且正确的表达式是

∙A.'A'<=c<='Z' 

∙B.(c>='A')‖(c<='Z') 

∙C.('A'<=c)AND('Z'>=c) 

∙D.(c>='A')&&(c<='Z')

A  B  C  D  

    分值:

2

答案:

D

7. 

有以下程序:

  #include<stdio.h>

  main()

  {charc1='A',c2='Y';

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

  }

  程序的输出结果是

∙A.因输出格式不合法,无正确输出 

∙**,90 

∙**,Y 

**,89

A  B  C  D  

    分值:

2

答案:

D

8. 

有以下程序:

  #include<stdio.h>

  main()

  { charx='A';

  x=(x>='A'&&x<='Z')?

(x+32):

x;

  printf("%c\n",x);

  程序的输出结果是

∙** 

∙** 

∙** 

**

A  B  C  D  

    分值:

2

答案:

B

9. 

有以下程序:

  #include<stdio.h>

  main()

  { charch;

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

  printf("%d,%c\n",ch,ch);

  }

  程序的输出结果是

∙**,C 

∙**,C 

∙**,D 

D.不确定的值

A  B  C  D  

    分值:

2

答案:

A

10. 

有以下程序:

  #include<stdio.h>

  main()

  { intc;

  while((c=getchar())!

='\n')

  { switch(c-'2')

  { case0:

  case1:

putchar(c+4);

  case2:

putchar(c+4);break;

  case3:

putchar(c+3);

  default:

putchar(c+2);break;

  }

  }printf("\n");

  }

  从第一列开始输入数据:

2473<CR>,<CR>代表Enter键,程序的输出结果是

∙** 

∙** 

∙**

**

A  B  C  D  

    分值:

2

答案:

A

11. 

若变量已正确定义,要求用语句:

scanf("%f%c%f%c",&a,&c1,&b,&c2);给c1赋予字符%,给c2赋予字符#,给a赋予2.0,给b赋予4.0,则正确的输入形式是(代表空格,<CR>代表Enter键)

  A.2.0%4.0#<CR>

  B.2.0%4.0#<CR>

  C.2%4#<CR>

  D.2%4#<CR>

A  B  C  D  

    分值:

2

答案:

C

12. 

以下叙述中正确的是

∙**语言程序总是从第一个定义的函数开始执行 

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

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

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

A  B  C  D  

    分值:

2

答案:

C

13. 

已定义了以下函数

  fff(floatx)

  {printf("%d\n",x*x);}

  该函数的类型是

∙A.与参数x的类型相同 

∙**类型 

∙**类型 

D.无法确定

A  B  C  D  

    分值:

2

答案:

C

14. 

有函数调用语句:

func((exp1,exp2),(exp3,exp4,exp5));,此函数调用语句含有的实参个数是

∙** 

∙** 

∙** 

**

A  B  C  D  

    分值:

2

答案:

B

15. 

有以下程序:

  #include<stdio.h>

  intfunc(inta,intb)

  { intc;

  c=a+b;returnc;

  }

  main()

  { intx=6,y=7,z=8,r;

  r=func((x--,y++,x+y),z--);printf("%d\n",r)

  }

  程序的输出结果是

∙** 

∙** 

∙**

**

A  B  C  D  

    分值:

2

答案:

C

16. 

有以下程序:

  #include<stdio.h>

  intf(int,int);

  main()

  { inti=2,p;

  p=f(i,i+1);printf("%d\n",p);

  }

  intf(inta,intb)

  { intc;

  c=a;

  if(a>b)c=1;

  elseif(a==b)c=0;

  elsec=-1;

  return(c);

  }

  程序的输出结果是

∙A.-1 

∙** 

∙**

**

A  B  C  D  

    分值:

2

答案:

A

17. 

有以下程序:

  #include<stdio.h>

  intfun(inta,intb,intc)

  { c=a*b;  }

  main()

  { intc;

  fun(2,3,c);printf("%d\n",c);

  }

  程序的输出结果是

∙** 

∙** 

∙**

D.无定值

A  B  C  D  

    分值:

2

答案:

D

18. 

有以下程序:

  #include<stdio.h>

  doublef(intn)

  { inti;doubles;

  s=1.0;

  for(i=1;i<=n;i++)s+=1.0/i;

  returns;

  }

  main()

  { inti,m=3;doublea=0.0;

  for(i=0;i<m;i++)a+=f(i);

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

  }

  程序的输出结果是

∙** 

∙** 

∙** 

**

A  B  C  D  

    分值:

2

答案:

A

二、填空题

1. 

C语言中,字符在内存中占______个字节。

    分值:

2

答案:

2. 

调用C语言提供的对字符进行处理的库函数时,在#include命令行中应包含的头文件是______。

    分值:

2

答案:

ctype.h

3. 

若变量已正确定义,在执行以下while语句时,输入字符A后,ch的值是______。

  while(ch=getchar()=='A');

    分值:

2

答案:

0

4. 

若变量已正确定义,要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入整数10、20、30、40,正确的输入形式是______,请用<CR>代表Enter键。

  scanf("%d%c%d%c%d%c%d%c",&w,&a,&x,&b,&y,&c,&z,&d);

    分值:

2

答案:

10A<CR>

  20B<CR>

  30C<CR>

  40D<CR>

  或:

10A20B30C40D<CR>

5. 

若有以下定义和输入语句,要求给c1、c2分别输入字符A和8,给a1、a2分别输入7.29和101.298,从键盘正确输入数据的形式是______。

  char  c1,c2;  float  a1,a2;

  scanf("%f%f",&a1,&a2);scanf("%c%c",&c1,&c2);

    分值:

2

答案:

7.29<CR>

  101.298AB<CR>

  或:

7.29 101.298AB<CR>

6. 

若有以下定义和输入语句,要求给c1、c2分别输入字符A和B,给a1、a2分别输入7.29和101.298从键盘正确输入数据的形式是______。

  char c1,c2;  float a1,a2;

  scanf("%c%f%c%f",&c1,&a1,&c2,&a2);

    分值:

2

答案:

(从第一列起):

A 7.29B 101.298<CR>

7. 

若有以下定义和输入语句,要求给c1、c2、c3分别输入字符A、B和C,请写出从键盘正确输入数据的形式。

  char c1,c2,c3;

  scanf("%4c",&c1);scanf("%4c",&c2);scanf("%4c",&c3);

    分值:

2

答案:

(从第一列起,代表空格):

ABC<CR>

8. 

以下程序的输出结果是______。

  #include<stdio.h>

  unsignedfun6(unsignednum)

  { unsignedk=1;

  do

  { k*=num%10;  nun/=10;}

  while(num);

  returnk;

  }

  main()

  { unsignedn=26;

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

  }

    分值:

2

答案:

12

9. 

以下程序的输出结果是______。

  #include<stdio.h>

  doublesub(doublex,doubley,doublez)

  {y-=1.0;z=z+x;returnz;}

  main()

  {doublea=2.5,b=9.0;

  printf("%f\n",sub(b-a,a,a));

  }

    分值:

2

答案:

9.0(或9.000000)

10. 

以下程序的输出结果是______。

  #include<stdio.h>

  intfun2(inta,intb)

  { intc;

  c=(a*b)%3;  returnc;

  intfun1(inta,intb)

  { intc;

  a+=a; b+=b; c=fun2(a,b);

  returnc*c;

  }

  main()

  {intx=11,y=19;

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

  }

    分值:

2

答案:

4

11. 

下面pi函数的功能是,根据以下公式返回满足精度ε要求的π的值。

请填空。

  

  doublepi(doubleeps)

  {doubles=0.0,t=1.0; intn;

  for(______;t>eps;n++)

  {s+=t;t=n*t/(2*n+1); }

  return(2.0*______);

  }

    分值:

2

答案:

n=1 s

12. 

以下函数用以求x的y次方。

请填空。

  doublefun(doublex,inty)

  { inti;doublez=1.0;

  for(i=1;i______;i++)z=______;

  returnz;

  }

    分值:

2

答案:

<=y z*x

13. 

以下程序的功能是计算。

请填空。

  #include<stdio.h>

  longf(intn)

  { inti;longs;

  s=______;

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

  returns;

  main()

  {longs;intk,n;

  scanf("%d",&n);

  s=______;

  for(k=0;k<=n;k++)s=s+______;

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

  }

    分值:

2

答案:

1 s*i 0 f(k)

三、程序调试和编程题

1. 

请编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的ASCII代码值,每行输出三对。

    分值:

4

答案:

while((ch=getchar())!

='\n')

  {if(n%3==0)putchar('\n');

  n++;printf("%c:

%d",ch,ch);

  }

2. 

请编写程序,输入一行数字字符(用回车结束),每个数字字符的前后都有空格。

请编程,把这一行中的数字转换成一个整数。

例如,若输入(<CR>代表Enter键):

  2483<CR>

  则输出整数:

2483。

    分值:

4

答案:

while((ch=getchar())!

='\n')

  {if(ch>='0'&&ch<='9')n=n*10+ch-'0';

  }

3. 

请编写程序统计输入的行数,用!

号结束输入,!

号所在行不计入行数。

    分值:

4

答案:

while((ch=getchar())!

='!

')if(ch=='\n')n++;

4. 

请编写程序统计输入的一行中小写字母的个数。

    分值:

4

答案:

while((ch=getchar())!

='\n')

  {if(ch>='a'&&ch<='z')n++;

  }

5. 

请编写输出以下图案的程序,图案的行数由输入的整数值确定(每行中字符之间没有空格)。

  

A

  BBB

  CCCCC

  DDDDDDD

  EEEEEEEEE

    分值:

5

答案:

参考程序段,其中L为行数,由用户输入。

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

  {ch='A'+i-1;n=2*i-1;

  for(k=L;k>=i;k--)putchar('');

  for(j=1;j<=n;j++)putchar(ch);

  putchar('\n');

  }

6. 

下面的fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正。

  intfun(intn)

  {intk,yes;

  for(k=2;k<=n/2;k++)

  if(n%k==0)yes=0;

  elseyes=1;

  returnyes;

  }

    分值:

4

答案:

for(k=2;k<=n/2;k++) if(n%k==0)return0;

  return1;

7. 

编写函数,根据整型形参n的值,计算如下公式的值:

  

    分值:

4

答案:

函数中主要程序段:

for(k=1;k<=n;k++){s=-s;t=s*1.0/k;add=add+t;}。

注意,k的初值为-1,add的初值为0。

当传给形参n的值为10时,函数的返回值add应当是:

0.645635。

8. 

编写函数,根据整型形参m的值,计算如下公式的值:

  

  例如,若m=5,则应输出0.536389

    分值:

5

答案:

函数的返回值为浮点型,而且函数只有一个形参,为整型。

函数的基本算法是累加,只是除第一项外其余各项都用减法。

每一项的分子都是1,分母部分为k*k,k的值逐项增1,由2变化到m。

因此,算法可以用一个循环来实现。

当m的值为12时,函数值应是:

0.435023。

9. 

编写函数用以求表达式x2-5x+4的值,x作为参数传送给函数。

调用此函数求:

  y1=22-5·2+4

  y2=(x+15)2-5·(x+15)+4

  y3=sin2x-5·sinx+4

  y1的值为-2.0;x为0.5时,y2的值为166.75,y3的值为1.832721。

    分值:

4

答案:

本题已给出了函数需要求值的表达式,读者只需确定函数的类型和形参的类型,就可以写出函数:

  doublefun(doublex){returnx*x-5*x+4;}

窗体顶端

窗体底端

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

当前位置:首页 > 解决方案 > 学习计划

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

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