2009年4月全國計(jì)算機(jī)等級(jí)二級(jí)C筆試考前練習(xí)習(xí)題(7)

字號(hào):

1.以下程序運(yùn)行后,輸出結(jié)果是()
    #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);}
    則程序運(yùn)行后的輸出結(jié)果是()
    A)15
    B)120
    C)34560
    D)-30976
    3.在C語言中,函數(shù)的隱含存儲(chǔ)類別是()
    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.下面被調(diào)用函數(shù)sub的函數(shù)值的類型是()
    sub(float a)
    {float b;
    b=a*a+1;
    return b;}
    A)單精度型
    B)雙精度型
    C)空類型
    D)整型
    6.若有以下定義語句:
    doublea[5];inti=0;
    能正確給a數(shù)組元素輸入數(shù)據(jù)的語句是()
    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.以下程序的輸出結(jié)果是()
    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語句,所以要在行末加分號(hào)
    B)可以使用#undef命令來終止宏定義的作用域
    C)在進(jìn)行宏定義時(shí),宏定義不能層層置換
    D)對(duì)程序中用雙引號(hào)括起來的字符串內(nèi)的字符,與宏名相同的要進(jìn)行置換
    9.以下程序的輸出結(jié)果是()
    #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];
    則下面表達(dá)式中不能代表數(shù)組元素s[1]的地址的是()
    A)&s[1]
    B)&s[0]+1
    C)s+1
    D)s++
    答案:1.D 2.B 3.C 4.C 5.D 6.C 7.A 8.B 9.D 10.D