j)語句共執行的次數是()。main(){inti=0,j=14,k=2,s=0;for(;;){i+=k;if(i>j){printf(“%d”,s);break;}s+=i;}}A、6B、9C、7D、12(2)若要用fopen函數打開一個二進制文件,該文件要既能讀也能寫 " />
  • <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            c語言筆試題

            更新時間:2023-03-03 02:11:44 閱讀: 評論:0

            什么是羊水穿刺-家庭裝修合同范本

            c語言筆試題
            2023年3月3日發(作者:大學體育課)

            一、單選題(共計60題)

            (1)在下述程序中,if(i>j)語句共執行的次數是()。

            main()

            {inti=0,j=14,k=2,s=0;

            for(;;)

            {i+=k;

            if(i>j)

            {printf(“%d”,s);

            break;

            }

            s+=i;

            }

            }

            A、6

            B、9

            C、7

            D、12

            (2)若要用fopen函數打開一個二進制文件,該文件要既能讀也能寫,當文件不存在時新建

            文件,則文件打開方式應是()。

            A、"ab+"

            B、"rb+"

            C、"wb+"

            D、"ab"

            (3)下列程序的輸出結果是()。

            structstudent

            {inta,b,c;};

            main()

            {structstudentstu[2]={{2,3,4},{5,6,7}};intt;

            t=stu[0].a+stu[1].b%stu[0].c;

            printf("%dn",t);}

            A、0

            B、1

            C、4

            D、5

            (4)對于浮點型變量f,能實現對f中的值在小數點后第四位進行四舍五入的表達式是()。

            A、f=(f*1000+0.5)/1000.0

            B、f=(f*1000+0.5)/1000

            C、f=(int)(f*1000+0.5)/1000.0

            D、f=(f/1000+0.5)*1000

            (5)現已定義整型變量inti=1;執行循環語句“while(i++<5);”后,i的值為()。

            A、1

            B、5

            C、6

            D、以上三個答案均不正確

            (6)下列程序的輸出結果是()。

            structLH

            {intn;structLH*m;}p[4];

            main()

            {inti;

            for(i=0;i<2;i++)

            {p[i].n=i;p[i].m=&p[i+1];}

            p[i].m=p;

            printf(“%d,%dn”,(p[1].m)->n,p[2].m->n);

            }

            A、0,1

            B、0,2

            C、0,0

            D、程序出錯

            (7)下列程序的運行結果是()。

            #include"stdio.h"

            intf(inta)

            {switch(a)

            {ca0:return0;

            ca1:ca2:return1;

            }

            return(f(a-2)+f(a-3));

            }

            main()

            {intb;

            b=f(9);

            printf(“%dn”,b);

            }

            A、10

            B、7

            C、8

            D、9

            (8)以下程序的輸出結果是()。

            intf(intb[],intm,intn)

            {inti,s=1;

            for(i=m;i

            {b[i]=b[i-1]+b[i+1];

            s+=b[i];}

            returns;}

            main()

            {intx,a[]={1,2,3,4,5,6,7,8,9,10};

            x=f(a,3,5);

            printf("%dn",x);}

            A、23

            B、26

            C、42

            D、35

            (9)以下程序運行后,輸出結果是()。

            main()

            {charch[3][4]={"123","456","78"},*p[3];inti;

            for(i=0;i<3;i++)p[i]=ch[i];

            for(i=0;i<3;i++)printf("%s",p[i]);

            }

            A、123456780

            B、123456780

            C、12345678

            D、147

            (10)桌上有白球和黑球共5個,a、b、c、d、e分別表示這5個球的顏色,取值為0、1分

            別代表白球、黑球。則以下能表示a是黑球,其余至少有兩個白球的表達式是()。

            A、!a&&(b+c+d+e)==2

            B、a&&(b+c+d+e)>2

            C、a&&(b+c+d+e)<=2

            D、!a&&(b+c+d+e)==3

            (11)下列程序的輸出結果是()。

            #include"stdio.h"

            intf(intn)

            {staticintk,s;

            n--;

            for(k=n;k>0;k--)

            s+=k;

            returns;

            }

            voidmain()

            {intk;

            k=f(2);

            printf("(%d,%d)",k,f(k));

            }

            A、(3,3)

            B、(1,1)

            C、(3,6)

            D、(6,12)

            (12)若有定義:inta,b;charx,y;并有以下輸入數據:1213AaBb(回車)

            則能給a賦整數12,給b賦整數13,給x賦字符a,給y賦字符b的正確程序段是()。

            A、scanf(“%d”,&a);

            scanf(“%d”,&b);

            x=getchar();y=getchar();

            B、scanf(“%d%d%c%c”,&a,&b,&x,&y);

            C、scanf(“%d%d%c%c”,&a,&b,&x,&x,&y,&y);

            D、scanf(“%d%d%c%c%c%c”,&a,&b,&x,&x,&y,&y);

            (13)以下對結構體成員的運算結果是()。

            #include

            main(){

            structst

            {intx;

            inty;

            }cnum[2]={1,3,2,7};

            printf("%dn",cnum[0].y/cnum[0].x*cnum[1].x);

            }

            A、0

            B、1

            C、3

            D、6

            (14)函數f定義如下,執行語句“m=f(5);”后,m的值應為()。

            intf(intk)

            {if(k==0||k==1)return1;

            elreturnf(k-1)+f(k-2);

            }

            A、3

            B、8

            C、5

            D、13

            (15)若有以下定義:chars[10]={’a’,’b’,’c’,’0’,’2’,’x32’,’0’,’123’};

            執行語句printf(“%d”,strlen(s));的結果是()。

            A、3

            B、6

            C、8

            D、9

            (16)若i為整型變量,則以下循環執行的次數是()。

            for(i=0;i<=5;i++)

            printf("%d",i++);

            A、5次

            B、2次

            C、3次

            D、6次

            (17)執行以下程序段后的輸出結果是()。

            intx=3;

            intm,n;

            n=(++x)+(++x);

            m=(x--)+(x--);

            printf("%d%dn",m,n);

            A、106

            B、99

            C、1010

            D、108

            (18)設有定義:inta[2][2]={1,2,3,4},(*p)[2];,則在語句p=a;p++;后,**p的值為()。

            A、2

            B、3

            C、4

            D、以上都不對

            (19)以下關于循環的程序的輸出結果是()。

            #include"stdio.h"

            voidmain()

            {

            intk=4,n=0;

            for(;n

            {

            n++;

            if(n%3!=0)continue;

            k--;

            }

            printf("%d%d",k,n);

            }

            A、11

            B、22

            C、33

            D、44

            (20)下列關于字符串操作的輸出結果是()。

            #include"stdio.h"

            #include"string.h"

            voidmain()

            {

            charp1[20]="abcd",p2[20]="ABCD";

            charstr[50]="xyz";

            strcpy(str+2,strcat(p1+2,p2+1));

            printf("%sn",str);

            }

            A、xyabcAB

            B、abcABz

            C、Ababcz

            D、xycdBCD

            (21)下列選項中屬于正確的switch語句的是()。

            A、swicth(’a’)

            {ca‘a’:printf(“An”);

            ca‘b’:printf(“Bn”);}

            B、switch(1.0)

            {ca1.0:printf(“An”);

            ca2.0:printf(“Bn”);}

            C、switch((int)(x+2.5))

            {ca1:printf(“An”);

            ca1+2:printf(“Bn”);}

            D、switch(“a”);

            {ca“a”:printf(“An”);

            ca“b”:printf(“Bn”);}

            (22)以下程序的運行結果為()。

            #include"stdio.h"

            voidmain(){

            inty=2,a=1;

            while(y--!=-1){

            do{

            a*=y;a++;

            }while(y--);}

            printf("%d,%dn",a,y);}

            A、1,-2

            B、2,1

            C、1,0

            D、2,-1

            (23)C語言的輸入與輸出操作是由()完成的。

            A、輸入語句

            B、輸出語句

            C、輸入與輸出函數

            D、輸入與輸出語句

            (24)若有以下程序段

            ……

            inta[]={4,0,2,3,1},i,j,t;

            for(i=1;i<5;i++)

            {t=a[i];j=i-1;

            while(j>=0&&t>a[j])

            {a[j+1]=a[j];j--;}

            a[j+1]=t;}

            ……

            則該程序段的功能是()。

            A、對數組a進行插入排序(升序)

            B、對數組a進行插入排序(降序)

            C、對數組a進行選擇排序(升序)

            D、對數組a進行選擇排序(降序)

            (25)執行下列程序中的輸出語句后,x的值是()。

            main()

            {intx;

            printf(“%dn”,(x=4*5,x*2,x+20));}

            A、20

            B、40

            C、60

            D、80

            (26)下列程序段的輸出結果是()。

            intc[]={1,7,12};

            int*k=c+1;

            printf("%d",*k++);

            A、2

            B、7

            C、8

            D、12

            (27)下列程序的運行結果是()。

            main()

            {inta=4,y;

            y=fn(a,++a);

            printf(“%d”,y);}

            intfn(x,c)

            {intb;

            if(x

            elif(x==c)b=0;

            elb=-1;

            return(b);

            }

            A、4

            B、-1

            C、1

            D、0

            (28)有如下程序:intx=-20;printf("%dn",~x);,其輸出結果將是()。

            A、19

            B、20

            C、21

            D、-1

            (29)對于類型相同的指針變量,不能進行的運算是()。

            A、+

            B、-

            C、=

            D、==

            (30)已知:

            unionu_type

            {inti;

            charch;

            floata;

            }temp;

            現在windows環境下,執行"temp.i=266;printf("%d",)"的結果是()。

            A、266

            B、256

            C、10

            D、1

            (31)以下程序的運行結果是()。

            #include"stdio.h"

            main()

            {

            inta[]={1,2,3,4,5,6,7,8,9,10,11,12};

            int*p=a+5,*q=NULL;

            q=p+5;

            printf("%d%dn",*p,*q);

            }

            A、運行后報錯

            B、611

            C、612

            D、55

            (32)以下程序的輸出結果是()。

            main()

            {inta=0,b=1,c=0,d=20;

            if(a)d=d-10;

            elif(!b)

            if(!c)d=15;

            eld=25;

            printf("d=%dn",d);

            }

            A、d=10

            B、d=15

            C、d=20

            D、d=25

            (33)下面四組字符串中,都可以用作C語言程序標識符的是()。

            A、print

            _maf

            mx_2d

            aMb6

            B、Iam

            scanf

            mx_

            MB

            C、sign

            3mf

            a.f

            A&B

            D、if

            ty_pe

            x1

            #5XY

            (34)下列程序的輸出結果是()。

            intf()

            {staticinti=0;

            ints=1;

            s+=i;i++;

            returns;}

            main()

            {inti,a=0;

            for(i=0;i<6;i++)a+=f();

            printf(“%dn”,a);}

            A、21

            B、24

            C、25

            D、15

            (35)設有定義:#defineSTR"12345";,則以下敘述正確的是()。

            A、宏名STR代替的是數值常量12345

            B、宏定義以分號結束,編譯時會產生錯誤信息

            C、宏名STR代替的是字符串"12345"

            D、宏名STR代替的是字符串常量"12345"

            (36)以下程序運行后,如果從鍵盤上輸入ABCDE<回車>,則輸出結果為()。

            #include"stdio.h"

            #include"string.h"

            func(charstr[])

            {intnum=0;

            while(*(str+num)!=’0’)num++;

            return(num);

            }

            main()

            {charstr[10],*p=str;

            gets(p);printf("%dn",func(p));

            }

            A、8

            B、7

            C、6

            D、5

            (37)下列程序的輸出結果是()。

            structst

            {intx;int*y;}*p;

            intdt[4]={10,20,30,40};

            structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};

            main()

            {p=aa;

            printf(“%d”,++(*p->y));

            printf(“%d”,(++p)->x);

            printf(“%d”,++p->x);}

            A、202010

            B、216050

            C、116061

            D、317060

            (38)以下函數的功能是()。

            char*fun(char*str1,char*str2)

            {

            while((*str1)&&(*str2++=*str1++));

            returnstr2;

            }

            A、求字符串的長度

            B、比較兩個字符串的大小

            C、將字符串str1復制到字符串str2中

            D、將字符串str1接續到字符串str2中

            (39)以下程序的輸出結果是()。

            #include

            voidfunc(char**m)

            {

            ++*m;

            printf("%sn",*m);

            }

            voidmain()

            {

            staticchar*a[]={"first","cond","three"};

            char**n;

            n=a;

            func(n);

            }

            A、first

            B、irst

            C、cond

            D、其他

            (40)以下語句的輸出結果為()。

            for(k=0;k<5;++k)

            {if(k==3)continue;

            printf("%d",k);

            }

            A、012

            B、0124

            C、01234

            D、沒有輸出結果

            (41)下面的程序對輸入的每一個數字出現的次數進行計數,下劃線處應填入的正確語句為

            ()。

            #include"stdio.h"

            main()

            {inti,ch,n[10];

            for(i=0;i<10;++i)n[i]=0;

            while((ch=getchar())!=‘n’)

            if(ch>=‘0’&&ch<=‘9’)

            ________;

            for(i=0;i<10;++i)

            printf("數字%d出現的次數是:%dn",i,n[i]);

            }

            A、n[ch-‘0’]++

            B、n[ch]++

            C、i++

            D、n[i]++

            (42)以下程序的輸出結果是()。

            #include"stdio.h"

            int*fun()

            {

            inta[4],k;

            for(k=0;k<4;k++)a[k]=k;

            return(a);

            }

            voidmain()

            {

            int*p,j;

            p=NULL;

            p=fun();

            for(j=0;j<4;j++){printf("%dn",*p);p++;}

            }

            A、0000

            B、0123

            C、1111

            D、輸出不確定值

            (43)若有如下結構體定義,下列scanf用法不正確的是()。

            structpupil

            {

            charname[20];

            intage;

            intx;

            }pup[5],*p;

            p=pup;

            A、scanf("%s",pup[0].name);

            B、scanf("%d",&pup[0].age);

            C、scanf("%d",&(p->x));

            D、scanf("%d",p->age);

            (44)與y=(x>0?1:x<0?-1:0);的功能相同的if語句是()。

            A、if(x>0)y=1;

            elif(x<0)y=-1;

            ely=0;

            B、if(x)

            if(x>0)y=1;

            elif(x<0)y=-1;

            C、y=-1

            if(x)

            if(x>0)y=1;

            elif(x==0)y=0;

            ely=-1;

            D、y=0;

            if(x>=0)

            if(x>0)y=1;

            ely=-1;

            (45)下列描述中不正確的是()。

            A、字符型數組中可能存放字符串

            B、可以對字符型數組進行整體輸入、輸出

            C、可以對整型數組進行整體輸入、輸出

            D、不能在賦值語句中通過賦值運算符“=”對字符型數組進行整體賦值

            (46)下面程序運行后,關于a、b、c的值應輸出為()。

            #include"stdio.h"

            main()

            {

            inta=1,b=2,c=2,t;

            while(a

            printf("%d,%d,%d",a,b,c);

            }

            A、1,2,0

            B、2,1,0

            C、1,2,1

            D、2,1,1

            (47)在16位PC機環境下,下列程序的輸出結果是()。

            structtt

            {intn1;charn2;floatn3;

            unionuu{intu1[3];charu2[3];}su;

            };

            main()

            {printf(“%dn”,sizeof(structtt));}

            A、11

            B、12

            C、13

            D、9

            (48)若有如下程序:

            voids(char*m,intn)

            {

            *m=*m+3;n=n+3;

            printf("%c,%c,",*m,n);

            }

            voidmain()

            {

            charp=’b’,q=’B’;

            s(&q,p);

            printf("%c,%cn",p,q);

            }

            則程序運行后的輸出結果是()。

            A、E,e,b,E

            B、e,E,b,F

            C、E,e,e,E

            D、e,E,b,E

            (49)以下程序的輸出結果是()。

            #include

            intmain()

            {

            charstr[100]="ABCDEFG",*p=str;

            inti;

            for(i=0;*p!=’0’;p++,i++);

            printf("%dn",i);

            return0;

            }

            A、7

            B、8

            C、99

            D、100

            (50)某C編譯系統規定,int型數組占2個字節,則定義以下語句后,sizeof(aa)=()。

            struct{longnum;

            charname[20];

            union{floatx;

            shorty;

            }xy;

            }aa;

            A、32B、26

            C、30D、28

            (51)語句:printf(“%d”,!0);的輸出結果是()。

            A、1

            B、0

            C、有語法錯誤,不能執行

            D、!0

            (52)函數f定義如下,執行語句“sum=f(4)+f(2);”后,sum的值應為()。

            intf(intm)

            {staticinti=0;ints=0;

            for(;i<=m;i++)s+=i;returns;

            }

            A、13B、16

            C、10D、8

            (53)fwrite函數的一般調用格式是()。

            A、fwrite(buffer,count,size,fp);

            B、fwrite(fp,count,size,buffer);

            C、fwrite(fp,size,count,buffer);

            D、fwrite(buffer,size,count,fp);

            (54)有以下程序段

            main()

            {inti=1,sum=0,n;

            scanf("%d",&n);

            do

            {i+=2;

            sum+=i;

            }while(i!=n);

            printf("%d",sum);

            }

            若使程序的輸出值為15,則應該從鍵盤輸入的n的值是()。

            A、1B、3

            C、5D、7

            (55)下列選項可作為C語言賦值語句的是()。

            A、a=1;b=2;

            B、a=b=6

            C、i--

            D、y=int(x);

            (56)已知有以下的說明,

            inta[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a[3])]的值為()。

            A、5B、0

            C、4D、7

            (57)已知enumname{zhao=1,qian,sun,li}man;執行下述程序段后的輸出結果是()。

            man=0;

            switch(man)

            {ca0:printf("Peoplen");break;

            ca1:printf("Mann");break;

            ca2:printf("Womann");break;

            default:printf("Errorn");break;

            }

            A、PeopleB、Man

            C、WomanD、Error

            (58)以下能正確計算1×2×3×……×10的程序段是()。

            A、do{i=1;s=1;

            s=s*i;

            i++;

            }while(i<=10);

            B、do{i=1;s=0;

            s=s*i;

            i++;

            }while(i<=10);

            C、i=1;s=1;

            do{s=s*i;

            i++;

            }while(i<=10);

            D、i=1;s=0;

            do{s=s*i;

            i++;

            }while(i<=10);

            (59)以下程序的運行結果是()。

            voidmain()

            {

            inta=4;charch=’a’;

            printf("%dn",(a&2)&&(ch>’A’));

            }

            A、0B、1

            C、2D、3

            (60)若指針p已正確定義,要使p指向兩個連續的整型動態存儲單元,下列語句正確的是()。

            A、p=2*(int*)malloc(sizeof(int));

            B、p=(int*)malloc(2*sizeof(int));

            C、p=(int*)malloc(2*2);

            D、p=(int*)malloc(2,sizeof(int));

            二、

            (1)以下敘述中正確的有()

            A、在程序的一行上可以出現多個有效的預處理命令行

            B、宏定義不是C語句,不必在行末加分號

            C、宏替換不占用運行時間,只占用編譯時間

            D、在以下定義中CR是稱為“宏名”的標識符

            #defineCR045

            (2)要求函數的功能是在一維數組a中查找x值。若找到,則返回所在的下標值;否則,返

            回0。設數據放在數組元素的a[1]到a[n]中。在以下給出的函數中,不能正確執行此功

            能的有()。

            A、funa(int*a,intn,intx)

            {

            *a=x;

            while(a[n]!=x)n--;

            returnn;

            }

            B、funb(int*a,intn,intx)

            {

            intk;

            for(k=1;k<=n;k++)

            if(a[k]==x)returnk;

            return0;

            }

            C、func(inta[],intn,intx)

            {

            int*k;

            a[0]=x;k=a+n;

            while(*k!=x)k--;

            returnk-n;

            }

            D、fund(inta[],intn,intx)

            {

            intk=0;

            do

            {k++;

            }while((k

            if((k

            elreturn0;

            }

            (3)下面說法正確的有()。

            A、共用體變量的地址和它各成員的地址都是同一地址

            B、共用體內的成員可以是結構變量,反之亦然

            C、在任一時刻,共用體變量的各成員只有一個有效

            D、函數不可以返回一個共用體變量

            (4)如有兩個字符數組a、b,則以下輸入語句正確的有()。

            A、gets(a,b);

            B、scanf("%s%s",a,b);

            C、for(i=0;(a[i]=getchar())!=’n’;i++);

            for(i=0;(b[i]=getchar())!=’n’;i++);

            D、gets(a);gets(b);

            (5)當把下列四個表達式用作if語句的控制表達式時,含義相同的選項有()。(假設k>0)

            A、k%2

            B、k%2==0

            C、(k%2)!=0

            D、k%2==1

            (6)設有以下語句

            structst{

            intn;

            structst*next;

            };

            staticstructsta[3]={5,&a[1],6,&a[2],7,},*p=&a[0];

            若要使printf("%dn",____)輸出值為6,則下劃線處表達式可以為()。

            A、p->n++

            B、++p->n

            C、(++p)->n

            D、p->next->n

            (7)下列說法不正確的有()。

            A、帶參數的宏定義中的參數是沒有類型的

            B、宏展開將占用程序的運行時間

            C、宏定義命令是C語言中的一種特殊語句

            D、使用#include命令包含的頭文件必須以".h"為后綴

            (8)下列有關函數調用的說法正確的有()。

            A、若用值傳遞方式,則形式參數不予分配內存

            B、實際參數和形式參數不可以同名

            C、主調函數和被調用函數可以不在同一個文件中

            D、函數間傳送數據可以使用外部全局變量

            (9)若變量已正確定義,以下能正確計算1*2*3*4*5的程序段有()。

            A、i=1;s=1;

            do

            {s=s*i;i++;}

            while(i<5);

            B、i=0;s=0;

            do

            {i++;s=s*i;}

            while(i<5);

            C、i=1;s=1;

            do

            {s=s*i;i++;}

            while(i<6);

            D、i=0;s=1;

            do

            {i++;s=s*i;}

            while(i<5);

            (10)設有定義語句:intx[6]={2,4,6,8,5,7},*p=x,i;

            要求依次輸出x數組中6個元素中的值,下列選項中能完成此操作的語句有()。

            A、for(i=0;i<6;i++)printf(“%2d”,*(p++));

            B、for(i=0;i<6;i++)printf(“%2d”,*(p+i));

            C、for(i=0;i<6;i++)printf(“%2d”,*p++);

            D、for(i=0;i<6;i++)printf(“%2d”,(*p)++);

            (11)整型變量x=1,y=3,經下列()計算后,x的值等于6。

            A、x=(x=1+2,x*2)

            B、x=y>2?6:5

            C、x=9-(y--)-(y--)

            D、x=y*4.8/2-1

            (12)下列關于指針定義的描述正確的有()。

            A、指針變量是一種變量,該變量是用來存放某個變量的地址值的

            B、指針變量的類型與它所指向的變量類型一致

            C、指針變量的命名規則與標識符相同

            D、在定義指針時,”*”號表示指針變量的指向

            (13)以下對結構體變量stu1中成員age的引用正確的有()。

            structstudent

            {intage;

            intnum;

            }stu1,*p;

            p=&stu1;

            A、

            B、

            C、p->age

            D、(*p).age

            (14)設有結構體類型:

            typedefstructstr{

            intno;

            charname[20];

            }STR;

            另有變量定義:STRa[20],x;

            如希望實現向與文件指針變量fp關聯的文件輸出一個結構信息,則以下語句正確的有()。

            A、fwrite(a,sizeof(STR),1,fp);

            B、fwrite(&a[2],sizeof(STR),1,fp);

            C、fwrite(&x,sizeof(STR),1,fp);

            D、fwrite(x,sizeof(STR),1,fp);

            (15)t為int類型,進入下面循環之前,t的值為0:

            for(;t=1;)

            {……….}

            則下列敘述不正確的有()。

            A、循環控制表達式的值為0

            B、循環控制表達式的值為1

            C、循環控制表達式不合法

            D、循環有可能是個無限循環

            (16)下列敘述不正確的有()。

            A、函數可以嵌套定義,但不能嵌套調用

            B、函數可以嵌套調用,也可以嵌套定義

            C、函數不可以嵌套定義,但可以遞歸調用

            D、函數可以嵌套調用,但不能嵌套定義

            (17)關于數組與字符串,下列選項中屬于不合法的定義有()。

            A、chars="string";

            B、inta[5]={0,1,2,3,4,5};

            C、chars[5]="string";

            D、chara[]={0,1,2,3,4,5};

            (18)若有定義:char*str[]={"one","two","three"},**p=str;

            則下列選項中可以表示出字符’t’的表達有()。

            A、*str[2]

            B、*str+2

            C、*(p+1)

            D、**++p

            (19)若有以下調用語句,則正確的fun函數的首部包括()

            main()

            {…

            inta[50],n;

            fun(n,&a[9]);

            }

            A、voidfun(intm,intx[])

            B、voidfun(ints,inth[41])

            C、voidfun(intp,int*s)

            D、voidfun(intn,inta)

            (20)已知有定義:

            struct{

            intno;

            charname[20];

            }a,b,*c;

            則以下語句合法的有()。

            A、a=b;

            B、a=&b;

            C、c=&b;D、*c=b

            試題答案

            1C41A

            2C42D

            3C43D

            4C44A

            5C45D

            6C46A

            7B47C

            8A48A

            9C49A

            10C50D

            11B51A

            12D52C

            13D53D

            14B54D

            15B55A

            16C56B

            17C57A

            18B58C

            19C59A

            20D60B

            21C1BC

            22A2ABD

            23C3ABCD

            24B4BCD

            25A5ACD

            26B6BCD

            27D7BCD

            28A8BCD

            29A9CD

            30C10ABC

            31B11ABD

            32C12ABCD

            33A13ACD

            34A14ABC

            35C15AC

            36D16AB

            37C17ABC

            38C18AD

            39B19ABC

            40B20CD

            一、單項選擇題【共60題,每小題1分,共60分。下列每題給出的多個選項中,

            只有一項是最符合試題要求的。請選擇相應的正確答案。】

            1.語句printf(“%dn”,strlen(“xyztxab3”));的輸出結果是()。

            A)9

            B)11

            C)7

            D)8

            2.程序中對fun函數有如下說明:

            int*fun();

            下面說法正確的是()。

            A)fun函數是整型函數

            B)fun函數的返回值是整型數據

            C)fun函數的返回值是指向整型數據的指針類型

            D)指針fun指向一個函數,該函數返回整型數據

            3.在下列語句選項中,只有一個在功能上與其他三個語句不等價(其中s1和s2表

            示某個C語句),這個不等價的語句是()。

            A)if(a)s1;els2;

            B)if(!a)s2;els1;

            C)if(a!=0)s1;els2;

            D)if(a==0)s1;els2;

            4.以下程序的運行結果是()。

            voidfun(int*n)

            {

            staticintm=2;

            *n*=m-1;m+=2;

            }

            voidmain()

            {

            staticintm=1;

            inti;

            for(i=1;i<4;i++)

            fun(&m);

            printf("%dn",m);

            }

            A)8

            B)10

            C)11

            D)15

            5.若有定義:constinti=10,j=20;int*constpi=(int*)&i;,則下列操作正確

            的為()。

            A)*pi=0;

            B)pi=&j;

            C)i=10;pi=&j;

            D)j=*pi;

            6.字符串"ax44nbcd102a"的長度是()。

            A)12

            B)17

            C)9

            D)11

            7.以下程序的輸出結果為()。

            inta=2;

            intf(int*a)

            {

            return(*a)++;

            }

            voidmain()

            {

            ints=0;

            {inta=5;

            s+=f(&a);

            }

            s+=f(&a);

            printf("%d%dn",a,s);

            }

            A)27

            B)210

            C)37

            D)311

            8.在C語言中,函數的隱含存儲類別是()。

            A)auto

            B)static

            C)extern

            D)無存儲類別

            9.以下關于枚舉的程序,其運行結果是()。

            #include"stdio.h"

            main()

            {

            enumweekday

            {sun,mon,tue=5,wed,thu,fri,sat}a,b,c,d;

            a=sun;

            b=mon;

            c=tue;

            d=wed;

            printf("%d%d%d%dn",a,b,c,d);

            }

            A)0050

            B)1254

            C)0156

            D)0153

            10.以下程序關于sizeof()的運行結果是()。

            voidmain()

            {

            chara[]="movie",b[10]="movie";

            printf("%d%dn",sizeof(a),sizeof(b));

            }

            A)55

            B)66

            C)610

            D)其他輸出

            11.若x是int型變量,且有下面的程序片段:

            for(x=5;x<8;x++)

            printf((x/2)?(“**%d”):(“##%d”),x);

            該程序片段的輸出結果是()。

            A)**5**6**7

            B)##5**6##7**8

            C)**5##6**7

            D)**5##6**7##8

            12.以下是求兩個正整數的最大公約數的函數fun(),下劃線處應填入的正確語

            句為()。

            intfun(m,n)

            intm,n;

            {intr;

            if(m

            if(n==0)return(m);

            do{r=m%n;

            if(r!=0){m=n;n=r;}

            }while(______);

            return(n);

            }

            A)r!=0

            B)r==0

            C)n!=0

            D)n==0

            13.以下程序功能為輸入1個正整數n,計算并輸出s的前n項的和:

            s=1/2-2/3+3/4-4/5+……(-1)n/(n+1),下劃線處應填入的正確語句為()。

            #include"stdio.h"

            voidmain()

            {intk,flag=1,n;

            floats=0;

            scanf("%d",&n);

            for(k=1;k<=n;k++){

            s=s+______;

            flag=-flag;

            }

            printf("sum=%fn",s);

            }

            A)1.0*k/(k+1)*flag

            B)flag*n/(n+1)

            C)-k/(k+1)

            D)1.0*k/(k+1)

            14.在下列字符序列中,屬于C語言合法標識符的是()。

            A)P12.a

            B)stud_100

            C)$water.1

            D)88sum

            15.以下程序的輸出結果是()。

            main()

            {inta=0,j;

            for(j=0;j<4;j++)

            {switch(j)

            {ca0:

            ca3:a+=2;

            ca1:

            ca2:a+=3;

            default:a+=5;

            }

            }

            printf("%dn",a);

            }

            A)20

            B)13

            C)10

            D)36

            16.有如下程序:

            #definef(x)x*x

            main()

            {inti;

            i=f(2+2)/(1+1);

            printf(“%dn”,i);}

            該程序執行后的輸出結果是()。

            A)21

            B)7

            C)8

            D)4

            17.有以下程序段:

            inta=0,b;

            do{scanf(“%d”,&a);b++;}while(a!=10||b<3);

            此處do-while循環的結束條件是()。

            A)a的值等于10并且b的值大于3

            B)a的值等于10并且b的值大于等于3

            C)a的值不等于10或者b的值小于3

            D)a的值不等于10并且b的值大于等于3

            18.若a是整型變量,表達式~(a^~a)等價于()。

            A)~a

            B)1

            C)0

            D)2

            19.以下程序的輸出結果是()。

            main()

            {intn;

            (n=6*4,n+6),n*2;

            printf("n=%dn",n);

            }

            A)30

            B)24

            C)60

            D)48

            20.以下程序運行后的輸出結果是()。

            #include

            structNODE

            {intnum;structNODE*next;};

            main()

            {

            structNODE*p,*q,*r;

            p=(structNODE*)malloc(sizeof(structNODE));

            q=(structNODE*)malloc(sizeof(structNODE));

            r=(structNODE*)malloc(sizeof(structNODE));

            p->num=10;q->num=20;r->num=30;

            p->next=q;q->next=r;

            printf("%dn",p->num+q->next->num);

            }

            A)10

            B)20

            C)30

            D)40

            21.有以下函數:char*fun(char*p){returnp;},該函數的返回值為()。

            A)不確定值

            B)參數p中存放的地址值

            C)一個臨時存儲單元的地址值

            D)形參p自身的地址值

            22.當a=2,b=3,c=4,d=5時,執行下面一段程序后x的值為()。

            if(a

            if(c>d)x=1;

            el

            if(a>c)

            if(b

            elx=3;

            elx=4;

            elx=5;

            A)2

            B)3

            C)4

            D)5

            23.設有程序段chark;while(k>0)k++;printf("%dn",k);則程序輸出結果

            為()。

            A)-127

            B)256

            C)-128

            D)128

            24.以下程序輸出的字符序列是()。

            #include"stdio.h"

            main(){

            chara[]="language",*p;

            p=a;

            while(*p!=’u’){printf("%c",*p-’u’+’U’);p++;}

            }

            A)LANGUAGE

            B)language

            C)LANG

            D)LANGuage

            25.在下述程序中,if(i>j)語句共執行的次數是()。

            main()

            {inti=0,j=14,k=2,s=0;

            for(;;)

            {i+=k;

            if(i>j)

            {printf(“%d”,s);

            break;

            }

            s+=i;

            }

            }

            A)6

            B)9

            C)7

            D)12

            26.以下選項中,能定義s為合法的結構體變量的是()。

            A)typedefstructabc

            {doublea;

            charb[10];

            }s;

            B)structabc

            {doublea;

            charb[10];

            }s;

            C)structABC

            {doublea;

            charb[10];

            }

            ABCs;

            D)typedefABC

            {doublea;

            charb[10];

            }

            ABCs;

            27.以下程序的輸出結果是()。

            main()

            {inta=1,b=0;

            switch(a)

            {ca1:switch(b)

            {ca0:printf("**0**");break;

            ca1:printf("**1**");break;

            }

            ca2:printf("**2**");break;

            }

            }

            A)**0**

            B)**0****2**

            C)**0****1****2**

            D)有語法錯誤

            28.下列敘述不正確的是()。

            A)用typedef可以定義各種類型名,但不能用來定義變量

            B)typedef和#define都是在預編譯時處理的

            C)用typedef只是將已存在的類型用一個新的標識符來代表

            D)使用typedef有利于程序的通用和移植

            29.設有定義:#defineSTR"12345";,則以下敘述正確的是()。

            A)宏名STR代替的是數值常量12345

            B)宏定義以分號結束,編譯時會產生錯誤信息

            C)宏名STR代替的是字符串"12345"

            D)宏名STR代替的是字符串常量"12345"

            30.若要用fopen函數打開一個二進制文件,該文件要既能讀也能寫,當文件不存在

            時新建文件,則文件打開方式應是()。

            A)"ab+"

            B)"rb+"

            C)"wb+"

            D)"ab"

            31.若二維數組定義為a[m][n],則在a[i][j]之前的元素個數為()。

            A)j*m+i

            B)i*m+j

            C)i*m+j-1

            D)j*m+i-1

            32.假設所有變量均為整型,則執行運算x=(a=2,b=5,b++,a+b)后,x的值是()。

            A)7

            B)8

            C)6

            D)2

            33.下列選項中屬于不正確的賦值語句的是()。

            A)t--;

            B)k=i==j;

            C)t1=t2=t3=3;

            D)t1=1,t2=2;

            34.C語言中運算對象必須是整型的運算符是()。

            A)/

            B)++

            C)%

            D)!=

            35.下列程序的運行結果是()。

            main()

            {chararr[2][4];

            strcpy(arr,“abc”);strcpy(arr[1],“ABC”);

            printf(“%sn”,arr);}

            A)abcABC

            B)abc

            C)ABC

            D)arr

            36.以下程序的輸出結果是()。

            #include

            intmain()

            {

            charstr[100]="ABCDEFG",*p=str;

            inti;

            for(i=0;*p!=’0’;p++,i++);

            printf("%dn",i);

            return0;

            }

            A)7

            B)8

            C)99

            D)100

            37.下列函數調用語句中含有()個參數。

            func((f1,f2),(f2,f3),(f5,f6,f7))

            A)3

            B)5

            C)6

            D)7

            38.下列程序片段的輸出結果是()。

            printf("%dn",strlen("ATSn0l22"));

            A)l1

            B)10

            C)9

            D)8

            39.有以下程序:

            main()

            {charstr[][8]={“Hello”,“Beijing”},*p=str;

            printf(“%sn”,p+8);}

            該程序運行后的輸出結果是()。

            A)Hello

            B)Beijing

            C)jing

            D)ijing

            40.在C程序中有如下語句:char*func(intx,inty);它是()。

            A)對函數func的定義

            B)對函數func的調用

            C)對函數func的原型說明

            D)不合法的

            41.設有數組定義:chararray[]=“123456789”;則數組array所占的空間為()。

            A)7個字節

            B)8個字節

            C)9個字節

            D)10個字節

            42.以下程序的運行結果是()。

            #include"stdio.h"

            main()

            {

            inta[]={1,2,3,4,5,6,7,8,9,10,11,12};

            int*p=a+5,*q=NULL;

            q=p+5;

            printf("%d%dn",*p,*q);

            }

            A)運行后報錯

            B)611

            C)612

            D)55

            43.以下程序的輸出結果是()。

            main()

            {intw=4,x=3,y=2,z=1;

            if(x>y&&!(z==w))printf("%dn",(w

            elprintf("%dn",(w>x?w:z>y?z:x));

            }

            A)1

            B)2

            C)3

            D)4

            44.下列程序的輸出結果是()。

            main()

            {

            intk=4,m=5,n=7;

            int*pk=&k,*pm=&m,*p;

            *(p=&n)=*pk*(*pm);

            printf(“%dn”,n);

            }

            A)5

            B)7

            C)20

            D)21

            45.下列程序中函數sort的功能是對a數組中的數據進行由大到小的排序:

            voidsort(inta[],intn)

            {inti,j,t;

            for(i=0;i

            for(j=i+1;j

            if(a[i]

            }

            main()

            {intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

            sort(&aa[2],5);

            for(i=0;i<10;i++)printf(“%d,”,aa[i]);

            printf(“n”);

            }

            該程序運行后的輸出結果是()。

            A)1,2,3,4,5,6,7,8,9,10,

            B)10,9,8,7,6,5,4,3,2,1,

            C)1,2,7,6,5,4,3,8,9,10,

            D)1,2,10,9,8,7,6,5,4,3,

            46.有如下定義:

            structs1

            {

            chara[3];

            intnum;

            }t={’a’,’b’,’x’,4},*p;

            p=&t;

            則下列語句輸出結果為x的是()。

            A)printf("%cn",p->t.a[2]);

            B)printf("%cn",(*p).a[2]);

            C)printf("%cn",p->a[3]);

            D)pritf("%cn",(*p).t.a[2]);

            47.有如下程序,該程序的輸出結果是()。

            longf(intn)

            {if(n>2)return(f(n-2)+f(n-3));

            el

            if(n==2)return(2);

            elreturn(1);}

            main()

            {printf("%dn",f(5));}

            A)2

            B)3

            C)4

            D)5

            48.若以下程序所生成的可執行文件名為,當輸入命令行:FILE1CHINA

            BEIJINGSHANGHAI,執行該程序時,程序的輸出結果是()。

            main(intargc,char*argv[])

            {while(argc-->1)

            {++argv;printf("%s",*argv);}

            }

            A)CHINABEIJINGSHANGHAI

            B)FILE1CHINABEIJING

            C)CBS

            D)FCB

            49.設charch,str[4],*strp;,則下列賦值語句正確的是()。

            A)ch="CBA";

            B)str="CBA";

            C)strp="CBA";

            D)*strp="CBA";

            50.在PC16位機環境下,以下程序的運行結果是()。

            main()

            {unsignedinta;

            intb=-2;

            a=b;

            printf(“%u”,a);}

            A)-2

            B)65534

            C)32768

            D)-32768

            51.下列程序的輸出結果是()。

            structstudent

            {inta,b,c;};

            main()

            {structstudentstu[2]={{2,3,4},{5,6,7}};intt;

            t=stu[0].a+stu[1].b%stu[0].c;

            printf("%dn",t);}

            A)0

            B)1

            C)4

            D)5

            52.若有定義:inta,b;charx,y;并有以下輸入數據:1213AaBb(回車)

            則能給a賦整數12,給b賦整數13,給x賦字符a,給y賦字符b的正確程序段是

            ()。

            A)scanf(“%d”,&a);

            scanf(“%d”,&b);

            x=getchar();y=getchar();

            B)scanf(“%d%d%c%c”,&a,&b,&x,&y);

            C)scanf(“%d%d%c%c”,&a,&b,&x,&x,&y,&y);

            D)scanf(“%d%d%c%c%c%c”,&a,&b,&x,&x,&y,&y);

            53.若變量定義時未初始化,則其值不確定的是()。

            A)靜態全局變量

            B)靜態局部變量

            C)局部變量

            D)全局變量

            54.以下程序的輸出結果是()。

            main()

            {charch[2][5]={"6937","8254"},*p[2];

            inti,j,s=0;

            for(i=0;i<2;i++)p[i]=ch[i];

            for(i=0;i<2;i++)

            for(j=0;p[i][j]>’0’;j+=2)

            s=10*s+p[i][j]-’0’;

            printf("%dn",s);

            }

            A)69825

            B)63825

            C)6385

            D)693825

            55.以下程序的輸出結果是()。

            main()

            {inti,j,x=0;

            for(i=0;i<2;i++)

            {x++;

            for(j=0;j<3;j++)

            {if(j%2)continue;

            x++;}

            x++;}

            printf("x=%dn",x);}

            A)x=4

            B)x=8

            C)x=6

            D)x=12

            56.下列程序的輸出結果是()。

            structst

            {intx;int*y;}*p;

            intdt[4]={10,20,30,40};

            structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};

            main()

            {p=aa;

            printf(“%d”,++(*p->y));

            printf(“%d”,(++p)->x);

            printf(“%d”,++p->x);

            A)202010

            B)216050

            C)116061

            D)317060

            57.語句:printf(“%d”,!0);的輸出結果是()。

            A)1

            B)0

            C)有語法錯誤,不能執行

            D)!0

            58.下列程序運行后的輸出結果是()。

            fun(inta,intb)

            {if(a>b)return(a);

            elreturn(b);

            }

            main()

            {intx=3,y=8,z=6,r;

            r=fun(fun(x,y),2*z);

            printf("%dn",r);

            }

            A)3

            B)6

            C)8

            D)12

            59.函數調用語句:fek(fp,-20L,2);的含義是()。

            A)將文件位置指針移到距離文件頭20個字節處

            B)將文件位置指針從當前位置向后移動20個字節

            C)將文件位置指針從文件末尾處后退20個字節

            D)將文件位置指針移到距離當前位置20個字節處

            60.以下程序將輸出的字符是()。

            #include"stdio.h"

            main()

            {

            charc;

            char(*p)[3];

            chars[2][3]={’a’,’b’,’c’,’d’,’e’,’f’};

            p=&s[0];

            c=*(p[1]+1);

            printf("%c",c);

            }

            A)b

            B)d

            C)e

            D)f

            二、多項選擇題【共20題,每小題2分,共40分。下列每題給出的多個選項中,

            有一項或多項是符合試題要求的。請選擇相應的正確答案。多選、少選或錯選均不

            得分。】

            語句的正確用法包括()。

            A)無論在任何情況下,都中斷程序的執行,終止整個循環

            B)在多重循環中,只能退出最靠近的那一層循環語句

            C)對于go語句和if語句構成的循環,不能使用break退出

            D)可用于循環語句、switch語句和其他語句

            2.設有如下定義:

            char*s[2]={“abcd”,“ABCD”};

            char**p=s;

            則下列說法正確的有()。

            A)s數組元素的值分別是“abcd”和“ABCD”兩個字符串的首地址

            B)s數組的兩個元素分別存放的是含有四個字符的一維字符數組中的元素

            C)p是指向指針數據的指針變量

            D)p中存放的是數組s的首地址

            3.若已定義的函數有返回值,則以下關于該函數調用的敘述正確的有()。

            A)函數調用可以作為獨立的語句存在

            B)函數調用可以作為一個函數的實參

            C)函數調用可以出現在表達式中

            D)函數可以直接調用函數本身

            4.下列判斷不正確的有()。

            A)char*a=“china”;等價于char*a;*a=“china”;

            B)charstr[6]={“china”};等價于charstr[]={“china”};

            C)chars=“china”;等價于chars;s=“china”;

            D)charc[4]=“abc”,d[4]=“abc”;等價于charc[4]=d[4]=“abc”;

            5.以下說法正確的有()。

            A)C語言程序總是從main函數開始執行

            B)在C語言程序中,要調用函數必須在main()函數中定義

            C)C語言程序由函數組成,且必須包含main函數

            D)C語言程序中的main()函數必須放在程序的開始部分

            6.函數欲實現交換x和y的值,且通過正確調用返回交換結果,下列選項中不能實

            現這一功能的有()。

            A)funa(int*x,int*y)

            {

            int*p;

            *p=*x;*x=*y;*y=*p;

            }

            B)funb(intx,inty)

            {

            intt;

            t=x;x=y;y=t;

            }

            C)func(int*x,int*y)

            {

            intp;

            p=*x;*x=*y;*y=p;

            }

            D)fund(int*x,int*y)

            {

            int*p;

            *x=*x+*y;*y=*x-*y;*x=*x-*y;

            }

            7.已知:inta=1,*p=&a;,則以下表達式值為1的有()。

            A)*p

            B)p[0]

            C)*&a

            D)*&p

            8.已知有如下程序:

            voidmain()

            {

            inta[5]={1,2,3,4,5},*b;

            b=(int*)malloc(sizeof(int));

            ____;

            printf("%dn",*b);

            }

            要使程序輸出為a[2]的值,則下列有關函數fun的定義和下劃線處對應的fun調用

            語句正確的有()。

            A)voidfun(int*s,int*d)

            {*d=*(s+2);}

            調用:fun(a,&b)

            B)voidfun(int*s,int&d)

            {d=*(s+2);}

            調用:fun(a,b)

            C)voidfun(int*s,int&d)

            {d=*(s+2);}

            調用:fun(a,*b)

            D)voidfun(int*s,int**d)

            {**d=*(s+2);}

            調用:fun(a,&b)

            9.下面程序把數組元素中的最大值放入a[0]中,則在if語句中條件表達式可以是

            ()。

            main()

            {inta[10]={5,2,9,6,7,1,12,8,23,0},*p=a,i;

            for(i=0;i<10;i++,p++)

            if()*a=*p;

            printf(“%d”,*a);

            }

            A)p>a

            B)*p>a[0]

            C)*p>*a[0]

            D)*p:>*a

            10.若x,y均定義為int型,z定義為double型,以下scanf函數調用語句合法的有

            ()。

            A)scanf("%d%lx,%le",&x,&y,&z);

            B)scanf("%2d*%d%lf",&x,&y,&z);

            C)scanf("%x%*d%o",&x,&y);

            D)scanf("%x%o%6.2f",&x,&y,&z);

            11.關于下列程序的輸入與輸出,下列說法正確的有()。

            #include

            voidmain()

            {

            intm,n;

            printf("Enterm,n∶");

            scanf("%d%d",&m,&n);

            while(m!=n)

            {while(m>n)m-=n;

            while(n>m)n-=m;

            }

            printf("m=%dn",m);

            }

            A)輸入m>n時,程序將輸出1

            B)輸入m

            C)輸入m,n滿足m%n等于0,且m>n時,程序輸出n的值

            D)輸入m或n為0時,程序將陷入死循環

            12.已知intb=2,下列表達式值為1的有()。

            A)~b&b

            B)~b||b

            C)b>>1

            D)(b|1)&1

            13.有以下程序段:

            #include"stdio.h"

            #include"string.h"

            main()

            {charss[10]="1,2,3,4,5";

            gets(ss);

            ___________

            printf("%sn",ss);}

            執行程序時如果輸入ABC則輸出結果為ABC6789,則下劃線處的語句可以是()。

            A)strcat(ss,"6789");

            B)strcpy(ss[3],"6789");

            C)strcpy(ss,"ABC6789");

            D)strcpy(&ss[3],"6789");

            14.若已建立如圖所示的單向鏈表:

            則下列選項中能將s所指的結點插入到鏈表尾部,構成新的單項鏈表的語句組有

            ()。

            A)a=a->link;s->link=a->link;a->link=s->link;

            B)a=(*a).link;(*s).link=(*a).link;(*a).link=s;

            C)s->link=NULL;a=(*a).link;(*a).link=s;

            D)s->link=a->link->link;a->link->link=s;

            15.設有說明intk=7,x=12;,則以下語句執行后,x值為0的有()。

            A)x%=(k%5);

            B)x%=(k-k%5);

            C)x%=k-k/5;

            D)x=(x%=k)-(k%=5);

            16.下列符號串中,不屬于C語言合法標識符的有()。

            A)_1_2_3

            B)1-2-3

            C)float

            D)12ab

            17.關于以下運算,說法正確的有()。

            A)設有宏定義"#defineF(N)2*N",則表達式F(2+3)的值是10

            B)設intx=4;,則執行語句x+=x*=x+1;后,x的值為40

            C)設inta,b=8;,執行a=b<<2+1;后,a的值是33

            D)設inta[3][4],*p=a[1];該指針變量p指向的元素是a[1][0]

            18.以下敘述正確的有()。

            A)在C程序中,逗號運算符的優先級最低

            B)在C程序中,A和a是兩個不同的變量

            C)若a和b類型相同,在執行了賦值a=b后,b中的值不變

            D)當鍵盤輸入數據時,對于整型變量也可以能輸入整型數值、實型數值和字符型數

            據等

            19.以下有關字符串賦值、賦初值的語句正確的有()。

            A)charsz[2][40];sz[1]=“string1”;

            B)char*sz[2];sz[1]=“string2”;

            C)charsz[][40]=“string3”;

            D)char*sz[2]={“string1”,“string2”};

            20.已知有定義staticintb[5],a[2][3]={1,2,3,4,5,6};,則以下說法正確的有

            ()。

            A)b中元素值為0

            B)b中元素沒有定義,值不確定

            C)a[1][1]=4

            D)a[1][1]=5

            一、單選題(共60小題,每題1分,共60分)

            1.執行下列程序中的輸出語句后,x的值是______。(知識點3.10)

            main()

            {intx;

            printf(“%dn”,(x=5*6,x*2,x+20));}

            A)30B)60C)50D)80

            2.下列程序的輸出結果是_______。(知識點3.8)

            main()

            {intx=1,y=0,z;

            z=(x<=0)&&(y-->=0);

            printf(“%d%d%d%n”,z,x,y);}

            A)0-1-1B)0-10C)010D)01-1

            3.在C語言中,下列選項屬于合法的長整型常數的是_______。(知識點3.3)

            A)0LB)1234567C)0.0234567D)3.14159e3

            4.下列選項中屬于不正確的賦值語句的是_____。(知識點3.6)

            A)t++;B)n1=(n2=(n3=0));C)k=i==j;D)a=b,c=1;

            5.若有定義:inta,b;charx,y;并有以下輸入數據:1422XxYy(回車)

            則能給a賦整數14,給b賦整數22,給x賦字符x,給y賦字符y的正確程序段是________。

            (知識點4.2)

            A)scanf(“%d%d”,&a,&b);

            x=getchar();y=getchar();

            B)scanf(“%d%d%c%c”,&a,&b,&x,&x,&y,&y);

            C)scanf(“%d%d%c%c%c%c”,&a,&b,&x,&x,&y,&y);

            D)scanf(“%d%d%c%c”,&a,&b,&x,&y);

            6.下列轉義字符不正確的是_______。(知識點3.5)

            A)’’B)’’C)’053’D)’0’

            7.下列選項可作為C語言賦值語句的是_______。(知識點4.2)

            A)x=3,y=5B)a=b=6C)i--;D)y=int(x);

            8.當c的值不為0時,下列選項中能正確將c的值賦給變量a、b的是_______。(知識點

            5.2)

            A)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;

            9.有以下程序:

            main()

            {unsignedinta;

            intb=-1;

            a=b;

            printf(“%u”,a);}

            該程序運行后的輸出結果是_______。(知識點4.5)

            A)-1B)65535C)32767D)-32768

            10.若x、b、m、n均為int型變量,執行下面語句后b的值為_______。(知識點3.10)

            m=20;n=6;

            x=(--m==n++)?--m:++n;

            b=m++;

            A)11B)6C)19D)18

            11.有以下程序:

            main()

            {inta=111,b=222;

            printf(“%dn”,a,b);

            }

            該程序運行后的輸出結果是_______。(知識點4.5)

            A)錯誤信息B)111C)222D)111,222

            12.以下程序的輸出結果是_______。(知識點4.5)

            main()

            {inta=2,c=5;

            printf(“a=%%%d,b=%%%dn”,a,c);}

            A)a=%2,b=%5B)a=2,b=5C)a=%%%d,b=%%%dD)a=%%d,b=%%d

            13.對于浮點型變量f,能實現對f中的值在小數點后第三位進行四舍五入的表達式是

            _______。(知識點3.8)

            A)f=(f*100+0.5)/100.0B)f=(f*100+0.5)/100

            C)f=(int)(f*100+0.5)/100.0D)f=(f/100+0.5)*100

            14.設a=5,b=6,c=7,d=8,m=2,n=2,執行(m=a>b)&&(n=c>d)后m,n的值為______。(知識點

            5.2)

            A)2,2B)2,0C)0,2D)0,0

            15.語句printf(“%dn”,strlen(“asdnx121”));的輸出結果是______。(知識點7.3)

            A)9B)11C)7D)8

            16.有以下程序:

            main()

            {

            inty=1234;

            printf(“y=%6d”,y);

            printf(“y=%+06dn”,y);

            }

            該程序的運行結果是______。(知識點4.5)

            A)y=1234y=001234B)y=1234y=+01234

            C)y=1234y=+01234D)y=1234y=1234

            17.語句:printf(“%d”,!9);的輸出結果是______。(知識點5.2)

            A)0B)1C)有語法錯誤,不能執行D)-9

            18.已有定義語句:intx=6,y=4,z=5;執行以下語句后,能正確表示x、y、z值的選項是

            ______。(知識點5.3)

            if(x

            A)x=4,y=5,z=6B)x=4,y=6,z=6

            C)x=4,y=5,z=5D)x=5,y=6,z=4

            19.下列選項中屬于正確的switch語句的是______。(知識點5.4)

            A)switch(1.0)B)swicth(1)

            {ca1.0:printf(“An”);{ca1:printf(“An”);

            ca2.0:printf(“Bn”);}ca2:printf(“Bn”);}

            C)switch((int)(1.0+2.5))D)switch(“a”);

            {ca1:printf(“An”);{ca“a”:printf(“An”);

            ca1+2:printf(“Bn”);}ca“b”:printf(“Bn”);}

            20.若k為int型變量,以下語句段執行后的輸出結果是______。(知識點5.3)

            k=-3;

            if(k<=0)printf(“

            ”)

            elprintf(“****”);

            A)

            B)****C)

            ****D)有語法錯誤,不能執行

            21.當a=2,b=3,c=4,d=5時,執行下面一段程序后x的值為_____。(知識點5.3)

            if(a>b)

            if(c

            el

            if(a

            if(b>d)x=2;

            elx=3;

            elx=4;

            elx=5;

            A)2B)3C)4D)5

            22.下列程序的運行結果是________。(知識點6.3)

            main()

            {inty=10;

            do{y--;}while(--y);

            printf(“%dn”,y--);}

            A)-1B)1C)8D)0

            23.下列程序的運行結果是________。(知識點6.5)

            #include

            main()

            {

            inti;

            for(i=1;i<=5;i++)

            {if(i%2)printf(“*”);

            elcontinue;

            printf(“#”);

            }

            printf(“$n”);

            }

            A)*#*#$B)#*#*#*$C)*#*#*#$D)***#$

            24.若x是int型變量,且有下面的程序片段:(知識點6.5)

            for(x=5;x<8;x++)

            printf((x%2)?(“**%d”):(“##%dn”),x);

            該程序片段的輸出結果是_______。

            A)**5##6B)##5C)##5**6##7D)**5##6**7

            **7**6##7

            25.有以下程序:

            main()

            {inta=1,b=0;

            switch(a)

            {ca1:switch(b)

            {ca0:printf(“****”);break;

            ca1:printf(“

            ”);break;}

            ca2:printf(“$$$$”);break;}

            該程序的輸出結果是________。(知識點5.4)

            A)****B)****$$$$C)****

            $$$$D)

            $$$$

            26.下列程序段的輸出結果是_______。(知識點6.4)

            intx=3;

            do{printf(“%3d”,x-=2);}

            while(!(--x));

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

            27.有以下程序,其中x、y為整型變量;

            for(x=0,y=0;(x<=1)&&(y=1);x++,y--);

            printf(“x=%d,y=%d”,x,y);

            該程序的輸出結果是_____。(知識點6.5)

            A)x=2,y=0B)x=1,y=0C)x=1,y=1D)x=0,y=0

            28.有以下程序段:

            intn=0,p;

            do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);

            此處do-while循環的結束條件是_____。(知識點6.4)

            A)p的值不等于12345并且n的值大于3

            B)p的值等于12345并且n的值大于等于3

            C)p的值不等于12345或者n的值小于3

            D)p的值等于12345或n的值大于等于3

            29.在下述程序中,if(i>j)語句共執行的次數是_____。(知識點6.5)

            main()

            {inti=0,j=10,k=2,s=0;

            for(;;)

            {i+=k;

            if(i>j)

            {printf(“%d”,s);

            break;

            }

            s+=i;

            }

            }

            A)4B)7C)5D)6

            30.以下程序的功能是:按順序讀入10名學生和4門課程的成績,計算出每位學生的平均

            分進行輸出,但運行結果不正確。

            main()

            {intn,k;floatscore,ave;

            ave=0.0;

            for(n=1;n<=10;n++)

            {for(k=1;k<=4;k++)

            {scanf(“%f”,&score);

            ave+=score/4;}

            printf(“NO%d:%fn”,n,ave);}

            }

            造成程序計算結果錯誤的語句行是_____。(知識點6.6)

            A)ave=0.0;B)for(n=1;n<=10;n++)

            C)ave+=score/4;D)printf(“NO%d:%fn”,n,ave);

            31.若有以下定義:chars[10]={‘a’,’b’,’c’,’0’,’0’,’2’,’x32’,’0’};執行語句printf(“%d”,strlen(s));

            的結果是_____。(知識點7.3)

            A)3B)4C)8D)10

            32.設有數組定義:chararray[]=“abcdef”;則數組array所占的空間為_____。(知識點7.3)

            A)4個字節B)5個字節C)6個字節D)7個字節

            33.有以下程序:

            main()

            {charstr[][10]={“China”,“Beijing”},*p=str;

            printf(“%sn”,p+10);}

            該程序運行后的輸出結果是_____。(知識點10.4)

            A)ChinaB)BeijingC)ngD)ing

            34.閱讀下面程序,該程序段的功能是_____。(知識點7.1)

            #include

            main()

            {intc[]={23,1,56,234,7,0,34},i,j,t;

            for(i=1;i<7;i++)

            {t=c[i];j=i-1;

            while(j>=0&&t>c[j]){c[j+1]=c[j];j--;}

            c[j+1]=t;}

            for(i=0;i<7;i++)printf(“%d”,c[i]);

            putchar(’n’);

            }

            A)對數組元素的升序排列B)對數組元素的降序排列

            C)對數組元素的倒序排列D)對數組元素的隨機排列

            35.下列程序的輸出結果是_____。(知識點7.2)

            main()

            {intn[3][3],i,j;

            for(i=0;i<3;i++)

            for(j=0;j<3;j++)n[i][j]=i+j;

            for(i=0;i<2;i++)

            for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];

            printf(“%dn”,n[i][j]);

            }

            A)14B)0C)6D)值不確定

            36.下列函數調用語句中含有______個參數。(知識點8.3)

            func((f1,f2),(f2,f3,f4),f5)

            A)3B)4C)5D)6

            37.下列程序的運行結果是_______。(知識點7.3)

            #include

            main()

            {char*p1,*p2,ch[20]=“ABCDEFabcdef”;

            p1=“1234”;p2=“abcd”;

            strcpy(ch+1,p2+1);strcpy(ch+3,p1+3);

            pintf(“%sn”,ch);}

            A)Abc4EFabcdeB)Abc4EFC)AbcdEFD)Abc4

            38.下列程序的運行結果是_______。(知識點8.6)

            #include

            intf(inta)

            {switch(a)

            {ca0:return0;

            ca1:ca2:return1;

            }

            return(f(a-2)+f(a-3));

            }

            main()

            {intb;

            b=f(10);

            printf(“b=%dn”,b);

            }

            A)12B)10C)9D)8

            39.有以下程序:

            fun(intn)

            {if(n==1||n==2)return2;

            returns=n-fun(n-2);}

            main()

            {printf(“%dn”,fun(7));}

            該程序運行后的輸出結果是_____。(知識點8.6)

            A)1B)2C)3D)4

            40.下列程序中函數sort的功能是對a數組中的數據進行由大到小的排序:

            voidsort(inta[],intn)

            {inti,j,t;

            for(i=0;i

            for(j=i+1;j

            if(a[i]

            }

            main()

            {intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

            sort(&aa[3],5);

            for(i=0;i<10;i++)printf(“%d,”,aa[i]);

            printf(“n”);

            }

            該程序運行后的輸出結果是_____。(知識點8.4)

            A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,

            C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,

            41.下列程序的運行結果是_____。(知識點8.3)

            main()

            {inta=3,y;

            y=fn(a,a++);

            printf(“%d”,y);}

            intfn(x,c)

            {intb;

            if(x

            elif(x==c)b=0;

            elb=-1;

            return(b);

            }

            A)3B)-1C)1D)0

            42.下列程序的運行結果是_____。(知識點7.3)

            main()

            {chararr[2][4];

            strcpy(arr,“you”);strcpy(arr[1],“me”);

            printf(“%sn”,arr);}

            A)youmeB)youC)meD)arr

            43.下列程序的輸出結果是_____。(知識點8.8)

            intf()

            {staticinti=0;

            ints=1;

            s+=i;i++;

            returns;}

            main()

            {inti,a=0;

            for(i=0;i<5;i++)a+=f();

            printf(“%dn”,a);}

            A)20B)24C)25D)15

            44.程序中對fun函數有如下說明:

            void*fun();

            此說明的含義是_____。(知識點10.6)

            A)fun函數無返回值

            B)fun函數的返回值可以是任意的數據類型

            C)fun函數的返回值是無值型的指針類型

            D)指針fun指向一個函數,該函數無返回值

            45.設有下列定義:staticintx,*p=&x,*q;

            scanf(“%d,%d”,p,q);

            若輸入3,4,則x的值為_____。(知識點8.8)

            A)3B)4C)0D)無法確定

            46.設有以下程序:

            intfun(char*s)

            {intn=0;

            while(*s){n++;s++;}

            returnn;}

            main()

            {chary[]=“this_is_an_example。”;

            printf(“%dn”,fun(&y[6]));

            }

            該程序的輸出結果是_____。(知識點:10.4)

            A)12B)13C)14D)16

            47.下列程序的功能是_____。(知識點:10.4)

            intfun(char*a)

            {char*b=a;

            while(*b)b++;

            {returnb-a;}

            }

            A)比較兩個字符串的大小B)字符串的復制

            C)計算字符串的長度D)字符串的連接

            48.下列程序的輸出結果是_______。(知識點10.2)

            main()

            {

            intk=3,m=5,n=7;

            int*pk=&k,*pm=&m,*p;

            *(p=&n)=*pk*(*pm);

            printf("%dn",n);

            }

            A)5B)7C)15D)21

            49.下列程序的執行結果是_______。(知識點10.3)

            main()

            {chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

            printf(“%d”,*--p);}

            A)非法B)a[4]的地址C)5D)4

            50.以下函數返回a所指的數組中最小值所在的下標值:

            fun(int*a,intn)

            {inti,j=0,p;

            p=j;

            for(i=j;i

            if(a[i]

            return(p);}

            在下劃線處應填入_______。(知識點10.2)

            A)i=pB)a[p]=a[i]C)p=jD)p=i

            51.下列程序的運行結果是_______。(知識點10.2)

            voidfun(int*a,int*b)

            {int*k;

            k=a;a=b;b=k;}

            main()

            {inta=3,b=6,*x=&a,*y=&b;

            fun(x,y);

            printf(“%d%d”,a,b);

            }

            A)63B)36C)編譯出錯D)00

            52.有如下程序:

            #definef(x)x*x

            main()

            {inti;

            i=f(4+4)/(2+2);

            printf(“%dn”,i);}

            該程序執行后的輸出結果是_______。(知識點9.1)

            A)28B)21C)16D)4

            53.下列程序的輸出結果是_______。(知識點11.4)

            structtt;

            {intn1;charn2;floatn3;

            unionuu{intu1[2];charu2[2];}su;

            };

            main()

            {printf(“%dn”,sizeof(structtt));}

            A)11B)12C)7D)9

            54.下列程序的輸出結果是_______。(知識點11.6)

            structLH

            {intn;structLH*m;}p[4];

            main()

            {inti;

            for(i=0;i<3;i++)

            {p[i].n=i;p[i].m=&p[i+1];}

            p[i].m=p;

            printf(“%d,%dn”,(p[1].m)->n,p[3].m->n);

            }

            A)1,2B)1,3C)2,0D)程序出錯

            55.下列程序的輸出結果是_______。(知識點11.6)

            structst

            {intx;int*y;}*p;

            intdt[4]={10,20,30,40};

            structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};

            main()

            {p=aa;

            printf(“%d”,++p->x);

            printf(“%d”,(++p)->x);

            printf(“%d”,++(*p->y));}

            A)102020B)506021C)516021D)607031

            56.字符0的ASCII碼的十進制數為48,且數組的第0個元素在低位,則以下程序的執行結

            果是_______。(知識點11.8)

            #include

            main()

            {union

            {inti[4];

            longk;

            charc[6];

            }a,*s=&a;

            s->i[0]=0x39;

            s->i[1]=0x38;

            printf(“%cn”,s->c[0]);

            }

            A)5B)3C)6D)9

            57.下列程序的運行結果是_______。(知識點12.2)

            main()

            {unsignedc1=0xff,c2=0x00;

            c1=c2|c1>>2;c2=c1^0236;

            printf(“%x,%xn”,c1,c2);

            }

            A)0x3f,0XA1B)3f,A1C)ffff,61D)3f,a1

            58.若有運算符<<,sizeof,^,&=,則它們按優先級由高至低的排列次序正確的是_______。

            (知識點3.8)

            A)sizeof,&=,<<,^B)sizeof,<<,^,&=

            C)^,<<,sizeof,&=D)<<,^,&=,sizeof

            59.有以下程序:

            #include

            voidfun(char*fname,char*st)

            {FILE*myf;inti;

            myf=fopen(fname,“w”);

            for(i=0;i

            fclo(myf);

            }

            main()

            {fun(“test.t”,“newworld”);fun(“test.t”,“hello,”);}

            執行該程序后,文件test.t中的內容是_______。(知識點13.4)

            A)hello,B)newworldhello,C)newworldD)hello,rld

            60.有以下程序:

            #include

            main()

            {FILE*fp;inti=20,j=30,k,n;

            fp=fopen(“”,“w”);

            fprintf(fp,“%dn”,i);fprintf(fp,“%dn”,j);

            fclo(fp);

            fp=fopen(“”,“r”);

            fscanf(fp,“%d%d”,&k,&n);printf(“%d%dn”,k,n);

            fclo(fp);}

            該程序運行后的輸出結果是_______。(知識點13.4)

            A)2030B)2050C)3050D)3020

            二、多選題(共20小題,每題2分,共40分)

            1.下列符號串中,不屬于C語言合法標識符的有_____。(知識點3.2)

            A)_1_2_3B)a-b-cC)intD)9cd

            2.當把下列四個表達式用作if語句的控制表達式時,含義相同的選項有_______。(假設k>0)

            (知識點5.3)

            A)k%2B)k%2==1C)(k%2)!=0D)!k%2==0

            3.已有定義inta=-2;和輸出語句printf(“%8lx”,a);下列敘述不正確的有_______。(知

            今識點4.5)

            A)整型變量的輸出形式只有%d一種

            B)%x是格式符的一種,它可以適用于任何一種類型的數據

            C)%x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的

            D)%8lx不是錯誤的格式符,其中數字81規定了輸出字段的寬度

            4.下列選項中,沒有構成死循環的程序段有_____。(知識點6.7)

            A)inti=100;B)for(;;)

            while(1)

            {i=i%100+1;

            if(i>=100)break;}

            C)intk=0;D)ints=36;

            do{++k;}while(k>=0);while(s);--s;

            5.t為int類型,進入下面的循環之前,t的值為0:

            while(t=1)

            {……….}

            則下列敘述不正確的有________。(知識點6.3)

            A)循環控制表達式的值為0B)循環控制表達式的值為1

            C)循環控制表達式不合法D)循環有可能是個無限循環

            6.下列判斷正確的是_______。(知識點10.3)

            A)char*a=“china”;等價于char*a;*a=“china”;

            B)charstr[6]={“china”};等價于charstr[]={“china”};

            C)char*s=“china”;等價于char*s;s=“china”;

            D)charc[4]=“abc”,d[4]=“abc”;等價于charc[4]=d[4]=“abc”;

            7.若變量已正確定義,以下能正確計算1+2+3+4+5的程序段有_____。(知識點:6.7)

            A)i=1;s=1;B)i=0;s=0;

            dodo

            {s=s+i;i++;{i++;s=s+i;

            while(i<5);while(i<5);

            C)i=1;s=0;D)i=0;s=0;

            dodo

            {s=s+i;i++;{s=s+i;i++;

            while(i<6);while(i<=5);

            8.下面程序把數組元素中的最小值放入a[0]中,則在if語句中條件表達式可以是______。

            (知識點10.2)

            main()

            {inta[10]={5,2,9,6,7,1,12,8,23,0},*p=a,i;

            for(i=0;i<10;i++,p++)

            if(______)*a=*p;

            printf(“%d”,*a);

            }

            A)p>aB)*p

            9.設有如下定義:

            char*s[2]={“abcd”,“ABCD”};

            則下列說法正確的有_____。(知識點:10.3)

            A)s數組元素的值分別是“abcd”和“ABCD”兩個字符串的首地址

            B)s是指針數組名,它含有兩個元素分別指向字符型一維數組

            C)s數組的兩個元素分別存放的是含有四個字符的一維字符數組中的元素

            D)s數組的兩個元素中分別存放了字符’a’和’A’的地址

            10.以下有關字符串賦值、賦初值的語句錯誤的有_______。(知識點10.4)

            A)charsz[2][40];sz[1]=“string1”;

            B)char*sz[2];sz[1]=“string2”;

            C)charsz[][40]=“string3”;

            D)char*sz[]=“string4”;

            11.若有以下說明:inta[5][9];則下列選項中對數組元素a[i][j]的引用錯誤的有_______。

            (0<=i<4,0<=j<9)(知識點10.3)

            A)*(&a[0][0]+9*i+j)B)*(a+i)(j)C)*(*(a+i)+j)D)*(a[i]+j)

            12.若有定義:char*st=“howareyou!”;下面程序段正確的有_____。(知識點:7.3)

            A)chara[11],*p;strcpy(p=a+1,&st[4]);

            B)chara[11];strcpy(++a,st);

            C)chara[11];strcpy(a,st);

            D)chara[],*p;strcpy(p=&a[1],st+2);

            13.設有以下說明語句:

            Structstu

            {inta;

            floatb;

            }stutype;

            則下列敘述正確的有_______。(知識點11.2)

            A)struct是結構體類型的關鍵字

            B)structstu是用戶定義的結構體類型

            C)stutype是用戶定義的結構體類型名

            D)a和b都是結構體成員名

            14.若已建立如圖所示的單向鏈表:

            mn

            Z

            x0

            a

            s

            infolinkinfolinkinfolink

            則下列選項中能將s所指的結點插入到鏈表尾部,構成新的單項鏈表的語句組有_______。

            (知識點11.7)

            A)s->link=a->link->link;a->link->link=s;

            B)a=a->link;a->link=s;s->link=NULL;

            C)s->link=NULL;a=(*a).link;(*a).link=s;

            D)a=a->link;s->link=a->link;a->link=s->link;

            15.設有定義語句:intx[6]={2,4,6,8,5,7},*p=x,i;

            要求依次輸出x數組6個元素中的值,下列選項中能完成次操作的語句有_______。(知識點

            10.3)

            A)for(i=0;i<6;i++)printf(“%2d”,*(p++));

            B)for(i=0;i<6;i++)printf(“%2d”,*(p+i));

            C)for(i=0;i<6;i++)printf(“%2d”,*p++);

            D)for(i=0;i<6;i++)printf(“%2d”,(*p)++);

            16.下列敘述正確的有_____。(知識點8.5)

            A)函數可以嵌套定義,但不能嵌套調用

            B)函數可以嵌套調用,也可以嵌套定義

            C)函數不可以嵌套定義,但可以遞歸調用

            D)函數可以嵌套調用,但不能嵌套定義

            17.下列敘述不正確的有_____。(知識點8.8)

            A)全局變量可以為本文件中其他函數所調用,編譯時分配在靜態存儲區

            B)局部變量只在本函數范圍內有效,形式參數屬于局部變量

            C)局部變量如沒有被說明為靜態的存儲類別,則會被分配動態存儲空間,存儲在動態存儲

            區中

            D)局部靜態變量在函數調用結束后依然存在,但其他函數不能引用它

            18.若變量已正確定義,要求程序段完成求5!的計算,下列選項中不能完成此操作的程序

            段有____(知識點6.7)

            A)for(i=1,p=1;i<=5;i++)p*=i;

            B)for(i=1;i<=5;i++){p=1;p*=i;}

            C)i=1;p=1;while(i<=5)p*=i;i++;

            D)i=1;p=1;do{p*=i;i++;}while(i<=5);

            19.若有以下說明,則對strcpy庫函數的調用不正確的有_______。(知識點10.4)

            char*str1=“copy”,str2[10],*str3=“abcde”,*str4,*str5=“hijk”

            A)strcpy(str2,str1);B)strcpy(str3,str1);

            C)strcpy(str4,str1);D)strcpy(str5,str1);

            20.下列選項中可以將變量n清零的表達式有_______。(知識點12..2)

            A)n=n&~nB)n=n&0C)n=n^nD)n=n|n

            C語言程序設計預賽題答案

            一、單選題

            ACADCBCCBC

            617181920

            BACCCBACCD

            227282930

            DDCABCADDA

            337383940

            BDBBCADCCC

            447484950

            BBDCABCCCD

            557585960

            BBACCDDBAA

            二、多選題

            BCDABCABCACACBCBCDBDABDACD

            617181920

            BAABDABCABCCDABCDBCBCABC

            本文發布于:2023-03-03 02:11:44,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1677780704119871.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:c語言筆試題.doc

            本文 PDF 下載地址:c語言筆試題.pdf

            上一篇:幼兒園體育課
            下一篇:返回列表
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 好爽毛片一区二区三区四| 国产伦一区二区三区精品| 国产成人精品亚洲资源| 骚虎三级在线免费播放| 亚洲gay片在线gv网站| 欧美国产日韩在线三区| 欧美性猛少妇xxxxx免费| 亚洲a免费| 在线观看无码不卡av| 一区二区视频观看在线| 国产一本一道久久香蕉| 国产一区二区视频在线| 奇米影视7777久久精品| 亚洲色中色| 日韩精品少妇无码受不了| 久久人人爽人人爽人人片DVD| 国产三级精品三级在线观看| 精品无码久久久久久尤物| 久久综合色一综合色88| 成人网站免费观看永久视频下载| 97国内精品久久久久不卡| 人人爽人人爽人人片av东京热 | 日本精品一区二区不卡| 亚洲人成网站77777在线观看| 国产精品自在自线视频| 欧美大胆老熟妇乱子伦视频 | 国产成人精彩在线视频| 国产日韩另类综合11页| 免费人成网站免费看视频| 很黄很色很污18禁免费| 熟女一区二区中文字幕| 正在播放国产对白孕妇作爱| 中文字幕免费不卡二区| 色综合久久综合久鬼色88| 亚洲人成网站18禁止人| 日日猛噜噜狠狠扒开双腿小说| 亚洲熟女精品一区二区| 午夜高清福利在线观看| 免费无码又爽又刺激网站| 亚洲中文字幕在线无码一区二区| 精品深夜av无码一区二区|