二级C语言程序设计-7
(总分100,考试时间90分钟)
一、选择题
1. 构成C程序的三种基本结构是A.顺序结构、转移结构、递归结构  B.顺序结构、嵌套结构、递归结构  C.顺序结构、选择结构、循环结构  D.选择结构、循环结构、嵌套结构
2. C语言编译程序的功能是A.执行一个C语言编写的源程序  B.把C源程序翻译成ASCII码  C.把C源程序翻译成机器代码  D.把C源程序与系统提供的库函数组合成一个二进制执行文件
3. 下列形式中不合法的常量是A.2.E8  B.-.28  C.-028  D.2e-8
4. 以下不是C语言字符型或字符串常量的是A."It's"  B."0"  C.'a=0'  D.'\010'
5. C语言程序中,若函数无返回值,则应该对函数说明的类型是A.int  B.double  C.char  D.void
6. 若变量已正确定义并赋值,则错误的赋值语句是A.a+=a+1;  B.a=sizeof(double);  C.a=d‖c;  D.a+1=a;
7. 若有定义:int a=1,b=2,c=3;,则执行表达式(a=b+c)‖(++b)后a,b,c的值依次为A.1,2,3  B.5,3,2  C.5,2,3  D.5,3,3
8. 有以下程序
    #include <stdio.h>
    main()
    { int k=10;
    printf("%4d, %o, %x\n", k, k, k);
    }
    程序的运行结果是(□代表一个空格)A.10,12,a  B.□□10,012,a  C.010,12,a  D.□□10,12,a
9. 设有:char s[5], c;,则调用函数scanf能正确给s和c读入数据的是A.scanf("%s%c", s, c);  B.scanf("%d%c", &s, &c);  C.scanf("%d%c", s, &c);  D.scanf("%s%c", s, &c);
10. 设x,y,z均为实型变量,代数式在C语言中的正确写法是A.x/y*z  B.x%y%z  C.x/y/z  D.x*z/y
11. 有以下程序
    #include<stdio.h>
    main()
    { int i, j, k, a=5, b=6;
    i=(a==b)?++a: --b;
    j=a++; k=b; printf("%d, %d, %d\n", i, j, k);
    }
    程序的运行结果是A.7,6,5  B.5,5,5  C.7,5,5  D.5,6,5
12. 设变量x为long int型并已正确赋值,以下表达式中能将x的百位上的数字提取出的是A.x/10%100  B.x%10/100  C.x%100/10  D.x/100%10
13. 有以下程序
    #include<stdio.h>
    main()
    {  int i, j, x=0;
    for(i=0; i<2; i++)
    { x++;
    for(j=0; j<=3; j++)
c语言正确的字符常量    {if(j%2==0) continue; x++; }
    x++;
    }
    printf("x=%d\n", x);
    }
    程序的运行结果是A.x=4  B.x=6  C.x=8  D.x=12
14. 有以下程序
    #include<stdio.h>
    main()
    { int sum=0, x=5;
    do{sum+=x; }while(!--x);
    printf("%d\n", sum);
    程序的运行结果是A.0  B.5  C.14  D.15
15. 有以下程序
    #include<stdio.h>
    main()
    { char ch='Z';
    ch=(ch-'A'+1)%26+'A'; putchar(ch);
    程序的运行结果是A.Z  B.Y  C.B  D.A
16. 以下函数的功能是:计算a的n次方作为函数值返回
    double fun(double a, int n)
    {  int i; double s=1.0;
    for(i=1; i<=n; i++) s=______;
    return 8;
    }
    为实现上述功能,函数中下划线处应填入的是A.s*i  B.s*a  C.s+i*i  D.s+a*a
17. 在C语言程序中,下列说法正确的是A.函数的定义可以嵌套,但函数的调用不可以嵌套  B.函数的定义不可以嵌套,但函数的调用可以嵌套  C.函数的定义和调用均不可以嵌套  D.函数的定义和调用均可以嵌套
18. 若主函数中有定义语句:int a[10],b[10],c;,在主函数前定义的fun函数首部为:void fun(int x[]),则以下选项中错误的调用语句是A.fun(b);  B.fun(&c);  C.fun(&a[3]);  D.fun(b[1]);
19. 有以下程序
    #include<stdio.h>
    main()
    {int k, n=0; char c, str[]="teach";
    for(k=0; str[k]; k++)
    { c=str[k];
    switch(k)
    {case 1: case 3: case 5: putchar(c); printf("%d", ++n); break;
    default: putchar('N');
    }
    }
    }
    程序的运行结果是A.Ne1NN  B.e1a2e3  C.Ne1Nc2N  D.Na1NNNN
20. 以下叙述中错误的是A.同一个数组中所有元素的类型相同  B.不可以跳过前面的数组元素,给后面的元素赋初值  C.定义语句:int a[10]={0};,给a数组中所有元素赋初值0  D.若
有定义语句:int a[4]={1, 2, 3, 4, 5};,编译时将忽略多余的初值
21. 执行以下程序段后,s的值为
    int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9}, s=0, k;
    for(k=0; k<8; k+=2) s+=*(a+k);A.13  B.16  C.17  D.45
22. 有以下程序
    #include<stdio.h>
    #define  N 4
    void fun(int a[][N], int b[])
    {  int i;
    for(i=0; i<N; i++) b[i]=a[i][N-1-i];
    }
    main()
    { int x[N][N]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, y[N], i;
    fan(x, y);
    for(i=0; i<N; i++) printf(:%d,", y[i]);
    printf("\n");
    }
    程序的运行结果是A.1,2,3,4,  B.3,6,9,12,  C.4,7,10,13,  D.1,5,9,13,
23. 有以下程序
    #include <stdio.h>
    #include<string.h>
    main()
    {char str[]={"Hello, Beijing"};
    printf("%d, %d\n", strlen(str), sizeof(str));
    }
    程序的运行结果是A.13,13  B.13,14  C.13,15D.14,15
24. 有以下程序
    #include<stdio.h>
    void fun(char(*p)[6])
    {  int i;
    for(i=0; i<4; i++) prinff("%c", p[i][i]);
    printf("\n");
    }
    main()
    { char s[6][6]={"ABCDE", "abcde", "12345", "FGHIJ", "fghij", "54321"};
    fun(s);
    }
    程序的运行结果是A.A a 1 F  B.A b 3 I  C.A B C D  D.f g h i j
25. 有以下程序
    #include<stdio.h>
    int fun(int n)
    { if(n) return fun(n-1)+n;
    else return 0;
    }
    main()
    {printf("%d\n", fun(3));  }
    程序的运行结果是A.4  B.5  C.6  D.7
26. 有以下程序
    #include<stdio.h>
    #define  M  5
    #define f(x, y)  x*y+M
    main()
    { int k;
    k=f(2, 3)*f(2, 3);
    printf("%d\n", k);
    }
    程序的运行结果是A.22  B.41  C.100  D.121
27. 有以下定义
    struet data
    {  int i; char c; double d; } x;
    以下叙述中错误的是A.x的内存地址与x.i的内存地址相同  B.struct data是一个类型名  C.初始化时,可以对x的所有成员同时赋初值  D.成员i、c和d占用的是同一个存储空间
28. 有以下程序
    #include <stdio.h>
    #include<string.h>
    typedef struet{ char name[9]; char sex; float score[2];  }STU;

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