二级C语言分类模拟题564
选择题
1、有以下程序
    #include <stdio.h>
    void fun(char *t,char *s)
    { while(*t!=0) t++;
    while((*t++=*s++)!=0);
    }
    main()
    { char ss[10]="acc",aa[10]="bbxxyy";
    fun(ss,aa); printf("%s,%s\n",ss,aa);
    }
    程序的运行结果是______。
    A.accbbxxyy,bbxxyy  B.acc,bbxxyy    C.accxxyy,bbxxyy  D.accxyy,bbxxyy
2、在下述程序中,判断i>j共执行的次数是______。
    main()
    {int i=0,j=10,k=2,s=0;
    for(;;)
    {i+=k;
    if(i>j){printf("%d",s);break;}
    s+=i;}}
    A.4    B.7    C.5    D.6
3、数据库系统的核心是______。
    A.数据模型    B.数据库管理系统
    B.数据库    D.数据库管理员
4、运行下列程序时,若输入数据为“321”,则输出结果是______。
    main()
    { int num,i,j,k,s;
    scanf("%d",&num);
    if(num>99)
    s=3;
    else if(num>9)
    s=2;
    else
    s=1;
    i=num/100;
    j=(num-i*100)/10;
    k=(num-i*100-j*10);
    switch(s)
    { case 3:printf("%d%d%d\n",k,j,i);
    break;
    case 2:printf("%d%d\n",k,j);
    case 1:printf("%d\n",k);
    }
    }
    A.123    B.1,2,3
    C.321    D.3,2,1
5、以下程序的输出结果是______。
    #include<stdio.h>
    int m=13;
    int fun(int x,int y)
    { int m=2;
    return(x*y-m);
    }
    main()
    {int a=7,b=6;
    printf("%d",fun(a,b)/m);
    }
    A.1    B.3    C.7    D.10
6、 以下叙述中正确的是______。
    A. 用C语言实现的算法必须要有输入和输出操作
    B. 用C语言实现的算法可以没有输出,但必须要有输入
    C. 用C程序实现的算法可以没有输入,但必须要有输出
    D. 用C程序实现的算法可以既没有输入,也没有输出
7、有以下程序段:
    char name [20];
    int num;
    scanf("name=%s num=%d",name,&num);
    当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为______。
    A.name=Lili num=1001    B.name=Lili
    C.Lili nun=              D.Lili
8、若有以下说明和定义:
    #include<stdio.h>
    main()
    { int(*a)(int*), *b(), w[10], c;
    }
    int fun(int*c){…}
    则以下选项中能正确调用fun函数是
    A.a=fun; a(w);    B.a=fun; (*a)(&c);    C.b=fun; *b(w);    D.fun(b);
9、以下定义数组的语句中错误的是______。
    A.int num[]={1,2,3,4,5,6};    B.int num[][3]={{1,2},3,4,5,6};
    C.int num[2][4]={{1,2},{3,4},{5,6}};    D.int num[][4]={1,2,3,4,5,6};
10、以下函数实现按每行8个输出w所指数组中的数据
    #include <stdio.h>
    void fun(int *w,int n)
    { int i;
    for(i=0;i<n;i++)
    { ____________
    printf("%d",w[i]);
    }
    printf("\n");
    }
    在横线处应填入的语句是______。
    A.if(i%8==0) printf("\n");    B.if(i/8==0) continue;
    C.if(i/8==0) printf("\n");    D.if(i%8==0) continue;
11、有如下程序段:
    int x=12;
    double-y=3.141593;
    printf("%d%8.6f",x,y);
    其输出结果是______。
    A.123.141593    B.12 3.141593    C.12,3.141593    D.123.1415930
12、以下程序段中,与语句:
    k=a>b?(b>c?1:0):0;
    功能相同的是______。
    A.if((a>b)&&(h>c))k=1;
    else k=0;
    B.if((a>b)||(b>c))k=1;
    else k=0;
    C.if(a<=b)k=0;
    else if(b<=c)k=1;
    D.if(a>b)k=1;
    else if(b>c)k=1;
    else k=0;
13、下列关系运算的叙述中,正确的是    (    )
  A. 投影、选择、连接是从二维表行的方向进行的运算
  B. 并,交、差是从二维表的列的方向来进行运算
  C. 投影、选择、连接是从二维表列的方向进行的运算
  D. 以上3种说法都不对
14、有以下程序
    #include<stdio.h>
    main()
    {
      struct STU{char name[9];char sex;double score[2];};
      struct STU a={"Zhao",'m',85.0,90.0},b={"Qian",'f',95.0,92.0};
      b=a;
      printf("%s,%c,%2.0f,%2.0f\n",b.name,b.sex,b.score[0],b.score[1]);
    }
    程序的运行结果是______。
    A.Zhao,m,85,90    B.Qian,m,85,90  C.Zhao,f,95,92    D.Qian,f,95,92
15、下列叙述,正确的是______。
    A.算法的效率只与问题的规模有关,而与数据的存储结构无关
    B.算法的时间复杂度是指执行算法所需要的计算工作量
    C.数据的逻辑结构与存储结构是一一对应的
    D.算法的时间复杂度与空间复杂度一定相关
16、设有定义:
    int a=1, b=2, c=3;
    以下语句中执行效果与其它三个不同的是______。
    A.if(a>b)c=a; a=b; b=c;    B.if(a>b){c=a, a=b, b=c;}
    C.if(a>b)c=a, a=b, b=c;    D.if(a>b){c=a; a=b; b=c;}
17、设a=1,b=2,c=3,d=4,则表达式:“a<b?a:b<b?a:c<d?a:d”的结果为______。
   A.4    B.3
   C.2    D.1
18、有以下程序:
   #include<stdio.h>
   #include<stdlib.h>
   int fun(int n)
   {int *p;
   p=(int *)malloc(sizeof(int));
   *p=n; return *p;
   }
   main()
   {int a;
   a=fun(10); printf("%d\n", a+fun(10));
   }
   程序的运行结果是______。
   A.10    B.20    C.0    D.出错
19、以下叙述正确的是______。
   A.EOF只能作为文本文件的结束标志,其值为-1
   B.EOF可以作为所有文件的结束标志
   C.EOF只能作为二进制文件的结束标志
   D.任何文件都不能用EOF作为文件的结束标志
20、以下程序的输出结果是______。
   #include <stdio.h>
   main()
   { int a[3][3]={{1,2}, {3,4}, {5,6}}, i, j, s=0;
   for(i=1; i<3; i++)
   for(j=0; j<i; j++)s+=a[i][j];
   printf("% d\n", s);
   }
   A.14    B.19    C.20 D.21
21、有下列程序:
   #include<stdio.h>
   printf函数的作用是向终端#define PT 3.5;
   #define S(x)PT*x*x;
   main()
   {int a=1,b=2;printf("%4.1f\n",S(a+b));}
   程序运行后的输出结果是(    )。
   A.14.0    B.31.5
   C.7.5    D.程序有错无输出结果

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