二、填空题(25道小题,共34分)
1、C语言程序执行的入口点是  主函数main           
2、设y是int型变量,请写出判断y为奇数的关系表达式    y%2!=0       
3、设x是int型变量,请写出x是偶数并且不能被3整除的表达式  y%2==0&&y%3!=0   
4、设a,b为int型变量,x,y为float型变量,且设a=5,b=10,x=3.5,y=10.8。为了得到以下的输出格式和结果,请将对应的输出语句补充完整。
    //输出格式及结果:a=5,b=10,x+y=14.3
    printf(" a=%d,b=%d,x+y=%4.1f,a,b,x+y  );
    //或 cout<<                      ;
5、for(;;)语句相当于while(      1      )
6、C语言中结束一次循环的语句是    continue     
7、如C程序中对一个函数的调用在前,定义在后,则必须在调用前对该函数进行  声明 
8、在函数定义中,    形式参数        是被调函数接收调用者数据的主要途径。
9、若被调函数是标准库函数,则在使用前需在程序的开头用  #include    命令将被调函数的信息包含进来。
10、在语句 int fun(float f, int i);  中,变量f和i具有    相同的        作用域。
11、标识符在程序中可引用的区域称为      作用域       
12、比较两个字符串大小的函数是    strcmp()       
13、array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,
请写出正确的说明语句  int array[10]={9,4,7,49,32,-5};         
14、字符串是以    \0    为结束标志的一维字符数组。
15、若用数组名作为函数调用的实参,传递给形参的将是数组  的起始地址       
16、若有定义int i;int *p=&i;则&*p等价于    &i       
17、下面的程序求区间[100,200]内10个随机整数中的最大数、最小数。
#include<stdio.h>//或 #include <iostream.h>
#include<stdlib.h>
void  main( )
{
    int max, min,x;
    x= rand( )%101+100;
    printf("%4d",x);//cout<<setw(4)<<x;
    max = x; min =x;       
    for(int i=1;i<10;i++)       
    {
    x=  rand()%101+100    ;                 
    printf("%4d",x);//cout<<setw(4)<<x;
    if(x > max)    max=x            ;           
        if(x < min)    min=x          ;             
    }
    printf("\n最大数:%4d,最小数: %4d\n",max,min);
    //cout<<endl<<"最大数:"<<max<<",最小数:"<<min<<endl;
}
18、下面程序的功能是从键盘输入的10个整数中,出第一个能被7整除的数。若到,打印此数后退出循环;若未到打印“no exist”。
#include <stdio.h>  //或 #include <iostream.h>
void main()
{
  int i,a;
  for(i=1;i<=10;i++)
  {
    scanf("%d",&a);//或cin>>a;
    if(  a%7==0    )
    {
      printf("%d",a); //或cout<<a; 
          break;         
    }
  }
  if(    i>10    )  printf("no exist");//或cout<<"no exist";
}
19、下面这个程序打印出以下这个三角形.请填空。
0
11
222
3333
44444
555555
6666666
77777777
888888888
9999999999
  void main()
  {
      int i,j;
      for(i=0;i<  10        ;i++)
      {
        for(j=0;j<    i+1      ;j++)
              printf(%d, i )      ;
        printf("\n");      //或 cout<<endl;
      }
  }
20、以下程序通过函数SunFun和F(x)求解x^2+1的累加和,x=0到10。这里F(x)=x^2+1。请填空。
(说明:x^n即x的n次幂)
    #include <stdio.h>    //或 #include <iostream.h>
    void main()
    {
    printf("The sun=%d\n",    SunFun(10)        );
    //或 cout<<"The sun="<<                      )<<endl;
    }
    SunFun(int n)
    { int x,s=0;
      for(x=0;x<=n;x++) s+=F(      x        );
      return s;
    }
    F(int x)
    { return (    x*x+1    );}
21、函数fun的功能是计算x^n。主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。
(说明:x^n即x的n次幂)
    #include <stdio.h>        //或 #include <iostream.h>
    double fun(double x,int n)
    {
        int i; double y=1;
        for(i=1;i<=n;i++)
          y=y*x          ;
        return  y ;         
    }
    void main()
    {
    double m,a,b;
    a=7.3;
    b=5.1;   
    m=  fun(a,4)+fun(b,4)+fun(a+b,3)    ;
    printf("m=%lf\n",m);      //或 cout<<"m="<<m<<endl;
    }
22、以下程序可计算10名学生1门课成绩的平均分。
float average(float array[])
{int i;
float aver,sum=array[0];
for(i=1;    i<10                  ;i++)
strcmp比较数组
    sum+=   array[i]            ;
aver=sum/10;
    return(aver);
}
void main()
{
  float score[10],aver;
  int i;
  printf("input 10 scores:");//或cout<<"input 10 scores:";
  for(i=0;i<10;i++)
    scanf("%f",&score[i]);//或cin>>score[i];
  aver=    average(score)        ;
  printf("the average score is:%f",aver);//或cout<<"the average score is"<<aver;
}
23、下面程序的功能是检查一个二维数组是否对称(即a[i][j]是否等于a[j][i])。
#include <stdio.h>  //或 #include <iostream.h>
void main()
{ int a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4};
  int i,j,found=1;
  for(i=0;i<4;i++)
  {for(j=0;    j<4      ;j++)
        if(  a[i][j]!=a[j][i]    )
        {
          Found=0      ;
            break;
        }
  if(found==0)
      break;
  }
  if(found==1)
      printf("yes");//或cout<"no";
  else
      printf("no");//或cout<"yes";
}
24、以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
#define      M    2
#define    N    4
void SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
  for(i=0;i<N;i++)
  { k=0;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。