一、单项选择题(每小题2分)
【1】设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar (m);putchar ('');putchar (ch);后,则输出结果是。
A、A1
B、lA
C、Al
D、1A
标准答案:D
【2】有如下函数调用语句
    fuc(rec1,rec2+rec3,(rec4,rec5));
    该函数调用语句中,含有的实参个数是。
A、3
B、4
C、5
D、有语法错
标准答案:A
【3】有以下函数定义:
    void fun(int n,double x){}
    若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是。
A、fun(int y,double m);
B、k=fun(10,12.5);
C、fun(x,n);
D、void fun(n,x);
标准答案:C
【5】设有以下程序片段,请问执行后的输出结果是
int i=010,j=10,k=0xl0;print f("%d,%d,%d",k,j,i);
A、16,10,8
B、81016
C、10,10,10
D、8,10,16
标准答案:A
【9】有如下程序段:
    char str[14]={"Iam"};
    strcat(str,"sad!");
    scanf("%s",str);
    print f("%s",str);
    当输入为happy!<CR>时,输出的结果是()。
A、Iamsad!
B、happy!
C、Iamhappy!
D、happy!ad!
标准答案:B
【11】以下if语句中格式正确的是
A、if(a>b)b++else a++;
B、if(a>b){b++;print f("%d",b);}
else {a++;print f("%d",a);}
C、if(a>b){b++;print f("%d",b)}
else {a++;print f("%d",a);}
D、if(a>b)b++;print f("%d",b);
else print f("%d",a);
标准答案:B
【1】设有整型变量m值为8,下列赋值语句中,正确的是。
A、++m=6;
B、m=m++;
C、m+1=8;
D、m+1+=8;
标准答案:B
【2】.有以下程序
    #include<stdio.h>
    void  fun(int  *a,int  i,int  j)
    {
        int  t;
        if(i<j)
        {
            t=a[i];a[i]=a[j];a[j]=t;
            i++;j--;
()c语言是啥
            fun(a,i,j);
        }
    }
    void  main()
    {
        int  x[]={2,6,1,8},i;
        fun(x,0,3);
        for(i=0;i<4;i++)print f("%2d",x[i]);
    }
程序运行后的输出结果是。
A、1268
B、8621
C、8162
D、8612
标准答案:C
【3】关于C语言以下说法正确的是()。
A、只有当实参和与其对应的形参同名时才共占用存储单元
B、形参是虚拟的,不占用存储单元
C、实参和与其对应的形参各占用独立的存储单元
D、实参和与其对应的形参共占用一个存储单元
标准答案:C
【4】根据下面的定义,能打印出字母“M”的语句是。
    struct  person
{char  name[9];int  age;};
struct  person class[10]={"John",17,
"Paul",19,"Mary",18,"adam",16};
A、print f("%c\n",class[3].name);
B、print f("%c\n",class[3].name[l]);
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
【6】下面程序的输出是
main()
{int  a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
print f("%d%d%d\n",k,a,b);}
A、003
B、012
C、103
D、112
标准答案:C
【7】C语言中最基本的数据类型包括。
A、整型,实型,逻辑型
B、整型,实型,布尔型
C、整型,实型,字符型
D、整型,实型,指针型
标准答案:C
【8】假定int 类型变量占用两个字节,其有定义:int  x[10]={0,2,4};,则数组x在内存中所占字节数是。
A、3
B、6
C、10
D、20
标准答案:D
【9】下面程序的输出结果是()。
    #include<stdio.h>
    void main()
    {
        int i,j,k;
        char str[5];
        for(i=0;i<5;i++)str[i]='A';
        k=4;
        for(i=0;i<k;i++)
            for(j=0;j<k;j++)
                str[j]=str[i]+32;
        print f("%c\n",str[k]);
    }
A、a
B、A
C、B
D、不确定的值
标准答案:B
【10】有以下程序片段:
    int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[3],i;
    for(i=0;i<3;i++)
    p[i]=&a[i*4];
    printf(“%d”,*(p[2]+1));
    则输出结果为
A、9
B、5
C、10
D、6
标准答案:C
【11】设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段:
switch(ch)
{case'+':w=a+b;break;
case'-':w=a-b;break;
case'*':w=a*b;break;
case'/':w=a/b;break;}
在下列写法中,错误的是
A、if(ch=='+')w=a+b;
if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else  if(ch=='/')w=a/b;