版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一、選擇題一個(gè)C程序由若干個(gè)C函數(shù)組成,各個(gè)函數(shù)在文件中的位置順序?yàn)椋海ǎ┤我獾谝粋€(gè)函數(shù)必須是主函數(shù),其他函數(shù)任意必須完全按照執(zhí)行的順序排列其他函數(shù)可以任意,主函數(shù)必須在最后下列四個(gè)敘述中,正確的是:()C程序中的所有字母都必須小寫C程序中的關(guān)鍵字必須小寫,其他標(biāo)示符不區(qū)分大小寫C程序中的所有字母都不區(qū)分大小寫C語言中的所有關(guān)鍵字必須小寫下列四個(gè)敘述中,錯(cuò)誤的是:()一個(gè)C源程序必須有且只能有一個(gè)主函數(shù)一個(gè)C源程序可以有多個(gè)函數(shù)在C源程序中注釋說明必須位于語句之后C源程序的基本結(jié)構(gòu)是函數(shù)下面不是C語言合法標(biāo)識符的是:()A、abcB、5nC、_4mD、x3以下敘述不正確的是:()A.分號是C語句的必要組成部分B.C程序的注釋可以寫在語句的后面C.函數(shù)是C程序的基本單位D.主函數(shù)的名字不一定非用main來表示C語言中允許的基本數(shù)據(jù)類型包括:()A.整型、實(shí)型、邏輯型B.整型、實(shí)型、字符型C.整型、字符型、邏輯型D.整型、實(shí)型、邏輯型、字符型C語言中能用八進(jìn)制表示的數(shù)據(jù)類型為:()A、字符型、整型B、整形、實(shí)型C、字符型、實(shí)型、雙精度型D、字符型、整型、實(shí)型、雙精度型下列屬于C語言合法的字符常數(shù)是:()A、’\97’B、”A”C、’\t’D、”\0”在C語言(VC環(huán)境)中,5種基本數(shù)據(jù)類型的存儲空間長度的排列順序?yàn)椋海ǎ〢、char<int<=longint<=float<doubleB、char=int<longint<=float<doubleC、char<int<longint=float=doubleD、char=int=<longint<=float<double若有以下定義語句charc1=’b’,c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a(chǎn)’+’A’);則輸出結(jié)果是:()A、2,MB、3,EC、2,ED、輸出項(xiàng)及相應(yīng)的格式控制不一致,輸出結(jié)果不確定以下合法的賦值語句是:()A、x=y=100B、d--;C、x+yD、c=int(a+b);在以下一組運(yùn)算符中,優(yōu)先級最高的是:()A、<=B、==C、%D、&&下列能正確表示a≥10或a≤0的關(guān)系表達(dá)式是:()A、a>=10ora<=0B、a<=10||a>=0C、a>=10||a<=0D、a>=10&&a<=0下列只有當(dāng)整數(shù)x為奇數(shù)時(shí),其值為“真”的表達(dá)式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語言表達(dá)式是:()A、10<a<15B、!(a<=10||a>=15)C、a>10&&a<15D、!(a<=10)&&!(a>=15)已知x=43,ch=’A’,y=0;則表達(dá)式(x>=y&&ch<’B’&&!y)的值是:()A、0B、語法錯(cuò)C、1D、“假”表達(dá)式17%4/8的值為:()A、0B、1C、2D、3一個(gè)可執(zhí)行的C程序的開始執(zhí)行點(diǎn)是:()A.程序中的第一個(gè)語句B.包含文件中的第一個(gè)函數(shù)C.名為main的函數(shù)D.程序中的第一個(gè)函數(shù)組成C語句的一個(gè)必不可少的符號是:()A.逗號B.引號C.冒號D.分號若將int、long、float等類型的數(shù)據(jù)進(jìn)行混合運(yùn)算,其結(jié)果的數(shù)據(jù)類型是:()A.intB.longC.floatD.double下述是C語言中有關(guān)變量定義的幾個(gè)說法,正確的是:()A.變量可以不定義直接使用B.一個(gè)說明語句只能定義一個(gè)變量C. 幾個(gè)不同類型的變量可在同一語句中定義D. 變量可以在定義時(shí)進(jìn)行初紿化及x*=y+z等價(jià)的賦值表達(dá)式是:()A.x=y+zB.x=x*y+zC.x=x*(y+z)D.x=x+y*z當(dāng)代電子計(jì)算機(jī)能夠自動地處理指定的問題是因?yàn)椋海ǎ〢.計(jì)算機(jī)是電動的 B.有解決該問題的計(jì)算機(jī)程序C.事先存儲了解決該問題的程序 D.以上都不是以下敘述中最準(zhǔn)確的是:()A.計(jì)算機(jī)程序是處理某一問題所有指令的集合B.計(jì)算機(jī)程序是處理某一問題所用到的所有數(shù)據(jù)的集合C.計(jì)算機(jī)程序是處理某一問題的所有指令及其數(shù)據(jù)的集合D.計(jì)算機(jī)程序是處理某一問題的所有指令及其數(shù)據(jù)的有序集合目前編寫計(jì)算機(jī)程序一般采用的是:()A.機(jī)器語言B.匯編語言C.高級語言D.英語設(shè)計(jì)一個(gè)計(jì)算機(jī)程序最基本的工作是:()A.制定正確的算法B.選擇合理的數(shù)據(jù)結(jié)構(gòu)C.制定正確的算法和選擇合理的數(shù)據(jù)結(jié)構(gòu)D.以上都不是算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是:()A.有窮性B.簡潔性C.可行性D.確定性下述哪一個(gè)不是結(jié)構(gòu)化程序基本結(jié)構(gòu):()A.順序B.選擇C.循環(huán)D.嵌套C語言是一種:()A.機(jī)器語言B.匯編語言C.高級語言D.以上都不是C語言源程序的擴(kuò)展名為:()A..exeB..cC..objD..cppC程序編譯、連接后最終產(chǎn)生(即計(jì)算機(jī)執(zhí)行)的文件的擴(kuò)展名為()A..exeB..cC..objD..cpp構(gòu)成C語言源程序的基本單位是:()A.子程序B.過程C.文本D.函數(shù)下列敘述正確的是:()A.C語言源程序可以直接在DOS環(huán)境中運(yùn)行B.編譯C語言源程序得到的目標(biāo)文件可以直接在DOS環(huán)境中運(yùn)行C.C語言源程序經(jīng)過編譯、連接得到的可執(zhí)行程序可以直接在DOS環(huán)境中運(yùn)行D.C語言源程序可以直接在VC++環(huán)境中運(yùn)行某C程序由一個(gè)主函數(shù)main()和一個(gè)自定義函數(shù)max()組成,則該程序:()A.寫在前面的函數(shù)先開始執(zhí)行B.總是從main()函數(shù)開始執(zhí)行C.總是從max()函數(shù)開始執(zhí)行D.寫在后面的函數(shù)先開始執(zhí)行以下敘述不正確的是:()A.分號是C語句的必要組成部分 B.C程序的注釋可以寫在語句的后面C.函數(shù)是C程序的基本單位 D.主函數(shù)的名字不一定用mian表示以下為C語句的是:()A.a(chǎn)=8B.a(chǎn)++;C.if(a>8)D.#include<stdio.h>以下所列語句中,合法的語句是:()A.a(chǎn)=1,b=2B.++a;C.a(chǎn)=a+1=5D.y=int(a);二、判斷題(T)C語言是嚴(yán)格區(qū)分大寫和小寫的,因此主函數(shù)不能寫成main()以外的其他形式。(F)C語言程序是從源文件的第一條語句開始執(zhí)行的。(F)C語言對其數(shù)據(jù)在內(nèi)存中所占用的實(shí)際字節(jié)數(shù)是有明確規(guī)定的。(F)C語言中/*..*/之間的注釋內(nèi)容是不能跨行的。(F)C語言中多個(gè)以“;”結(jié)束的語句不能放在同一行。(F)變量說明語句inta=b=c=23;是正確的。(F)字符型數(shù)據(jù)不可以和整數(shù)數(shù)據(jù)一起進(jìn)行算術(shù)運(yùn)算。(T)C語言中強(qiáng)制類型轉(zhuǎn)換不會改變原變量的原有數(shù)據(jù)類型。(F)表達(dá)式j(luò)=-i++和j=-(i++)不相等(T)程序段:i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);其結(jié)果9,10,9,10.(F)C語言中放在“”之間的內(nèi)容都被視為字符串的一個(gè)構(gòu)成部分,都可以在屏幕上原樣顯示。(T)計(jì)算機(jī)程序的執(zhí)行過程實(shí)際上是對程序所表達(dá)的數(shù)據(jù)進(jìn)行處理的過程。(T)目前程序設(shè)計(jì)的理念已經(jīng)從“面向過程的程序設(shè)計(jì)”向“面向?qū)ο蟮某绦蛟O(shè)計(jì)”方面轉(zhuǎn)變。(T)有人曾提出:計(jì)算機(jī)程序=算法+數(shù)據(jù)結(jié)構(gòu)。(T)在程序設(shè)計(jì)中提到的算法就是“解決問題的方法和步驟”(T)在程序設(shè)計(jì)中提到的數(shù)據(jù)結(jié)構(gòu)就是“程序處理的對象的表示方法”(T)計(jì)算機(jī)程序的算法就是解決“做什么”和“怎么做”的問題。(T)結(jié)構(gòu)化程序設(shè)計(jì)的基本理念是:將一個(gè)較大的問題細(xì)分成若干個(gè)較小問題的組合。(F)C程序的執(zhí)行是從程序的第一行開始,一直到程序的最后一行結(jié)束。(T)C程序的執(zhí)行是從主函數(shù)的第一行開始,一直到主函數(shù)的最后一行結(jié)束。(T)設(shè)x、t均為int型變量,則執(zhí)行語句"x=10;t=x&&x>10;"后,t的值為0(T)若a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變(T)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符(T)在C語言中,邏輯“真”等價(jià)于不等于0的數(shù)(F)C語言中字符型、整型、實(shí)型都能用八進(jìn)制表示(T)變量的三要素是:變量名、變量類型、變量的值。書上必會的題:課后題:第三章P83-4,6,7選擇題以下說法正確的是()。
A)C語言程序總是從第一個(gè)的函數(shù)開始執(zhí)行
B)在C語言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義
C)C語言程序總是從main()函數(shù)開始執(zhí)行
D)C語言程序中的main()函數(shù)必須放在程序的開始部分算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是()。
A)有零個(gè)輸入或多個(gè)輸入B)高效性
C)有窮性D)確定性C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是
A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B)if,switch,break
C)for,while,do-whileD)if,for,continue一個(gè)C程序的執(zhí)行是從()。
A)main()函數(shù)開始,直到main()函數(shù)結(jié)束B)第一個(gè)函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束
C)第一個(gè)語句開始,直到最后一個(gè)語句結(jié)束D)main()函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束組成C程序的基本單位是()。
A)函數(shù)B)標(biāo)識符C)表達(dá)式D)語句若有語句scanf(“%d%d”,&a,&b);要使變量a,b分別得到12和34;正確的輸入形式為()。
A)12<空格>34<回車>B)12,34<回車> C)1234<回車> D)12:34<回車>C語言中最簡單的數(shù)據(jù)類型包括()。
A)整型、實(shí)型、邏輯型
B)整型、實(shí)型、字符型
C)整型、字符型、邏輯型
D)字符型、實(shí)型、邏輯型C語言中的標(biāo)識符只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符()。
A)必須為字母B)必須為下劃線
C)必須為字母或下劃線D)可以是字母,數(shù)字和下劃線中任一字符下列可用于C語言用戶標(biāo)識符的一組是()。
A)void,define,WORDB)a3_b3,_123,Car
C)For,-abc,IFCaseD)2a,DO,sizeofC語言中運(yùn)算對象必須是整型的運(yùn)算符是()。
A)%=B)/C)=D)<=設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為()。
A)intB)floatC)doubleD)不確定在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是()。
A)補(bǔ)碼B)反碼C)原碼D)ASCII碼設(shè)int類型的數(shù)據(jù)長度為2字節(jié),則該類型數(shù)據(jù)的取值范圍是()。
A)0至65536B)0至65535
C)-32767至32768D)-32768至32767
x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是
A)INPUT
x、y、z;
B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);
D)read("%d%d%d",&x,&y,&z);調(diào)用getchar和putchar函數(shù)時(shí),必須包含的頭文件是
A)stdio.h
B)stdlib.h
C)define
D)以上都不對能正確表示邏輯關(guān)系:“a≥10或a≤0”的C語言表達(dá)式是
A)a>=10ora<=0B)a>=0|a<=10
C)a>=10&&a<=0D)a>=10‖a<=0若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是
A)′a′<=c<=′z′B)(c>=′a′)||(c<=′z′)
C)(′a′<=c)and(′z′>=c)D)(c>=′a′)&&(c<=′z′)
若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是
main()
{intx,y;
scanf("%d",&x);
y=x>12x+10:x-12;
printf("%d\n",y);
}
A)0B)22C)12D)10已知charch=′C′;則以下表達(dá)式的值是ch=(ch>=′A′&&ch<=′Z′)(ch+32):ch;
A)AB)aC)ZD)c請閱讀以下程序:
main()
{inta=5,b=0,c=0;
if(a=b+c)printf("***\n");elseprintf("$$$\n");}以上程序A)有語法錯(cuò)不能通過編譯B)可以通過編譯但不能通過連接C)輸出***D)輸出$$$若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是
main()
{intk=8;
switch(k)
{case9:k+=1;
case10:k+=1;
case11:k+=1;break;
default:k+=1;}
printf("%d\n",k);}
A)12B)11C)10D)9閱讀如下程序段
#include"stdio.h"
main()
{inta=45,b=40,c=50,d;
d=a>30b:c;
switch(d)
{case30:printf("%d,",a);
case40:printf("%d,",b);
case50:printf("%d,",c);
default:printf("#");}}
則輸出的結(jié)果是
A)40,50,B)50,#C)40,#D)40,50,#填空題用高級語言編寫的程序稱為(源)程序,它可以通過解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以通過編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。C語言中的標(biāo)識符只能由字母、下劃線和(數(shù)字)組成。C語言源程序注釋符號有兩種,(/*……*/)用于塊注釋,(//)用于行注釋。源程序test.c經(jīng)編譯產(chǎn)生的目標(biāo)文件是:(test.obj);經(jīng)連接處理后,產(chǎn)生的可執(zhí)行文件是:(test.exe)。C標(biāo)準(zhǔn)庫函數(shù)中,數(shù)學(xué)函數(shù)的原型在(math.h)頭文件中。如下語句printf("%c\n",′B′+35);在執(zhí)行后的輸出結(jié)果是(e)。下列程序的輸出結(jié)果是
(1.300000,1.300000)
。
#include
<stdio.h>#include<math.h> intmain(){float
a=-1.3;b=1.3;
printf("%f,%f",fabs(a),fabs(b));return0;}將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是(max=a>ba:b)。
if(a>b)max=a;
elsemax=b;若從鍵盤輸入58,則以下程序輸出的結(jié)果是(585858)。
main()
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);}閱讀下面的程序,當(dāng)程序在執(zhí)行時(shí),如果輸入的是′A′,則輸出結(jié)果為(ABother)。#include"stdio.h"
main()
{chara;
a=getchar();
switch(a)
{case65:printf("%c",′A′);
case66:printf("%c",′B′);default:printf("%s\n","other");}}判斷題(F)一個(gè)程序只能由一個(gè)C程序文件組成。(T)一個(gè)C程序文件是由一個(gè)或多個(gè)函數(shù)組成的。(T)一個(gè)程序必須包含一個(gè)main函數(shù)。(F)main函數(shù)必須寫在一個(gè)C程序文件的最前面。(F)C程序的執(zhí)行從程序頭開始。(F)函數(shù)體不可以為空。(F)C程序的注釋只能是一行。(F)C程序中的數(shù)據(jù)聲明和語句必須用“?!苯Y(jié)束。(F)C程序一行只能寫一條語句。(F)在C程序中,符號“Sum”和“sum”相同。第三章順序結(jié)構(gòu)一、選擇題下面程序的輸出是:()main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A)k=11,k=12,k=13B)k=11,k=13,k=13C)k=11,k=013,k=oXbD)k=11,k=13,k=b以下合法的C語言賦值語句是:()A)a=b=58B)k=int(a+b);C)a=58,b=58D)--i;以下程序的輸出結(jié)果是:()main(){intx=10,y=3;printf(“%d\n”,y=x/y);}A)0B)1C)3D)不確定若變量已正確說明為int類型,要給a,b,c輸入數(shù)據(jù),以下正確的輸入語句是:()A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,%a,%b,%c);D)scanf(“%d%d%d”,&a,&b,&b);執(zhí)行下面程序段后,c3中的值是:()intc1=1,c2=2,c3;c3=c1/c2;A)0B)1/2C)0.5D)1以下程序段的輸出是:()floata=57.666;printf(“*%4.2f*\n”,a);A)*57*B)*58*C)*57.66*D)*57.67*若有以下定義和語句:()inta=5,bb=a++;此處b的值是:()A)7B)6C)5D)4以下程序的輸出結(jié)果是:()main(){intx=10,y=10;printf("%d%d\n",x--,--y);}A)1010B)99C)910D)109已知字符A的ASCII碼為十進(jìn)制的65,下面程序的輸出是:()main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A)67,DB)B,CC)C,DD)不確定的值兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是:()main(){intx;scanf("%d",&x);if(x++>5)printf("%d",x)elseprintf("%d\n",x--);}A)7和5B)6和3C)7和4D)6和4若執(zhí)行下面的程序從鍵盤輸入3和4,則輸出是:()main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A)14B)16C)18D)20設(shè)i是int型變量,f是float型變量,用下面的語句給這兩個(gè)變量輸入值scanf("i=%d,f=%f",&i,&f);為了把100和765.12分別賦給i和f,則正確的輸入為:()A)100<空格>765.12<回車>B)i=100,f=765.12<回車>C)100<回車>765.12<回車>D)x=100<回車>,y=765.12<回車>二、判斷題1.(F)在C語言中,實(shí)型數(shù)據(jù)在內(nèi)存都中占4個(gè)字節(jié)。2.(F)在C語言中,參加算術(shù)(+,-,*,/,%)運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。3.(F)若有定義和語句:inta;charc;scanf("%d,%c",&a,&c);當(dāng)通過鍵盤輸入:10,‘A’之后,則變量a中存放的是10,變量c中存放的是‘A’。4.(F)C語言中,變量名只能是小寫字母表示,符號常量名可用大寫表示5.(F)在C語言中,變量可以不要定義,直接使用 6.(T)一個(gè)C語言程序總是從主函數(shù)開始執(zhí)行的7.(F)注釋語句必須用/*和*/括起來,且只能位于某一語句的后面第四/五章選擇結(jié)構(gòu)及循環(huán)結(jié)構(gòu)一、選擇題有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}執(zhí)行后輸出結(jié)果是:()A)011122B)012C)012020D)120以下程序的輸出結(jié)果是:()main(){inta=5,b=4,c=6,d;printf("%d\n",d=a>b(a>ca:c):(b));}A)5B)4C)6D)不確定以下程序中,while循環(huán)的循環(huán)次數(shù)是:()main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}A)1B)10C)6D)死循環(huán),不能確定次數(shù)以下程序的輸出結(jié)果是:()main(){inta=0,i;for(i=1;i<5;i++)switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}printf("%d\n",a);}A)31B)13C)10D)20若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是:()main(){intn;scanf("%d",&n);if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}A)11B)10C)9D)8有以下程序段intk=0;while(k=1)k++;則while循環(huán)執(zhí)行的次數(shù)是:()A)無限次B)有語法錯(cuò),不能執(zhí)行C)一次也不執(zhí)行D)執(zhí)行1次以下程序執(zhí)行后sum的值是:()main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}A)15B)14C)不確定D)0以下程序輸出結(jié)果是:()main(){intm=5;if(m>5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}A)7B)6C)5D)4設(shè)有如下定義:inta=1,b=2,c=3,d=4,m=2,n=2;則執(zhí)行表達(dá)式:(m=a>b)&&(n=c>d)后,n的值為:()A)1B)2C)3D)0以下程序運(yùn)行后,如果從鍵盤上輸人5,則輸出結(jié)果是:()main(){intx;scanf("%d",&x);if(x--<5)printf("%d",x);elseprintf("%d",x++);}A、3B、4C、5D、6以下程序段的輸出是:()inti,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf(“%d\n”,m);A)12B)15C)20D)25定義如下變量:intn=10;則下列循環(huán)的輸出結(jié)果是:()while(n>7){n--;printf("%3d",n);}A)1098B)987C)10987D)9876以下循環(huán)體的執(zhí)行次數(shù)是:()main(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}A)3B)2C)1D)0在C語言的循環(huán)語句for,while,do-while語句中,用于直接中斷最內(nèi)層循環(huán)的語句是:()A)switchB)continueC)breakD)if二、判斷題:(F)用1作while循環(huán)的判斷條件,則循環(huán)一次也不執(zhí)行。(F)for循環(huán)表達(dá)式的括號內(nèi)的3個(gè)表達(dá)式均不可以省略。(F)若有for(;;){……},是指循環(huán)體執(zhí)行0次。(F)程序有死循環(huán)的時(shí)候,上機(jī)編譯不能通過。(F)執(zhí)行for(I=0;I<3;I++);后I的值為2。(T)所有類型的循環(huán)都可以進(jìn)行嵌套使用。(T)利用break語句可以提前終止循環(huán)的執(zhí)行。(F)利用continue語句可以提前終止循環(huán)的執(zhí)行。(F)break語句和continue語句不可以同時(shí)出現(xiàn)在同一個(gè)循環(huán)體內(nèi)。(F)switch語句中,每一個(gè)case的冒號后面都必須至少跟有一條語句第6章數(shù)組一、選擇題1、假設(shè)int型變量占兩個(gè)字節(jié)的存儲單元,若有定義:intx[10]={0,2,4};則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)為:()A、3B、6C、10D、202、下面程序段的輸出結(jié)果是:()intj;intx[3][3]={1,2,3,4,5,6,7,8,9};for(j=0;j<3;j++)printf(“%d”,x[j][2-j]);A、159B、147C、357D、3693、以下能正確定義數(shù)組并正確賦初值的語句是:()A、intN=5,b[N][N];B、inta[1][2]={{1},{3}};C、intc[2][]={{1,2},{3,4}};D、intd[3][2]={{1,2},{3,4}};4、有以下程序main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是:()A、456B、258C、369D、7895、以下能正確定義一維數(shù)組的選項(xiàng)是:()A、intnum[];B、intnum[0..100];C)#defineN100D)intN=100;intnum[N];intnum[N];6、有以下程序main(){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;i<4;i++)s+=aa[i][1];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是:()A、11B、19C、13D、、207、不能把字符串“Hello!”賦給數(shù)組b的語句是:()A、charb[10]={‘H’,’e’,’l’,’l’,’o’,’!’};B、charb[10];b=”Hello!”;C、charb[10];strcpy(b,”Hello!”);D、charb[10]=”Hello!”;8、函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是_:()A、將串str1復(fù)制到串str2中后在連接到串str3之后B、將串str1連接到串str2之后再復(fù)制到串str3之后C、將串str2復(fù)制到串str1中后再將串str3連接到串str1之后D、將串str2連接到串str1中后再將串str1復(fù)制到串str3中9、在C語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名()。A.[常量表達(dá)式] B.[整型表達(dá)式]C.[整型常量]或[整型表達(dá)式] D.[整型常量]10、若有說明:inta[10];,則對a數(shù)組元素的正確引用是:()。A.a(chǎn)[10] B.a(chǎn)[3.5] C.a(chǎn)(5) D.a(chǎn)[10-10]11、在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是:()。A.字符常量 B.浮點(diǎn)型常量C.整型常量或整型表達(dá)式 D.任何類型的表達(dá)式12、下列數(shù)組定義、初始化或賦值語句中,正確的是:()。A.intx[5]={1,2,3,4,5,6}; B.intn=8;intscore[n];C.inta[8];a[8]=100; D.intx[]={1,2,3,4,5,6};13、已知inta[][3]={1,2,3,4,5,6,7};,則數(shù)組a的第一維的大小是:()。A.2 B.3 C.4 D.無確定值14、若有說明:inta[3][4];,則對a數(shù)組元素的非法引用是:()。A.a(chǎn)[0][2*1] B.a(chǎn)[1][3] C.a(chǎn)[4-2][0] D.a(chǎn)[0][4]15、已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是:()。A.?dāng)?shù)組a和數(shù)組b的長度相同 B.a(chǎn)數(shù)組長度小于b數(shù)組長度C.a(chǎn)數(shù)組長度大于b數(shù)組長度 D.?dāng)?shù)組a和數(shù)組b等價(jià)16、對兩個(gè)數(shù)組a和b進(jìn)行如下初始化:chara[]=“ABCDEF”;charb[]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};則以下敘述正確的是:()。A.?dāng)?shù)組a及數(shù)組b完全相同 B.?dāng)?shù)組a及數(shù)組b長度相同C.?dāng)?shù)組a及數(shù)組b中都存放字符串 D.?dāng)?shù)組a比數(shù)組b長度長17、有下面的程序段:chara[3],b[]=“China”;a=b;printf(“%s”,a);A.運(yùn)行后將輸出China B.運(yùn)行后將輸出ChC.運(yùn)行后將輸出Chi D.編譯出錯(cuò)18、下面程序的運(yùn)行結(jié)果是:()。charc[5]={‘a(chǎn)’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s”,c);A.a(chǎn)b B.a(chǎn)bc C.a(chǎn)b\0 D.a(chǎn)b\0c\019、設(shè)有數(shù)組定義:chararray[]=“china”;,則數(shù)組array所占的空間為:()。A.4個(gè)字節(jié) B.5個(gè)字節(jié) C.6個(gè)字節(jié) D.7個(gè)字節(jié)20、判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用:()。A.if(s1>s2) B.if(strcmp(s1,s2))C.if(strcmp(s2,s1)>0) D.if(strcmp(s1,s2)>0)21、下列語句中,不正確的是:()。A.charstr[5]="hello";B.charstr[]={'h','e','l','l','o','\0'};C.charstr[5]={"hi"};D.charstr[100]="";22、下面錯(cuò)誤的初始化語句是:()。A.charstr[]="hello";B.charstr[100]="hello";C.charstr[]={'h','e','l','l','o'};D.charstr[]={'hello'};23、定義了一維int型數(shù)組a[10]后,下面錯(cuò)誤的引用是:()。A.a(chǎn)[0]=1;B.a(chǎn)[10]=2;C.a(chǎn)[0]=5*2;D.a(chǎn)[1]=a[2]*a[0];24、下面的二維數(shù)組初始化語句中,錯(cuò)誤的是:()。A.floatb[2][2]={0.1,0.2,0.3,0.4};B.inta[][2]={{1,2},{3,4}};C.inta[2][]={{1,2},{3,4}};D.floata[2][2]={0};25、定義了int型二維數(shù)組a[6][7]后,數(shù)組元素a[3][4]前的數(shù)組元素個(gè)數(shù)為:()。A.24B.25C.18D.1726、下面程序的運(yùn)行結(jié)果是:()。main(){ inta[][3]={1,2,3,4,5,6}; printf("%d",a[1][1]);}A.3B.4C.5D.627、下面程序的運(yùn)行結(jié)果是:()。main(){ chars1[20]="Good!"; chars2[15]="AB"; printf("%d",strlen(strcpy(s1,s2)));}A.20B.15C.5D.228、下面程序的運(yùn)行結(jié)果是:()。main(){ intx[]={22,33,44,55,66,77,88}; intk,y=0; for(k=1;k<=4;k++) if(x[k]%2==1) y++; printf("%d",y);}A.0 B.1 C.2 D.329、下面程序的運(yùn)行結(jié)果是:()。main(){ inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<i;j++)s+=a[i][j]; printf("%d",s);}A.14 B.19 C.20 D.2130、下面程序的運(yùn)行結(jié)果是:()。main(){ chars[]="ab1c2d4e"; inti; i=0; while(s[i]!='\0') { if(s[i]>='a'&&s[i]<='z')printf("%c",s[i]); i++; }}A.a(chǎn)b B.a(chǎn)b1c2d4e C.a(chǎn)bcde D.a(chǎn)二、判斷題:(F)在程序中可以對數(shù)值數(shù)組中的數(shù)據(jù)進(jìn)行整體使用。(T)如果strcmp(s1,s2)的返回值為一個(gè)負(fù)數(shù),則表明字符串s1一定小于字符串s2。(T)用scanf函數(shù)輸入的字符串不可以帶空格。(T)用gets函數(shù)輸入的字符串可以帶空格。(F)實(shí)現(xiàn)兩個(gè)字符串的復(fù)制可以使用str1=str2;語句。(T)使用strcpy函數(shù)可以實(shí)現(xiàn)兩個(gè)字符串的復(fù)制。(T)使用strcat函數(shù)可以實(shí)現(xiàn)兩個(gè)字符串的連接。(F)使用strlen函數(shù)可以求出一個(gè)字符串的實(shí)際長度(包含‘\0’字符)。(F)如有定義chara[20];則可以通過a=“Iamaboy”;給a賦值。(T)如有定義inta[3][4]={0};則數(shù)組a的所有元素初值均為0。(F)構(gòu)成數(shù)組的各個(gè)元素可以有不同的數(shù)據(jù)類型。(F)若有說明:inta[10];,則可以a[10]引用數(shù)組a的第10個(gè)元素。(T)引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許的是:整型常量或整型表達(dá)式。(T)若有inta[10]={6,7,8,9,10};,則是將5個(gè)初值依次賦給a[0]至a[4]。(F)使用strcat函數(shù)可以實(shí)現(xiàn)兩個(gè)字符串的復(fù)制。第7章函數(shù)一、選擇題在c語言中以下不正確的說法是:()實(shí)參可以是常量、變量、或表達(dá)式形參可以是常量、變量或表達(dá)式實(shí)參可以為任意類型形參應(yīng)及其對應(yīng)的實(shí)參類型一致以下程序有語法性錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說法是:()intmain(){intG=5,k;voidprt_char();……k=prt_char(G);……}語句voidprt_char();有錯(cuò),它是函數(shù)調(diào)用語句,不能用void說明變量名不能使用大寫字母函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾函數(shù)名不能使用下劃線以下正確的說法是:()函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可嵌套函數(shù)的定義和調(diào)用均不可以嵌套函數(shù)的定義和調(diào)用均可以嵌套在一個(gè)函數(shù)內(nèi)部定義的變量是:()A、簡單變量B、局部變量C、全局變量D、標(biāo)準(zhǔn)變量若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是:()A)函數(shù)調(diào)用可以作為獨(dú)立的語句存在B)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參C)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中D)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參以下所列的各函數(shù)首部中,正確的是:()A、voidplay(var:Integer,varb:Integer)B、voidplay(inta,b)C、voidplay(inta,intb)D、Subplay(aasinteger,basinteger)當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是:()A、數(shù)組的長度B、數(shù)組的首地址C、數(shù)組每一個(gè)元素的地址D、數(shù)組每個(gè)元素中的值在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它及對應(yīng)形參之間的數(shù)據(jù)傳遞方式是:()A、地址傳遞B、單向值傳遞C、由實(shí)參傳給形參,再由形參傳回實(shí)參D、傳遞方式由用戶指定以下敘述中不正確的是:()在不同的函數(shù)中可以使用相同名字的變量函數(shù)中的形式參數(shù)是局部變量在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在一個(gè)函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效有以下程序voidfun(inta,intb,intc){a=456;b=567;c=678;}intmain(){intx=10,y=20,z=30;fun(x,y,z);printf("%d,/%d,%d\n",x,y,z);return0;}輸出結(jié)果是:()A、30,20,10B、10,20,30C、456,567,678D、678,567,456下述函數(shù)定義形式正確的是()。A、intf(intx;inty) B、intf(intx,y) C、intf(intx,inty) D、intf(x,y:int)關(guān)于函數(shù)參數(shù),說法正確的是()。A、實(shí)參及其對應(yīng)的形參各自占用獨(dú)立的內(nèi)存單元B、實(shí)參及其對應(yīng)的形參共同占用一個(gè)內(nèi)存單元C、只有當(dāng)實(shí)參和形參同名時(shí)才占用同一個(gè)內(nèi)存單元D、形參是虛擬的,不占用內(nèi)存單元一個(gè)函數(shù)的返回值由()確定。A、return語句中的表達(dá)式 B、調(diào)用函數(shù)的類型C、系統(tǒng)默認(rèn)的類型 D、被調(diào)用函數(shù)的類型C語言中形參的默認(rèn)存儲類別是()。A、自動(auto) B、靜態(tài)(static)C、寄存器(register) D、外部(extern)以下正確的函數(shù)形式是()。A、doublefun(intx,inty){z=x+y;returnz;}B、fun(intx,y){intz;returnz;}C、fun(x,y){intx,y;doublez;z=x+y;returnz;}D、doublefun(intx,inty){doublez;z=x+y;returnz;}在一個(gè)源程序文件中定義的全局變量的有效范圍為()。A、一個(gè)C程序的所有源程序文件B、該源程序文件的全部范圍C、從定義處開始到該源程序文件結(jié)束D、函數(shù)內(nèi)全部范圍下列函數(shù)中,能夠從鍵盤上獲得一個(gè)字符數(shù)據(jù)的函數(shù)是()。A、puts()B、putchar()C、getchar()D、gets()以下程序的輸出結(jié)果是()。fun(inta,intb,intc){ c=a+b;}intmain(){ intc; fun(2,3,c); printf(“%d\n”,c);return0;}A、2 B、3 C、5 D、無定值分析以下程序的運(yùn)行結(jié)果()。func(inta,intb){ inttemp=a; a=b;b=temp;}intmain(){ intx,y; x=10;y=20; func(x,y);printf((“%d,%d\n”,x,y);return0
;}A、10,20B、10,10C、20,10D、20,20下面程序的輸出是()。fun(intx){staticinta=3;a+=x;return(a);}intmain(){ intk=2,m=1,n; n=fun(k); n=fun(m); printf(“%d”,n);return0;}A、3 B、4 C、6 D、9以下程序輸出的結(jié)果是()。intfunc(inta,intb){return(a+b);}intmain(){intx=2,y=5,z=8,r;r=func(func(x,y),z); printf(“%d\n”,r);return0;}A、12 B、13 C、14 D、15以下程序的輸出結(jié)果是()。inta,bvoidfun(){a=100;b=200;}intmain(){inta=5,b=7;fun(); printf(“%d%d\n”,a,b);return0;}A、100200B、57C、200100D、75下列程序執(zhí)行后的輸出結(jié)果是
void
func1(int
i);
void
func2(int
i);
char
st[]="hello,friend!";
void
func1(int
i)
{
printf("%c",st[i]);
if(i<3)
{
i+=2;func2(i);}
}
void
func2(int
i)
{
printf("%c",st[i]);
if(i<3)
{
i+=2;func1(i);}
}
intmain()
{
int
i=0;
func1(i);
printf("\n");return0;}
A)hello
B)hel
C)hlo
D)hlm有以下程序
int
f(int
n)
{
if(n==1)
return
1;
else
return
f(n-1)+1;
}
intmain()
{
int
i,j=0;
for(i=1;i<3;i++)
j+=f(i);
printf("%d\n",j);return0;
}
程序運(yùn)行后的輸出結(jié)果是
A)4
B)3
C)2
D)1現(xiàn)有如下程序
#include
"stdio.h"
int
fun(int
x)
{
printf("x=%d\n",++x);
}
intmain()
{
fun(12+5);return0;
}
則程序的輸出結(jié)果是
A)12
B)13
C)17
D)18
二、判斷題()函數(shù)定義voidmax(inta,intb)表示該函數(shù)的返回值不確定。()在C語言中,函數(shù)體中變量的隱含存儲類別是自動變量auto。()return語句作為函數(shù)的出口,在一個(gè)函數(shù)體內(nèi)只能有一個(gè)。()在C程序中,函數(shù)不能嵌套定義,但可以嵌套調(diào)用。()C語言的源程序中必須包含庫函數(shù)。()在C程序中,函數(shù)調(diào)用不能出現(xiàn)在表達(dá)式語句中。()在C函數(shù)中,形參可以是變量、常量或表達(dá)式。()在主函數(shù)main()中定義的變量都可以在其它被調(diào)函數(shù)中直接使用。()在C語言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是函數(shù)首部和函數(shù)體。()C語言程序中的main()函數(shù)必須放在程序的開始部分。()若定義的函數(shù)沒有參數(shù),則函數(shù)名后的圓括號可以省略。()函數(shù)的函數(shù)體可以是空語句。()函數(shù)的實(shí)參和形參可以是相同的名字。()函數(shù)調(diào)用中,形參及實(shí)參的類型和個(gè)數(shù)必須保持一致。()C語言中函數(shù)返回值的類型由return語句中的表達(dá)式的類型決定。()外部類型的變量只能定義一次,但可在不同地方聲明多次。()外部類型的變量作用范圍大,編程中應(yīng)多用外部變量。答案:BCBBDCBBDBCADADCCDACDBCBD1F2T3F4T5F6F7F8F9T10F11F12T13T14T15F16T17F第8章指針選擇題下列選項(xiàng)中正確的語句組是:()A)chars[8];s={"Beijing"};B)char*s;s={"Beijing"};C)chars[8];s="Beijing";D)char*s;s="Beijing";若有定義:int*p[3];,則以下敘述中正確的是:()A)定義了一個(gè)類型為int的指針變量p,該變量具有三個(gè)指針B)定義了一個(gè)指針數(shù)組p,該數(shù)組含有三個(gè)元素,每個(gè)元素都是基類型為int的指針C)定義了一個(gè)名為*p的整型數(shù)組,該數(shù)組含有三個(gè)int類型元素D)定義了一個(gè)可指向一維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有三個(gè)int類型元素已定義以下函數(shù)fun(char*p2,char*p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函數(shù)的功能是:()A)將p1所指字符串復(fù)制到p2所指內(nèi)存空間B)將p1所指字符串的地址賦給指針p2C)對p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較D)檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼?\0'若有如下定義chara[10],*p=a,則對a數(shù)組中元素的不正確的引用是:()A)*&a[5]B)a+2C)*(p+5)D)*(a+5)有以下程序main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是:()A)隨機(jī)值B)0C)5D)6下列程序的運(yùn)行結(jié)果是:()voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}A)63B)36C)00D)編譯出錯(cuò)下面程序的輸出結(jié)果是:()main(){inta[]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}A)0B)1C)10D)9若有說明:inti,j=2,*p=&i;,則能完成i=j賦值功能的語句是:()A)i=*p;B)*p=*&j;C)i=&j;D)i=**p;以下定義語句中,錯(cuò)誤的是:()A)inta[]={1,2};B)char*a[3];C)chars[10]="test";D)intn=5,a[n];以下不能正確進(jìn)行字符串賦初值的語句是:()A)charstr[5]="good!";B)charstr[]="good!";C)char*str="good!";D)charstr[5]={'g','o','o','d'};有以下程序main(){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;i<4;i++)s+=aa[i][1];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是:()A)11B)19C)13D)20有以下程序#include<string.h>main(){char*p="abcde\0fghjik\0";printf("%d\n",strlen(p));}程序運(yùn)行后的輸出結(jié)果是:()A)12B)15C)6D)5變量的指針,其含義是指該變量的______.
a)值
b)地址
c)名
d)一個(gè)標(biāo)志若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是_______.
a)a,point,*&a
b)&*a,&a,*point
c)*&point,*point,&a
d)&a,&*point,point若有說明;int*p,m=5,n;以下正確的程序段的是____.
a)p=&n;
b)p=&n;
scanf("%d",&p);
scanf("%d",*p);
c)scanf("%d",&n);
d)p=&n;
*p=n;
*p=m;以下正確的程序段是______.
a)charstr[20];
b)char*p;
scanf("%s",str);
scanf("%s",p);
c)charstr[20];
d)charstr[20],*p=str;
scanf("%s",&str[2]);
scanf("%s",p[2]);下面程序的運(yùn)行結(jié)果是____.
#include
<stdio.h>
#include
<string.h>
main()
{
char*s1="AbDeG";
char*s2="AbdEg";
s1+=2;s2+=2;
printf("%d\n",strcmp(s1,s2));
}
a)正數(shù)
b)負(fù)數(shù)
c)零
d)不確定的值
若有定義:inta[2][3],則對a數(shù)組的第i行j列元素地址的正確引用為_____
a)*(a[i]+j)
b)(a+i)
c)*(a+j)
d)a[i]+j
若有以下定義,則p+5表示___.
int
a[10],*p=a;
a)元素a[5]的地址
b)元素a[5]的值
c)元素a[6]的地址
d)元素a[6]的值以下程序的輸出結(jié)果是________.#include<stdio.h>voidfun(int*p);intmain(){ intx=3;fun(&x); printf(“x=%d\n”,x);}voidfun(int*p){ *p=5;}A)3B)5C)8D)2下面判斷正確的是
A)char
*a="china";等價(jià)于
char
*a;*a="china";
B)char
str[5]={"china"};等價(jià)于char
str[]={"china"};
C)char
*s="china";等價(jià)于
char
*s;s="china";
D)char
c[4]="abc",d[4]="abc";等價(jià)于char
c[4]=d[4]="abc";下列程序的運(yùn)行結(jié)果是
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
二、判斷題(F)指針變量里存放的是地址值,因此指針變量只能是int型的。(T)有一個(gè)一維數(shù)組a[10],則a及&a[0]等價(jià)。(F)有如下程序段:inti,j=2,k,*p=&i;k=*p+j;這里出現(xiàn)的兩個(gè)“*”號,含義是一樣的。(F)在C語言中,每一個(gè)變量在內(nèi)存里占用的單元數(shù)都是相同的。(T)通過指針變量,就能間接地得到它所指向的變量的值。(F)有說明:int*p;且p指向地址為1500的內(nèi)存單元,則經(jīng)過操作“p++;”后,p將指向1501的內(nèi)存單元。(T)一個(gè)變量的指針就是該變量的地址。(F)在C語言中允許將一個(gè)整數(shù)賦給指針變量。(F)數(shù)組名實(shí)際上是此數(shù)組的首地址,所以數(shù)組名相當(dāng)于一個(gè)指針變量。(F)char*p[10];定義了一個(gè)指向字符數(shù)組的指針變量。答案:DBABBBCBDABDBDDABDABCBFTFFTFTFFFC語言程序設(shè)計(jì)練習(xí)題結(jié)構(gòu)體及聯(lián)合體一、單選題下列關(guān)于結(jié)構(gòu)體的說法錯(cuò)誤的是:(D)A:結(jié)構(gòu)體是由用戶自定義的一種數(shù)據(jù)類型B:結(jié)構(gòu)體中可設(shè)定若干個(gè)不同數(shù)據(jù)類型的成員C:結(jié)構(gòu)體中成員的數(shù)據(jù)類型可以是另一個(gè)已定義的結(jié)構(gòu)D:在定義結(jié)構(gòu)體時(shí),可以對成員進(jìn)行初始化以下結(jié)構(gòu)體類型說明及結(jié)構(gòu)體變量a,b的定義中,正確的是:(B)A:structssB:structss{charflag;{charflag;floatx;floatx;};};ssa,b;structssa,b;C:structD:struct{charflag;{charflag;floatx;floatx;}ss;}ss;ssa,b;structssa,b;設(shè)有以下說明語句:structstu{inta;floatb;}stutype;則下面的敘述不正確的是:(C)A:struct是結(jié)構(gòu)體類型的關(guān)鍵字B:structstu是用戶定義的結(jié)構(gòu)體類型名C:stutype是用戶定義的結(jié)構(gòu)體類型名D:a和b都是結(jié)構(gòu)體成員名在VC++6.0中使用C語言時(shí),若有如下定義:structdata{longi;charch;doublef;}b;則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是:(D)A:4B:8C:12D:13下面程序的運(yùn)行結(jié)果是:()main(){structcmplx{intx;inty;}c[2]={1,3,2,7};printf("%d",c[0].y/c[0].x*c[1].x);}A:0B:1C:3D:6若有以下說明和語句,則對pup中sex域的正確引用方式是:()structpupil{charname[20];intsex;}pup,*p;p=&pup;A:p.pup.sexB:p->pup.sexC:(*p).pup.sexD:(*p).sexC語言規(guī)定結(jié)構(gòu)體變量系統(tǒng)分配給它的存儲空間是()A)該結(jié)構(gòu)體中最后一個(gè)成員所需的存儲空間B)該結(jié)構(gòu)體中所有成員所需存儲空間的總和。C)該結(jié)構(gòu)體中第一個(gè)成員所需的存儲空間D)該結(jié)構(gòu)體中占用最大存儲空間的成員所需的存儲空間當(dāng)說明一個(gè)共用體變量時(shí),系統(tǒng)分配給它的內(nèi)存是:()A:各成員所需內(nèi)存量的總和B:共用體中第一個(gè)成員所需內(nèi)存量C:成員中占內(nèi)存量最大者所需的內(nèi)存量D:共用體中最后一個(gè)成員所需內(nèi)存量以下對C語言中共用體類型數(shù)據(jù)的敘述正確的是:()A:可以對共用體變量名直接賦值B:一個(gè)共用體變量中可以同時(shí)存放所有成員C:一個(gè)共用體變量中不能同時(shí)存放其所有成員D:共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員若有以下定義和語句:uniondata{inti;charc;floatf;}a;則以下語句正確的是:()A:a=5B:printf("%d\n",a.i);C:a={2,'a',1.2};D:n=a根據(jù)以下定義,能輸出字母M的語句是()structperson{charname[9];intage;};structpersonclass[10]={“John”,17,“Paul”,19,“Mary”,18,“Adam”,16,};A.printf(“%c\n”,class[3].name);B.printf(“%c\n”,class[3].name[1]);C.printf(“%c\n”,class[2].name[1]);D.printf(“%c\n”,class[2].name[0]);12.有如下定義:structdate{ inty;intm;intd;};structperson{ charname[20]; charsex; structdatebirthday;}a;對結(jié)構(gòu)體變量a的出生年份進(jìn)行賦值時(shí),下面正確的賦值語句是()。Ay=1958Bbirthday.y=1958Ca.birthday.y=1958 Da.y=195813.有以下程序段typedefstructnode{ intdata;structnode*next;}NODE;NODE*p;以下敘述正確的是()A)NODE*p;語句出錯(cuò) B)p是指向structnode結(jié)構(gòu)體變量的指針的指針C)p是structnode結(jié)構(gòu)體變量 D)p是指向structnode結(jié)構(gòu)體變量的指針14.以下關(guān)于typedef的敘述錯(cuò)誤的是()A)typedef只是將已存在的類型用一個(gè)新的名字來代表B)用typedef可以增加新類型C)用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名D)用typedef為類型說明一個(gè)新名,通??梢栽黾映绦虻目勺x性15.下面程序的運(yùn)行結(jié)果是() unionun { inta; intb; intc;}; main() { unionunu; u.a=1; u.b=2; u.c=3; printf(“a=%d,b=%d,c=%d\n”,u.a,u.b,u.c); }A)a=3,b=3,c=3 B)a=1,b=2,c=3C)a=1,b=1,c=1D)a=2,b=2,c=2(第9章結(jié)構(gòu)體及聯(lián)合體)參考答案一、單選題答案:1D2B3C4D5D6D7B8C9C10B11D12C13D14B15A二、程序填空已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎?。下面的sum函數(shù)是求出鏈表中所有結(jié)點(diǎn)數(shù)據(jù)域值的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省通信管理局聘用合同
- 2025貿(mào)易合同典當(dāng)合同
- 醫(yī)院拆墻施工協(xié)議
- 城市有軌電車路基加固協(xié)議
- 交通運(yùn)輸空地租賃合同樣本
- 甜品店店員招聘合同模板
- 農(nóng)業(yè)展會大棚租賃合同
- xx市分布式光伏項(xiàng)目可行性研究報(bào)告
- 大型商場空調(diào)系統(tǒng)安裝合同
- 健身房建設(shè)合同
- 2025屆浙江省高二物理第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 《視覺神經(jīng)生理學(xué)》期末考試復(fù)習(xí)題庫(含答案)
- 《廠內(nèi)專用機(jī)動車輛安全技術(shù)規(guī)程》TSG81-2022知識培訓(xùn)
- 2024年安全員A證證考試題庫及答案(1000題)
- 軸線翻身課件講稿
- 2024年2個(gè)居間人內(nèi)部合作協(xié)議書模板
- 鄉(xiāng)鎮(zhèn)意識形態(tài)輿情事件應(yīng)急處置預(yù)案
- 法務(wù)崗位招聘面試題及回答建議(某大型央企)2024年
- 采購合同協(xié)議書范本(3篇)
- 廣東省惠州市惠陽區(qū)2023-2024學(xué)年九年級上學(xué)期期末語文試題
- 課件:《中華民族共同體概論》第十五講:新時(shí)代與中華民族共同體建設(shè)
評論
0/150
提交評論