2011年全国计算机等级二级C语言模拟试题及答案(13)

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

二、填空题。(每空1分,共15分)
1.C语言标识符由 _________、__________和___________来构造。
2.在C语言中,字符串常量是用__________一串字符。
3.若有说明和语句:int a=25,b=60;b=++a;则b的值是__________ 。
4.若int x=5;while(x>0)printf(“%d”,x--);的循环执行次数为__________。
5.若有int a[5],*p=a;则p+2表示第__________ 个元素的地址。
6.若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是__________、__________。
7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是__________。
8.C程序设计的三种基本结构是 ________、________和________。
9.数组是表示类型相同的数据,而结构体则是若干__________数据项的集合。
10.C语言中文件是指__________ 。

三、将下列程序补充完整。(每空2.5分,共30分)
1.输入三角形的三条边a,b,c,求三角形的面积。
  #include “math.h”
  #include “stdio.h”
  main( )
   {float  a,b,c,d,t,s;
    printf(“请输入三角形的三条边:”);
    scanf(“%f,%f,%f”,&a,&b,&c);
      if   (1)    
printf(“%f%f%f不能构成三角形!”, a,b,c);
else {t=(a+b+c)/2;
s=  (2)    
printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f/n”, a,b,c,s);}}
(1) __________                                            
(2) __________                                            

2.输入两个整数,n1,n2(要求n1#include “stdio.h”
  main()
{int n1,n2,j,n=0;
printf(“/n请输入两个数:”);
scanf (      (3)        );
if(n1>n2){   (4)    }
for(j=n1;j<=n2,j++)
if    (5)      n++;
printf(“a=],b=],n=]/n”n1,n2,n);}
(3) __________                                             
(4) __________                                             
(5) __________                                             

3.输入两个整数,n1,n2(要求n1  #include “math.h”
  #include “stdio.h”
  int prime (int x)
   {int k;
for (6)   
if (x%k==0) return(0);
return(1)}
   main()
{int a,b,j,n=0;
printf(“/n请输入两个数:”);
scanf(“%d,%d”,&a,&b);
if(a>b){    (7)     }
for(j=a;j<=b,j++)
if(    (8)    ) n++;
printf(“a=M,b=M,n=M/n”a,b,n);}
(6)__________                                         
(7)__________                                         
(8) __________                                        

4.编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。
#include “stdio.h”
main( )
{int x,n,k,k1=0,k2=0,k3=0;
printf(“input n=:”);
   (9)            
for(k=0;k{scanf(“%d”,&x);
if (x<0)k1++;
    (10)           ;
else  k3++;
printf(“k1=M,k2=M,k3=M/n”,k1,k2,k3)}}
(9)__________                                           
(10) __________                                          

5.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.]
#include “stdio.h”
main( )
  {char ch;
do{ch=getchar();
if (     (11)     )break;
else if(     (12)     )putchar(ch);
}while(1);}
(11)__________                                           
(12) __________                                          

四、按格式写出程序运行结果。每题4分,共16分。
1.格式化输出函数]
         main()
{        int a=1,c=65,d=97;
         printf(“a10=%d,a8=%o,a16=%x/n”,a,a,a);
         printf(“c10=%d,c8=%o,c16=%x,cc=%c/n”c,c,c,c);
d++;
         printf(“d10=%d,dc=%c/n”d,d);}
          输出结果:

2. 循环结构
         main()
        { int y=9,k=1;
        for(;y>0;y--)
        {if(y%3==0){printf(“M”--y);continue;}
         k++;}
         printf(“/nk=M,y=M/n”,k,y);}
        输出结果:

3.数组
       #include “stdio.h”
       main( )
        {int k,j;
in       ta[]={3,-5,18,27,37,23,69,82,52,-15};
       for(k=0,j=k;k<10;k++)
       if(a[k]>a[j])j=k;
       printf(“m=%d,j=%d/n”,a[j],j);}
       输出结果为:

4.字符输出
        main( )
        {char *p,s[]=“ABCD”;
         for ( p=s;p        printf(“%s/n”,p);}
        输出结果:

五、按题目要求写出可运行程序:(19分)
1.求元素个数为10的一维数组元素中的最大值和最小值。
2.将矩阵 9   7   5      倒置为 9   3   4
         3   1   2             7   1   6
         4   6   8             5   2   8
3.编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数。
编写程序如下:

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答