版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第第頁
《智慧樹知到》《C語言編程新思路(山東理工大學(xué))》章節(jié)測試題及答案
第一章測試
1、關(guān)于一個C語言程序執(zhí)行的起點和終點,以下選項正確的是()。
A、mainmain
B、第一個最后一個
C、main任意
D、main最后一個
正確答案:A
2、C語句的程序一行寫不下時,可以()。
A、用逗號換行
B、用分號換行
C、用任意空格換行
D、用回車換行
正確答案:D
3、以下敘述不正確的是()。
A、C程序中,語句之間必須用分號分隔
B、C程序中,多行語句可以寫在一行上
C、C程序中,可以不必包含主函數(shù)
D、一個C程序,可以由多個函數(shù)組成
正確答案:C
4、C語言規(guī)定,在一個源程序中,main函數(shù)的位置()。
A、必須在最開始
B、必須在系統(tǒng)調(diào)用庫函數(shù)的后面
C、可以任意
D、必須在最后
正確答案:C
5、以下敘述正確的是()。
A、在C程序中,注釋說明只能位于一條語句的后面。
B、C程序的每行中只能寫一個語句
C、C語言本身沒有輸入輸出語句
D、在對C語言進行編譯的過程中,不能發(fā)現(xiàn)注釋中的錯誤
正確答案:D
6、函數(shù)的主體部分需要用一對()括起來。
A、{}
B、[]
C、()
D、
正確答案:A
7、以下敘述錯誤的是()。
A、一個C程序只有在編譯、連接成.exe程序之后才能執(zhí)行
B、C程序編譯后生成.obj文件
C、C程序的每一條語句都必須用分號結(jié)束
D、只有一個分號的語句不是合法的C語句
正確答案:D
8、計算機能夠直接識別和執(zhí)行的計算機語言()。
A、匯編語言
B、機器語言
C、C語言
D、高級語言
正確答案:B
9、以下敘述錯誤的是()。
A、對于計算機而言,程序是指完成某一特定任務(wù)的一組指令序列
B、一個C程序編譯成功后在連接時發(fā)現(xiàn)錯誤,需要編輯修改,然后不必重新編譯和連接即可直接運行。
C、機器語言和匯編語言都是低級語言
D、C語言是一種函數(shù)型語言,每個C語言程序都是由若干個函數(shù)組成
正確答案:B
10、對C程序的注釋說明信息必須寫在()之間。
A、和
B、和
C、/*和*/
D、{和}
正確答案:C
11、用C語言編寫的源程序,必須翻譯成用二進制指令表示的目標(biāo)程序,才能被計算機識別,這個過程稱為()。
A、編輯
B、編譯
C、匯編
D、解釋
正確答案:B
12、關(guān)于C語言的特點,以下敘述錯誤的是()。
A、C語言一共只有32個關(guān)鍵字,9種控制語句,程序書寫自由
B、C語言共有34種運算符,表達式類型多樣化
C、C語言不能直接對硬件進行操作
D、C語言程序可以方便的在不同的計算機間和各種操作系統(tǒng)中實現(xiàn)程序的移植
正確答案:C
13、C語言程序的基本構(gòu)成單位是()。
A、語句
B、表達式
C、函數(shù)
D、運算符
正確答案:C
14、能夠在編譯過程中被檢查出來,并給出提示信息的是()。
A、語法錯誤
B、邏輯錯誤
C、運行錯誤
D、注釋錯誤
正確答案:A
15、以下敘述錯誤的是()。
A、計算機語言大致可以分為三大類:機器語言、匯編語言和高級語言
B、高級語言比低級語言更貼近人類使用的語言,易于理解和使用
C、C語言是一種通用的、過程式編程語言,具有高效、靈活、可移植等優(yōu)點
D、C語言屬于匯編語言
正確答案:D
16、C語言源程序文件的后綴名是()。
A、.obj
B、.exe
C、.c
D、.vbp
正確答案:C
17、C語言編譯程序是()。
A、C程序的機器語言版本
B、一組機器語言指令
C、將C源程序編譯成目標(biāo)程序
D、廠家提供的應(yīng)用軟件
正確答案:C
18、以下敘述錯誤的是()。
A、C語言的注釋有兩種類型:單行注釋和多行注釋
B、C程序的單行注釋語句以"http://'開始
C、C語言的注釋語句不影響編譯結(jié)果
D、C語言程序中只要出現(xiàn)在"/*'和"*/'之間的就一定是注釋內(nèi)容
正確答案:D
19、C語言源程序文件經(jīng)過編譯后的目標(biāo)文件后綴名是()。
A、.exe
B、.obj
C、.c
D、.vbp
正確答案:B
20、C語言源程序編譯、連接后的可執(zhí)行文件后綴名是()。
A、.exe
B、.obj
C、.c
D、.bak
正確答案:A
第二章測試
1、下面4個選項中,均是不合法的用戶標(biāo)識符的選項的是()。
A、Datesumdo
B、charpao_123
C、b+aiffloat
D、_abcTempInt
正確答案:C
2、下面4個選項中均是合法常量的選項是()。
A、05812e33.6'd'
B、12.80x9843.56e2'\n'
C、w0340xa3'\m'
D、4.450765.33E1.5how
正確答案:B
3、以下敘述不正確的是()。
A、在C語言中,%運算符的優(yōu)先級高于/運算符
B、在C語言中,area和AREA是兩個不同的變量名
C、在C語言中,可以使用二進制整數(shù)
D、若a和b類型相同,在計算了賦值表達式a=b后,a得到b的值,而b的值不變
正確答案:C
4、在C語言中,要求運算對象必須是整型的運算符是()。
A、/
B、*
C、+
D、%
正確答案:D
5、若有說明語句:charch='\0x41';則變量ch包含()個字符。
A、1
B、2
C、3
D、說明不合法,ch的值不確定
正確答案:A
6、若有定義:inta=7;floatx=2.5,y=4.5;則表達式x+a%3*(x+y)/2的值是()。
A、2.500000
B、6.000000
C、5.500000
D、0.000000
正確答案:B
7、設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+'a'+i*f值的數(shù)據(jù)類型為()。
A、int
B、float
C、double
D、不確定
正確答案:C
8、以下敘述正確的是()。
A、在C語言中,一行只能寫一條語句
B、若a是實型變量,則在C語言中不允許用其他類型的數(shù)據(jù)對其賦值
C、在C語言中,無論是整數(shù)還是實數(shù),都能被準(zhǔn)確無誤地表示
D、在C語言中,%是只能用于整數(shù)運算的運算符
正確答案:D
9、在C語言中,int型數(shù)據(jù)在內(nèi)存中的存儲形式是()。
A、原碼
B、反碼
C、補碼
D、ASCII碼
正確答案:C
10、下列選項中可作為C語言的合法整數(shù)的是()。
A、a2
B、101011B
C、03845
D、0x4b5
正確答案:D
11、字符型數(shù)據(jù)在內(nèi)存中是以()形式存儲的。
A、ASCII碼
B、補碼
C、原碼
D、BCD碼
正確答案:A
12、下列敘述正確的是()。
A、C語言不允許混合類型數(shù)據(jù)間進行運算
B、在C語言中,'b'和b的含義是不同的
C、C語言中,任何類型的數(shù)據(jù)都可進行%運算
D、在C語言中,整型常量有二進制、八進制、十六進制和十進制4種表示形式
正確答案:B
13、#includestdio.hintmain(){charch;inti;i=65;ch=a;printf(%c,%c,%d,%d\n,i,ch,i,ch);return0;}這段程序的運行結(jié)果是()。
A、A,a,65,97
B、a,A,97,65
C、a,A,65,97
D、編譯錯誤,無法運行
正確答案:D
14、設(shè)整型變量a=2,則執(zhí)行下列語句后,實型變量b的值不是0.5的是()。
A、b=1.0/a
B、b=1/(float)a
C、b=1/(a*1.0)
D、b=(float)(1/a)
正確答案:D
15、下列敘述正確的是()。
A、不同類型的變量所占內(nèi)存單元是相同的
B、C語言中,變量可以不經(jīng)定義而直接使用
C、賦值表達式的左邊只能是變量名
D、字符串常量China!在存儲時,系統(tǒng)為其分配6個字節(jié)的空間
正確答案:C
16、#includestdio.hintmain(){inta=b=5,c;c=a+b;printf(c=%d\n,c);}這段程序的運行結(jié)果是()。
A、0
B、10
C、不確定
D、編譯錯誤,無法運行
正確答案:D
17、C語言的標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符()。
A、必須是下劃線
B、可以是這三種字符中的任一種
C、必須為字母或者下劃線
D、必須是字母
正確答案:C
18、如果在一個C語言表達式中有多個運算符,則運算時應(yīng)該()。
A、只考慮優(yōu)先級
B、先考慮優(yōu)先級,然后考慮結(jié)合性
C、只考慮結(jié)合性
D、先考慮結(jié)合性,然后考慮優(yōu)先級
正確答案:B
19、已知字符A的ASCII值是65,若定義inti;則執(zhí)行語句i=A+3;后,正確的敘述是()。
A、i的值是字符A的ASCII值加上3,即68
B、語句不合法
C、語句可以執(zhí)行,但沒有計算結(jié)果
D、i的值是字符E
正確答案:A
20、在C語言中常量\n和常量'ABC'在內(nèi)存中占用的字節(jié)數(shù)分別是()。
A、13
B、14
C、23
D、24
正確答案:B
第三章測試
1、若a、b、c、d都是int類型變量且初值為0,以下選項中不正確的賦值語句是()。
A、a=b=c=d=100;
B、d=d-1;
C、a*b;
D、d=(c=30)+b;
正確答案:C
2、以下選項中不是C語句的是()。
A、{inti;printf(%d\n,i);}
B、;
C、a=5,c=10
D、{;}
正確答案:C
3、以下程序的輸出結(jié)果是()。#includestdio.hintmain(){intx=100,y=30;printf(%d\n,y=x/y);return(0);}
A、0
B、1
C、3
D、不確定的值
正確答案:C
4、若變量已正確說明為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是()。
A、read(a,b,c);
B、get(%d%d%d,a,b,c);
C、scanf(%d%d%d,a,b,c);
D、scanf(%d%d%d,
正確答案:D
5、以下程序段的輸出結(jié)果是()#includestdio.hintmain(void){inti;floatx;doubley;y=x=i=10/4;printf(y=%.2f,x=%.2f,i=%d\n,y,x,i);return(0);}
A、y=2.00,x=2.50,i=2
B、y=2.50,x=2.50,i=2
C、y=2.50,x=2.00,i=2
D、y=2.00,x=2.00,i=2
正確答案:D
6、若變量已正確定義,要將a和b中的數(shù)進行交換,下面不正確的語句組是()。
A、a=a+b,b=a-b,a=a-b;
B、t=a,a=b,b=t;
C、a=t;t=b;b=a;
D、t=b;b=a;a=t;
正確答案:C
7、以下程序的輸出結(jié)果是()。#includestdio.hintmain(void){inta=4,b=8;printf(a=%%d,b=%%d\n,a,b);/*注意轉(zhuǎn)義字符的作用*/return(0);}
A、a=%2,b=%5
B、a=2,b=5
C、a=%%d,b=%%d
D、a=%d,b=%d
正確答案:D
8、已知字母A的ASCII值為十進制數(shù)65,下面程序的輸出是()。#includestdio.hintmain(void){charch1,ch2;ch1='A'+'5''3';ch2='A'+'6''3';printf(%d,%c\n,ch1,ch2);return(0);}
A、67,D
B、67,C
C、B,C
D、C,D
正確答案:A
9、若從終端輸入以下數(shù)據(jù),要給變量c賦以340.25,則正確的輸入語句是()。
A、scanf(%f',
C、scanf(%6.2f',
D、scanf(%4f',
正確答案:A
10、以下程序運行時輸入:25回車,執(zhí)行后輸出的結(jié)果是()。#includestdio.hintmain(void){charch1,ch2;intn1;ch1=getchar();ch2=getchar();n1=ch2-ch1;printf(%d,n1);return(0);}
A、3
B、-3
C、25
D、編譯錯誤
正確答案:A
11、有以下程序#includestdio.hintmain(void){charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);return(0);}程序運行后,若從鍵盤輸入(從第一列開始)abc回車def回車則輸出結(jié)果是()。
A、cdef
B、abef
C、abcd
D、abde
正確答案:D
12、以下程序段的輸出結(jié)果是()。#includestdio.hintmain(void){charc1='a',c2='c';printf(%d,%c\n,c2-c1,c2-c1+'B');return(0);}
A、2,b
B、3,B
C、2,D
D、類型不一致,出錯
正確答案:C
13、若變量已正確定義為float類型,要通過語句scanf("%f%f%f',給a賦值10.0,b賦值20.0,c賦值30.0,不正確的輸入形式是()。
A、102030
B、10,20,30
C、10.020.030.0
D、10,2030
正確答案:B
14、以下程序的輸出結(jié)果是()。#includestdio.hintmain(void){inta,b;a=10;b=20;printf(a=%d\nb=%d\n,a,b);return(0);}
A、10,20
B、a=10,b=20
C、a=10b=20
D、1020
正確答案:C
15、若變量已正確說明,要求用以下語句給a賦值2.0,給c1賦值字符#,給b賦值4.0,則不正確的輸入形式是()。scanf("%f%c%f',
A、2.0#4.0
B、2.0#4.0
C、2#4
D、2.0#4.0,
正確答案:A
16、以下說法錯誤的是()。
A、賦值表達式的功能是將賦值運算符右側(cè)的值賦給其左側(cè)的變量。
B、若floatx=5;可以對變量x進行%操作,如x%2的值是1。
C、復(fù)合語句是用一對花括號括起來的若干條語句,從語法作用上講一條復(fù)合語句視為一條語句。
D、長整型(longint)變量,使用scanf函數(shù)輸入時,需使用%ld格式符。
正確答案:B
17、結(jié)構(gòu)化程序設(shè)計由三種基本結(jié)構(gòu)組成,下面哪個選項不屬于三種基本結(jié)構(gòu)()。
A、順序
B、選擇
C、循環(huán)
D、回溯
正確答案:D
18、下面程序段功能是先輸入一個整數(shù),然后將輸入的整數(shù)輸出,請指出哪部分有錯()。#includestdio.h//1intmain(void){inti;//2scanf(%d,i);//3printf(i=%d\n,i);//4return(0);}
A、1
B、2
C、3
D、4
正確答案:C
19、設(shè)inta=10,b;,執(zhí)行下列語句后,b的值不是2的是()。
A、b=a/4
B、b=a-8
C、b=a/4.0
D、b=a%4
正確答案:C
20、putchar()函數(shù)可以向終端輸出一個()。
A、整型
B、實數(shù)
C、字符串
D、字符
正確答案:D
第四章測試
1、表示關(guān)系xyz的c語言表達式為()。
A、(x=y)=z)
B、(x=y)AND(y=z)
C、(x=y=z)
D、(x=y)=z)
正確答案:A
2、若a=5;b=6;c=7;d=8;m=2;n=2;則執(zhí)行(m=ab)d)后,m和n的值分別為()。
A、2,2
B、0,2
C、0,0
D、2.0
正確答案:B
3、在以下一組運算符中,優(yōu)先級最高的運算符是()。
A、=
B、=
C、%
D、則下面if語句中,()是錯誤的。
A、if(a=b)x=x+1;
B、if(ab)x=x+1;
C、if(a-b)x=x+1;
D、if(x)x=x+1;
正確答案:B
5、下列表達式中,()不滿足"當(dāng)x的值為偶數(shù)時值為真,為奇數(shù)時值為假'的要求。
A、x%2==0
B、!x%2!=0
C、(x/2*2-x)==0
D、!(x%2)
正確答案:B
6、關(guān)于以下程序,正確的說法是()。#includestdio.hintmain(void){intx=0,y=0,z=0;if(x=y+z)printf(***);elseprintf(###);return(0);}
A、有語法錯誤,不能通過編譯
B、輸出:***
C、可以編譯,但不能通過連接,所以不能運行
D、輸出:###
正確答案:D
7、下列程序的輸出結(jié)果是()。#includestdio.hintmain(void){floatx=4,y=1;if(x0)y=0;elseif(x10)y=1/x;elsey=10;printf(%f\n,y);return(0);}
A、0.000000
B、10.000000
C、0.250000
D、1.000000
正確答案:C
8、執(zhí)行以下程序時,若輸入3和4,則輸出結(jié)果是()。#includestdio.hintmain(void){inta,b,s;scanf(%d%d,s=a;if(ab)s=b;s=s*s;printf(%d\n,s);return(0);}
A、14
B、16
C、18
D、20
正確答案:B
9、下列程序的輸出結(jié)果是()。#includestdio.hintmain(void){intx=1,a=0,b=0;switch(x){case0:b=b+1;case1:a=a+1;case2:a=a+1;b=b+1;}printf(a=%d,b=%d\n,a,b);return(0);}
A、a=2,b=1
B、a=1,b=1
C、a=1,b=0
D、a=2,b=2
正確答案:A
10、若有定義:inta=3,b=2,c=1;并有表達式:①a%b、②abc、③bb)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;
A、1
B、2
C、3
D、4
正確答案:B
12、在下面的條件語句中(其中S1和S2表示C語言語句),只有一個在功能上與其他3個語句不等價()。
A、if(a)S1;elseS2;
B、if(a==0)S2;elseS1;
C、if(a!=0)S1;elseS2;
D、if(a==0)S1;elseS2;
正確答案:D
13、若有inta=3,b;則執(zhí)行下面程序段后b的值是()if(a0)b=1;elseb=-1;b=b+1;
A、1
B、2
C、-1
D、0
正確答案:B
14、假定所有變量均已正確定義,下面程序段執(zhí)行后的x的值是()。a=b=0;x=35;if(!a)x=x-1;if(b)x=3;elsex=4;
A、34
B、4
C、35
D、3
正確答案:B
15、若有說明語句inti=4,j=5,k=6;floatf;則執(zhí)行f=(ik)?i:(jk)?j:k;語句后,f的值為()。
A、4.0
B、5.0
C、6.0
D、7.0
正確答案:B
16、下述程序的輸出結(jié)果是()#includestdio.hintmain(void){inta=0,b=0,c=0;if((a+1)0||(b0))c=c+1;printf(%d,%d,%d,a,b,c);return(0);}
A、0,0,0
B、1,1,1
C、1,0,1
D、0,0,1
正確答案:D
17、若x=0,則執(zhí)行下面程序段后,屏幕上會顯示()。if(x=0)printf(***);elseprintf();
A、******
B、,執(zhí)行下面程序段后a、b、c的值分別是()。if(ab)c=a;a=b;b=c;
A、10、20、30
B、20、10、10
C、20、30、30
D、20、10、30
正確答案:C
19、下列程序的輸出結(jié)果是()。#includestdio.hintmain(void){intk=8;switch(k){case7:k+=1;case8:k+=1;case9:k+=1;break;default:k+=1;}printf(%d\n,k);return(0);}
A、8
B、9
C、10
D、11
正確答案:C
20、若有floatx;inta,b;,下面四條switch語句中正確的有()條。switch(x){casex=1.0:printf("Y');casex=2.0:printf("N');}switch(a){casea=1:printf("Y');casea=2:printf("N');}switch(b){caseb==1:printf("Y');caseb==2:printf("N');}switch(x){case1.0:printf("Y');case2.0:printf("N');}
A、1
B、2
C、3
D、4
正確答案:A
第五章測試
1、以下程序段中while循環(huán)執(zhí)行的次數(shù)是()。intk=0;while(k=1)k++;
A、無限次
B、有語法錯不能執(zhí)行
C、一次也不執(zhí)行
D、執(zhí)行一次
正確答案:A
2、以下描述中正確的是()。
A、由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句
B、do-while循環(huán)中由do開始,用while結(jié)束,在while(表達式)后面不能寫分號
C、在do-while循環(huán)中,循環(huán)體至少執(zhí)行一次
D、do-while循環(huán)中,根據(jù)情況可以省略while
正確答案:C
3、在C語言中有關(guān)for循環(huán),以下正確的說法是()。
A、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B、for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式
C、在for循環(huán)不能break跳出循環(huán)體
D、for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用大括號括起來
正確答案:D
4、以下下面程序的運行結(jié)果是()。#includestdio.hintmain(){inta=1,b=2,c=2,t;while(abc){t=a;a=b;b=t;c--;}printf("%d,%d,%d',a,b,c);}
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1
正確答案:A
5、若i,j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是()。for(i=5;i;i--)for(j=0;j4;j++){...}
A、20
B、25
C、24
D、30
正確答案:A
6、下面程序的輸出結(jié)果是()。#includestdio.hintmain(){inti,j;for(i=0,j=10;ij;i+=2,j--);printf(%d%d,i,j);}
A、48
B、67
C、86
D、105
正確答案:C
7、下面關(guān)于switch語句和break語句的結(jié)論中,說法正確的是()。
A、break語句是switch語句的一部分
B、在switch語句中,可以根據(jù)需要使用或者不使用break語句
C、在switch語句中,必須使用break語句
D、break語句是for語句的一部分
正確答案:B
8、以下不是死循環(huán)的語句是()。
A、for(;;x+=i)
B、while(1){x++;}
C、for(i=10;;i--)sum+=i;
D、for(;(c=getchar())!=\n;)printf("%c',c);
正確答案:D
9、與語句頭while(!x)等價的語句頭是()。
A、while(x==0)
B、while(x!=0)
C、while(x!=1)
D、while(~x)
正確答案:A
10、在while(x)語句中的x與下列條件表達式等價的是()。
A、x==0
B、x!=0
C、x!=1
D、x=1
正確答案:B
11、下面程序的功能是:在輸入的一批正數(shù)中求最大者,輸入0結(jié)束循環(huán),選擇()填空。#includestdio.hintmain(){inta,max=0;scanf(%d,while(){if(maxa)max=a;scanf(%d,}printf(%d,max);}
A、a==0
B、a
C、!a==1
D、!a
正確答案:B
12、下面程序的功能是從鍵盤輸入一行字符,從中統(tǒng)計大寫字母和小寫字母的個數(shù),選擇()填空。#includestdio.hintmain(){intm=0,n=0;charc;while(()!='\n'){if(c='A'='Z')m++;if(c='a'='z')n++;}printf(m=%d,n=%d\n,m,n);}
A、c=getchar()
B、getchar()
C、c==getchar()
D、scanf(%c,stdio.hintmain(){intk=0,m=0,i,j;for(i=0;i2;i++){for(j=0;j3;j++)k++;k-=j;}m=i+j;printf(k=%d,m=%d,k,m);}
A、k=0,m=3
B、k=0,m=5
C、k=1,m=3
D、k=1,m=5
正確答案:B
14、下面程序的輸出結(jié)果是()。#includestdio.hintmain(){charc='A';intk=0;do{switch(c++){case'A':k++;break;case'B':k--;case'C':k+=2;break;case'D':k%=2;continue;case'E':k*=10;break;default:k/=3;}k++;}while(c'G');printf(k=%d,k);}
A、k=3
B、k=4
C、k=2
D、k=0
正確答案:B
15、下面程序的運行結(jié)果是()。#includestdio.hintmain(){inti;for(i=1;i=5;i++){if(i%2)printf("*');elsecontinue;printf("#');}printf("$\n');}
A、*#*#*$
B、***$
C、*#*#*#$
D、*#*#$
正確答案:C
16、下面程序段的運行結(jié)果是()。intx=3;do{printf(%d\n,x-=2);}while(!(--x));
A、輸出的是1
B、輸出的是1和-2
C、輸出的是3和0
D、是死循環(huán)
正確答案:B
17、下面程序段的運行結(jié)果是()。x=y=0;while(x15)y++,x+=++y;printf(%d,%d,y,x);
A、20,7
B、6,12
C、20,8
D、8,20
正確答案:C
18、下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出。當(dāng)輸入一對相等數(shù)時結(jié)束循環(huán),請選擇()填空:#indudeStdio.hintmain(){inta,b,t;scanf(%d%d,while(【1】){if(ab){t=a;a=b;b=t;}printf(%d,%d,a,b);scahf(%d%d,人}
A、!a=b
B、a!=b
C、a==b
D、a=b
正確答案:B
19、對for(表達式1;;表達式3)可理解為()。
A、for(表達式1;0;表達式3)
B、for(表達式1;1;表達式3)
C、for(表達式1;表達式1;表達式3)
D、for(表達式1;表達式3;表達式3)
正確答案:B
20、若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是()。for(i=2;i==0;)printf(%d,i--);
A、無限次
B、0次
C、1次
D、2次
正確答案:B
第六章測試
1、在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A、整型常量
B、整型表達式
C、整型常量或整型表達式
D、任何類型的表達式
正確答案:C
2、以下程序的輸出結(jié)果是()。intmain(){inta[5]={1,2,3};printf("%d\n',a[3]);}
A、0
B、1
C、3
D、隨機值
正確答案:A
3、以下程序的輸出結(jié)果是()。intmain(){inti,k,a[10]={1,5,3,4,2,8,9,6,7,0};for(i=0,k=0;i10;i++)if(a[k]a)k=i;printf(%d,k);}
A、5
B、6
C、7
D、8
正確答案:B
4、以下程序的輸出結(jié)果()。intmain(){inti,j,s=0,a[2][3]={1,2,3,4,5,6};for(i=0;i2;i++)for(j=0;j3;j++)s=s+a[j];printf("%d',s);}
A、10
B、15
C、20
D、21
正確答案:D
5、有以下程序運行后的輸出結(jié)果是()。intmain(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i4;i++)s+=aa[1];printf("%d',s);}
A、11
B、19
C、13
D、20
正確答案:B
6、數(shù)組定義為inta[3][2]={1,3,4,6,8,10},數(shù)組元素()的值為6。
A、a[3][2]
B、a[1][1]
C、a[2][1]
D、a[2][2]
正確答案:B
7、定義inta[10][11],則數(shù)組a有()個元素。
A、11
B、90
C、110
D、132
正確答案:C
8、以下不能對二維數(shù)組a進行正確初始化的語句是()。
A、inta[2][3]={0};
B、inta[][3]={{1,2},{0}};
C、inta[2][3]={{1,2},{3,4},{5,6}};
D、inta[][3]={1,2,3,4,5,6};
正確答案:C
9、若有定義語句:inta[3][5];,按在內(nèi)存中的存放順序,a數(shù)組的第8個元素是()。
A、a[0][4]
B、a[1][2]
C、a[0][3]
D、a[1][4]
正確答案:B
10、若有定義inta[10];則對a數(shù)組元素的正確應(yīng)用是()。
A、a[10.0]
B、a[1+2]
C、a(10)
D、a[10]
正確答案:B
11、以下能對一維數(shù)組a進行正確初始化的語句是()。
A、inta[10]=(0,0,0,0,0)
B、inta[10]={}
C、inta[]={0};
D、inta[10]=10*1;
正確答案:C
12、以下對二維數(shù)組a的正確說明是()。
A、inta[3][];
B、floatfa(3,4);
C、doublea[1][4];
D、floata(3)(4);
正確答案:C
13、若有說明:inta[3][4]={0};則下面正確的敘述是()。
A、只有元素a[0][0]可得到初值0
B、此說明語句不正確。
C、數(shù)組a中各元素都可得到初值,但其值不一定為0。
D、數(shù)組a中每個元素均可得到初值0
正確答案:D
14、若有定義:ints[3][4]={{1,2},{0},{3,4,5}};則s[2][1]的值為()。
A、3
B、4
C、0
D、1
正確答案:B
15、若有定義inta[2][3];則合法引用數(shù)組元素的是()。
A、a[0][1/2]
B、a[1][2]
C、a[2][3]
D、a[1][3]
正確答案:B
16、在以下數(shù)組定義中,錯誤的是()。
A、inta[2][]={1,2,3,4,5};
B、inta[][2]={{0},{1}};
C、inta[2][2]={{1,2},{3}}
D、inta[][2]={1,2,3,4};
正確答案:A
17、以下程序段執(zhí)行后p的值是()。inta[3][3]={3,2,1,3,2,1,3,2,1};intj,k,p=1;for(j=0;j2;j++)for(k=j;k3;k++)p*=a[j][k];
A、108
B、18
C、12
D、2
正確答案:C
18、以下程序段執(zhí)行后p的值是()。inta[3][3]={3,2,1,3,2,1,3,2,1};intj,k,p=1;for(j=0;j2;j++)for(k=j;k4;k++)p*=a[j][k];
A、108
B、18
C、12
D、2
正確答案:A
19、以下程序段運行后s的值是()。inta[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1;for(i=0;i3;i++)for(j=i+1;j3;j++)s+=a[j];
A、6
B、120
C、7
D、240
正確答案:C
20、下面程序段的運行結(jié)果是()。intm[]={5,8,7,6,9,2},i=1;for(i=0;i6;i++){if(i%2!=0)m+=10;}for(i=0;i6;i++)printf(%d,m);
A、518716912
B、151817161912
C、158176192
D、587692
正確答案:A
第七章測試
1、變量的指針,其含義是指變量的()。
A、值
B、名稱
C、地址
D、另一個名稱
正確答案:C
2、以下敘述錯誤的是()。
A、指針變量可以與整數(shù)進行加、減算術(shù)運算
B、指針變量中存放的是地址值
C、指針變量不占用存儲空間
D、多個同類型的指針變量可以指向同一個普通變量。
正確答案:C
3、已知指針變量P的指向如圖1所示,則表達式*P++的值是()。
A、20
B、30
C、21
D、31
正確答案:A
4、已知指針變量P的指向如圖1所示,則表達式*++P的值是()。
A、20
B、30
C、21
D、31
正確答案:B
5、已知指針變量P的指向如圖1所示,則表達式++(*P)的值()。
A、20
B、30
C、21
D、31
正確答案:C
6、假設(shè)整型變量a的值為12,變量a的地址為2000,若欲使p為指向a的指針變量,則以下賦值正確的是()。
A、
B、*p=12;
C、*p=2000
D、p=
正確答案:D
7、若有定義:intb,*pb;則下面正確的賦值表達式是()。
A、pb=,則下面()不是對a[3]的正確引用。
A、*(a+3)
B、p+3
C、p[3]
D、*(p+3)
正確答案:B
9、若有如下定義:inta[10]={10,20,30,40,50,60,70,80,90,100},*p=a;,則執(zhí)行p=p+5后,*p的值是()。
A、10
B、50
C、60
D、100
正確答案:C
10、若int*p,i;執(zhí)行i=100;p=i=*p+10;后,*p的值是()。
A、100
B、10
C、0
D、110
正確答案:D
11、以下程序的輸出結(jié)果是()。#includestdio.hintmain(){inta[]={2,4,6,8,10},y=0,i,*p;p=a;for(i=0;i3;i++)y+=*(p+i);printf(%d\n,y);}
A、17
B、12
C、19
D、20
正確答案:B
12、以下程序的輸出結(jié)果是()。#includestdio.hintmain(){inta=1,b=2,c=3,*p1,*p2,*p3;p1=p2=p3=*p3=*p1;*p1=*p2;*p2=*p3;printf(a=%d,b=%d,c=%d\n,a,b,c);}
A、a=1,b=2,c=3
B、a=2,b=1,c=3
C、a=2,b=1,c=1
D、a=3,b=2,c=1
正確答案:B
13、以下程序的輸出結(jié)果是()。#includestdio.hintmain(){intk=2,m=4,n=6;int*pk=*(p=printf(%d\n,n);return0;}
A、4
B、6
C、8
D、10
正確答案:C
14、以下程序的輸出結(jié)果是()。#includestdio.hintmain(){int**k,*a,b=100;a=k=printf(%d\n,**k);return0;}
A、編譯出錯
B、100
C、a的地址
D、b的地址
正確答案:B
15、對于基類型相同的兩個指針變量之間,不能進行的運算時()。
A、
B、=
C、+
D、
正確答案:C
16、若有inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[3]=a;,則能正確表示數(shù)組元素a[1][2]的是()。
A、*(*(p+1)+2)
B、*(p+1)+2
C、(p+1)[2]
D、p[1]+2
正確答案:A
17、對于語句int*p[5];的正確描述是()。
A、p是一個指向數(shù)組的指針,所指向的數(shù)組含有5個int型元素。
B、p是一個指向數(shù)組中第5個元素的指針,該元素是int型。
C、定義不合法
D、p是一個具有5個元素的指針數(shù)組,每個元素都是一個指向int型對象的指針變量。
正確答案:D
18、若有inta[10],*p=a;,下列不能表示a數(shù)組首元素地址的是()。
A、a
B、*p
C、p
D、stdio.hintmain(){inta[5]={1,2,3,4,5},*p,**pp;p=a;pp=printf(%d,*(p+3));printf(%d,**pp);return0;}
A、41
B、31
C、44
D、34
正確答案:A
20、若有inta[10],*p;,則下列語句中正確的是()。
A、for(p=a;ap+10;a++)
B、for(p=a;pa+10;p++)
C、for(p=a;pp+10;p++)
D、for(p=a;pa+10;a++)
正確答案:B
第八章測試
1、函數(shù)strcmp(ABCDDCBA,ABCDE)的返回值是()。
A、0
B、正數(shù)
C、負數(shù)
D、隨機值
正確答案:C
2、以下程序運行后的輸出結(jié)果是()。intmain(){inti,j;chara[]={a,b,c,d,e,f,g,h,\0};i=sizeof(a);//sizeof返回數(shù)組a在內(nèi)存分配字節(jié)數(shù)j=strlen(a);printf("%d,%d\n',i,j);}
A、9,9
B、8,9
C、1,8
D、9,8
正確答案:D
3、下列選項中,不正確的賦值方式是()。
A、charstr[]={'s','t','r','i','n','g','\0'};
B、charstr[7]={'s','t','r','i','n','g'};
C、charstr1[10];str1=string;
D、charstr1[]=string,str2[]=12345678;
正確答案:C
4、若有以下的說明和語句,則它與()中的說明是等價的。chars[3][5]={aaaa,bbbb,cccc};
A、chars1[][]={aaaa,bbbb,cccc};
B、chars2[3][]={aaaa,bbbb,cccc};
C、chars3[][5]={aaaa,bbbb,cccc};
D、chars4[][4]={aaaa,bbbb,cccc};
正確答案:C
5、有以下程序:#includestdio.h#includestring.hintmain(){inti,j;chart[10],p[5][10]={abc,aabdfg,abbd,dcdbe,cd};for(i=0;i4;i++)for(j=i+1;j5;j++)if(strcmp(p,p[j])0){strcpy(t,p);strcpy(p,p[j]);strcpy(p[j],t);}printf(%d\n,strlen(p[0]));}程序運行后的輸出結(jié)果是()。
A、6
B、4
C、5
D、3
正確答案:A
6、下列選項正確的語句組是()。
A、chars[8];s={China};
B、char*s;s={China};
C、chars[8];s=China;
D、char*s;s=China;
正確答案:D
7、下面程序的運行結(jié)果是()。charc[6]={'a','b','\0','c','d','\0'};printf(%s,c);
A、'a''b'
B、ab
C、abc
D、abcd
正確答案:B
8、有兩個字符數(shù)組a、b,則以下正確的輸入語句是()。
A、gets(a,b);
B、scanf(%s%s,a,b);
C、scanf(%s%s,
D、gets(a);gets(b);
正確答案:B
9、下面程序段的運行結(jié)果是()。chara[7]=abcdef;charb[4]=ABC;strcpy(a,b);printf(%c,a[5]);
A、空格
B、c
C、e
D、f
正確答案:D
10、下面程序段的輸出結(jié)果是()。#includestdio.hintmain(){charstr[]=Ilikeswimming!,*p=str;p=p+7;printf(%s,p);}
A、程序有錯誤
B、Ilikeswimming!
C、swimming!
D、likeswimming!
正確答案:C
11、下面哪個選項不能將hello字符串存入字符數(shù)組str中()。
A、charstr[]=hello;
B、charstr[30];strcpy(str,hello);
C、charstr[30];str=hello;
D、charstr[30],*ps=str;strcpy(ps,hello);
正確答案:C
12、有以下定義,不能表示字符'C'的表達式是()。charstr[]=ABCDEFG,*p=str;
A、*(p+2)
B、str[2]
C、*(str+2)
D、*p+2
正確答案:D
13、程序段charc[]=abcdefg;printf(%s,c+4);的運行結(jié)果是()。
A、abcd
B、efg
C、abcdefg
D、defg
正確答案:B
14、有如下定義,不能給數(shù)組a輸入字符串的是()。chara[20],*p=a;
A、gets(p)
B、gets(a[0])
C、gets(well;chart[]={'w','e','l','l'};,則數(shù)組s與數(shù)組t中內(nèi)容相同。
B、當(dāng)兩個字符串所包含的字符個數(shù)相同時,才能比較兩個字符串的大小。
C、函數(shù)strcpy(str1,str2);的功能是將str2中字符串復(fù)制到str1中。
D、定義chara[30],b[]=China;后,可執(zhí)行a=b;將數(shù)組b中的字符串賦值給數(shù)組a。
正確答案:C
16、接受用戶輸入含有空格的字符串時,應(yīng)使用()。
A、getchar()
B、gets()
C、scanf()
D、printf()
正確答案:B
17、列描述中錯誤的是()。
A、可以對字符數(shù)組進行整體輸入、輸出。
B、字符串可以存儲在字符數(shù)組中。
C、不能對字符數(shù)組存儲的字符串進行更改。
D、不能使用賦值運算符"=',直接對字符數(shù)組名進行賦值。
正確答案:C
18、執(zhí)行以下程序段后,輸出結(jié)果是()。charstr[20]=door,t;inti,j;i=0;j=strlen(str)-1;t=str;str=str[j];str[j]=t;puts(str);
A、door
B、dood
C、rood
D、roor
正確答案:C
19、若有如下定義chara[30],b[30],則以下正確的輸入語句是()
A、gets(a,b);
B、gets(a);gets(b);
C、scanf(%s,a,b);
D、scanf(%s%s
正確答案:B
20、執(zhí)行以下程序段后,輸出結(jié)果是()。chars[20]=Good,t[]=Moring!;strcat(s,t);puts(s);
A、GoodMoring!
B、Moring!
C、Good
D、Moring!Good
正確答案:A
第九章測試
1、在c語言中以下不正確的說法是()。
A、實參可以是常量、變量、或表達式
B、形參可以是常量、變量或表達式
C、實參可以為任意類型
D、形參應(yīng)與其對應(yīng)的實參類型一致
正確答案:B
2、以下程序有語法性錯誤,有關(guān)錯誤原因的正確說法是()。#includestdio.hintmain(void){intG=5,k;voidprt_char();k=prt_char(G);return0;}
A、語句voidprt_char();有錯,它是函數(shù)調(diào)用語句不能用void說明
B、變量名不能使用大寫字母
C、函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾
D、函數(shù)名不能使用下劃線
正確答案:C
3、下述函數(shù)定義形式正確的是()。
A、intf(intx;inty)
B、intf(intx,inty)
C、intf(intx,y)
D、intf(x,y:int)
正確答案:B
4、以下所列的各函數(shù)首部中,正確的是()。
A、voidplay(inta,b)
B、voidplay(var:Integer,varb:Integer)
C、voidplay(inta,intb)
D、Subplay(aasinteger,basinteger)
正確答案:C
5、若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是()。
A、函數(shù)調(diào)用可以作為獨立的語句存在
B、函數(shù)調(diào)用可以作為一個函數(shù)的實參
C、函數(shù)調(diào)用可以出現(xiàn)在表達式中
D、函數(shù)調(diào)用可以作為一個函數(shù)的形參
正確答案:D
6、在調(diào)用函數(shù)時,如果實參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。
A、地址傳遞
B、單向值傳遞
C、由實參傳給形參,再由形參傳回實參
D、傳遞方式由用戶指定
正確答案:B
7、有以下程序:#includestdio.hvoidfun(inta,intb,intc){a=11;b=22;c=33;}intmain(void){intx=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n',x,y,z);return0;}該程序輸出結(jié)果是()。
A、30,20,10
B、10,20,30
C、11,22,33
D、33,22,11
正確答案:B
8、關(guān)于函數(shù)參數(shù),說法正確的是()。
A、實參與其對應(yīng)的形參各自占用獨立的內(nèi)存單元
B、實參與其對應(yīng)的形參共同占用一個內(nèi)存單元
C、只有當(dāng)實參和形參同名時才占用同一個內(nèi)存單元
D、形參是虛擬的,不占用內(nèi)存單元
正確答案:A
9、一個函數(shù)的返回值由()確定。
A、return語句中的表達式
B、調(diào)用函數(shù)的類型
C、系統(tǒng)默認的類型
D、被調(diào)用函數(shù)的類型
正確答案:D
10、下列程序的輸出結(jié)果是()。fun(inta,intb,intc){c=a+b;}intmain(void){intc;fun(2,3,c);printf("%d\n',c);return0;}
A、2
B、3
C、5
D、不定
正確答案:D
11、有以下程序:#includestdio.hintfun(intx){printf("x=%d\n',++x);}intmain(){fun(12+5);return0;}程序的輸出結(jié)果是()。
A、x=12
B、x=13
C、x=17
D、x=18
正確答案:D
12、有如下程序:#includestdio.hinti=1;intmain(){inti=i;printf(%d\n,i);return0;}程序的輸出結(jié)果是()。
A、1
B、0
C、i
D、不確定
正確答案:D
13、有如下程序:#includestdio.hintf(intx){returnx+3;}intmain(void){inta=1;while(f(a)10)a++;return0;}程序執(zhí)行后,變量a的值是()。
A、7
B、10
C、11
D、9
正確答案:A
14、以下說法中正確的是()。
A、形參是全局變量,其作用范圍僅限于函數(shù)內(nèi)部
B、形參是全局變量,其作用范圍從定義之處到文件結(jié)束
C、形參是局部變量,其作用范圍僅限于函數(shù)內(nèi)部
D、形參是局部變量,其作用范圍從定義之處到文件結(jié)束
正確答案:C
15、定義為void類型的函數(shù),其含義是()。
A、調(diào)用函數(shù)后,被調(diào)用的函數(shù)沒有返回值
B、調(diào)用函數(shù)后,被調(diào)用的函數(shù)不返回
C、調(diào)用函數(shù)后,被調(diào)用的函數(shù)的返回值為任意類型
D、其余選項都不對
正確答案:A
16、當(dāng)全局變量和函數(shù)內(nèi)部的局部變量同名時,在函數(shù)內(nèi)部()。
A、全局變量有效
B、局部變量有效
C、全局變量和局部變量都有效
D、全局變量和局部變量都無效
正確答案:B
17、有如下程序:#includestdio.hfun(inta){autointb=0;staticintc=3;b=b+1;c=c+1;return(a+b+c);}intmain(void){inta=2,i;for(i=0;i3;i++)printf("%d",fun(a));return0;}它的輸出結(jié)果是()。
A、789
B、777
C、999
D、8910
正確答案:A
18、有如下程序:#includestdio.hvoidfun(intx,inty){intt;if(xy){t=x;x=y;y=t;}}intmain(void){inta=4,b=7,c=5;fun(a,b);fun(a,c);fun(b,c);printf("%d,%d,%d\n',a,b,c);return0;}它的輸出結(jié)果是()。
A、4,5,7
B、4,7,5
C、7,5,4
D、7,4,5
正確答案:B
19、有如下程序:#includestdio.hf(inta){intb=0;staticintc=3;a=c++;b++;return(a);}intmain(void){inta=2,i,k;for(i=0;i2;i++)k=f(a++);printf("%d\n',k);return0;}該程序的輸出結(jié)果是()。
A、6
B、3
C、4
D、5
正確答案:C
20、凡是未指明存儲類別的局部變量,其隱含的存儲類別是()。
A、register
B、auto
C、static
D、extern
正確答案:B
第十章測試
1、若有數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是()。
A、數(shù)組的首地址
B、數(shù)組第一個元素的值
C、數(shù)組中全部元素的值
D、數(shù)組元素的個數(shù)
正確答案:A
2、若使用一維數(shù)組名作為函數(shù)實參,則以下描述中正確的是()。
A、必須在調(diào)用函數(shù)中說明此數(shù)組的大小
B、實參數(shù)組類型與形參數(shù)組類型可以不匹配
C、在被調(diào)用函數(shù)中,不需要考慮形參數(shù)組的大小
D、實參數(shù)組名與形參數(shù)組名必須一致
正確答案:C
3、以下敘述正確的是()
A、C語言中各函數(shù)(除主函數(shù)外)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B、C語言中各函數(shù)(除主函數(shù)外)之間既不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C、C語言中各函數(shù)(除主函數(shù)外)之間允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D、C語言中各函數(shù)(除主函數(shù)外)之間不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
正確答案:A
4、下列程序的輸出結(jié)果是()。#includestdio.hvoidsub(intx,inty,int*z){*z=y-x;}intmain(){inta,b,c;sub(10,5,sub(7,a,sub(a,b,printf(%d,%d,%d\n,a,b,c);return0;}
A、5,2,3
B、-5,-12,-7
C、-5,-12,7
D、5,-2,-7
正確答案:B
5、下列程序的輸出結(jié)果是()。#includestdio.hvoidprtv(int*x){printf(%d\n,++*x);}intmain(){inta=25;prtv(return0;}
A、23
B、24
C、25
D、26
正確答案:D
6、下列程序的輸出結(jié)果是()。#includestdio.hvoidfun(int*a,int*b){intw;*a=*a+*a;w=*a;*a=*b;*b=w;}intmain(){intx=2,y=3,*px=;fun(px,py);printf(%d,%d\n,x,y);return0;}
A、4,3
B、2,3
C、3,4
D、3,2
正確答案:C
7、以下程序運行時,若輸入5103,則輸出結(jié)果是()。#includestdio.hvoidswap(int*p1,int*p2){intt;t=*p1;*p1=*p2;*p2=t;return;}intmain(){inta,b,c;scanf(%d%d%d,if(ab)swap(if(ac)swap(if(bc)swap(printf(%d,%d,%d\n,a,b,c);return0;}
A、5,10,3
B、10,5,3
C、3,5,10
D、3,10,5
正確答案:C
8、以下程序運行時,若輸入5,則輸出結(jié)果是()。#includestdio.hintfac(intn){staticintk=1;k=k*n;returnk;}intmain(){intm,i,f;scanf(%d,for(i=1;i=m;i++){f=fac(i);printf(%d,f);}}
A、12345
B、12624120
C、5
D、120
正確答案:B
9、下列程序的輸出結(jié)果是()。#includestdio.hintfun(inta){intb;if(a==0||a==1)return3;b=a*a-fun(a-2);returnb;}intmain(){intx,y;x=fun(3);y=fun(4);printf(%d,%d\n,x,y);return0;}
A、3,4
B、9,16
C、6,16
D、6,15
正確答案:D
10、下列程序的輸出結(jié)果是()。#includestdio.hintfun(int(*p)[3]){inti,j,n;n=p[0][0];for(i=0;i2;i++)for(j=0;j3;j++)if(p[j]n)n=p[j];returnn;}intmain(){inta[2][3]={11,32,13,44,5,6},m;m=fun(a);printf(%d\n,m);return0;}
A、11
B、44
C、6
D、32
正確答案:B
11、下列程序的運行結(jié)果是()。#includestdio.hvoidfun(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}intmain(){inta,b,c,d;a=4;b=3;fun(a,b,printf(%d,%d\n,c,d);return0;}
A、4,3
B、3,4
C、7,1
D、1,7
正確答案:C
12、下列程序的運行結(jié)果是()。#includestdio.hvoidop(int(*p)[3]){inti,j;for(i=0;i3;i++)for(j=0;j3;j++)if(p[j]%3==0)printf(%d,p[j]);}intmain(){ints[3][3]={1,2,3,4,5,6,7,8,9};op(s);return0;}
A、369
B、123
C、147
D、789
正確答案:A
13、以下程序運行時,若輸入5,則程序的輸出結(jié)果是()。#includestdio.hintfun(intn){if(n==1)return1;elsereturnn+fun(n-1);}intmain(){intm;scanf(%d,m=fun(m);printf(%d\n,m);}
A、6
B、5
C、9
D、15
正確答案:D
14、以下程序運行時,若輸入ab012kd99pk8,則程序的輸出結(jié)果是()。#includestdio.hvoidfun(chars[]){inti,j;for(i=0,j=0;s!='\0';i++)if(s='0'='9')s[j++]=s;s[j]='\0';}intmain(){charstr[80];gets(str);fun(str);puts(str);return0;}
A、012
B、012998
C、99
D、8
正確答案:B
15、若有以下程序:#includestdio.hvoidf(int*q,intn){inti;for(i=0;in;i++)(*q)++;return;}intmain(void){inta[5]={1,2,3,4,5},i;f(a,5);for(i=0;i5;i++)printf(%d,,a);return0;}則程序的輸出結(jié)果是()。
A、2,3,4,5,6,
B、2,2,3,4,5,
C、6,2,3,4,5,
D、1,2,3,4,5,
正確答案:C
16、形參數(shù)組與實參數(shù)組,在內(nèi)存空間中是()的。
A、相互獨立
B、完全重疊
C、部分重疊
D、隨機存儲
正確答案:B
17、若有以下程序:#includestdio.hint*fun(int*s,int*t){if(*s*t)s=t;returns;}intmain(void){inta=3,b=6,*p=r=fun(p,q);printf(%d,%d,%d\n,*p,*q,*r);return0;}則程序的輸出結(jié)果是()。
A、3,3,6
B、3,6,6
C、6,3,3
D、6,6,3
正確答案:B
18、若有以下程序:#includestdio.hintfun(intx){if(x10){printf(%d-,x%10);fun(x/10);}elseprintf(%d,x);return;}intmain(void){intz=123456;fun(z);return0;}則程序的輸出結(jié)果是()。
A、1-2-3-4-5-6-
B、1-2-3-4-5-6
C、6-5-4-3-2-1-
D、6-5-4-3-2-1
正確答案:D
第十一章測試
1、以下敘述不正確的是()。
A、預(yù)處理命令行必須以#號開始
B、C程序在執(zhí)行過程中對預(yù)處理命令行進行處理
C、在程序中凡是以#號開始的語句都是預(yù)處理命令行
D、以下宏定義是正確的:#defineIBM_PC
正確答案:B
2、在宏定義#definePI3.1415926中,用宏名PI代替一個()。
A、常量
B、單精度數(shù)
C、雙精度數(shù)
D、字符串
正確答案:D
3、以下敘述正確的是()。
A、在程序的一行上可以出現(xiàn)多個有效的預(yù)處理命令行
B、使用帶參數(shù)的宏時,參數(shù)的類型應(yīng)與宏定義時一致
C、宏替換不占用運行時間,只占編譯時間
D、宏名必須用大寫字母表示
正確答案:C
4、以下在任何情況下計算平方數(shù)時,都不會引起二義性的宏定義是()。
A、#definePOWER(x)x*x
B、#definePOWER(x)(x)*(x)
C、#definePOWER(x)(x*x)
D、#definePOWER(x)((x)*(x))
正確答案:D
5、在"文件包含'預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用''(雙引號)括起時,尋找被包含文件的方式是()。
A、直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B、現(xiàn)在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C、僅僅搜索源程序所在目錄
D、僅僅搜索當(dāng)前目錄
正確答案:B
6、有以下程序:#defineADD(x)x+x#includestdio.hintmain(void){intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf(sum=%d,sum);return0;}該程序的運行結(jié)果是()。
A、sum=9
B、sum=10
C、sum=12
D、sum=18
正確答案:B
7、若有如下宏定義:#define錯誤5#defineY錯誤+1#defineZY*錯誤/2則執(zhí)行以下printf語句后,輸出結(jié)果是()。inta;a=Y;printf(%d,Z);printf(%d,--a);
A、76
B、126
C、125
D、75
正確答案:D
8、以下程序的運行結(jié)果是()。#defineMA錯誤(A,B)(A)(B)?(A):(B)#definePRINT(Y)printf("Y=%d',Y)#include"stdio.h'intmain(void){inta=1,b=2,c=3,d=4,t;t=MA錯誤(a+b,c+d)PRINT(t);return0;}
A、Y=3
B、Y=7
C、Y=0
D、存在語法錯誤
正確答案:B
9、以下程序的輸出結(jié)果是()。#includestdio.h#defineMUL(x,y)(x)*y#include"stdio.h'intmain(void){inta=3,b=4,c;c=MUL(a++,b++);printf(%d,c);return0;}
A、12
B、15
C、20
D、16
正確答案:A
10、用宏替代計算多項式4*x*x+3*x+2之值的函數(shù)f,正確的宏定義是()。
A、#definef(x)4*x*x+3*x+2
B、#definef4*x*x+3*x+2
C、#definef(a)(4*(a)*(a)+3*(a)+2)
D、#define(4*a*a+3*a+2)f(a)
正確答案:C
第十二章測試
1、C語言規(guī)定結(jié)構(gòu)體變量系統(tǒng)分配給它的存儲空間是()。
A、該結(jié)構(gòu)體中最后一個成員所需的存儲空間
B、該結(jié)構(gòu)體中所有成員所需存儲空間的總和
C、該結(jié)構(gòu)體中第一個成員所需的存儲空間
D、該結(jié)構(gòu)體中占用最大存儲空間的成員所需的存儲空間
正確答案:B
2、以下對結(jié)構(gòu)體變量s中成員age的合法法引用是()。#includestring.hstructstudent{intage;intnum
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣州市咖啡廳租房協(xié)議書
- 鋁塑窗施工合同科技館裝修
- 設(shè)備租賃合同:舞臺音響
- 商務(wù)區(qū)車位購買協(xié)議范文
- 知識產(chǎn)權(quán)保護保函協(xié)議書
- 生物制藥用發(fā)酵罐建造協(xié)議
- 預(yù)防手口足病
- 河北省廊坊市(2024年-2025年小學(xué)五年級語文)人教版課后作業(yè)(下學(xué)期)試卷及答案
- 八月十五中秋晚會主持詞范文(10篇)
- 2024年教育機構(gòu)臨時工合同
- 天一大聯(lián)考●皖豫名校聯(lián)盟2024-2025學(xué)年高三上學(xué)期10月月考試卷語文答案
- 八年級歷史上冊(部編版)第六單元中華民族的抗日戰(zhàn)爭(大單元教學(xué)設(shè)計)
- 全國農(nóng)業(yè)技術(shù)推廣服務(wù)中心公開招聘應(yīng)屆畢業(yè)生補充(北京)高頻難、易錯點500題模擬試題附帶答案詳解
- 公司研發(fā)項目審核管理制度
- 《詩意的色彩》課件 2024-2025學(xué)年人美版(2024)初中美術(shù)七年級上冊
- 小學(xué)生主題班會《追夢奧運+做大家少年》(課件)
- 《抖音運營》課件-1.短視頻與抖音認知基礎(chǔ)
- 高中數(shù)學(xué)B版4.2.1對數(shù)運算教學(xué)設(shè)計
- 《彈性碰撞和非彈性碰撞》參考教案 01
- 員工積分制管理實施方案細則
- 2024 CSCO指南-淋巴瘤診療指南要點解讀
評論
0/150
提交評論