版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、選擇題一個(gè)C程序由若干個(gè)C函數(shù)組成,各個(gè)函數(shù)在文件中的位置順序?yàn)椋海ǎ┤我獾谝粋€(gè)函數(shù)必須是主函數(shù),其他函數(shù)任意必須完全按照?qǐng)?zhí)行的順序排列其他函數(shù)可以任意,主函數(shù)必須在最后下列四個(gè)敘述中,正確的是:()C程序中的所有字母都必須小寫C程序中的關(guān)鍵字必須小寫,其他標(biāo)示符不區(qū)分大小寫C程序中的所有字母都不區(qū)分大小寫C語(yǔ)言中的所有關(guān)鍵字必須小寫下列四個(gè)敘述中,錯(cuò)誤的是:()一個(gè)C源程序必須有且只能有一個(gè)主函數(shù)一個(gè)C源程序可以有多個(gè)函數(shù)在C源程序中注釋說(shuō)明必須位于語(yǔ)句之后C源程序的基本結(jié)構(gòu)是函數(shù)下面不是C語(yǔ)言合法標(biāo)識(shí)符的是:()A、abcB、5nC、_4mD、x3以下敘述不正確的是:()A.分號(hào)是C語(yǔ)句的必要組成部分B.C程序的注釋可以寫在語(yǔ)句的后面C.函數(shù)是C程序的基本單位D.主函數(shù)的名字不一定非用main來(lái)表示C語(yǔ)言中允許的基本數(shù)據(jù)類型包括:()A.整型、實(shí)型、邏輯型B.整型、實(shí)型、字符型C.整型、字符型、邏輯型D.整型、實(shí)型、邏輯型、字符型C語(yǔ)言中能用八進(jìn)制表示的數(shù)據(jù)類型為:()A、字符型、整型B、整形、實(shí)型C、字符型、實(shí)型、雙精度型D、字符型、整型、實(shí)型、雙精度型下列屬于C語(yǔ)言合法的字符常數(shù)是:()A、’\97’B、”A”C、’\t’D、”\在C語(yǔ)言(VC環(huán)境)中,5種基本數(shù)據(jù)類型的存儲(chǔ)空間長(zhǎng)度的排列順序?yàn)椋海ǎ〢、char<int<=longint<=float<doubleB、char=int<longint<=float<doubleC、char<int<longint=float=doubleD、char=int=<longint<=float<double若有以下定義語(yǔ)句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é)果不確定以下合法的賦值語(yǔ)句是:()A、x=y=100B、d--;C、x+yD、c=int(a+b);在以下一組運(yùn)算符中,優(yōu)先級(jí)最高的是:()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語(yǔ)言表達(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、語(yǔ)法錯(cuò)C、1D、“假”表達(dá)式17%4/8的值為:()A、0B、1C、2D一個(gè)可執(zhí)行的C程序的開(kāi)始執(zhí)行點(diǎn)是:()A.程序中的第一個(gè)語(yǔ)句B.包含文件中的第一個(gè)函數(shù)C.名為main的函數(shù)D.程序中的第一個(gè)函數(shù)組成C語(yǔ)句的一個(gè)必不可少的符號(hào)是:()A.逗號(hào)B.引號(hào)C.冒號(hào)D.分號(hào)若將int、long、float等類型的數(shù)據(jù)進(jìn)行混合運(yùn)算,其結(jié)果的數(shù)據(jù)類型是:()A.intB.longC.floatD.double下述是C語(yǔ)言中有關(guān)變量定義的幾個(gè)說(shuō)法,正確的是:()A. 變量可以不定義直接使用B. 一個(gè)說(shuō)明語(yǔ)句只能定義一個(gè)變量C. 幾個(gè)不同類型的變量可在同一語(yǔ)句中定義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ī)能夠自動(dòng)地處理指定的問(wèn)題是因?yàn)椋海ǎ〢.計(jì)算機(jī)是電動(dòng)的 B.有解決該問(wèn)題的計(jì)算機(jī)程序C.事先存儲(chǔ)了解決該問(wèn)題的程序 D.以上都不是以下敘述中最準(zhǔn)確的是:()A.計(jì)算機(jī)程序是處理某一問(wèn)題所有指令的集合B.計(jì)算機(jī)程序是處理某一問(wèn)題所用到的所有數(shù)據(jù)的集合C.計(jì)算機(jī)程序是處理某一問(wèn)題的所有指令及其數(shù)據(jù)的集合D.計(jì)算機(jī)程序是處理某一問(wèn)題的所有指令及其數(shù)據(jù)的有序集合目前編寫計(jì)算機(jī)程序一般采用的是:()A.機(jī)器語(yǔ)言B.匯編語(yǔ)言C.高級(jí)語(yǔ)言D.英語(yǔ)設(shè)計(jì)一個(gè)計(jì)算機(jī)程序最基本的工作是:()A.制定正確的算法B.選擇合理的數(shù)據(jù)結(jié)構(gòu)C.制定正確的算法和選擇合理的數(shù)據(jù)結(jié)構(gòu)D.以上都不是算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是:()A.有窮性B.簡(jiǎn)潔性C.可行性D.確定性下述哪一個(gè)不是結(jié)構(gòu)化程序基本結(jié)構(gòu):()A.順序B.選擇C.循環(huán)D.嵌套C語(yǔ)言是一種:()A.機(jī)器語(yǔ)言B.匯編語(yǔ)言C.高級(jí)語(yǔ)言D.以上都不是C語(yǔ)言源程序的擴(kuò)展名為:()A..exeB..cC..objD..cppC程序編譯、連接后最終產(chǎn)生(即計(jì)算機(jī)執(zhí)行)的文件的擴(kuò)展名為()A..exeB..cC..objD..cpp構(gòu)成C語(yǔ)言源程序的基本單位是:()A.子程序B.過(guò)程C.文本D.函數(shù)下列敘述正確的是:()A.C語(yǔ)言源程序可以直接在DOS環(huán)境中運(yùn)行B.編譯C語(yǔ)言源程序得到的目標(biāo)文件可以直接在DOS環(huán)境中運(yùn)行C.C語(yǔ)言源程序經(jīng)過(guò)編譯、連接得到的可執(zhí)行程序可以直接在DOS環(huán)境中運(yùn)行D.C語(yǔ)言源程序可以直接在VC++環(huán)境中運(yùn)行某C程序由一個(gè)主函數(shù)main()和一個(gè)自定義函數(shù)max()組成,則該程序:()A.寫在前面的函數(shù)先開(kāi)始執(zhí)行 B.總是從main()函數(shù)開(kāi)始執(zhí)行C.總是從max()函數(shù)開(kāi)始執(zhí)行 D.寫在后面的函數(shù)先開(kāi)始執(zhí)行以下敘述不正確的是:()A.分號(hào)是C語(yǔ)句的必要組成部分 B.C程序的注釋可以寫在語(yǔ)句的后面C.函數(shù)是C程序的基本單位 D.主函數(shù)的名字不一定用mian表示以下為C語(yǔ)句的是:()A.a(chǎn)=8B.a(chǎn)++;C.if(a>8)D.#include<stdio.h>以下所列語(yǔ)句中,合法的語(yǔ)句是:()A.a(chǎn)=1,b=2B.++a;C.a(chǎn)=a+1=5D.y=int(a);二、判斷題(T)C語(yǔ)言是嚴(yán)格區(qū)分大寫和小寫的,因此主函數(shù)不能寫成main()以外的其他形式。(F)C語(yǔ)言程序是從源文件的第一條語(yǔ)句開(kāi)始執(zhí)行的。(F)C語(yǔ)言對(duì)其數(shù)據(jù)在內(nèi)存中所占用的實(shí)際字節(jié)數(shù)是有明確規(guī)定的。(F)C語(yǔ)言中/*..*/之間的注釋內(nèi)容是不能跨行的。(F)C語(yǔ)言中多個(gè)以“;”結(jié)束的語(yǔ)句不能放在同一行。(F)變量說(shuō)明語(yǔ)句inta=b=c=23;是正確的。(F)字符型數(shù)據(jù)不可以和整數(shù)數(shù)據(jù)一起進(jìn)行算術(shù)運(yùn)算。(T)C語(yǔ)言中強(qiáng)制類型轉(zhuǎn)換不會(huì)改變?cè)兞康脑袛?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語(yǔ)言中放在“”之間的內(nèi)容都被視為字符串的一個(gè)構(gòu)成部分,都可以在屏幕上原樣顯示。(T)計(jì)算機(jī)程序的執(zhí)行過(guò)程實(shí)際上是對(duì)程序所表達(dá)的數(shù)據(jù)進(jìn)行處理的過(guò)程。(T)目前程序設(shè)計(jì)的理念已經(jīng)從“面向過(guò)程的程序設(shè)計(jì)”向“面向?qū)ο蟮某绦蛟O(shè)計(jì)”方面轉(zhuǎn)變。(T)有人曾提出:計(jì)算機(jī)程序=算法+數(shù)據(jù)結(jié)構(gòu)。(T)在程序設(shè)計(jì)中提到的算法就是“解決問(wèn)題的方法和步驟”(T)在程序設(shè)計(jì)中提到的數(shù)據(jù)結(jié)構(gòu)就是“程序處理的對(duì)象的表示方法”(T)計(jì)算機(jī)程序的算法就是解決“做什么”和“怎么做”的問(wèn)題。(T)結(jié)構(gòu)化程序設(shè)計(jì)的基本理念是:將一個(gè)較大的問(wèn)題細(xì)分成若干個(gè)較小問(wèn)題的組合。(F)C程序的執(zhí)行是從程序的第一行開(kāi)始,一直到程序的最后一行結(jié)束。(T)C程序的執(zhí)行是從主函數(shù)的第一行開(kāi)始,一直到主函數(shù)的最后一行結(jié)束。(T)設(shè)x、t均為int型變量,則執(zhí)行語(yǔ)句"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語(yǔ)言中,邏輯“真”等價(jià)于不等于0的數(shù)(F)C語(yǔ)言中字符型、整型、實(shí)型都能用八進(jìn)制表示(T)變量的三要素是:變量名、變量類型、變量的值。書(shū)上必會(huì)的題:課后題:第三章P83-4,6,7選擇題以下說(shuō)法正確的是()。
A)C語(yǔ)言程序總是從第一個(gè)的函數(shù)開(kāi)始執(zhí)行
B)在C語(yǔ)言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義
C)C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行
D)C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是()。
A)有零個(gè)輸入或多個(gè)輸入 B)高效性
C)有窮性 D)確定性C語(yǔ)言中用于結(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-while D)if,for,continue一個(gè)C程序的執(zhí)行是從()。
A)main()函數(shù)開(kāi)始,直到main()函數(shù)結(jié)束B(niǎo))第一個(gè)函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束
C)第一個(gè)語(yǔ)句開(kāi)始,直到最后一個(gè)語(yǔ)句結(jié)束D)main()函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束組成C程序的基本單位是()。
A)函數(shù) B)標(biāo)識(shí)符 C)表達(dá)式 D)語(yǔ)句若有語(yǔ)句scanf(“%d%d”,&a,&b);要使變量a,b分別得到12和34;正確的輸入形式為()。
A)12<空格>34<回車> B)12,34<回車> C)1234<回車> D)12:34<回車>C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括()。
A)整型、實(shí)型、邏輯型
B)整型、實(shí)型、字符型
C)整型、字符型、邏輯型
D)字符型、實(shí)型、邏輯型C語(yǔ)言中的標(biāo)識(shí)符只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符()。
A)必須為字母 B)必須為下劃線
C)必須為字母或下劃線 D)可以是字母,數(shù)字和下劃線中任一字符下列可用于C語(yǔ)言用戶標(biāo)識(shí)符的一組是()。
A)void,define,WORD B)a3_b3,_123,Car
C)For,-abc,IFCase D)2a,DO,sizeofC語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是()。
A)%= B)/ C)= D)<=設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為()。
A)int B)float C)double D)不確定在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()。
A)補(bǔ)碼 B)反碼 C)原碼 D)ASCII碼設(shè)int類型的數(shù)據(jù)長(zhǎng)度為2字節(jié),則該類型數(shù)據(jù)的取值范圍是()。
A)0至65536 B)0至65535
C)-32767至32768 D)-32768至32767?x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語(yǔ)句是
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)以上都不對(duì)能正確表示邏輯關(guān)系:“a≥10或a≤0”的C語(yǔ)言表達(dá)式是
A)a>=10ora<=0 B)a>=0|a<=10
C)a>=10&&a<=0 D)a>=10‖若變量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)0 B)22 C)12 D)10已知charch=′C′;則以下表達(dá)式的值是ch=(ch>=′A′&&ch<=′Z′)(ch+32):ch;
A)A B)a C)Z D)c請(qǐng)閱讀以下程序:
main()
{inta=5,b=0,c=0;
if(a=b+c)printf("***\n");elseprintf("$$$\n");}以上程序A)有語(yǔ)法錯(cuò)不能通過(guò)編譯 B)可以通過(guò)編譯但不能通過(guò)連接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)12 B)11 C)10 D)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,#填空題用高級(jí)語(yǔ)言編寫的程序稱為(源)程序,它可以通過(guò)解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以通過(guò)編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。C語(yǔ)言中的標(biāo)識(shí)符只能由字母、下劃線和(數(shù)字)組成。C語(yǔ)言源程序注釋符號(hào)有兩種,(/*……*/)用于塊注釋,(//)用于行注釋。源程序test.c經(jīng)編譯產(chǎn)生的目標(biāo)文件是:(test.obj);經(jīng)連接處理后,產(chǎn)生的可執(zhí)行文件是:(test.exe)。C標(biāo)準(zhǔn)庫(kù)函數(shù)中,數(shù)學(xué)函數(shù)的原型在(math.h)頭文件中。如下語(yǔ)句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í)行從程序頭開(kāi)始。(F)函數(shù)體不可以為空。(F)C程序的注釋只能是一行。(F)C程序中的數(shù)據(jù)聲明和語(yǔ)句必須用“?!苯Y(jié)束。(F)C程序一行只能寫一條語(yǔ)句。(F)在C程序中,符號(hào)“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語(yǔ)言賦值語(yǔ)句是:()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)不確定若變量已正確說(shuō)明為int類型,要給a,b,c輸入數(shù)據(jù),以下正確的輸入語(yǔ)句是:()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)0 B)1/2 C)0.5 以下程序段的輸出是:()floata=57.666;printf(“*%4.2fA)*57* B)*58*C)*57.66* D)*57.67*若有以下定義和語(yǔ)句:()inta=5,bb=a++;此處b的值是:()A)7B)6以下程序的輸出結(jié)果是:()main(){intx=10,y=10;printf("%d%d\n",x--,--y);}A)1010B)99已知字符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和若執(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)16設(shè)i是int型變量,f是float型變量,用下面的語(yǔ)句給這兩個(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語(yǔ)言中,實(shí)型數(shù)據(jù)在內(nèi)存都中占4個(gè)字節(jié)。2.(F)在C語(yǔ)言中,參加算術(shù)(+,-,*,/,%)運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。3.(F)若有定義和語(yǔ)句:inta;charc;scanf("%d,%c",&a,&c);當(dāng)通過(guò)鍵盤輸入:10,‘A’之后,則變量a中存放的是10,變量c中存放的是‘A’。4.(F)C語(yǔ)言中,變量名只能是小寫字母表示,符號(hào)常量名可用大寫表示5.(F)在C語(yǔ)言中,變量可以不要定義,直接使用 6.(T)一個(gè)C語(yǔ)言程序總是從主函數(shù)開(kāi)始執(zhí)行的7.(F)注釋語(yǔ)句必須用/*和*/括起來(lái),且只能位于某一語(yǔ)句的后面第四/五章選擇結(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),以下程序的輸出結(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)13若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是:()main(){intn;scanf("%d",&n);if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}A)11B)10C)9有以下程序段intk=0;while(k=1)k++;則while循環(huán)執(zhí)行的次數(shù)是:()A)無(wú)限次B)有語(yǔ)法錯(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)5設(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以下程序運(yùn)行后,如果從鍵盤上輸人5,則輸出結(jié)果是:()main(){intx;scanf("%d",&x);if(x--<5)printf("%d",x);elseprintf("%d",x++);}A、3 B、4 C、5 D、以下程序段的輸出是:()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)1在C語(yǔ)言的循環(huán)語(yǔ)句for,while,do-while語(yǔ)句中,用于直接中斷最內(nèi)層循環(huán)的語(yǔ)句是:()A)switchB)continueC)breakD)if二、判斷題:(F)用1作while循環(huán)的判斷條件,則循環(huán)一次也不執(zhí)行。(F)for循環(huán)表達(dá)式的括號(hào)內(nèi)的3個(gè)表達(dá)式均不可以省略。(F)若有for(;;){……},是指循環(huán)體執(zhí)行0次。(F)程序有死循環(huán)的時(shí)候,上機(jī)編譯不能通過(guò)。(F)執(zhí)行for(I=0;I<3;I++);后I的值為2。(T)所有類型的循環(huán)都可以進(jìn)行嵌套使用。(T)利用break語(yǔ)句可以提前終止循環(huán)的執(zhí)行。(F)利用continue語(yǔ)句可以提前終止循環(huán)的執(zhí)行。(F)break語(yǔ)句和continue語(yǔ)句不可以同時(shí)出現(xiàn)在同一個(gè)循環(huán)體內(nèi)。(F)switch語(yǔ)句中,每一個(gè)case的冒號(hào)后面都必須至少跟有一條語(yǔ)句第6章數(shù)組一、選擇題1、假設(shè)int型變量占兩個(gè)字節(jié)的存儲(chǔ)單元,若有定義: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、3573、以下能正確定義數(shù)組并正確賦初值的語(yǔ)句是:()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、3695、以下能正確定義一維數(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、、7、不能把字符串“Hello!”賦給數(shù)組b的語(yǔ)句是:()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之后再?gòu)?fù)制到串str3之后C、將串str2復(fù)制到串str1中后再將串str3連接到串str1之后D、將串str2連接到串str1中后再將串str1復(fù)制到串str3中9、在C語(yǔ)言中,一維數(shù)組的定義方式為:類型說(shuō)明符數(shù)組名()。A.[常量表達(dá)式] B.[整型表達(dá)式]C.[整型常量]或[整型表達(dá)式] D.[整型常量]10、若有說(shuō)明:inta[10];,則對(duì)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語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是:()。A.字符常量 B.浮點(diǎn)型常量C.整型常量或整型表達(dá)式 D.任何類型的表達(dá)式12、下列數(shù)組定義、初始化或賦值語(yǔ)句中,正確的是:()。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、若有說(shuō)明:inta[3][4];,則對(duì)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的長(zhǎng)度相同 B.a(chǎn)數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a(chǎn)數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度 D.?dāng)?shù)組a和數(shù)組b等價(jià)16、對(duì)兩個(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長(zhǎng)度相同C.?dāng)?shù)組a與數(shù)組b中都存放字符串 D.?dāng)?shù)組a比數(shù)組b長(zhǎng)度長(zhǎng)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’,‘\0printf(“%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、下列語(yǔ)句中,不正確的是:()。A.charstr[5]="hello";B.charstr[]={'h','e','l','l','o','\0'};C.charstr[5]={"hi"};D.charstr[100]="";22、下面錯(cuò)誤的初始化語(yǔ)句是:()。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ù)組初始化語(yǔ)句中,錯(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.24 B.25 C.18 D26、下面程序的運(yùn)行結(jié)果是:()。main(){ inta[][3]={1,2,3,4,5,6}; printf("%d",a[1][1]);}A.3 B.4 C.5 D.27、下面程序的運(yùn)行結(jié)果是:()。main(){ chars1[20]="Good!"; chars2[15]="AB"; printf("%d",strlen(strcpy(s1,s2)));}A.20 B.15 C.5 D.28、下面程序的運(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)在程序中可以對(duì)數(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;語(yǔ)句。(T)使用strcpy函數(shù)可以實(shí)現(xiàn)兩個(gè)字符串的復(fù)制。(T)使用strcat函數(shù)可以實(shí)現(xiàn)兩個(gè)字符串的連接。(F)使用strlen函數(shù)可以求出一個(gè)字符串的實(shí)際長(zhǎng)度(包含‘\0’字符)。(F)如有定義chara[20];則可以通過(guò)a=“Iamaboy”;給a賦值。(T)如有定義inta[3][4]={0};則數(shù)組a的所有元素初值均為0。(F)構(gòu)成數(shù)組的各個(gè)元素可以有不同的數(shù)據(jù)類型。(F)若有說(shuō)明: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語(yǔ)言中以下不正確的說(shuō)法是:()實(shí)參可以是常量、變量、或表達(dá)式形參可以是常量、變量或表達(dá)式實(shí)參可以為任意類型形參應(yīng)與其對(duì)應(yīng)的實(shí)參類型一致以下程序有語(yǔ)法性錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是:()intmain(){intG=5,k;voidprt_char();……k=prt_char(G);……}語(yǔ)句voidprt_char();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明變量名不能使用大寫字母函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾函數(shù)名不能使用下劃線以下正確的說(shuō)法是:()函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可嵌套函數(shù)的定義和調(diào)用均不可以嵌套函數(shù)的定義和調(diào)用均可以嵌套在一個(gè)函數(shù)內(nèi)部定義的變量是:()A、簡(jiǎn)單變量B、局部變量C、全局變量D、標(biāo)準(zhǔn)變量若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是:()A)函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在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ù)組的長(zhǎng)度B、數(shù)組的首地址C、數(shù)組每一個(gè)元素的地址D、數(shù)組每個(gè)元素中的值在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(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ù)合語(yǔ)句中定義的變量在本函數(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,30下述函數(shù)定義形式正確的是()。 A、intf(intx;inty) B、intf(intx,y) C、intf(intx,inty) D、intf(x,y:int)關(guān)于函數(shù)參數(shù),說(shuō)法正確的是()。A、實(shí)參與其對(duì)應(yīng)的形參各自占用獨(dú)立的內(nèi)存單元B、實(shí)參與其對(duì)應(yīng)的形參共同占用一個(gè)內(nèi)存單元C、只有當(dāng)實(shí)參和形參同名時(shí)才占用同一個(gè)內(nèi)存單元D、形參是虛擬的,不占用內(nèi)存單元一個(gè)函數(shù)的返回值由()確定。A、return語(yǔ)句中的表達(dá)式 B、調(diào)用函數(shù)的類型C、系統(tǒng)默認(rèn)的類型 D、被調(diào)用函數(shù)的類型C語(yǔ)言中形參的默認(rèn)存儲(chǔ)類別是()。A、自動(dòng)(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、從定義處開(kāi)始到該源程序文件結(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、無(wú)定值分析以下程序的運(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,20 B、10,10 C、20,10 D、20,2下面程序的輸出是()。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、100200 B、57 C、200100 D、下列程序執(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語(yǔ)言中,函數(shù)體中變量的隱含存儲(chǔ)類別是自動(dòng)變量auto。()return語(yǔ)句作為函數(shù)的出口,在一個(gè)函數(shù)體內(nèi)只能有一個(gè)。()在C程序中,函數(shù)不能嵌套定義,但可以嵌套調(diào)用。()C語(yǔ)言的源程序中必須包含庫(kù)函數(shù)。()在C程序中,函數(shù)調(diào)用不能出現(xiàn)在表達(dá)式語(yǔ)句中。()在C函數(shù)中,形參可以是變量、常量或表達(dá)式。()在主函數(shù)main()中定義的變量都可以在其它被調(diào)函數(shù)中直接使用。()在C語(yǔ)言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是函數(shù)首部和函數(shù)體。()C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分。()若定義的函數(shù)沒(méi)有參數(shù),則函數(shù)名后的圓括號(hào)可以省略。()函數(shù)的函數(shù)體可以是空語(yǔ)句。()函數(shù)的實(shí)參和形參可以是相同的名字。()函數(shù)調(diào)用中,形參與實(shí)參的類型和個(gè)數(shù)必須保持一致。()C語(yǔ)言中函數(shù)返回值的類型由return語(yǔ)句中的表達(dá)式的類型決定。()外部類型的變量只能定義一次,但可在不同地方聲明多次。()外部類型的變量作用范圍大,編程中應(yīng)多用外部變量。答案:BCBBDCBBDBCADADCCDACDBCBD1F2T3F4T5F6F7F8F9第8章指針選擇題下列選項(xiàng)中正確的語(yǔ)句組是:()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)對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較D)檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼?\0'若有如下定義chara[10],*p=a,則對(duì)a數(shù)組中元素的不正確的引用是:()A)*&a[5]B)a+2C有以下程序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)36下面程序的輸出結(jié)果是:()main(){inta[]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}A)0B)1C若有說(shuō)明:inti,j=2,*p=&i;,則能完成i=j賦值功能的語(yǔ)句是:()A)i=*p;B)*p=*&j;C)i=&j;D)i=**p;以下定義語(yǔ)句中,錯(cuò)誤的是:()A)inta[]={1,2};B)char*a[3];C)chars[10]="test";D)intn=5,a[n];以下不能正確進(jìn)行字符串賦初值的語(yǔ)句是:()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)志若有語(yǔ)句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是_______.??a)a,point,*&a????????????b)&*a,&a,*point??c)*&point,*point,&a??????d)&a,&*point,point若有說(shuō)明;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],則對(duì)a數(shù)組的第i行j列元素地址的正確引用為_(kāi)____??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下面判斷正確的是
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è)“*”號(hào),含義是一樣的。(F)在C語(yǔ)言中,每一個(gè)變量在內(nèi)存里占用的單元數(shù)都是相同的。(T)通過(guò)指針變量,就能間接地得到它所指向的變量的值。(F)有說(shuō)明:int*p;且p指向地址為1500的內(nèi)存單元,那么經(jīng)過(guò)操作“p++;”后,p將指向1501的內(nèi)存單元。(T)一個(gè)變量的指針就是該變量的地址。(F)在C語(yǔ)言中允許將一個(gè)整數(shù)賦給指針變量。(F)數(shù)組名實(shí)際上是此數(shù)組的首地址,所以數(shù)組名相當(dāng)于一個(gè)指針變量。(F)char*p[10];定義了一個(gè)指向字符數(shù)組的指針變量。答案:DBABBBCBDABDBDDABDABCBFTFFTFTFFFC語(yǔ)言程序設(shè)計(jì)練習(xí)題結(jié)構(gòu)體與聯(lián)合體一、單選題 下列關(guān)于結(jié)構(gòu)體的說(shuō)法錯(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í),可以對(duì)成員進(jìn)行初始化 以下結(jié)構(gòu)體類型說(shuō)明及結(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è)有以下說(shuō)明語(yǔ)句: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語(yǔ)言時(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 若有以下說(shuō)明和語(yǔ)句,則對(duì)pup中sex域的正確引用方式是:()structpupil{charname[20];intsex;}pup,*p;p=&pup;A:B:p->pup.sexC:(*p).pup.sexD:(*p).sexC語(yǔ)言規(guī)定結(jié)構(gòu)體變量系統(tǒng)分配給它的存儲(chǔ)空間是()A)該結(jié)構(gòu)體中最后一個(gè)成員所需的存儲(chǔ)空間B)該結(jié)構(gòu)體中所有成員所需存儲(chǔ)空間的總和。C)該結(jié)構(gòu)體中第一個(gè)成員所需的存儲(chǔ)空間D)該結(jié)構(gòu)體中占用最大存儲(chǔ)空間的成員所需的存儲(chǔ)空間 當(dāng)說(shuō)明一個(gè)共用體變量時(shí),系統(tǒng)分配給它的內(nèi)存是:()A:各成員所需內(nèi)存量的總和B:共用體中第一個(gè)成員所需內(nèi)存量C:成員中占內(nèi)存量最大者所需的內(nèi)存量D:共用體中最后一個(gè)成員所需內(nèi)存量 以下對(duì)C語(yǔ)言中共用體類型數(shù)據(jù)的敘述正確的是:()A:可以對(duì)共用體變量名直接賦值B:一個(gè)共用體變量中可以同時(shí)存放所有成員C:一個(gè)共用體變量中不能同時(shí)存放其所有成員D:共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員 若有以下定義和語(yǔ)句:uniondata{inti;charc;floatf;}a;則以下語(yǔ)句正確的是:()A:a=5B:printf("%d\n",a.i);C:a={2,'a',1.2};D:n=a根據(jù)以下定義,能輸出字母M的語(yǔ)句是()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;對(duì)結(jié)構(gòu)體變量a的出生年份進(jìn)行賦值時(shí),下面正確的賦值語(yǔ)句是()。Ay=1958Bbirthday.y=1958Ca.birthday.y=1958 Da.y=195813.有以下程序段typedefstructnode{ intdata;structnode*next;}NODE;NODE*p;以下敘述正確的是()A)NODE*p;語(yǔ)句出錯(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è)新的名字來(lái)代表B)用typedef可以增加新類型C)用typedef可以為各種類型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名D)用typedef為類型說(shuō)明一個(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)合體)參考答案一、單選題答案:1D2B3C4D5D6D7B8C9C10B二、程序填空已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省南京市2024-2025學(xué)年高二上學(xué)期期中考試 歷史 含解析
- 《普通植物病理學(xué)》筆記
- 【初中物理】《光的折射透鏡》章末測(cè)試 2024-2025學(xué)年物理蘇科版八年級(jí)上冊(cè)
- 乳制品加工初步設(shè)計(jì)代可行性研究報(bào)告(圖紙)
- 市容委黨校畢業(yè)論文
- 牡丹江2024年07版小學(xué)5年級(jí)上冊(cè)英語(yǔ)第二單元暑期作業(yè)
- 《校園規(guī)范漢字書(shū)寫傳承文化之美》倡議書(shū)4篇
- 2024統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)第一單元測(cè)試卷 (含答案)
- 語(yǔ)用學(xué)知識(shí)點(diǎn)大全
- 口語(yǔ)交際(三)小題訓(xùn)練(原卷版)-2025年部編版中考語(yǔ)文一輪復(fù)習(xí)
- 2024-2030年瓷磚行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2024年度一級(jí)注冊(cè)消防工程師考試復(fù)習(xí)題庫(kù)及答案(共1000題)
- 賓館改造工程冬季施工方案
- 2024年餐廳服務(wù)員(高級(jí))職業(yè)鑒定理論考試題庫(kù)(含答案)
- GB/T 16915.2-2024家用和類似用途固定式電氣裝置的開(kāi)關(guān)第2-1部分:電子控制裝置的特殊要求
- 人教八年級(jí)上冊(cè)英語(yǔ)第六單元《Section A (1a-2d)》教學(xué)課件
- 樹(shù)木移植工程技術(shù)交底
- 南非電力市場(chǎng)投資前景預(yù)測(cè)報(bào)告(目錄)
- 閉水試驗(yàn)自動(dòng)計(jì)算公式及說(shuō)明
- 室外球墨鑄鐵管施工方案
- 通用技術(shù)學(xué)考300題
評(píng)論
0/150
提交評(píng)論