• <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語言綜合練習題

            更新時間:2024-03-07 16:15:47 閱讀: 評論:0

            2024年3月7日發(作者:成長作文200字)

            C語言綜合練習題

            《C語言程序設計》綜合練習題

            一、單項選擇題

            1. 下列( D )是字符串比較函數。

            A. puts() B. gets() C. strcpy () D. strcmp()

            2.構成一個完整的C源程序必須有且只有一個( C )。

            A. 函數 B. 過程 C. 主函數 D. 程序

            3. 設有int i,j,k;則表達式i=1,j=2,k=3,i&&j&&k的值為( A )。

            A. 1 B. 2 C. 63 D. 0

            4.在C語言中,不同類型數據混合運算時,要先轉化成同一類型后進行運算。設一表達式中包含有int、long、unsigned、char類型的變量和數據,則表達式最后的運算結果是( D )類型數據。

            A.int B.char C.unsigned D.long

            5.下列( D )不是構成標識符的字符。

            A.字母 B.數字 C.下劃線 D.標點符號

            6.表達式:3>5&&-1||6<3-!-1的值是( A )。

            A. 0 B.1 C. 表達是不合法 D. 均不對

            7. 以下標識符中能做為合法的C用戶標識符的是( D )。

            A. A3+B3 B. float C. 3dx D. x3d

            8. 以下數據中不正確的數值或字符常量是( B )。

            A. 0.0 B. 3E2.7 C. 9861 D. 0xabcd

            9. fp=fopen(''",''r''); 語句中,r對文件處理方式是( A )。

            A. 只讀打開文件 B. 只寫打開文件

            C. 追加打開文件 D. 讀寫打開文件

            10.表示關系x<=y<=z的C語言表達式為( A )

            A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z)

            C. (x<=y)&(y<=z) D. (x<=y<=z)

            11.如果要把常量327存入變量a中,a不能定義的類型是( B )。

            A. int B. char C. long D. float

            12. 在變量的存儲結構中,( B )局部變量的初始化只有一次。

            A. 自動 B. 靜態 C. 外部 D. 寄存器

            13.下列能正確進行字符串賦值操作的語句是( C )。

            A. char s[5]={ "ABCDE"}; B. char s[5]={ 'a', 'b', 'c', 'd', 'e'}

            C. char *s;s="abcde"; D. char *s; scanf("%s",s);

            14.語句if(3/4>1/2)a=1;el a=0; 運行后,a的值是( A )。

            A. 1 B. 0 C. 與機器有關 D. 語法有錯

            15.下列( C )是合法自定義標識符。

            A. 3ma B. float C. m3a D. –ab

            16.設a,b和c都是int型變量,且a=3,b=4,c=5,則下列表達式中,值為0的表達式是( D )

            A. 'a' && 'b' B. a<=b

            C. c>=b||b+c&&b-c D. a<=b+c&&c>=a+b

            17.判斷整型變量i,j可同時被2整除的表達式(i,j同時被2整除返回1,否則返回

            0)是( B )。

            A. !(i%2)||!(j%2) B. !(i%2)&&!(j%2)

            C. (i%2)&&!(j%2) D. (i%2)||(j%2)

            18.若x,y均為double型變量,正確的輸入函數調用是( C )。

            A. scanf("%f%f",&x,&y); B. scanf("%d%d",&x,&y);

            C. scanf("%lf%lf",&x,&y); D. scanf("%lf%lf",x,y);

            19. 設變量均為整型,表達式(a=2,b=5,a>b?a++:b++,a+b)的值是( B )。

            A. 7 B. 8 C. 9 D. 2

            20.當執行以下程序段時( A )。

            x= -1;

            Do {x=x*x;}while(!x);

            A. 循環體將執行一次 B. 循環體將執行兩次

            C. 循環體將執行無限次 D. 系統將提示有語法錯誤

            21.執行下列程序段后,a值為( A )。

            a=1;b=0;

            if((a++>++b)?a++;b--) a+=b;

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

            22.若x為char型變量,y為int型變量,x,y均有值,正確的輸出函數調用是( A )。

            A. printf("%c%c",x,y); B. printf("%c%s",x,y);

            C. printf("%f%c",x,y); D. printf("%f%d",x,y);

            23.假定a和b為int型變量,則執行以下語句后b的值為( D )。

            a=1;b=10

            do

            {b-=a;a++;

            }while (b--<0);

            A. 9 B. -2 C. -1 D. 8

            24.設有說明語句:int x=43,y=0;char ch='A';,則表達式(x>=y && ch<'b' && !y)的值是( C )。

            A. 0 B. 語法錯 C. 1 D. 假

            25.假定a和b為int型變量,則執行以下語句后b的值為( D )。

            a=1;b=10;

            do

            { b-=a;a++;

            } while (b--<0);

            A. 9 B. -2 C. -1 D. 8

            26.下列不正確的轉義字符是( C )。

            A. '' B. ''' C. '074' D. '0'

            27.已知字符'b'的ASCII碼為98,語句printf(''%d,%c'','b','b'+1);的輸出為( D )。

            A. 98,b B. 語句不合法 C. 98,99 D. 98,c

            28.下列( B )說法,是對“int *p;”正確解釋。

            A. 定義p是整型變量 B. 定義p為指向整型變量的指針變量

            C. 定義p為數組名 D. 定義p的內容為整形地址

            29.以下各組運算符中,優先級最高的運算符是( B )。

            A. < = B. / C. ! = D. & &

            30.表示關系x<=y<=z的C語言表達式為( A )。

            A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z)

            C. (x<=y<=z) D. (x<=y)&(y<=z)

            31.下列程序段執行后s值為( C )。

            int i=1,s=0;

            do{if(!(i%2))continue;s+=i}while(++i<10);

            A. 1 B. 45 C. 25 D. 以上均不是

            32.若x,y均為int型變量且有值,要輸出x,y的值,正確的輸出函數調用是( D )。

            A. printf("%d%d",&x,&y); B. printf("%f%f",x,y);

            C. printf("%f%d",x,y); D. printf("%d%d",x,y);

            33.字符串“c program”存放在內存中占用字節數為( A )。

            A. 10 B. 9 C. 11 D. 8

            34.下列程序段運行后x的值是( D )。

            A. 14 B. 4 C. 15 D. 3

            int al=1,a2=2,a3=3,x=15;

            if (!al) x--;

            el if (a3) x=3;

            el x=4;

            35.對于int a,則表達式1<=a<=5值是( B )。

            A. 0 B. 1 C. 不定 D. 表達式語法有錯

            36.變量的存儲類型有四種。下列( D )的存取速度最快。

            A. 自動變量 B. 靜態變量

            C. 外部變量 D. 寄存器變量

            37.假定a和b為int型變量,則執行以下語句后b的值為( A )。

            a=1;b=10;

            do

            {b-=a;a++;}

            while(b--<0);

            A. 9 B. -2 C. -1 D. 8

            38.設有以下程序段:

            int x=0,s=0;

            while(!x!=0) s+=++x;

            printf("%d ",s);

            則( B )。

            運行程序段后輸出0

            A. 運行程序段后輸出1

            B. 程序段中的控制表達式是非法的

            D. 程序段執行無限次

            39.設x和y均為int型變量,則執行以下語句后的輸出為( A )。

            x=15;y=5;printf("%dn",x%=(y%=2));

            A. 0 B. 1 C. 6 D. 12

            40.已知字母a的碼值為十進制97,數字0的碼值為十進制48,下面程序的輸出是( D )。

            A. 輸出無定值 B. e,4 C. 101,52 D. e,52

            #include

            int main()

            {char c1,c2;

            c1='a'+'6'-'2';

            c2='b'-'a'+'3';

            printf("%c,%dn",c1,c2);

            return 0;

            }

            41.若x和y都是int型變量,x=100,y=200,則下列程序段:printf(''%d'',(x,y));的輸出結果是( A )。

            A.200 B.100

            C.100 200 D.輸出格式符不夠,輸出不確定的值

            42.假設定義數組:float score[10]; 并且其地址為2000,則元素score[5]的地址為( D )。

            A. 2005 B. 2010 C. 2015 D. 2020

            43.假定p所指對象的值為25,P+1所指對象的值為46,則*(++p)的值為(C )。

            A. 26 B. 25 C. 46 D. 47

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

            For(i=2;i==0;)printf(''%d'',i--)

            A.無限次 B.0次 C.1次 D.2次

            45.設C語言中,一個int型數據在內存中占2個字符,則unsigned int型數據的取值范圍為( C)。

            A. 0~255 B. 0~32767 C. 0~65535 D. 0~

            46.已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數時,正確的數據輸入方式是( C )。

            int a1,a2;char c1,c2;

            scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

            A. 10A 20B B. 10 A 20 B

            C. 10A20B D. 10A20 B

            47.閱讀以下程序,當輸入數據的形式為25,13,10正確的輸出結果為( D )。

            #include

            int main()

            {int x,y,z;

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

            printf("x+y+z=%dn", x+y+z);

            return 0;

            }

            A. x+y+z= 48 B. x+y+z= 35 C. x+z=35 D.不確定值

            48.表示圖中坐標軸上陰影部分的正確表達式是( C )。(其中a

            X

            c

            a

            b

            A. (x<=a)&&(x>=b)&&(x<=c) B. (x<=a)||(b<=x<=c)

            C. (x<=a)||(x>=b)&&(x<=c) D. (x<=a)&&(b<=x<=c)

            49.設有以下程序段:

            int x=0,s=0;

            while(!x!=0) s+=++x;

            printf("%d ",s);

            則( B )。

            A.運行程序段后輸出0

            B.運行程序段后輸出1

            C.程序段中的控制表達式是非法的

            D.程序段執行無限次

            二、判斷題

            1.打開文件的函數是fclo。( X )。

            2.局部靜態變量是在編譯時賦初值的,即只賦初值一次。( O )

            3.C語言中允許使用字符串變量。( X )

            4.外部變量必須定義在文件的開頭部分。( X )

            5.語句while(!E);中的表達式!E等價于E= =0。( O )

            6.實型分類:單精度、雙精度和整型。( X )

            7.邏輯運算優先級別都低于算術運算。( X )

            8.函數的形參在退出該函數后是不可見的。( )

            9.如果在定義函數時省略extern,則隱含為外部函數。( X )

            10.定義二維數組時,第一維長度可以省略。( O )

            11.字符'0'是字符串的結束標記,其ASCII代碼為0。( O )

            12.若有int i=10,j=0; 則執行完語句if(j=0)i++;el i--; i的值為11。( X )

            13.continue語句的作用是提前結束整個循環的執行。( X )

            14.Break語句的作用是提前結束整個循環的執行。( O )

            15.在定義函數時的參數是“形式參數”,在調用函數時的參數是“實際參數”。( O )

            16.在函數調用時,實參和形參的變量個數可以不一樣多。( X )

            17.在函數調用時,實參和形參的變量個數一定要一樣多。 ( )

            18.若有說明:int a[][4]={{0},{0}}則二維數組a的第一維大小為0。( X )

            19.字符串"china"在內存中占據的存儲空間是5個字節。( X )

            20.打開文件的函數是fclo。( X )

            21.打開文件的函數是fopen( O )。

            22.若有說明:sratic int a[3][4];則數組a中各元素可在程序的編譯階段得到初值0。( O )

            23.假設定義數組:float score[10];并且其地址為2000,則元素score[5]的地址為2005(X)。

            24.C語言的基本單位是函數。( O )

            25.已知字符'b'的ASCII碼為98,語句printf(''%d,%c'','b','b'+1);的輸出為: 98,99。( X )

            26.從變量的作用域來分,變量可以分為靜態變量和動態變量。( X )

            27.若用數組名作為函數調用時的實參,則實際上傳遞給行參的是數組的第一個元素值(X)

            28.結構體和數組一樣,它們的成員都是相同類型數的集合。( X )

            29.調用strlen("abc0ef0g")的返回值為8。( X)

            三、填空題

            1.如果希望函數中的局部變量的值在函數調用結束后不消失而繼續保留原值,就應該指定它為 靜態局部變量 ,用 static 進行聲明。

            2. 結構化程序設計方法中,程序有三種基本結構,即: 順序結構 ,

            選擇結構 和 循環結構 。

            3.若int i=8,j=9;float x=123.456;printf(''x=%8.3f,j=%-4dn'',x,j);結果為: x= 123.456

            j=9 。

            4.設C環境下一個int型數據占用2個字節,設int a[4]={1,2,3,4},*p=a;其中a=2000;則*p= 1 ,p+1= 2002 ,*(p+2)= 3 。

            5.在C語言中,表示邏輯“假”值用 0 。

            6.設C環境下一個int型數據占用2個字節,設int a[5]={5,4,3,2,1},*p=a;其中a=2000;則 *p= 5 ,p+3= 2006 ,*(p+2)= 3 。

            7.用戶定義函數體部分一般分為 說明部分 和 語句部分 兩部分。

            8.用下列for循環將大寫字母逆序輸出(即從Z到A),其語句為:

            for(i=0;i<26;i++) putchar(‘Z-I’) ;

            9.C語言中函數的參數分為 形參 和 實參 。

            10.用戶自己建立的由不同類型數據組成的組合型的數據結構稱為 結構體

            類型,它的名字是由一個關鍵字 struct 和 結構體名 組合而成。

            11.建立并運行C 程序的最簡步驟為_ 編輯 , 編譯和鏈接 和

            運行 。

            12.轉義字符“n”表示 換行 。

            13.直接或間接調用自身的函數稱為 遞歸 函數。

            14.int*p和int**p;含義分別是定義一個指向整形數據 的指針變量

            和定義一個指針變量p,它指向一個指向整型數據的指針變量

            15.語句printf("%d%d",123);將輸出: %d123 。

            16.轉義字符“n”表示 換行 。

            17.C語言中,表示邏輯“真”用: 非零 表示,邏輯“假”用: 零 表示。

            18.表達式12345===12345/3*3的值為__ 1 __。

            19.若有定義:int m=5,y=2;則執行表達式y+=y-=m*=y后的y值是 -6 。

            20.已知int a=4,b=20,x=3;則:

            (1)a+x*(int)(2.5/0.7)的值為: 13 。

            (2)(a+3)/3+a%b的值為: 6 。

            (3)x*=5+4的值為: 27 。

            21.用數組元素作實參時,向形參變量傳遞的是 數組元素的值 ,而用數組名作函數實參時,向形參傳遞的是 數組首元素的地址 。

            22.int a=10,b=15,c=1,d=2,e=0,則下列表達式的運行結果是:

            (1) !e 1

            (2) c==b>e 1

            (3) (b==10)&&(a==10) 0

            (4) (a+5==b)||((c=b+a)>(d=c+b)) 1

            23.表達式4>10?(5>3?(4,2):3):(6,7)的值為 7 。

            24.在C語言中,邏輯“真”值用 1 表示。

            25.strcat(ch1,ch2)的功能是: 將ch2的內容接到ch1后面,得到新的字符串

            ch1 。

            26.strlen("Guangzhou tvu")的值為 14

            27.若有定義:double x[3][5]; 則數組中行下標的下限為 0 ,列下標的上限為 4

            28.寫出i小于0或大于10時為真的表達式: i<0||i>10 。

            29.一個函數由兩部分組成,即: 函數的聲明部分 和 函數體部分 。

            30.數組元素的相關性表現在它們具有相同的 名字 和 類型 。

            31.以下程序實現輸出x,y,z三個數中的最大者,請在【】內填入正確內容。

            #include

            main()

            {

            int x=4,y=6,z=7;

            int【① u,v 】;

            if (【② x>y 】)

            u=x;

            el

            u=y;

            if (【③ u>z 】)

            v=u;

            el

            v=z;

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

            }

            32.在C語言中用 0 代表“假”,用 1 代表“真”。但只要 非0 則都認為是“真”。

            33.用來引用特定數組元素的數字稱為 下標 。

            34.一個C程序總是從 main()函數的入口地址處 開始執行的。

            35.下面程序的功能是用公式?6?26?1111+++……+求π的近似值,直到最后一2222123n項的值小于10為止。請填空。

            #include

            #include

            int main()

            {

            long i=1;

            【① float 】pi=0;

            while (i*i<=1e+6)

            {pi=【② pi+1.0/(i*i) 】; i++; }

            pi=sqrt(6.0*pi);

            printf("pi=%10.6f/n",pi);

            }

            36.若所用變量已正確定義,寫出下列FOR循環的次數為: 5 。

            a=2,b=10;

            for (i=b;i>=a;i--,a++)

            printf("%3d",i);

            37.用下列for循環將大寫字母逆序輸出(即從Z到A),其語句為:

            for(i=0;i<26;i++) putchar(‘Z-I’) ;

            38.一個源文件可以包含一個或者若干個函數。在函數內定義的變量是 內部變量,而在函數之外定義的變量稱為 外部變量 。 外部 變量是全局變量。

            39.C語言中根據數據的組織形式,可以將文件分為文本文件 和 二進制文件 。

            40.要把一個外部變量只限制于被本文件使用,而不被其他文件引用,必須在定義這個外部變量時加一個 static聲明 。

            41.寫出下列程序段的運行結果: s=0 。

            s=7;

            while(--s)

            s-=2;

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

            42.C語言規定:在每一個字符串的結尾加上一個 字符串結束標志”0” ,以便系統據此判斷字符是否結束。

            43.break語句只能用在 循環 語句或 多分支選擇 語句中。

            44.Continue語句只能用在___ 循環 __語句中。

            45.結構化程序設計方法中,程序有三種基本結構,即: 順序結構 , 選擇結構 和 循環結構 。

            46.設有int a,b;當執行輸入函數scanf(“%d:%d”,&a,&b);時正確的輸入是 5:8 。

            四、問答題

            1.請閱讀下面的程序:

            #include

            int main()

            {int cal(int a,int b,char op);

            int x,y,z,result;

            char op1,op2;

            scanf("%d%c%d%c%d",&x,&op1,&y,&op2,&z);

            if(op1=='+'&&op2=='*')

            result=cal(x,cal(y,z,op2),op1);

            el

            result=cal(cal(x, y, op1),z, op2);

            printf("%dn",result);

            return 0;

            }

            int cal(int a,int b,char op)

            {

            if(op=='*')

            return(a*b);

            el

            return(a+b);

            }

            問題1:當輸入2+3*5時,上述程序將輸出 17 。

            問題2:把op1= ='+' && op2= ='*' 中的 op1,op2對調后,當輸入為2+3*5時,上述程序將輸出 25 。

            2.試闡述'x'和"x"的區別。

            'x'表示字符常量,占一個字節;"x"表示字符串常量,占2個字節

            3.寫出以下程序的運行結果。

            #include "stdio.h"

            int main()

            {

            struct stu_list

            {

            int num;

            char *name;

            }sl={34, "sun"};

            printf ("Number=%dtName=%sn", ,);

            return 0;

            }

            該程序的運行結果為: Number=34 Name=sum

            4.假設有以下程序段:

            int a[10];

            ……

            a[10]=3;

            ……

            試分析兩個a[10]的區別。

            答:前一個a[10]定義一個int數組,數組名為a,有10個元素;后一個a[10]表示數組a中的一個元素,下標是10,該元素越界。

            五、閱讀程序題

            1. 以下程序的執行結果是 817 。

            #include

            int main()

            {

            int func(int a,int b);

            int k=4,m=1,p;

            p=func(k,m);

            printf("%d",p);

            p=func(k,m);

            printf("%dn",p);

            return 0;

            }

            func(int a,int b)

            {

            static int m=0,i=2;

            i+=m+1;

            m=i+a+b;

            return(m);

            }

            2. 該程序運行結果為: 4 1 3

            2 4

            #include "stdio.h"

            int main()

            {

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

            p=a;

            printf("%dt%dt%dn",a[3],*p,*(p+2));

            p++;

            printf("%dt %dn",*p,a[3]);

            return 0;

            }

            3.以下該程序運行結果為: 2 5 3

            4 2

            4 2

            #include "stdio.h"

            int main ()

            {

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

            p=a;

            printf ("%dt%dt%dn",a[3],*p,*(p+2));

            p++;

            printf ("%dt%dn",*p,a[3]);

            return 0;

            }

            4. 閱讀以下程序

            #include "stdio.h"

            main()

            {

            char c;

            c=getchar();

            switch(c)

            {

            ca 'a':

            ca 'A':printf("BASICn");break;

            ca 'b':

            ca 'B':printf(FORTRANn");break;

            ca 'c':

            ca 'C':printf("PASCALn");break;

            default:printf("n");

            return 0;

            }

            請回答:輸入d,回車,運行結果為:

            輸入a,回車,運行結果為: BASIC

            5. 以下程序的運行結果是: sum=248

            #include "stdio.h"

            int main()

            {int x,sum=3;

            int a[]={70,80,90,65,75,95,60,80};

            for (x=1;x<7;x*=2)

            sum=sum+a[x];

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

            return 0;

            }

            6.以下程序的運行結果是運行結果: 10,32,13,24,45,96,17,81,9

            10,32,24,96

            #include "stdio.h"

            int main()

            {void pr(int *p);

            int a[]={10,32,13,24,45,96,17,81,9,-999};

            int i,*pa;

            pa=a;

            for(i=0;a[i]!=-999;i++)

            printf("%d,",a[i]);

            printf("n");

            pr(pa);

            return 0;

            }

            void pr(int *p)

            {while(*p!=-999)

            {if(*p%2==0)printf("%d,",*p);

            p++;

            }

            printf("%n");

            }

            7. 閱讀以下程序

            #include "stdio.h"

            int main()

            {

            char c;

            c=getchar();

            switch(c)

            {

            ca 'b':

            ca 'B': printf("BASICn");break;

            ca 'f':

            ca 'F': printf("FORTRANn"); break;

            ca 'p':

            ca 'P': printf("PASCALn"); break;

            default: printf("n");

            }

            return 0;

            }

            請回答:輸入p,回車,運行結果為: PASCAL

            輸入a,回車,運行結果為:

            8. 以下程序的執行結果是 7 。

            #include

            int main()

            {

            int func(int x);

            printf("%dn",func(9));

            return 0

            }

            func(int x)

            {

            int p;

            if(x==0||x==1)

            return(3);

            p=x-func(x-2);

            return p;

            }

            9. 以下程序的運行結果是: 6 11

            6 11

            #include "stdio.h"

            int main()

            {

            void f(int n);

            int m=4;

            f(--m);

            f(++m);

            return 0;

            }

            void f(int n)

            {

            int x=5,y=10;

            if (n>0)

            printf("%dt %dt n",++x,++y);

            }

            10. 以下程序的運行結果是: 11 10 9 10

            #include "stdio.h"

            int main()

            {int m=10;

            printf("%dt%dt",++m,m--);

            printf("%dt%d",--m,m++);

            printf("n");

            return 0;

            }

            11. 以下程序的該程序運行結果為: 6 11

            #include "stdio.h"

            int main()

            {

            void f(int n);

            int m=1;

            f(--m);

            f(++m);

            return 0;

            }

            void f(int n)

            {

            int x=5,y=10;

            if (n>0) printf("%dt %dtn",++x,++y);

            }

            12. 以下程序的執行結果是 4 。

            #include

            int main()

            {

            int funcl(int a,int b);

            int func2(int a,int b);

            int x=7,y=17;

            printf("%dn",funcl(x,y));

            return 0

            }

            int funcl(int a,int b)

            {

            int c;

            a+=a;

            b+=b;

            c=func2(a,b);

            return(c*c);

            }

            int func2(int a,int b)

            {

            int c;

            c=a*b%3;

            return(c);

            }

            13. 以下程序的執行結果是 x=-7,y=-10,m=2 。

            #include

            int x=-8,y=100;

            int main()

            {

            int func(int a);

            int m=2;

            y=func(m);

            printf("x=%d,y=%d,m=%dn",x,y,m);

            return 0

            }

            int func(int a)

            {

            int y;

            y=x+a;

            x++;

            a++;

            return(x+y+a);

            }

            14. 以下程序的程序運行結果為: 8 10 12 14 16

            #include "stdio.h"

            int main()

            { int n=7;

            while (n<=15)

            {n++;

            if(n%2!=0)

            continue;

            printf("%dt",n);

            }

            printf("n");

            return 0;

            }

            15. 以下程序的運行結果為: Number=34 Name=sun

            #include "stdio.h

            int main()

            {

            struct stu_list

            {

            int num;

            char *name;

            }sl={34, "sun"};

            printf ("Number=%dtName=%sn", ,);

            return 0;

            }

            16. 以下程序的運行結果為: sum=248

            #include "stdio.h"

            int main()

            { int x,sum=3;

            int a[ ]={70,80,90,65,75,95,60,80};

            for (x=1;x<7;x*=2)

            sum=sum+a[x];

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

            return 0;

            }

            17. 以下程序的功能是: 將a數組中的5個數按升序排序

            #include "stdio.h"

            int main()

            {

            int a[5]={31,6,31,65,41},i,j,m,k;

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

            {

            k=i;

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

            if (a[k]>a[j]) k=j;

            if (k!=j)

            {m=a[k];a[k]=a[i];a[i]=m;}

            }

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

            printf("%dt",a[i]);

            return 0;

            }

            18. 以下程序的執行結果是 11 10 9 10 。

            #include

            int main()

            {int m=10;

            printf("%dt%dt",++m,m--);

            printf("%dt%d",--m,m++);

            printf("n");

            return 0;

            }

            六、程序完整填空

            1. 連續向數組輸入成績,當輸入負數時停止接收數據,顯示數組元素的值。

            #include "stdio.h"

            int main()

            {int n=0;

            int c[100];

            do

            {printf("enter num:n");

            [1] scanf("%d",&c[n]) ;

            n++;

            }while( [2] c[n-1]>=0 );

            for(n=0;c[n]>=0;n++)

            printf("%d,",c[n]);

            printf("n");

            return;

            2.下面程序段是從鍵盤輸入的字符中統計數字字符的個數,用換行符結束循環。請填空。

            #include "stdio.h"

            int main()

            {

            int n=0,c;

            c=getchar();

            while( [1] c!='n' )

            {

            if( [2] c>='0'&&c<='9' ) n++;

            c=getchar(

            }

            printf("the number of digits is:%d",n);

            printf("n");

            return 0;

            }

            3. 統計出讀入的10個數據中,求出大于0的整數個數和小于0的整數個數。

            #include

            int main()

            {int i,j,n=1,a;

            i=j=0;

            scanf ("%d",&a);

            while [1] n<=10

            {if (a>0) i= [2] i+1 ;

            if(a<0) j= [3] j+1 ;

            [4] scanf ("%d",&a) ;

            [5] n++ ;

            }

            pintf("%i=%4d j=%4dn",i,j);

            return 0;

            }

            4.將一維數組的數據按從大到小排序輸出。

            #include "stdio.h"

            int main()

            {int i,j,temp;

            int a[8]={50,80,70,45,90,65,78,95};

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

            for(j= [4] j+1 ;j<8;j++)

            if( [5] a[i]

            {temp=a[i];a[i]=a[j];a[j]=temp;}

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

            printf("%dt",a[i]);

            printf("n");

            return 0;

            }

            5.以下程序的功能是根據輸入的'y' ('Y') 與'n' ('N'),在屏幕上分別顯示出''This is YES. ''與''This is YES. ''。請填空。

            #include

            Int main()

            {

            void YesNo(char ch);

            char ch;

            printf(''nEnter a char 'y', 'Y' or 'n', 'N':'');

            ch = [1] getchar() ;

            printf(''ch:%cn'',ch);

            YesNo(ch);

            return 0

            }

            Void YesNo(char ch)

            {

            Switch(ch)

            {

            Ca 'y':

            Ca 'Y':printf(''nThis is YES.n''); [2] break ;

            Ca 'n':

            Ca ‘N’:printf(''nThis is No.n''); [3] break ;

            }

            }

            6.三十六個人抬三十六塊磚。每個男人挑兩塊,每個女人搬一塊。兩個小孩抬一塊。問要多少男人,多少女人和多少小孩?

            #include

            int main()

            { [1] int i,j,k ;

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

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

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

            if ( [5] (i+j+k==36) && (2*i+j+k/2.0==36.0) )

            printf("%d,%d,%dn",i,j,k);

            return 0;

            }

            7.從鍵盤接收三個值,找出最大在MAX中。

            #include

            int main()

            {int a,b,c,max;

            scanf("%d,%d,%d", [1] &a,&b,&c );

            max=(a>b)? [2] a : [3] b ;

            max= [4] c>max ? [5] c : [6] max ;

            printf("%d",max);

            return 0;

            }

            六、程序改錯(每個程序有若干處錯誤,用注釋符號“//”在有錯誤的語句后面說明如何修改錯誤)

            1.

            #include

            int main ()

            { fo1at a,b,c; // fo1at應改為float

            a=2,b=4,c=9;

            int i; //for語句后面的“;”應去掉

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

            print ("%d%d%dn",a,b,c ); //應改為printf ("%f%f%fn",a,b,c);

            return 0;

            }

            2.

            #include "stdio" //#include "stdio.h"

            int main();

            {

            void f(int x1,int x2);

            int a2;a3;i; //int a2,a3,i;

            int a(5)=[3;5;6;7;5]; // int a[5]={3,5,6,7,5};

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

            if ( a(i)=5) printf("a=%dt",a(i)); // if ( a[i]==5) printf("a=%dt",a[i]); /*若a數組元素的值等于5,則輸出*/

            a2=4;a3=6;

            f(a2;a3); // f(a2,a3);

            return 0;

            }

            void f(x1,x2) // void f(int x1,int x2)

            {

            int x3;

            x3=x1

            printf("%dn",x3);

            retrnu; // return;

            }

            3.

            #include //#include

            int main ()

            {void f(int x1,float x2); // void f(int x1,int x2);

            int a2,a3,i;

            int a(5)=[3,5,6,7,5]; //int a[5]={3,5,6,7,5}

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

            if(a(i)= =5) // if(a[i]= =5)

            printf("a=%dt",a(i)); // printf("a=%dt",a[i]);

            a2=4;a3=6; // a2=4;a3=6;

            f(a,a2,a3); // f(a2,a3);

            return 0;

            {

            void f(int x1,int x2)

            {

            int x3;

            x3=x1

            printf( "%dn",x3);

            return; // return;

            }

            4.

            #include

            Int main ()

            {int a,b;

            scanf("%f, %f,a,b); //應改為scanf("%d, %d",&a,&b);

            if a>b //應改為if (a>b)

            printf ("%d",A) //應改為printf ("%d",a);

            el

            printf ("%d",B) //應改為printf ("%d",b);

            return 0;

            }

            C語言綜合練習題

            本文發布于:2024-03-07 16:15:47,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1709799347153847.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:C語言綜合練習題.doc

            本文 PDF 下載地址:C語言綜合練習題.pdf

            標簽:變量   函數   程序   數組
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 亚洲区综合区小说区激情区 | 久久久久免费看成人影片| 变态另类视频一区二区三区| 久热这里只有精品12| 国产成人AV男人的天堂| 丝袜欧美视频首页在线| 伊人色在线视频| 欧美成人VA免费大片视频| 国产一区二区三区色成人| 99riav国产精品视频| 午夜福利电影| 国产高清亚洲一区亚洲二区| 国产欧美精品一区二区三区-老狼| 又爽又黄又无遮挡的激情视频| 久久精品国产99久久无毒不卡 | 日本中文字幕久久网站| 18禁男女爽爽爽午夜网站免费| A毛片终身免费观看网站| 欧美产精品一线二线三线| 亚洲日本精品一区二区| 天堂√在线中文官网在线| 色吊丝中文字幕在线观看| 欧美成人精品手机在线| 91国产自拍一区二区三区| 人成午夜大片免费视频77777| 亚洲色av天天天天天天| 欧美熟妇乱子伦XX视频| 欧美日本精品一本二本三区| 二区三区国产在线观看| 国产一区二区三区不卡在线看| 午夜毛片精彩毛片| 国产午夜美女福利短视频| 少妇高潮水多太爽了动态图| 日本一卡2卡3卡四卡精品网站| 99久久国产综合精品女图图等你 | 人妻(高h)| 蜜臀午夜一区二区在线播放| 久久国产免费直播| 免费超爽大片黄| 欧美奶涨边摸边做爰视频| 性做久久久久久久|