二级C语言笔试-273
(总分100,考试时间90分钟)
一、选择题
   下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。
1. 下面程序的输出结果是_______。
    #include<stdio.h>
    main()
      char*p[]="DOOL","OPK","H","SP";
      int i;
      for (i=3;i>=0;i-,i-)
        printf("%c",*p[i]);
      printf("\n");
   
A. SO        B. SP
C. SPOPK        D. SHOB
2. 若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。  (0<=i<4,0<=j<10)
A. *(&a[0][0]+10*i+j)        B. *(a+i)+j
C. *(*(a+i)+j)        D. *(a[i]+j)
3. 下面语句的输出结果是_______。
    printf("%d\n",strlen("\t\"\065\xff\n"));
A. 14        B. 8
C. 5        D. 输出项不合怯,无正常输出
4. 定义int*swap()的是_______。
A. 一个返回整型值的函数swap()
B. 一个返回指向整型值指针的函数swap()
C. 一个指向函数swap()的指针,函数返回一个整型值
D. 以上说法均错
5. 下述程序向文件输出的结果是_______。
    #include<stdio.h>
    void main()
    FILE*fp=fopen("TEST","wb");
      fprintf(fp,"%d%5.of%c%d",58,76273.0,'-'2278);
      fclose(fp);
   
A. 5876273-2278        B. 5876273.000000-2278
C. 5876273-2278        D. 因文件为二进制文件而不可读
6. 若有以下结构体定义,则_______是正确的引用或定义。
    struct example
    int x;
      int y;
    v1;
A. example.x=10
B. example v2.x=10
C. struct v2;v2.x=10
D. struct example v2=10;
7. 数据存储和数据流都是__________,仅仅是所处的状态不同。
A. 分析结果        B. 事件
C. 动作        D. 数据
8. 若有以下类型说明语句:
    charw;intx;floaty,Z;
    则表达式w*x+z-y的结果为_______类型。
A. float        B. char
C. int        D. double
9. 下列程序执行后的输出结果是_______。
    main()
      int m[][3]=1,4,7,2,5,8,3,6,9;
      int i,k=2;
      for(i=0;i<3;i++)
      printf("%d",m[k][i]);
   
A. 456        B. 258
C. 369        D. 789
10. 若有如下说明,则_______的叙述是正确的。
    struct st
    int a;
      int b[2];
    a;
A. 结构体变量a与结构体成员a同名,定义是非法的
B. 程序只在执行到该定义时才为结构体st分配存储单元
C. 程序运行时为结构体st分配6个字节存储单元
D. 类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)
11. C语言库函数fgets(str,n,fg)的功能是_______。
A. 从中指向的文件中读取长度n的字符串存入str指向的内存
B. 从fp指向的文件中读取长度不超过n-1的字符串存入str指向的内存
C. 从fp指向的文件中读取n个字符串存入str指向的内存
D. 从sb读取至多n个字符到文件fp
12. 对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为__________。
A. n-1        B. n
C. n+1        D. 2n
13. 在数据结构中,从逻辑上可以把数据结构分为__________。
A. 动态结构和静态结构        B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构        D. 内部结构和外部结构
14. 已知小写母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是_______。
    main()
    unsigned int a=32,b=66;
    printf("%c\n",a|B) ;
   
A. 66        B. 98
C. b        D. B
15. 下面程序的输出是________。
    char s[]="ABCD";
    main()
      char*p
      for(p=s;p<s+4,p++)
      printf("%s\n",p);
   
A. ABCD
    BCD
    CD
    D
B. A
  B
  C
  D
C. D
  C
  B
  A
D. ABCD
  ABC
  AB
  A
16. 以下程序(程序左边的数字为符加的行号)。
    1#include<str.h>
    2#include<stdio.h>
    3main()
    4  char s[]="string";
    5puts(s);
    6strcpy(s,"hello");
    7printf("%3s\n",s);
A. 没有错        B. 第1行有错
C. 第6行有错        D. 第7行有错
17. 若一个外部变量的定义形式为static int x;,那么,其中static的作用应该是_______。
A. 将变量存储在静态存储区        B. 使变量x可以由系统自动初始化
C. 使x只能在本文件内引用        D. 使x的值可以永久保留
18. 设有以下语句:
    char strl[]="string",str2[8],*str3,*str4="string";
    则_______不是对库函数的正确调用。
A. strcpy(strl,"HELLO1");
B. strcpy(str2,"HELLO2");
C. strcpy(str3,"HELLO3");
D. strcpy(str4,"HELLO4");
19. 下列程序的执行结果是_______。
    #include<stdio.h>
    union un
    int i;
      char c[2];
    ;
    void main()
      union un x;
      x.c[0]=10;
      x.c[1]=1;
      printf("\n%d",x.i);
   
A. 266        B. 11
C. 265        D. 138
20. 以下程序的输出结果,是_______。
最强编程语言    main()
    char str[12]='s','t','r','i','n','g';
      printf("%d\n",strlen(str));
   
A. 6        B. 7
C. 11        D. 12
21. 排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为__________。
A. 希尔排序        B. 冒泡排序
C. 插入排序        D. 选择排序
22. 以下程序输出的结果为_______。
    main()
    char*alpha[6]="ABCD","EFGH","IJKL","MNOP","QRST","UVWX";
      char**p;
      int i;
      p=alpha;
      for(i=0;i<4;i++)
      printf("%s",p[i]);

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