http://www.educity.cn 作者:pc 来源:希赛教育
1.下面叙述正确的是()

    A)define和auto都不能定义为用户标识符

    B)可以把define和auto定义为用户标识符

    C)可以把define定义为用户标识符,但auto是C语言的关键字

    D)可以把auto定义为用户标识符,但define是C语言的关键字

    2.以下的for循环()

    for(x=0,y=0;(y!=123)&&(x<4);x++)

    A)是无限循环    B)循环次数不定    C)执行4次    D)执行3次

    3.下述对C语言字符数组的描述中错误的是()

    A)字符数组可以存放字符串

    B)字符数组中的字符串可以整体输入、输出

    C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

    D)不可以用关系运算符对字符数组中的字符串进行比较 

 4.设有定义:int a,*p=&a,**pp=&p;,则与a=100;等价的语句为()

    A)**p=100;    B)**pp=100;    C)&*p=100;    D)*pp=10;

    5.有以下程序

    int x=3;
    do {printf("%d",x-=2);}while(!(--x));

    程序运行后的输出结果是()

    A)1    B)30    C)1-2    D)死循环

    6.执行下面程序的正确结果是()

    main()
    { float a=1.9;
    switch(a)
    { case 0∶printf("0000");
    case 1∶printf("1111");
    case 2∶printf("3333");
    }
    printf("%f",a);
    }

    A)1.900000    B)111133331.900000    C)33331.900000    D)00001111233331.900000

    7.对下述程序,正确的判断是()

    main ()
    { int a, b;
    scanf("%d,%d",&a,&b);
    if(a>b)a=b;b=a;
    else a++;b++;
    printf("%d,%d",a,b);}

    A)有语法错误不能通过编译    B)若输入4,5则输出5,6    C)若输入5,4则输出4,5    D)若输入5,4则输出5,5 

8.若有如下程序:

    sub(int n)
    {intt;
    if(n==1)returnt=5;
    else t=sub(n-1)+3;
    returnt;}
    main()
    {printf("%d\n",sub(5));}

    则程序运行后的输出结果是()

    A)17    B)18    C)19    D)20

    9.下面各被调用函数首部书写正确的是()

    A)void sub(float x;float y);

    B)void sub(float x,y)

    C)void sub(float x,float y)

    D)void sub(float x,float y);

    10.设有如下程序:

    #include"string.h"
    main()
    {static char s1[20],s2[20];
    scanf("%s",s1);scanf("%s",s2);
    if(strcmp(s1,s2))printf("@");
    elseprintf("$");
    printf("%d\n",strlen(strcat(s1,s2)));}

    如果从键盘上输入name<回车>name1<回车>,则程序运行后的输出结果是()

    A)$8    B)@10    C)$9    D)@9

    答案:1.C 2.C 3.C 4.B 5.C 6.B 7.A 8.A 9.C 10.D