2009年上半年计算机等级考试二级C语言笔试考前练习题七
来源:优易学  2011-3-25 17:22:04   【优易学:中国教育考试门户网】   资料下载   IT书店

1.以下程序运行后,输出结果是()
    #include
    ss(char *s)
    {char *p=s;
    while(*p)p++;
    return(p-s);
    }
    main()
    {char*a="abded";
    inti;
    i=ss(a);
    printf("%d\n",i);
    }
    A)8    B)7    C)6    D)5

    2.若有如下程序:
    int sub()
    {static int n=1;
    int x=1;
    x*=n;n++;
    return x;}
    main()
    {int n,t=1;
    for(n=1;n<6;n++)t*=sub();
    printf("%d\n",t);}
    则程序运行后的输出结果是()
    A)15    B)120    C)34560    D)-30976

    3.在C语言中,函数的隐含存储类别是()
    A)static    B)auto    C)extern    D)register

  4.有以下程序:
    intf1(doublea)
    {returna*a; }
    intf2(doublex,doubley)
    {doublea,b;
    a=f1(x);
    b=f1(y);
    returna+b;
    }
    main()
    {doublew;
    w=f2(1.1,2.0);
    …
    }
    变量w中的值是()
    A)5.21    B)5    C)5.0    D)0.0

    5.下面被调用函数sub的函数值的类型是()
    sub(float a)
    {float b;
    b=a*a+1;
    return b;}
    A)单精度型    B)双精度型    C)空类型    D)整型

    6.若有以下定义语句:
    doublea[5];inti=0;
    能正确给a数组元素输入数据的语句是()
    A)scanf("%lf%lf%lf%lf%lf",a);
    B)for(i=0;i<=5;i++)scanf("%lf",a+i);
    C)while(i<5)scanf("%lf",&a[i++]);
    D)while(i<5)scanf("%lf",a+i);

  7.以下程序的输出结果是()
    main()
    { charss[16]="test\0\n\"";
    printf("%d,%d\n",strlen(ss),sizeof(ss));
    }
    A)4,16    B)7,7    C)16,16    D)4,7

    8.以下说法正确的是()
    A)宏定义是C语句,所以要在行末加分号
    B)可以使用#undef命令来终止宏定义的作用域
    C)在进行宏定义时,宏定义不能层层置换
    D)对程序中用双引号括起来的字符串内的字符,与宏名相同的要进行置换

    9.以下程序的输出结果是()
    #include
    main()
    {struct stru{int a,b;
    char c[6];
    };
    printf("%d\n",sizeof(stru));
    }
    A)2    B)4    C)8    D)10

    10.若有如下定义:
    int s[3];
    则下面表达式中不能代表数组元素s[1]的地址的是()
    A)&s[1]    B)&s[0]+1    C)s+1    D)s++


进入青年人网论坛看答案

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训