亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場(chǎng) > 筆試題 > C筆試題及答案

      C筆試題及答案

      時(shí)間: 護(hù)托1061 分享

      C筆試題及答案

        C語(yǔ)言的簡(jiǎn)潔性與其豐富的運(yùn)算符相結(jié)合,使其可能會(huì)編寫(xiě)出極難理解的代碼。下面就由學(xué)習(xí)啦小編為大家介紹一下C筆試題及答案的文章,歡迎閱讀。

        C筆試題及答案篇1

        (1)算法的時(shí)間復(fù)雜度是指_______。

        A)執(zhí)行算法程序所需要的時(shí)間

        B)算法程序的長(zhǎng)度

        C)算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

        D)算法程序中的指令條數(shù)

        答案:C

        評(píng)析:所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。

        (2)下列敘述中正確的是________。

        A)線(xiàn)性表是線(xiàn)性結(jié)構(gòu) B)棧與隊(duì)列是非線(xiàn)性結(jié)構(gòu)

        C)線(xiàn)性鏈表是非線(xiàn)性結(jié)構(gòu) D)二叉樹(shù)是線(xiàn)性結(jié)構(gòu)

        答案:A

        評(píng)析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類(lèi)型:線(xiàn)性結(jié)構(gòu)與非線(xiàn)性結(jié)構(gòu)。線(xiàn)性表、棧與隊(duì)列、線(xiàn)性鏈表都是線(xiàn)性結(jié)構(gòu),而二叉樹(shù)是非線(xiàn)性結(jié)構(gòu)。

        (3)下面關(guān)于完全二叉樹(shù)的敘述中,錯(cuò)誤的是_________。

        A)除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

        B)可能缺少若干個(gè)左右葉子結(jié)點(diǎn)

        C)完全二叉樹(shù)一般不是滿(mǎn)二叉樹(shù)

        D)具有結(jié)點(diǎn)的完全二叉樹(shù)的深度為[log2n]+1

        答案:B

        評(píng)析:滿(mǎn)二叉樹(shù)指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹(shù)。完全二叉樹(shù)指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹(shù)。

        (4)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是_________。

        A)程序的規(guī)模 B)程序的易讀性

        C)程序的執(zhí)行效率 D)程序的可移植性

        答案:B

        評(píng)析:結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測(cè)試,以保證程序的正確性。

        (5)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是________。

        A)概要設(shè)計(jì) B)詳細(xì)設(shè)計(jì) C)可行性分析 D)需求分析

        答案:D

        評(píng)析:需求分析是對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫(xiě)軟件規(guī)格說(shuō)明書(shū)及初步的用戶(hù)手冊(cè),提交評(píng)審。

        (6)數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列 圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是_________。

        A)控制流 B)加工 C)數(shù)據(jù)存儲(chǔ) D)源和潭

        答案:A

        評(píng)析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。

        (7)軟件需求分析一般應(yīng)確定的是用戶(hù)對(duì)軟件的__________。

        A)功能需求 B)非功能需求 C)性能需求 D)功能需求和非功能需求

        答案:D

        評(píng)析:軟件需求分析中需要構(gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶(hù)提出的每一功能與性能要求,是用戶(hù)明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶(hù)對(duì)軟件的功能需求和非功能需求。

        (8)下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是________。

        A)數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

        B)數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

        C)數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類(lèi)型的一致

        D)數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

        答案:A

        評(píng)析:由數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。

        (9)關(guān)系表中的每一橫行稱(chēng)為一個(gè)________。

        A)元組 B)字段 C)屬性 D)碼

        答案:A

        評(píng)析:在關(guān)系數(shù)據(jù)庫(kù)中,關(guān)系模型采用二維表來(lái)表示,簡(jiǎn)稱(chēng)“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱(chēng)為元組。

        (10)數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是________。

        A)概念設(shè)計(jì)和邏輯設(shè)計(jì) B)模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)

        C)內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì) D)結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

        答案:A

        評(píng)析:數(shù)據(jù)庫(kù)設(shè)計(jì)可分為概念設(shè)計(jì)與邏輯設(shè)計(jì)。概念設(shè)計(jì)的目的是分析數(shù)據(jù)間內(nèi)在語(yǔ)義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)的抽象模型。邏輯設(shè)計(jì)的主要工作是將ER圖轉(zhuǎn)換為指定的RDBMS中的關(guān)系模型。

        C筆試題及答案篇2

        (1)請(qǐng)讀程序:

        #include

        main()

        {

        int a;float b,c;

        scanf(“%2d%3P%4f’,&a,&b,&C);

        printf(”\na=%d,b=%ec。%f\n”,a,b,C);

        }

        若運(yùn)行時(shí)從鍵盤(pán)上輸入9876543210l,則上面程序的輸出結(jié)果是________。

        A)a=98,b=765,c=432 1

        B)a=1 0,b=432,c=8765

        C)a=98,b=765.000000,c=432 1.000000

        D)a=98,b=765.0,c=432 1.0

        答案:C

        評(píng)析:scanf()把用戶(hù)從鍵盤(pán)錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶(hù)錄入的第10位被scanf()遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。

        (2)一個(gè)良好的算法由下面的基本結(jié)構(gòu)組成,但不包括__________。

        A)順序結(jié)構(gòu) B)選擇結(jié)構(gòu) C)循環(huán)結(jié)構(gòu) D)跳轉(zhuǎn)結(jié)構(gòu)

        答案:D

        評(píng)析:1966年,Bohra和Jacopini提出了以下三種基本結(jié)構(gòu),用這三種基本結(jié)構(gòu)作為表示一個(gè)良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。

        (3)請(qǐng)選出以下程序的輸出結(jié)果________。

        #include

        sub(x,y,z)

        int x,y,*z:

        {*z=y-x;}

        main(){

        int a,b,c;

        sub(10,5,&a);sub(7,a,&b);sub(a,b,&C);

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

        }

        A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7

        答案:B

        評(píng)析:sub()函數(shù)的作用是將形參y和x的差賦給了z指向的那個(gè)內(nèi)存地址,所以在sub(10,5,&a/I,10和5屬于值傳遞,a是屬于地址傳遞,也就是a與z指向了同一個(gè)存儲(chǔ)單元,在執(zhí)行函數(shù)后,a的值隨*z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&C)后,c的值發(fā)生變化,其值為-12-(-5)=-7。

        (4)下面程序在屏幕上的輸出是________。

        main()

        {

        printf(”ab\b\b c”);

        }

        A)ab\b\b c B)a c C)abc D)ab c

        答案:B

        評(píng)析:c語(yǔ)言中允許使用一種特殊形式的字符常量,、就是以一個(gè)“\”開(kāi)頭的字符序列,這樣的字符稱(chēng)為“轉(zhuǎn)義字符”。常用的轉(zhuǎn)義字符有:\n,換行;\t,水平制表;\b,退格;\r,回車(chē)。

        (5)若x是整型變量,pb是基類(lèi)型為整型的指針變量,則正確的賦值表達(dá)式是_______。

        A)pb=&x; B)pb=x; C)*pb=&x; D)*pb=*x

        答案:A

        評(píng)析:選項(xiàng)A將變量x的地址賦給指針變量pb,使pb指向x‘選項(xiàng)B是將x的值當(dāng)作地址賦給指針pb,Db指向一個(gè)地址等于x值的內(nèi)存單元;選項(xiàng)c將x的地址賦給指針pb指向的地址等于x的內(nèi)存單元。

        (6)設(shè)整型數(shù)i=5,則printf(“%d”,i+++++i);的輸出為_(kāi)_______。

        A)10 B)1l C)12 D)語(yǔ)法錯(cuò)誤

        答案:D

        評(píng)析:c語(yǔ)言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、–),在c語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這樣,該表達(dá)式就被解析為i++ ++ +i,顯然該表達(dá)式不合c語(yǔ)言語(yǔ)法。

        (7)若要用下面的程序片段使指針變量p指向一個(gè)存儲(chǔ)整型變量的動(dòng)態(tài)存儲(chǔ)單元

        int *p;

        p=___________malloc(sizeof(im));

        則應(yīng)填入__________。

        A)int B)int C)(*int) D)(int*)

        答案:D

        評(píng)析:不論p是指向什么類(lèi)型的指針變量,都可以通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換的方法使之類(lèi)型一致,強(qiáng)制類(lèi)型轉(zhuǎn)換的格式為(數(shù)據(jù)類(lèi)型+)。

        (8)下面程序輸出的結(jié)果是__________。

        main()

        {

        int i=5,J=9,x;

        x=(I==j?i:(j=7));

        printf(”\n%d,%d”,I,J);

        }

        A)5,7 B)5,5 C)語(yǔ)法錯(cuò)誤 D)7,5

        答案:A

        評(píng)析:條件表達(dá)式的一般形式為:表達(dá)式I?表達(dá)式2:表達(dá)式3;先求解表達(dá)式1,若為真則求解表達(dá)式2;若表達(dá)式l的值為假,則求解表達(dá)式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。

        (9)若執(zhí)行下面程序時(shí)從鍵盤(pán)上輸入5,

        main()

        {

        int x:

        scanf(”%d”,&x);

        if(x++>5)printf(”%d\n”,x);

        else printf(”%d\n”,x–);

        }

        則輸出是________。

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

        答案:B

        評(píng)析:根據(jù)c語(yǔ)言的語(yǔ)法,x++是在使用x之后,再將x的值加1,在if語(yǔ)句中,x的值為5,條件不成立,執(zhí)行else后面的語(yǔ)句,因?yàn)閤的值已經(jīng)加1,為6,所以打印結(jié)果為6。

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

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

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

        A)p+=2,*(p++) B)p+=2,*++p

        C)p+=3,*p++ D)p+=2,++*p

        答案:A

        評(píng)析:引用一個(gè)數(shù)組元素,可以用:(1)下標(biāo)法,如a[i]形式;(2)指針?lè)ǎ?(a+i)或*(p+i)。數(shù)組的下標(biāo)從0開(kāi)始,值為3的數(shù)組元素是a[2]。B、c的內(nèi)容為a[3],D將a[2]前自加,結(jié)果為4。

        C筆試題及答案篇3

        (1)設(shè)a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達(dá)式中,值為0的表

        達(dá)式是___________。

        A)’a’&&’b’ B)a<=b C)a‖+c&&b-c D)!((a

        答案:D

        評(píng)析z選項(xiàng)A:‘a’&&‘b’是字符a與b的相與,不為0;選項(xiàng)B:a<=b,由題中變量賦值可知,結(jié)果為1。選項(xiàng)c:a‖+c&&b-c,結(jié)果為1;選項(xiàng)D:!((a

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

        main()

        {

        char*d[]。{“ab”,”cde”};

        printf(”%x”,d[1]);

        }

        A)cde B)字符c的ASCII碼值

        C)字符c的地址 D)出錯(cuò)

        答案:C

        評(píng)析:指針數(shù)組中的每一個(gè)元素都相當(dāng)于一個(gè)指針變量。一維指針數(shù)組的定義形式為:類(lèi)型名+數(shù)組名[數(shù)組長(zhǎng)度],在本題main函數(shù)中定義指針數(shù)組d,它有兩個(gè)元素,其初值分別是“ab”、“cde”的首地址。dB]的值為”cde”的首地址。%x是指以十六進(jìn)制數(shù)形式輸出整數(shù)。

        (3)設(shè)有如下程序

        #include

        main()

        {

        int**k,*j,i=100;

        j=&i; k=&j;

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

        }

        上述程序的輸出結(jié)果是________。

        A)運(yùn)行錯(cuò)誤 B)100 C)i的地址 D)j的地址

        答案:B

        評(píng)析:j=&i,j的值就是i的地址,*j=100,將j的地址賦給k,這時(shí)*k=j,那么,**k=*j,而1=100,所以**k=100,最后的打印結(jié)果應(yīng)當(dāng)為100。

        (4)設(shè)有以下語(yǔ)句,其中不是對(duì)a數(shù)組元素的正確引用的是:_______(其中O≤i<10)

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

        A)a[p-a] B)。(&a[i]) C)p[I] D)*(*(a+i))

        答案:D

        評(píng)析:觀(guān)察程序可知,a實(shí)際上就是數(shù)組a的首地址,所以“+(a+i)”表示的就是數(shù)組a中的第i個(gè)元素的值,進(jìn)而,我們可以知道+(t(a+i))必然不是對(duì)a數(shù)組元素的正確引用。

        (5)以下程序運(yùn)行后,輸出結(jié)果為_(kāi)_______。

        main()

        {

        int a[2][3]={1,3,5,7,9,1 1},*s[2],**pp,*p;

        s[0]=a[0],s[1]=a[1];

        pp=s;

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

        **pp=s[1][1];

        p=*PP;

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

        }

        A)l B)7 C)9 D)1l

        答案:C

        評(píng)析:s是一個(gè)含有兩個(gè)元素的指針數(shù)組,pp是一個(gè)指向指針變量的指針,s[O]是指向二維數(shù)組a行下標(biāo)為0的元素的首地址,即a[0兒0]的地址,s[1]為a[1][0]的地址。pp的值為s[O]的地址。**pp=s[1][l]后,a[0][0]的值將被賦值為all][l]的值,執(zhí)行p=*pp;后,p中將是s[0]的值,最后的輸出語(yǔ)句將輸出地址s[0]所指向的數(shù)據(jù),即a[0][O]。

        (6)有以下程序:

        #include

        main(){

        char c[6];

        int I=0:

        for(;i<6;c[-]=getchar(),i++);

        for(I=0;i<6;i++)putchar(c[i]);

        primf(”\n”);

        }

        如果從鍵盤(pán)上輸入:

        ab

        c

        def

        則輸出結(jié)果為_(kāi)________.

        A)a B)a C)ab D)abcdef

        b b c

        c c d

        d d

        e

        f

        答案:C

        評(píng)析:1.getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。

        2.putchar():此函數(shù)的作用是向終端輸出一個(gè)字符,也可以輸出控制字符。

        本題在輸入字符時(shí),ab和c后面的回車(chē)符分別賦給了c[2]和e[4],所以,正確答案為c。

        (7)在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是_______。

        A)地址傳遞 B)單向值傳遞

        C)由實(shí)參傳遞給形參,再由形參傳遞給實(shí)參

        D)傳遞方式由用戶(hù)指定

        答案:B

        評(píng)析:c語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“單向值傳遞”,只由實(shí)參傳給形參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。調(diào)用結(jié)束后,實(shí)參單元仍保留并維持原值。

        (8)下面程序

        #include

        #include

        main()

        { char*p1=”abc”,*p2=”ABC”,str[50]=”xyz”;

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

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

        }

        的輸出是_________。

        A)xyzabcABC B)zabcABC

        C)yzabcABC D)xyabcABC

        答案:D

        評(píng)析:strcat(pl,p2)將字符串a(chǎn)bcABC放到了*pl所指向的存儲(chǔ)單元中;strcpy在本題將abcABC復(fù)制到str+2所指向的存儲(chǔ)單元中,即覆蓋原str數(shù)組中的字符z及其后的所有字符,故str的值為”xyabcABC”。

        (9)下面程序

        int aa[3][3]:{{2},{4},{6}};

        main()

        { int i,*p:&aa[0][0];

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

        if(i==0)aa[I][i+l]=*p+1;

        else++p;

        printf(”%d’.,。p);

        }

        }

        的輸出是__________。

        A)23 B)26 C)33 D)36

        答案:A

        評(píng)析:觀(guān)察題目,可以發(fā)現(xiàn),*p=&aa[01[o]語(yǔ)句實(shí)際是將數(shù)組aa的首地址賦給了指針變量p,將i的值帶入for循環(huán)中,i=0時(shí),aa[0][1]=3,+p=2;*p輸出的是指針?biāo)赶虻臄?shù)組值,此時(shí)p所指向的是aa[O][O],輸出2,而i=l時(shí)執(zhí)行了++p操作使指針向后移動(dòng)指向了aa[O兒1],所以在輸出*p時(shí)應(yīng)為3。

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

        #include

        #include

        fun(char*w,int n)

        {

        char t,*s1,*s2;

        s1=w;s2=w+n-l:

        while(s1

        {

        t=*s1++:

        *sl=*s2–;

        *s2=t;

        }

        }

        main()

        {

        char*p;

        p=”1234567″;

        fun(p,strlen(p));

        puts(p);

        }

        A)1234567 B)7654321 C)1711717 D)717717l

        答案:C

        評(píng)析:在子函數(shù)fun中,sl為字符串w的起始地址,s2為字符串的結(jié)束地址(字符‘\O’除外),當(dāng)執(zhí)行循環(huán)結(jié)束循環(huán),w=“1711717”。

      3172566