.net建设网站步骤详解兽装定制工作室
(总分101,考试时间90分钟)
 一、选择题
 1. 设有如下关系表:
     
     A) T=R∩S    B) T=R∪S    C) T=R×S    D) T=R/S
2. 在一棵二叉树中,叶子结点共有30个,度为1的结点共有40个,则该二叉树中的总结点数共有(    )个。
     A) 89    B) 93    C) 99    D) 100
 3. 某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为      。(假设根结点在第1层)
     A) 3    B) 4    C) 6    D) 7
 4. 内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是(    )。 
     A) 顺序内聚    B) 偶然内聚    C) 时间内聚    D) 逻辑内聚
 5. 计算机网络的主要特点是      。
     A) 运算速度快    B) 运算精度高    C) 资源共享    D) 人机交互
 6. 应用数据库的主要目的是(    )。
     A) 解决数据保密问题    B) 解决数据完整性问题
     C) 解决数据共享问题    D) 解决数据量大的问题
 7. 程序中若有如下说明和定义语句:
     char fun(char *);
     main()
     char * s="one", a[5]=0,(* f1)()=fun,ch;
         ┆
     
     以下选项中对函数fun的正确调用语句是(    )。
     A) (* f1)(a);    B) * f1(* s);    C) fun(&a);    D) ch=* f1(s)
 8. 阅读以下程序:
     #include<stdio.h>
     main()
      int case;float printF;
       printf("请输入2个数:");
       scanf("%d%f",&case,&printF);
       printf("%d%f\n",case,printF);
     
     该程序在编译时产生错误,其出错原因是(    )。
     A.定义语句出错,case是关键字,不能用做用户自定义标识符
     B.定义语句出错,printF不能用作用户自定义标识符
     C.定义语句无错,scanf不能作为输入函数使用
     D.定义语句无错,printf不能输出case的值
 9. 下列程序的运行结果是(    )。
     inty=5,x=14;
     y=((x=3*y,x+1),x-1;
     printf("x=%d,y=%d",x,y);
     A) x=27,y=27    B) x=12,y=13
     C) x=15,y=14    D) x=y=27
 10. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是
     A) 函数的实参和其对应的形参共占同一存储单元    B) 形参只是形式上的存在,不占用具体存储单元
     C) 同名的实参和形参占同一存储单元    D) 函数的形参和实参分别占用不同的存储单元
 11. 设int x=2,y=1;表达式(!x||y--)的值是(    )。
     A.0    B.1    C.2    D.-1
 12. 在Visual FoxPro中,“表”通常是指      。
     A) 表单    B) 报表    C) 关系数据库中的关系D) 以上都不对
 13. 若有代数式,(其中P仅代表自然对数的底数,不是变量),则下列能够正确表示该代数式的C语言表达式是(    )。 
     A) sqrt(abs(n^x+e^x))    B) sqrt(fabs(pow(n,x)+pow(x,e))) 
     C) sqrt(fabs(pow(n,x)+exp(x)))    D) sqrt(fabs(pow(x,n)+exp(x)))
 14. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f", &a, &b, &c);给a赋于19.0,b赋予22.0,c赋予33.0,不正确的输入形式是      。
     A) 10<回车>
     22<回车>
     33<回车>
     B) 19.0, 22.0, 33.0<回车>
     C) 19.0<回车>
     22.0 33.0<同车>
     D) 10 22<回车>
     33<回车>
 15. 下面的for语句的循环次数为(    )。 
     A) 是无限循环    B) 循环次数不定  C) 最多执行6次  D) 最多执行5次
 16. 已定义以下函数:
     fun(char*p2,char*p1)
       while((*p2=*p1)!='\0')p1++;p2++
     函数的功能是       。
     A) 将p1所指字符串复制到p2所指内存空间
     B) 将p1所指字符串的地址赋给指针p2
     C) 对p1和p2两个指针所指字符串进行比较
     D) 检查p1和p2两个指针所指字符串中是否有'\0'
 17. 设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是      。
 (A) float *p=1024;
 (B) int *p=(float)x;
 (C) float p=&x;
 (D) float *p=&x;
 18. 以下程序运行后的输出结果是
     #include
     void fun(int P)
      int d=2;
      P=d++; printf("%d", P);
      main()
      int a=1;
      fun(a); printf("%d\n', a);
     
     A) 32    B) 12    C) 21    D) 22
 19. 以下正确的函数头定义形式是
     A) double fun(int x,int y)    B) double fun(int x;int y)
     C) double fun(int x,int y);D) double fun(int x,y);
 若有以下定义和语句:
     double r=99,*p=&r;*p=r;
     则以下正确的叙述是(    )。
     A.两个*p含义相同,都说明给指针变量p赋值
     B.在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
     C.语句“*p=r;”把变量r的值赋给指针变量p
     D.语句“*p=r;”取变量r的值放回r中
 20. 
 21. 
 22. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(    )。
     A) 函数调用可以作为独立的语句存在    B) 函数调用可以作为一个函数的实参
     C) 函数调用可以出现在表达式中    D) 函数调用可以作为一个函数的形参
 23. 以下程序的输出结果是      。
     fun(int x, int Y, int z)
      z=x*x+y*y;
     main()
      int a=31;
       fun(5, 2, a);
       printf("% d", a);
     
     A) 0    B) 29    C) 31    D) 无定值
 24. 若有以下定义,则对x数组元素的正确应用是
     int x[10], *pt=x;
     A) *&x[10]    B) *(x+3)    C) *(pt+10)    D) pt+3
 25. 若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是      。
 (A) a[2][!1]
 (B) a[2][3]
 (C) a[0][3]
 (D) a[1>2][!1]
 26. 有以下程序
     #include<stdio.h>
     void fun(char *C)
     while (*C)
      if(*c>='a' && *c<='z')*c=*c-('a'-'A');
     c++;
     
     
     main()
     char s[81];
     gets(s); fun(s); puts(s):
     
     当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是      。
     A) hello Beijing    B) Hello Beijing    C) HELLO BEIJING    D) hELLO Beijing
 27. 有以下程序:
     main()
     int i,t[][3]=9,8,7,6,5,4,3,2,1;
     for(i=0;i<3;i++)printf("%d",t[2-i][i]);
     程序执行后的输出结果是      。
     A) 7 5 3    B) 3 5 7
     C) 3 6 9    D) 7 5 1
 28. 下列二维数组初始化语句中,不正确的是(    )。
     A) int b[][2]=1,2,3,4,5,6,7;    B) int b[3][5]=0,0,0;
     C) int b[][4]=1,2,3,4,5,6;    D) int b[3][2]=(1,2),(3,4) ,(5,6);
 29. 设变量已正确定义,则下列能正确计算f=n!的程序段是(    )。
     A) f=0;
        for(i=1;i<=n;i++)f*=i;
     B) f=1;
        for(i=1;i<n;i++)f*=i;
     C) f=1;
        for(i=n;i>1;i++)f*=i;
     D) f=1;
        for(i=n;i> =2;i--)f*=i;
 30. 设有定义:char s[8];int i=O;,以下不能将—行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是      。
         A) gets(s);    B) white((s[i++]=getchar())!='\n');s[i]=\0;
         C) scanf("%s",s);    D) d0scanf("%c",&s[i]);while(s[i++]!='\n';s[i]='\0';
 31. 下面程序的输出是      。
          main()
          int x=3,y=6,a=0;
               while(x++!=(y-=1))
                 a+=1
                  if(y<x)break;
               
               printf("x=%d,y=%d,=%d\n",x,y,a);
          
         A) x=4,y=4,a=1    B) x=5,y=5,a=1
         C) x=5,y=4,a=3    D) x=5,y=4,a=1
 32. 下列二维数组的说明中,不正确的是(    )。
     A) floata[][4]=0,1,8,5,9;    B) inta[3][4];
     C) #define N 5    D) inta[2][9.5];
     float a[N][3];
 33. 有以下程序
 fun(char p[][10])
   int n=0,i;
 for(i=0;i<7;i++)
 if(p[i][0]=='T')n++;
 return n;
 main()
    char str[][10]="Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun";
     printf("%d\n",fun(str));
 程序执行后的输出结果是      。
 (A) 1
 (B) 2
 (C) 3
 (D) 0
 34. 下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。
     
 #include<stdio.h>
     void sort(inta[],int n)
    
  int i,j,t;
   
  for(i=0;i<n-1;i++)
     for(j=i+1;<n;j++)
   
   if(a[i]<a[j])
    
  t=a[i];a[i]=a[j];a[j]=t;
     
   
   
   
   main()
    
  int a[10]=1,2,3,4,5,6,7,8,9,10,i;
  
    sort(&a[1],7);
   
   for(i=0;i<10;i++)printf("%d,",a[i]);
  
    
  
    程序运行后的输出结果是(    )。
     A) 1,2,3,4,5,6,7,8,9,10,    B) 10,9,8,7,6,5,4,3,2,1,
     C) 1,8,7,6,5,4,3,2,9,10,    D) 1,2,10,9,8,7,6,5,4,3,
 35. 设有定义:char p[]='1','2','3',,*q=p;,以下不能计算出一个char型数据所占字节数的表达是      。
 (A) sizeof(p)
 (B) sizeof(char)
 (C) sizeof(*q)
 (D) sizeof(p[0])
 36. 有以下程序:
     fun(char p[][10])
       int n=0,i;
     for(i=0;i<7;i++)
     if(P[i][0]=='T')n++;
     return n;
     
     main()
     char str[][10]="Mon","Tue","wed","Thu","Fri","Sat","Sun";
     printf("%d\n",fun(str));
     
     程序执行后的输出结果是      。
     A) 1    B) 2    C) 3   D) 0
 37. 有下列程序:
     #include<stdio.h>
     int fun(int x,iny y)
      if(x==y)return(x);
       else return((x+y)/2);
     
     main()
      int a=4,b=5,c=6;
       printf("%d\n",fun(2*a,fun(b,c)));
     
     程序运行后的输出结果是(    )。
     A.3    B.6    C.8    D.12
 38. 在C语言中,形参的默认存储类型是      。
     A) auto    B) register    C) static    D) extern
 39. 在一个C语言源程序文件中所定义的全局变量,其作用域为(    )。
     A.所在文件的全部范围    B.所在程序的全部范围
     C.所在函数的全部范围    D.由具体定义位置和extern说明来决定范围
 40. 如果需要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是(    )。 
     A) fp=fopen("FILE","r");    B) fp=fopen("FILE","a+"); 
     C) fp=fopen("FILE","w+");    D) fp=fopen("FILE","r+");
 41. 函数fseek()的正确调用形式是(    )。
     A) fseek(位移量,起始点,文件类型指针);    B) fseek(文件类型指针,位移量,起始点);
     C) fseek(文件类型指针,起始点,位移量);    D) fseek(起始点,位移量,文件类型指针);
 二、填空题
 42. 在深度为7的满二叉树中,度为2的节点个数为      。
 43. 在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间      的信息。
 44. 以下程序段的输出结果是            。
    int i=9;
    printf("%o\\n",i);
 45. 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、             和处理过程。
 46. 在关系A(S, SN, D)和关系B(D, CN, NM)中,A的主关键字是S,B的主关键字是D,则称      是关系A的外码。
 47. 以下程序运行后的输出结果是      。 
     main() 
     int a,b,c; 
     a=10;b=20;c=(a/b<1)&&(a%b<1); 
     printf("%d %d %d\n",a,b,c); 
     
 48. 已定义char ch='$';int i=1,j;,执行j!=ch&&i++以后,i的值为      。
 49. 下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。
     int n=0,c;
     c=getchar();
     while(c!='\n')
       if(      )
     n++;
     
 50. 若有如下结构体说明:
        struct STRU  int a,b;charc:double d;
        struct STRU*p1,*p2;  
        请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。               t[20]
 51. 有以下程序:
     #include<stdio.h>
     main()
      int a[3][3]=1,2,3,4,5,6,7,8,9;
       int b[2][0],i;
       for(j=0;j<3;i++)b[i]=a[i][2]+a[2][i];
       for(i=0;i<3;j++)printf("%d",b[i]);
       printf("\n");
     
     程序运行后的输出结果是      。
 52. 下列程序将二维数组a的行和列元素互换后存放到另一个二维数组b中。请填空。
     main()
         int a[2][3]=1,2,3,4,5,b[3][2],i,j;
          for(i=0;i<2;i++)
            for(j=0;j<3;j++)
                   ;
          
     
 53. 阅读下列程序,则程序的输出结果为      。
     #include "stdio.h"
     struet ty
      int data;
       char c;;
     main( )
      street ty a=30,'x';
       fun(a);
       printf("%d%c",a.data,a.c);
     fun(struct ty b)
      b.data=20;
       b.c='y';
 54. 在宏定义#define PI 3.14159中,用宏名PI代替一个      。
 55. 执行以下程序的输出结果是      。
     #include<stdio.h>
     main()
      int i,n[4]=1;
       for(i=1;i<=3;i++)
        n=n[i-1]*2+1;printf("%d",n);)
     
 56. 以下程序的输出结果是      。
    #include<stdio.h>
    #define M 5
    #define N M+M
    main()
    int k;
    k=N*N*5;printf("%d\\n",k);
    
