亚洲AV乱码一区二区三区女同,欧洲在线免费高清在线a,中文字幕丝袜四区,老少配老妇熟女中文高清

<s id="38axe"><nobr id="38axe"></nobr></s><abbr id="38axe"><u id="38axe"></u></abbr>

<sup id="38axe"></sup>
    <acronym id="38axe"></acronym>
  • <s id="38axe"><abbr id="38axe"><ins id="38axe"></ins></abbr></s>
    
    
        <s id="38axe"></s>
        違法信息舉報(bào) 客服熱線:400-118-7898
        廣告
        ?
        專接本欄目測(cè)試廣告

        ?2022年湖北專升本C語(yǔ)言指針模擬題

        普通專升本 責(zé)任編輯:管理員 2022-02-14

        摘要:本文是2022年湖北專升本C語(yǔ)言指針模擬題,共有多道選擇題和多道填空題供大家參考。具體詳細(xì)內(nèi)容見(jiàn)下文。

        一、單項(xiàng)選擇題

        1.以下程序的輸出結(jié)果是( B)。

        main( )

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

        int i;

        i=8;

        p=a+i;

        printf("%s\n",p-3);

        }

        A) 6

        B) 6789

        C)‘6’

        D) 789

        2.以下程序的運(yùn)行結(jié)果是( A )。

        #include "stdio.h"

        main( )

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

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

        *q=*(p+5);

        printf("%d %d\n", *p, *q);

        }

        A) 運(yùn)行后報(bào)錯(cuò)

        B) 6 6

        C) 6

        11

        D) 5 5

        3.若有以下的說(shuō)明和語(yǔ)句,則在執(zhí)行 for 語(yǔ)句后,*(*(pt+l)+2)表示的數(shù)組元素是(C)。

        int t[3][3],*pt[3],k;

        for(k=0; k<3; k++) pt[k]=&t[k][0];

        A) t[2][0]

        B) t[2][2]

        C) t[l][2]

        D) t[2][l]

        4.下面程序把數(shù)組元素中的最大值放入 a[0]中,則在 if 語(yǔ)句中的條件表達(dá)式應(yīng)該是( B )。

        main( )

        {int a[10]={6,7,2,9,1,10,5,8,4,3}, *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[0]> *a[0]

        5.以下程序的輸出結(jié)果是( A )。

        #include

        #include

        main( )

        {char *a="abcdefghi";

        int k;

        fun (a); puts(a);

        }

        fun(char *s)

        {int x, y;

        char c;

        for(x=0, y=strlen(s)-1; x<y; p="" y--)

        {c=s[y]; s[y]=s[x]; s[x]=c;}

        }

        A) ihgfedcba B) abcdefghi

        C) abcdedeba D) ihgfefghi

        6.以下程序的輸出結(jié)果是( B )。

        main( )

        {char *s="12134211";int v[4]={0,0,0,0},k,i;

        for(k=0;s[k];k++)

        {switch(s[k])

        {case '1':i=0;

        case '2':i=1;

        case '3':i=2;

        case '4':i=3;

        }

        v[i]++;

        }

        for(k=0;k<4;k++) printf("%d ",v[k]);

        }

        A) 4 2 1 1

        B) 0 0 0 8

        C) 4 6 7 8

        D) 8 8 8 8

        7.以下程序的輸出結(jié)果是( D)。

        #include

        main( )

        {char *p1,*p2,str[50]="ABCDEFG";

        p1="abcd";p2="efgh";

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

        printf("%s",str);str+1 表示數(shù)組第二個(gè)數(shù)據(jù) B,p2+1 指向 f,即把 fgh 復(fù)制到 BCD 的位置,同時(shí)復(fù)制‘\0’

        }

        A) AfghdEFG B) Abfhd

        C) Afghd

        D) Afgd

        8.若有以下定義和語(yǔ)句:

        double r=99,*p=&r;

        *p=r;

        則以下正確的敘述是( D )。

        A) 以上兩處的*p 含義相同,都說(shuō)明給指針變量 p 賦值

        B) 在"double r=99,*p=&r; "中,把 r 的地址賦給了 p 所指的存儲(chǔ)單元

        C) 語(yǔ)句"*p=r; "把變量 r 的值賦給指針變量 p

        D) 語(yǔ)句"*p=r; "取變量 r 的值放回 r 中

        9.若已定義:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a, i;其中 0≤ i ≤9, 則對(duì) a 數(shù)組元素不正確的引用是(D)。

        A) a[p-a]

        B) *(&a[i])

        C) p[i]

        D) *(*(a+i))=*a[i]

        10.下列程序執(zhí)行后的輸出結(jié)果是( A)。

        void func(int *a, int b[ ])

        {b[0]=*a+6;}

        main()

        {int a, b[5];

        a=0; b[0]=3;

        func(&a, b);

        printf("%d\n", b[0]);

        }

        A) 6

        B) 3

        C) 8

        D) 9

        11.下列程序執(zhí)行后的輸出結(jié)果是( B )。

        main()

        {int a[3][3], *p, i;

        p=&a[0][0];

        for(i=0; i<9; i++) p[i]=i+1;

        printf("%d\n", a[1][2]);

        }

        A) 3

        B) 6

        C) 9

        D) 隨機(jī)數(shù)

        12.請(qǐng)選出正確的程序段( C )。

        A) int *p;

        B) int *s, k; - C) int *s, k;

        D) int *s, k;

        scanf("%d", p);

        *s=100;

        char *p, c;

        char *p, c;

        s=&k;

        s=&k;

        p=&c;

        p=&c;

        *p='a';

        s=p;

        *s=1;

        13.已知指針 p 的指向如下圖所示,則執(zhí)行語(yǔ)句 *- -p; 后*p 的值是( B)。

        image.png

        A) 30

        B) 20

        C) 19

        D) 29

        14.設(shè)已有定義: char *st="how are you";下列程序段中正確的是( A )。

        A) char a[11], *p; strcpy(p=a+1, &st[4]);

        B) char a[11]; strcpy(++a, st);

        C) char a[11]; strcpy(a, st); D) char a[ ], *p; strcpy(p=&a[1], st+2);

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

        main( )

        {int i, x[3][3]={9, 8, 7, 6, 5, 4, 3, 2, 1}, *p=&x[1][1];

        for(i=0; i<4; i+=2) printf("%d ", p[i]);

        }

        A) 5 2

        B) 5 1

        C) 5 3

        D) 9 7

        16.若有說(shuō)明:int i, j=2,*p=&i;,則能完成 i=j 賦值功能的語(yǔ)句是(B)。

        A) i=*p; B) *p=*&j;

        C) i=&j;

        D) i=**p;

        17.以下定義語(yǔ)句中,錯(cuò)誤的是( D )。

        A) int a[ ]={1,2};

        B) char *a[3];

        C) char s[10]="test";

        D) int n=5,a[n];

        18.下列程序段的輸出結(jié)果是(A)。

        void fun(int *x, int *y)

        {printf("%d %d", *x, *y); *x=3; *y=4;}

        main()

        {int x=1,y=2;

        fun(&y, &x);

        printf("%d %d", x, y);

        }

        A) 2 1 4 3

        B) 1 2 1 2

        C) 1 2 3 4

        D) 2 1 1 2

        19.下列程序的輸出結(jié)果是(C)。

        main()

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

        printf("%d",*--p);

        }

        A) 非法

        B) a[4]的地址

        C) 5

        D) 3

        20.下列程序的運(yùn)行結(jié)果是(B)。

        void fun(int *a, int *b)

        {int *k;

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

        }

        main()

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

        fun(x, y);

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

        }

        A) 6 3

        B) 3 6

        C) 編譯出錯(cuò)

        D) 0 0

        21.下面程序的輸出結(jié)果是( C)。

        main()

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

        p=a;

        printf("%d\n",*p+9);

        }

        A) 0

        B) 1

        C) 10

        D) 9

        22.假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件 PROG . EXE,如果在此可執(zhí)行文件所在目錄的 DOS 提示符下鍵入:PROG ABCD EFGH IJKL<回車>,則輸出結(jié)果為( D )。

        main( int argc, char *argv[ ])

        {while(--argc>0) printf("%s", argv[argc]);

        printf("\n");

        }

        A) ABCDEFGH

        B) IJHL

        C) ABCDEFGHIJKL

        D) IJKLEFGHABCD

        23.對(duì)于基類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是(C)。

        A) <

        B) =

        C) +

        D) -

        24.有以下函數(shù):

        char * fun (char *p)

        {return p;}

        該函數(shù)的返回值是( B)。

        A) 無(wú)確切的值

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

        C) 一個(gè)臨時(shí)存儲(chǔ)單元的地址

        D) 形參 p 自身的地址值

        25.若有以下說(shuō)明和定義

        fun(int *c){…}

        main()

        {int (*a)()=fun,*b(),w[10],c;

        }

        在必要的賦值之后,對(duì) fun 函數(shù)的正確調(diào)用語(yǔ)句是( B)。

        A) a=a(w); B) (*a)(&c);

        C) b=*b(w);

        D) fun (b);

        26.有如下說(shuō)明

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

        則數(shù)值為 9 的表達(dá)式是(B)。

        A) *p+9

        B) *(p+8)

        C) *p+=9

        D) p+8

        27.有如下程序:

        main()

        {char ch[2][5]={“6937”,“8254”},*p[2];

        int i,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(“%d\n”,s);

        }

        該程序的輸出結(jié)果是( C)。

        A) 69825

        B 63825

        C) 6385

        D) 693825

        28.若有以下定義和語(yǔ)句:

        char *s1=“12345”,*s2=“1234”;

        printf(“%d\n”, strlen(strcpy (s1, s2)));

        則輸出結(jié)果是( A)。

        A) 4

        B) 5

        C) 9

        D) 10

        29.下面程序的輸出結(jié)果是( C)。

        main( )

        {char *s=“121”;

        int k=0, a=0, b=0;

        do

        {k++;

        if(k%2= =0) {a=a+s[k]-‘0’; continue;}

        b=b+s[k]-‘0’; a=a+s[k]-‘0’;

        }

        while(s[k+1]);

        printf(“k=%d a=%d b=%d\n”, k, a, b);

        }

        A) k=3 a=2 b=3

        B) k=3 a=3 b=2

        C) k=2 a=3 b=2

        D) k=2 a=2 b=3

        30.若有以下的定義:

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

        則值為 3 的表達(dá)式是( A )。

        A) p+=2,*(p++) B) p+=2,*++p C) p+=3,*p++ D) p+=2,++*p

        31.以下程序的輸出結(jié)果是( A)。

        #include

        sub1(char a, char b)

        {char c; c=a; a=b; b=c;}

        sub2(char *a, char b)

        {char c; c=*a; *a=b; b=c;}

        sub3(char *a, char *b)

        {char c; c=*a; *a=*b; *b=c;}

        main()

        {char a, b;

        a=‘A’; b=‘B’; sub3 (&a, &b); putchar(a); putchar(b);

        a=‘A’; b=‘B’; sub2 (&a, b); putchar(a); putchar(b);

        a=‘A’; b=‘B’; sub1 (a, b); putchar(a); putchar(b);

        }

        A) BABBAB B) ABBBBA

        C) BABABA

        D) BAABBA

        32.設(shè)p1和p2是指向同一個(gè)int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語(yǔ)句是(B)。

        A) k=*p1+*p2;

        B) p2=k;

        C) p1=p2;

        D) k=*p1*(*p2);

        33.設(shè)有如下定義:int arr[ ]={6, 7, 8, 9, 10}; int *ptr;

        則下列程序段的輸出結(jié)果是(D)。

        ptr=arr;

        *(ptr+2)+=2;

        printf(“%d, %d\n”, *ptr, *(ptr+2));

        A) 8,10

        B) 6,8

        C) 7,9

        D) 6,10

        34.以下程序的輸出結(jié)果是( D)。

        main()

        {char a[ ]=“programming”, b[ ]= “l(fā)anguage”;

        char *p1, *p2;

        int i;

        p1=a; p2=b;

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

        if(*(p1+i)= =*(p2+i)) printf(“%c”, *(p1+i));

        }

        A) gm

        B) rg

        C) or

        D) ga

        35.以下程序運(yùn)行后,輸出結(jié)果是( C )。

        main()

        {char *s=“abcde”;

        s+=2;

        printf(“%ld\n”, s);

        }

        A) cde B) 字符 c 的 ASCII 碼值 C) 字符 c 的地址 D) 出錯(cuò)

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

        #include

        #include

        func(char str[ ])

        {int num=0;

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

        return(num);

        }

        main()

        {char str[10], *p=str;

        gets (p);

        printf(“%d\n”, func (p));

        }

        A) 8

        B) 7

        C) 6

        D) 5

        37.以下程序執(zhí)行后,a 的值是( C )。

        main()

        {int a, k=4, m=6, *p1=&k, *p2=&m;

        a=p1= =&m;(等于運(yùn)算符==優(yōu)先級(jí)高于賦值運(yùn)算符=,即為 a=(p1==&m))

        printf(“%d\n”, a);

        }

        A) 4

        B) 1

        C) 0 D) 運(yùn)行時(shí)出錯(cuò),a 無(wú)定值

        38.以下程序運(yùn)行后,如果從鍵盤上輸入:

        book<回車>

        book<空格><回車>

        則輸出結(jié)果是( B)。

        #include

        main()

        {char

        a1[80], a2[80], *s1=a1, *s2=a2;

        gets(s1); gets(s2);

        if(!strcmp(s1, s2)) printf(“*”);

        else printf(“#”);

        printf(“%d\n”, strlen(strcat(s1, s2)));

        }

        A) *8

        B) #9

        C) #6

        D) *9

        39.若有以下調(diào)用語(yǔ)句,則不正確的 fun 函數(shù)的首部是( D)。

        main()

        { …

        int a[50], n;

        fun (n, &a[9]);

        }

        A) void fun(int m,int x[ ])

        B) void fun(int s,int h[41])

        C) void fun(int p,int *s)

        D) void fun(int n,int a)

        40.假定下列程序的可執(zhí)行文件名為 prg . exe,則在該程序所在的子目錄下輸入命令行:prg hello good<回車>后,程序的輸出結(jié)果是(B)。

        main(int argc, char *argv[ ])

        {int i;

        if(argc<=0) return;

        for(i=1; i<argc; p="" *argv[i]);

        }

        A) hello good

        B) hg

        C) hel

        D) hellogood

        41.以下程序的輸出結(jié)果是( D )。

        main( )

        {char s[ ]=”ABCD”, *p;

        for(p=s+1; p<s+4; p="" p);

        }

        A) ABCD BCD CD D

        B) A B C D

        C) B C D

        D) BCD CD D

        42.若已定義:int a[9], *p=a; 并在以后的語(yǔ)句中未改變 p 的值,不能表示 a[1]地址的表達(dá)式是(C)。

        A) p+1

        B) a+1

        C) a++

        D) ++p

        43.執(zhí)行以下程序后,y 的值是(C)。

        main( )

        {int a[ ]={2, 4, 6, 8, 10};

        int y=1, x, *p;

        p=&a[1];

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

        y+=*(p+x);

        printf(“%d\n”, y);

        }

        A) 17

        B) 18

        C) 19

        D) 20

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

        main( )

        {int a[5]={2, 4, 6, 8, 10}, *p, **k;

        p=a;

        k=&p;

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

        printf(“%d\n”, **k);

        }

        A) 4 4

        B) 2 2

        C) 2 4

        D) 4 6

        45.下列程序的輸出結(jié)果是( D)。

        #include

        main( )

        {char *p1,*p2,str[50]="xyz";

        p1="abcd";p2="ABCD";

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

        printf("%s",str);

        }

        A) xyabcAB

        B) abcABz

        C) ABabcz

        D) xycdBCD

        46.設(shè)有以下定義:

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

        int (*prt)[3]=a, *p=a[0];

        則下列能夠正確表示數(shù)組元素 a[1][2]的表達(dá)式是(D)。

        A) *((*prt+1)[2])

        B) *(*(p+5))

        C) (*prt+1)+2

        D) *(*(a+1)+2)

        47.閱讀程序:

        main( )

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

        p=a;

        printf("%x\n",p);

        printf("%x\n",p+9);

        }

        該程序有兩個(gè) printf 語(yǔ)句,如果第一個(gè) printf 語(yǔ)句輸出的是 194,則第二個(gè) printf 語(yǔ)句的輸出結(jié)果是( D )。

        A) 203

        B) 204

        C) 1a4

        D) 1a6

        48.以下程序的輸出結(jié)果是(C)。

        #include

        #include

        void fun(char *w, int m)

        {char s, *p1, *p2;

        p1=w; p2=w+m-1;

        while(p1<p2)< p="">

        {s=*p1++; *p1=*p2--; *p2=s;}

        }

        main( )

        {char

        a[ ]="ABCDEFG";

        fun(a, strlen(a));

        puts(a);

        }

        A) GEFDCBA

        B) AGADAGA

        C) AGAAGAG

        D) GAGGAGA

        49.以下程序的輸出結(jié)果是(C)。

        #include

        void fun(int *s)

        {static int j=0;

        do

        s[j]+=s[j+1];

        while (++j<2);

        }

        main( )

        {int k, a[10]={1, 2, 3, 4, 5};

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

        fun (a);

        for(k=0; k<5; k++) printf (“%d”, a[k]);

        }

        A) 34756

        B) 23445

        C) 35745

        D) 12345

        50.請(qǐng)讀程序:

        #include

        char fun(char *c)

        {if(*c<=‘Z’&&*c>=‘A’) *c-=‘A’-‘a(chǎn)’;

        return *c;

        }

        main( )

        {char s[81], *p=s;

        gets (s);

        while(*p)

        {*p=fun(p); putchar(*p); p++;}

        putchar(‘\n’);

        }

        若運(yùn)行時(shí)從鍵盤上輸入 OPEN THE DOOR<回車>,則上面程序的輸出結(jié)果為(B)。

        A) oPEN tHE dOOR

        B) open the door

        C) OPEN THE DOOR

        D) Open The Door

        51.以下程序的輸出結(jié)果是( B)。

        #include

        main( )

        {char *s1="AbCdEf",*s2="aB";

        s1++;s2++;

        printf("%d\n",strcmp(s1, s2));

        }

        A) 正數(shù)

        B) 負(fù)數(shù)

        C) 零

        D) 不確定的值

        52.下面各語(yǔ)句行中,能正確進(jìn)行賦字符串操作的語(yǔ)句行是( C)。

        A) char st[4][5]={“ABCDE”};

        B) char s[5]={‘A’,‘B’,‘C’,‘D’,‘E’};

        C) char *s; s= “ABCDE”;

        D) char *s; scanf(“%s”,s);

        53.以下程序的輸出結(jié)果是( C )。

        fun(int *s, int n1, int n2)

        {int i, j, t;

        i=n1; j=n2;

        while(i<j)< p="">

        {t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;

        i++; j--;

        }

        }

        main( )

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

        fun (p, 0, 3); fun (p, 4, 9); fun (p, 0, 9);

        for(i=0; i<10; i++) printf("%d ", *(a+i));

        printf(“\n”);

        }

        A) 0 9 8 7 6 5 4 3 2 1

        B) 4 3 2 1 0 9 8 7 6 5

        C) 5 6 7 8 9 0 1 2 3 4

        D) 0 9 8 7 6 5 1 2 3 4

        54.下面函數(shù)的功能是( B )。

        sss (char *s, char *t)

        {while((*s)&&(*t)&&(*t= =*s))

        s++, t++;

        return(*s-*t);

        }

        A) 求字符串的長(zhǎng)度

        B) 比較兩個(gè)字符串的大小

        C) 將字符串 s 復(fù)制到字符串 t 中

        D) 將字符串 s 連接到字符串 t 中

        55.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),則以下正確答案為( A)。

        main()

        {int a[10], i=0;

        while (i<10) scanf(“%d”,);

        }

        A) a+(i++)

        B) &a[i+1]

        C) a+i

        D) &a[++i]

        56.在下列敘述中,正確的一條是( B)。

        A) 語(yǔ)句 int *pt 中的*pt 是指針變量名

        B) 語(yǔ)句 int *p=a;等價(jià)于 int *p; p=&a[0];

        C) 運(yùn)算符*和&都是取變量地址的運(yùn)算符

        D) 已知指針變量 p 指向變量 a,則&a 和*p 值相同,都是變量 a 的值

        57.下列語(yǔ)句執(zhí)行后的結(jié)果是( A)。

        y=5; p=&y; x=*p++;

        A) x=5,y=5

        B) x=5,y=6

        C) x=6, y=5

        D) x=6, y=6

        58.在下列語(yǔ)句中,其含義為“p 為帶回一個(gè)指針的函數(shù),該指針指向整型數(shù)據(jù)”的定義語(yǔ)句是( A)。

        A) int *p();

        B) int **p; C) int (*p)();

        D) int *p;

        59.在下面關(guān)于指針的說(shuō)法中,錯(cuò)誤的一條是( B )。

        A) 變量的指針就是變量的地址

        B) 可以將一個(gè)整型量或任何其他非地址類型的數(shù)據(jù)賦給一個(gè)指針變量

        C) 一個(gè)指針變量只能指向同一個(gè)類型的變量

        D) 指針變量中只能存放地址

        60.在下列程序中,輸出結(jié)果與其它程序不同的是(D)。

        A) main()

        {int a[10];

        int i;

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

        scanf(“%d”,&a[i]);

        printf(“\n”);

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

        }

        B) main()

        {int a[10];

        int i;

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

        scanf(“%d”,&a[i]);

        printf(“\n”);

        for(i=0;i<10;i++) printf(“%d”,*(a+i));

        }

        C) main()

        {int a[10];

        int i, *p;

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

        scanf(“%d”,&a[i]);

        printf(“\n”);

        for(p=a;p<(a+10);p++) printf(“%d”,*p);

        }

        D) main()

        {int a[10];

        int i, *p;

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

        scanf(“%d”,&a[i]);

        printf(“\n”);

        for(i=0;i<10;i++) printf(“%d”,*(p+i));

        }

        61.以下程序的輸出結(jié)果是(D)。

        sub(int *s, int y)

        {static int t=3;

        y=s[t]; t--;

        }

        main()

        {int a[ ]={1, 2, 3, 4}, n;

        int x=4;

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

        {sub(a, x); printf(“%d”, x); }

        printf(“\n”);

        }

        A) 1234

        B) 3333

        C) 4321

        D) 4444

        62.以下程序的輸出結(jié)果為( B )。

        #idefine FORMAT

        “%u, %u”

        main()

        {int a[3][4]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23};

        printf(“\n”);

        printf(FORMAT, **a, *a[0]);

        printf(FORMAT, *(a[0]+1), *&a[0][1]);

        printf(FORMAT, a[1][1], *(*(a+1)+1));

        }

        A) 3,3 5,5 9,9

        B) 1,1 3,3 9,9

        C) 1,1 3,3 5,5

        D) 5,5 7,7 9,9

        63.以下程序的輸出結(jié)果為(D)。

        f(char *s)

        {char *p=s;

        while(*p!=‘\0’) p++;

        return(p-s);

        }

        main()

        { printf(“%d\n”, f(“12345678”)); }

        A) 12345678

        B) 7

        C) 1

        D) 8

        64.以下程序的輸出結(jié)果為(C)。

        move(int array[6], int n, int m)

        {int *p, array_end;

        array_end=*(array+n-1);

        for(p=array+n-1;p>array;p--)

        *p=*(p-1);

        *array=array_end;

        m--;

        if(m>0) move (array, n, m);

        }

        main()

        {static int number[6]={1, 2, 3, 4, 5, 6};

        int m=4, j;

        move(number, 6, m);

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

        printf(“%d,”, number[i]);

        printf(“%d”, number[5]);

        }

        A) 1,2,3,4,5,6

        B) 6,5,4,3,2,1

        C) 3,4,5,6,1,2

        D) 6,1,2,3,4,5

        65.在下列敘述中,正確的一條是( B )。

        A) 以下程序運(yùn)行結(jié)果為 Computer and c:

        main()

        {char str[4];

        str=“Computer and c”;

        printf(“%s\n”, str);

        }

        B) 下面兩種表示方式等價(jià)

        (1) int fun(int x,int y)

        (2) int fun(x,y)

        int x,y;

        C) 若輸入 1、2,以下程序的運(yùn)行結(jié)果為 12

        main()

        {int *p,i,a[2];

        p=a;

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

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

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

        }

        D) 以下程序的運(yùn)行結(jié)果為 3

        main()

        {int *p,a[5]={1,3,4,5,6};

        p=a;

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

        }

        66.以下程序的輸出結(jié)果是( A )。

        point(char *pt);

        main()

        {char b[4]={‘a(chǎn)’,‘c’,‘s’,‘f’}, *pt=b;

        point(pt);

        printf(“%c\n”, *pt);

        }

        point(char *p)

        {p+=3;

        }

        A) a

        B) c

        C) s

        D) f

        67.以下程序的輸出結(jié)果為(A)。

        void move(int *pointer)

        {int i, j, t;

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

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

        {t=*(pointer+3*i+j);

        *(pointer+3*i+j)=*(pointer+3*j+i);

        *(pointer+3*j+i)=t;

        }}

        main()

        {int a[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9}, *p, i;

        p=&a[0][0];

        move(p);

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

        printf(“%d%d%d”, a[i][0], a[i][1], a[i][2]);

        }

        A) 147258369 B) 123456789 C) 987654321 D) 127485639

        68.以下程序的輸出結(jié)果是( A )。

        sub(int x, int y, int *z)

        {*z=y-x+2;}

        main()

        {int a, b, c;

        sub(16, 7, &a); sub(9, a, &b); sub(a, b, &c);

        printf(“%d, %d, %d\n”, a, b, c);

        }

        A) –7,-14,-5

        B) –7,-16,-9

        C) –7,-12,-9

        D) –9,-14,-5

        69.變量 p 為指針變量,若 p=&a,下列說(shuō)法不正確的是( D )。

        A) &*p==&a B) *&a==a C) (*p)++==a++ D) *(p++)==a++

        70.若輸入 10,以下程序的輸出結(jié)果是(B )。

        #define MAX 50

        main()

        {int i, k, m, n, num[MAX], *p;

        scanf(“%d”, &n);

        p=num;

        for(i=0; i<n; p="" i++)

        *(p+i)=i+1;

        i=0; k=0; m=0;

        while(m<n-1)

        {if(*(p+i)!=0) k++;

        if(k= =3)

        {*(p+i)=0; k=0; m++;}

        i++;

        if(i= =n) i=0;

        }

        while(*p= =0) p++;

        printf(“%d\n”, *p);

        }

        A) 10

        B) 4

        C) 50

        D) 60

        71.以下程序的輸出結(jié)果是( B )。

        main()

        {char *alpha[5]={“a”, “bc”, “def”, “1”, “23”}, **p;

        int i;

        p=alpha;

        for(i=0; i<3; i++, p++) printf(“%s”, *p);

        printf(“\t”);

        p=p-3;

        for(i=0; i<3; i++, p++) printf(“%c\t”,**p);

        }

        A) abcdef d e f

        B) abcdef a b d

        C) abcdef 1 23

        D) defabc 1 23

        二、填空題

        1.下列程序的輸出結(jié)果是GDABC。

        #include

        main( )

        {char b[30],*chp;

        strcpy(&b[0],"GH");

        strcpy(&b[1],"DEF");

        strcpy(&b[2],"ABC");

        printf("%s\n",b);

        }

        2.下列程序的字符串中各單詞之間有一個(gè)空格,則程序的輸出結(jié)果是How does she。

        #include

        main( )

        {char strl[ ]="How do you do",*p1=strl;

        strcpy (strl+strlen(strl)/2,"es she");

        printf("%s\n",pl);

        }

        3.若有如下圖所示五個(gè)連續(xù)的 int 類型的存儲(chǔ)單元并賦值如下圖,a[0]的地址小于 a[4]的地址。p 和 s是基類型為 int 的指針變量。請(qǐng)對(duì)以下問(wèn)題進(jìn)行填空。

        image.png

        (1)若 p 已指向存儲(chǔ)單元 a[1]。通過(guò)指針 p 給 s 賦值,使 s 指向最后一個(gè)存儲(chǔ)單元 a[4]的語(yǔ)句是s=p+3。

        (2)若指針 s 指向存儲(chǔ)單元 a[2],p 指向存儲(chǔ)單元 a[0],表達(dá)式 s-p 的值是 2。

        4.以下程序的功能是:將無(wú)符號(hào)八進(jìn)制數(shù)字構(gòu)成的字符串轉(zhuǎn)換為十進(jìn)制整數(shù)。例如,輸入的字符串為:556,則輸出十進(jìn)制整數(shù) 366。請(qǐng)?zhí)羁铡?/p>

        image.png

        5.設(shè)有以下程序:

        main()

        {int a, b, k=4, m=6, *p1=&k, *p2=&m;

        a=(pl= =&m);

        b=(*p1)/(*p2)+7;

        printf("a=%d\n", a);

        printf("b=%d\n", b);

        }

        執(zhí)行該程序后,a 的值為 0,b 的值為7。

        6.下列程序的輸出結(jié)果是0

        void fun(int *n)

        {while((*n)--);

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

        }

        main()

        {int a=100;

        fun (&a);

        }

        7.以下程序的輸出結(jié)果是10。

        main()

        {int arr[ ]={30, 25, 20, 15, 10, 5}, *p=arr;

        p++;

        printf("%d\n", *(p+3));

        }

        8.若有以下定義,則不移動(dòng)指針 p,且通過(guò)指針 p 引用值為 98 的數(shù)組元素的表達(dá)式是*(p+5)。

        int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;

        9.以下函數(shù)把 b 字符串連接到 a 字符串的后面,并返回 a 中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>

        image.png

        10.函數(shù) void fun(float *sn,int n)的功能是:根據(jù)以下公式計(jì)算 S,計(jì)算結(jié)果通過(guò)形參指針 sn 傳回;n 通過(guò)形參傳入,n 的值大于等于 0。請(qǐng)?zhí)羁铡?/p>

        image.png

        11.下面函數(shù)用來(lái)求出兩個(gè)整數(shù)之和,并通過(guò)形參傳回兩數(shù)相加之和值,請(qǐng)?zhí)羁铡?/p>

        int add(int x,int y, int*z)

        {*z=x+y;}

        12.以下 fun 函數(shù)的功能是:累加數(shù)組元素中的值。n 為數(shù)組中元素的個(gè)數(shù)。累加的和值放入 x 所指的存儲(chǔ)單元中。請(qǐng)?zhí)羁铡?/p>

        fun(int b[ ],int n,int *x)

        {int k,r=0;

        for(k=0;k<n;k++) r= r+b[k];

        *x=r;

        }

        13.以下函數(shù)的功能是:把兩個(gè)整型指針變量所指的存儲(chǔ)單元中的內(nèi)容進(jìn)行交換。請(qǐng)?zhí)羁铡?/p>

        exchange(int *x,int *y)

        {int t;

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

        }

        14.以下程序的輸出是49

        main()

        {int a[10]={19,23,44,17,37,28,49,36},*p;

        p=a;

        printf(“%d\n”,(p+=3)[3]);

        }

        15.下面程序的輸出結(jié)果是024。

        #define MAX

        3

        int a[MAX];

        main()

        {fun1();fun2(a);printf(“\n”);}

        fun1()

        {int k,t=0;

        for(k=0;k

        }

        fun2(int b[])

        {int k;

        for(k=0;k<max;k++) p="" printf(“%d”,*(b+k));

        }

        16.下面程序的輸出結(jié)果是 ABCDCD

        char b[]=“ABCD”;

        main()

        {char

        *chp;

        for(chp=b; *chp; chp+=2) printf(“%s”, chp);

        printf(“\n”);

        }

        17.以下程序的功能是:從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串,請(qǐng)?zhí)羁铡?/p>

        #include

        main()

        {char str[81],*sptr;

        int i;

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

        {str[i]=getchar();

        if(str[i]==‘\n’) break;

        }

        str[i]='\0';

        sptr=str; 

        while(*sptr) putchar(*sptr++);

        }

        18.fun1 函數(shù)的調(diào)用語(yǔ)句為:fun1(&a,&b,&c);它將三個(gè)整數(shù)按由大到小的順序調(diào)整后依次放入 a、b、c三個(gè)變量中,a 中放最大數(shù)。請(qǐng)?zhí)羁铡?/p>

        void fun2(int *x, int *y)

        {int t;

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

        }

        void fun1(int *pa,int *pb,int *pc)

        {if(*pc>*pb) fun2(pc,pb);

        if(*pa<*pc) fun2(pa,pb);

        if(*pa<*pb) fun2(pa,pc);

        }

        19.以下函數(shù)用來(lái)在 w 數(shù)組中插入數(shù) x,w 數(shù)組中的數(shù)已按由小到大的順序存放,n 所指存儲(chǔ)單元中存放數(shù)組中數(shù)據(jù)的個(gè)數(shù),x 插入后數(shù)組中的數(shù)仍有序。請(qǐng)?zhí)羁铡?/p>

        void fun(char *w,char x,int *n)

        {int i,p;

        p=0;

        w[*n]=x;

        while(x>w[p]) p++;

        for(i=*n;i>p;i--) w[i]= w[i-1];

        w[p]=x;

        ++*n;

        }

        20.閱讀程序:

        main()

        {char str1[]=“how do you do”, str2[10];

        char *p1=str1, *p2=str2;

        scanf(“%s”, p2);

        printf(“%s ”, p2);

        printf(“%s\n”, p1);

        }

        運(yùn)行上面的程序,輸入字符串 HOW DO YOU DO,則程序的輸出結(jié)果是 HOWhow do you do。

        21.下面程序的輸出結(jié)果是SO

        main()

        {char *p[]={“BOOL”, “OPK”, “H”, “SP”};

        int i;

        for(i=3;i>=0;i--,i--) printf(“%c”,*p[i]);

        printf(“\n”);

        }

        22.下面程序的輸出結(jié)果是17。

        funa(int a,int b)

        {return a+b;}

        funb(int a,int b)

        {return a-b;}

        sub(int(*t)(),int x,int y)

        {return((*t)(x,y));}

        main()

        {int x,(*p)();

        p=funa;

        x=sub(p,9,3);

        x+=sub(funb,8,3);

        printf(“%d\n”, x);

        }

        23.下面程序的輸出結(jié)果是 XYZA。

        #include

        void fun(char *a1,char *a2,int n)

        {int k;

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

        a2[k]=(a1[k]-‘A’-3+26)%26+‘A’;

        a2[n]=‘\0’;

        }

        main()

        {char s1[5]=“ABCD”, s2[5];

        fun (s1, s2, 4);

        puts(s2);

        }

        24.下面程序的輸出結(jié)果是7 1

        void as(int x,int y,int *cp,int *dp)

        {*cp=x+y;

        *dp=x-y;

        }

        main()

        {int a=4,b=3,c,d;

        as(a,b,&c,&d);

        printf(“%d %d\n”,c,d);

        }

        25.下面程序的輸出結(jié)果是eybdooG。

        #include

        main()

        {static char b[]=“Goodbye”;

        char *chp=&b[7];

        while(--chp>=&b[0]) putchar(*chp);

        putchar(‘\n’);

        }

        26.若輸入:this test terminal,以下程序的輸出結(jié)果為:terminal test this。填空補(bǔ)充以下程序。

        #include

        #define MAXLINE 20

        main()

        {int i;

        char *pstr[3],str[3][MAXLINE];

        for(i=0;i<3;i++) pstr[i]=str[i];

        for(i=0;i<3;i++) scanf(“%s”,pstr[i]);

        sort(pstr);

        for(i=0;i<3;i++) printf(“%s\n”,pstr[i]);

        }

        sort( char *pstr [3] )

        {int i,j;

        char *p;

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

        {for(j=i+1;j<3;j++)

        {if(strcmp(*(pstr+i),*(pstr+j))>0)

        {p=*(pstr+i);

        *(pstr+i)=*(patr+j);

        *(pstr+j)=p;

        }}}}

        27.以下程序利用指針?lè)▽蓚€(gè)數(shù)按從小到大的順序輸出來(lái)。

        main()

        {int a,b, *p1,*p2 , p;

        printf(“input a, b:”);

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

        p1=&a;

        p2=&b;

        if(a<b)

        {p=p1; p1=p2; p2=p;}

        printf(“a=%d b=%d\n”,a,b);

        printf(“max=%d min=%d\n”, *p1,*p2);

        }

        28.以下程序的輸出結(jié)果是8。

        fun(int n,int *s)

        {int f1,f2;

        if(n==1||n==2) *s=1;

        else

        {fun(n-1,&f1);

        fun(n-2,&f2);

        *s=f1+f2;

        }

        }

        main()

        {int x;

        fun(6,&x);

        printf(“%d\n”,x);

        }

        29.下面的程序通過(guò)函數(shù) average 計(jì)算數(shù)組中各元素的平均值,請(qǐng)?zhí)羁铡?/p>

        float average(int *pa,int n)

        {int i;

        float avg=0.0;

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

        avg=avg+ *(pa+i);

        avg= avg/n;

        return avg;

        }

        main()

        {int i,a[5]={2,4,6,8,10};

        float mean;

        mean=average(a,5);

        printf(“mean=%f\n”,mean);

        }

        30.以下程序?qū)⒆址?s1 中的所有與字符串 str1 相同的子串替換成字符串 str2,并將替換后的新串存于字符數(shù)組 s2 中。

        #include

        void replace(char *s1,char *s2,char *str1,char *str2)

        {char *t0,*t1,*t2;

        while( *s1)

        {for(t0=s1,t1=str1;(*t1!=‘\0’&&*t0=*t1 );t0++,t1++);

        if(*t1!=‘\0’) *s2++ = *s1++;

        else

        {for(t1=str2;*t1!=‘\0’;) *s2++ =*t1++;

        s1=t0;

        }

        }

        *s2=‘\0’;

        }

        main()

        {static char s1[]=“abcef ababcd abab.”, s2[25];

        replace (s1, s2, “abc”, “XYZ”);

        printf(“%s\n”, s2);

        }

        31.以下語(yǔ)句的輸出結(jié)果是hELLO!。

        char s[80],*sp=“HELLO!”;

        sp=strcpy (s, sp); s[0]=‘h’; puts(s);

        更多資料

        《計(jì)算機(jī)基礎(chǔ)》知識(shí)集錦(電子版)

        安徽省專接本《大學(xué)英語(yǔ)》真題回憶版(2021年)

        全國(guó)版統(tǒng)招專升本《政治》真題匯編

        更多課程

        《市場(chǎng)營(yíng)銷學(xué)》公開(kāi)課—業(yè)務(wù)成長(zhǎng)戰(zhàn)略

        1節(jié)課

        《基礎(chǔ)會(huì)計(jì)》公開(kāi)課—會(huì)計(jì)要素-反映財(cái)務(wù)狀況的會(huì)計(jì)要素

        1節(jié)課

        《管理學(xué)》公開(kāi)課——馬斯洛需要層次理論

        1節(jié)課

        溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

        專升本備考資料免費(fèi)領(lǐng)取

        去領(lǐng)取

        資料下載
        • 全國(guó)版專接本《大學(xué)語(yǔ)文》真題匯編

          下載
        • 統(tǒng)招專升本《高等數(shù)學(xué)》歷年真題匯編

          下載
        • 統(tǒng)招專升本《政治》歷年真題

          下載
        • 統(tǒng)招專升本《大學(xué)語(yǔ)文》真題資料

          下載