武漢大學(xué)c語(yǔ)言題庫(kù)_第1頁(yè)
武漢大學(xué)c語(yǔ)言題庫(kù)_第2頁(yè)
武漢大學(xué)c語(yǔ)言題庫(kù)_第3頁(yè)
武漢大學(xué)c語(yǔ)言題庫(kù)_第4頁(yè)
武漢大學(xué)c語(yǔ)言題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

武漢大學(xué)C語(yǔ)言題庫(kù)

第一章

c語(yǔ)言源程序經(jīng)過(guò)編譯、鏈接后生成的可執(zhí)行文件擴(kuò)展名是o

(A).exe(B).cpp(C).c(D).obj

C語(yǔ)言程序要正確地運(yùn)行,必須要有。

(A)printf函數(shù)(B)scanf函數(shù)(C)自定義的函數(shù)(D)main

函數(shù)

以下均為合法用戶(hù)標(biāo)識(shí)符的是o

(A)do,xyz,_printf

(B)3a,_tt,IF

(C)void,ff,s_v

(D)_pi,IF,big_tree

以下敘述中正確的是o

(A)C語(yǔ)言程序從源程序中第一個(gè)函數(shù)開(kāi)始執(zhí)行

(B)C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_(kāi)始執(zhí)行,在此結(jié)束

(C)可以在程序中由用戶(hù)指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_(kāi)始執(zhí)行

(D)main可作為用戶(hù)標(biāo)識(shí)符,用以命名任意一個(gè)函數(shù)作為主函數(shù)

以下敘述中錯(cuò)誤的是。

(A)C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言

(B)結(jié)構(gòu)化程序有順序、選擇和循環(huán)三種基本結(jié)構(gòu)

(C)使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題

(D)結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法

C語(yǔ)言程序的基本單位是【函數(shù)】。

編寫(xiě)C語(yǔ)言源程序時(shí),需要使用【編輯】器將源代碼輸入到計(jì)算機(jī)中。

C語(yǔ)言源程序中可以有多處注釋。

第一早

以下屬于合法數(shù)據(jù)類(lèi)型關(guān)鍵字的是。

(A)Long(B)shot(C)char(D)doubel

以下不合法的數(shù)值常量是。

(A)Oil(B)lei(C)8.0E0.5(D)Oxabed

以下正確的字符常量是。

(A)"T"(B)'\\"(C)'(D)T'

以下不合法的字符常量是。

(A)"a"(B)'\77'(C)'\n'(D)'\x5c'

表達(dá)式3.6-5/2+1.2+5%2的值是。

(A)4.3(B)4.8(C)3.3(D)3.8

以下均是合法常量的是。

(A)038,.5e-6,OxE

(B)12.,0Xc33,3.6e0

(C).17,4el.5,Oade

(D)0x6A,30_000,3.e7

以下均是非法常建的是o

(A)0x2g,Off,E5

(B)'\\'>12,456

(C)028,04567,Oxffff

(D)Oxaa,'a',"a"

設(shè)有說(shuō)明語(yǔ)句:inti=5;charc='A';doubled=3.14;,以下結(jié)果為整型的表達(dá)式是

(A)i/2+d(B)i/2*c(C)c+d/2(D)i/2+c+d

若變量均已正確定義并賦值,以下合法的賦值語(yǔ)句是o

(A)x+n=i;(B)x=n%2.5;(C)x=y==5;(D)x=5=4+l;

以下變量說(shuō)明語(yǔ)句中,合法的是O

(A)float5_five=3.4;(B)int_xyz=29

(C)doubleal=6.2e4;(D)shortdo=3;

設(shè)有說(shuō)明語(yǔ)句:intx=l;doubley=L0;,以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是

(A)++x,y=x—(B)x=(int)(y/3)(C)x=x+10=x+y(D)

(double)x/3

設(shè)有說(shuō)明語(yǔ)句:intx,a,b,c;doubled=3.14;,以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是

(A)d0/o3(B)d+=-l

(C)x=(a=-l,b=-3,a*b)(D)a+=(a=3)*(b=2)*(c=l)

以下能正確定義且賦初值的語(yǔ)句是o

(A)intnl=n2=-l;(B)charc=32;

(C)floatf;(D)doublex=12.3E2.5;

設(shè)有說(shuō)明語(yǔ)句:chars="AA";,下面說(shuō)法正確的是?

(A)變量s中包含1個(gè)字符(B)變量s中包含2個(gè)字符

(C)變量s中包含3個(gè)字符(D)說(shuō)明語(yǔ)句不合法

設(shè)有說(shuō)明語(yǔ)句:inti=2;,以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是

(A)i++(B)i+=l(C)++i(D)i+1

若變量均已正確定義并賦值,以下合法的賦值表達(dá)式是。

(A)x=3+b=x+3(B)x=(b=x+3,3+b)

(C)x=3+b,b++,x+3(D)x+=3=x+3

若已定義x和y為double類(lèi)型,表達(dá)式(x=l,y=x+3/2)的值是。

(A)1(B)2(C)2.0(D)2.5

與數(shù)學(xué)式子2乘以y的n次方除以(2x+l)對(duì)應(yīng)的C語(yǔ)言表達(dá)式是。

(A)2*yAn/(2*x+l)(B)2*y**n/(2*x+l)

(C)2*pow(y,n)/(2*x+l)(D)2*pow(n,y)/(2*x+l)

設(shè)有說(shuō)明語(yǔ)句:intk=7,x=12;,以下表達(dá)式中值為3的是。

(A)x=k%5(B)x%=(k-k%5)

(C)x%=k-k%5(D)x=5-(k%=5)

設(shè)有說(shuō)明語(yǔ)句:intn=7,i=3;,執(zhí)行賦值運(yùn)算n%)=i+l后,變量n的值是。

(A)0(B)1(C)2(D)3

以下與k=i++完全等價(jià)的表達(dá)式是。

(A)i=i+l,k=i(B)k=i,i=i+l

(C)k=++i(D)k+=i+l

能正確表示數(shù)學(xué)關(guān)系:”-5WaW5”的C語(yǔ)言表達(dá)式是o

(A)a>=-5anda<=5(B)a>=-5ora<=5

(C)a>=-5&&a<=5(D)a>=-5||a<=5

以下選項(xiàng)中,當(dāng)k為大于1的奇數(shù)時(shí),值為。的表達(dá)式o

(A)k%2==l(B)k/2(C)k%2!=0(D)k%2==0

若變量均已正確定義并賦值,以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)

式(x-y)等價(jià)的是=

(A)(x-y>0)(B)(x-y<0)

(C)(x-y<0||x-y>0)(D)(x-y==0)

已知大寫(xiě)字母'A'的ASCII碼是65,小寫(xiě)字母宣的ASCII碼是97,則字符常量、101'

是。

(A)字符W(B)字符'a'(C)字符'e'(D)非法的常量

設(shè)有說(shuō)明語(yǔ)句:inti;floatf;doubled;,表達(dá)式5-2*i+d/f值的數(shù)據(jù)類(lèi)型為

【double]o

設(shè)有說(shuō)明語(yǔ)句:chark='\77';,變量k中包含[1]個(gè)字符。

C語(yǔ)言中的基本數(shù)據(jù)類(lèi)型包括整型、實(shí)型和【字符型】。

已知大寫(xiě)字母W的ASCII碼是65,若變量k是int類(lèi)型,則執(zhí)行了語(yǔ)句:k='A'+2.8;

后變量k的值是[67]o

字符串"A\xllT\101C”的長(zhǎng)度是[5]o

設(shè)有說(shuō)明語(yǔ)句:intk=5;doublet;,執(zhí)行語(yǔ)句t=(double)k;之后,變量k的數(shù)據(jù)

類(lèi)型是【int】。

表達(dá)式2+sqrt(4)值的數(shù)據(jù)類(lèi)型為【double1。

在VisualC++6.0環(huán)境中,一個(gè)char型變量在內(nèi)存中占[1]個(gè)字節(jié),一個(gè)int

型變量在內(nèi)存中占[4]個(gè)字節(jié),一個(gè)double型變量在內(nèi)存中占【81個(gè)字節(jié)。

若變量x、y均為int型,貝!J表達(dá)式(x=3,x+3,y=3,x+y)的值是【6],表達(dá)式

y=(y=3,x=y,x+3)的值是[6】。

A可以把一個(gè)字符常量賦給一個(gè)整型變量。

B說(shuō)明語(yǔ)句inttl=t2=10;可以把tl>t2定義成int型變量并初始化為10。

Akl=k2=k3=10;是一條合法的賦值語(yǔ)句。

A可以把define定義為用戶(hù)標(biāo)識(shí)符,但不能把if定義為用戶(hù)標(biāo)識(shí)符。

A設(shè)有說(shuō)明語(yǔ)句:intx=3,y=5;,當(dāng)執(zhí)行語(yǔ)句x=x+y;y=x-y;x=x-y;后,變量

x和y的值實(shí)現(xiàn)了交換。

B在C語(yǔ)言的運(yùn)算符中,條件運(yùn)算符的優(yōu)先級(jí)最低。

第三章

設(shè)有說(shuō)明語(yǔ)句:doublex=123.56;,對(duì)于語(yǔ)句printf("%>-8.2e\n",x);,以下說(shuō)

法正確的是。

(A)輸出為-L24e+002

(B)輸出為1.24e+002

(C)輸出為12.36e+001

(D)輸出格式描述符的域?qū)挷粔?,不能輸?/p>

printf函數(shù)被稱(chēng)為輸出函數(shù)。

(A)字符(B)整數(shù)(C)格式(D)浮點(diǎn)

scant函數(shù)是一個(gè)函數(shù)。

(A)標(biāo)準(zhǔn)庫(kù)(B)用戶(hù)定義(C)無(wú)參(D)地址

getchar函數(shù)的原型聲明包括在頭文件中。

(A)string.h(B)math.h(C)conio.h(D)stdio.h

在printf函數(shù)的"格式控制字符串”中,%5d表示。

(A)輸出寬度為5(B)輸出5個(gè)數(shù)

(C)輸出數(shù)據(jù)時(shí)保留5位小數(shù)(D)輸出5個(gè)d

設(shè)有說(shuō)明語(yǔ)句:doublex;,下列選項(xiàng)中正確的是。

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

(C)scanf("%lf'zx);(D)scanf("<Vblf'z&x);

對(duì)語(yǔ)句scanf(“喉力c%c”,&x,&y,&z);和語(yǔ)句scanf("%c,%c,%c",&x,&y,&z);

的輸入,以下說(shuō)法正確的是O

(A)都以空格作為間隔

(B)前者以空格作為間隔,后者以逗號(hào)作為間隔

(C)前者不以空格作為間隔,后者以逗號(hào)作為間隔

(D)都以逗號(hào)作為間隔

以下程序段的輸出結(jié)果是(符號(hào)□表示空格)-

doublex=3.14;

printf("|%5.0f|\n"zx);

(A)13.14n|(B)|□□□□31(C)|口口3.0|(D)|口口口3.|

語(yǔ)句printf("x=%)10.5f\n”,12345.678);的輸出結(jié)果是。

(A)x=2345.67800(B)x=12345.6780

(C)x=12345.678(D)x=12345.67800

對(duì)于如下程序段:

intx=2010,y=2012;

printf("%d\n",(x,y));

以下敘述中正確的是0

(A)輸出結(jié)果為:2002

(B)輸出結(jié)果為:2012

(C)輸出結(jié)果不確定

(D)運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息

以下程序運(yùn)行時(shí),若輸入數(shù)據(jù)為:1111,則輸出結(jié)果是。

#include<stdio.h>

voidmain()

<intxzy;

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

y+=x;

printf("%d\n",y);

}

(A)22(B)20(C)18(D)11

設(shè)有說(shuō)明語(yǔ)句:intx=3,y=5;,以下不合法的賦值語(yǔ)句是。

(A)x*=3;(B)x/=y;(C)x+=3;(D)x||=y;

設(shè)有說(shuō)明語(yǔ)句:intx;,執(zhí)行語(yǔ)句x=10;x+=x-=x;后,變量x的值為。

(A)0(B)10(C)20(D)30

設(shè)有說(shuō)明語(yǔ)句:inti,j;chare;,若要通過(guò)語(yǔ)句scanf("%d%)c%)d",&i,&c,&j);使

變量i,j得到數(shù)值8,變量c得到字符7V,正確的輸入是(符號(hào)□表示空格)o

(A)8A8(B)8DAD8(C)8OA8(D)8A8

設(shè)有說(shuō)明語(yǔ)句:inti,j,若從鍵盤(pán)給i、j輸入數(shù)據(jù),以下不正確的輸入語(yǔ)句是o

(A)scanf("%d%d",&i,&j);

(B)scanf("%dW%d",&i,&j);

(C)scanf("%d,%d",&i,&j);

(D)scanf("%d%ci"j,j);

設(shè)有說(shuō)明語(yǔ)句:floatx,y,z;,要通過(guò)語(yǔ)句scanfC'KfKfKH&xMy/&z);給x賦值

11.0,y賦值22.0,z賦值33.0,以下不正確的輸入形式是。

(A)1L0V回車(chē)〉

22.0〈回車(chē)〉

33.0〈回車(chē)〉

(B)11.0,22.0,33.0〈回車(chē)〉

(C)11.0<回車(chē)〉

22.033.0〈回車(chē)〉

(D)1122c回車(chē)〉

33〈回車(chē)〉

有程序段:

inti;

floatf;

charname[20];

scanf("%2d%f%s",&i,&f,name);

若從鍵盤(pán)上輸入566777abc后,變量f的值是。

(A)566777.0(B)6777.0(C)777.0(D)0.0

設(shè)有說(shuō)明語(yǔ)句:chare;,不能用于判斷變量c中的字符是否為大寫(xiě)字母的表達(dá)式是

(A)isupper(c)(B)'A'<=c<='Z'

(C),A'<=c&&c<='Z,(D)(c<='z,-32)&&(,a'-32<=c)

已知字符大寫(xiě)字母'A,的ASCII碼是65,設(shè)有說(shuō)明語(yǔ)句:charcliA'cZTD';,則

語(yǔ)句printf("<Vbd,%d\n",cl,c2-2);的輸出結(jié)果是。

(A)A,B(B)A,68(C)65,66(D)65z68

設(shè)有說(shuō)明語(yǔ)句:intx=l;,語(yǔ)句printf("%)d'n",-x++);的輸出結(jié)果是。

(A)-1(B)0(C)1(D)2

以下表達(dá)式中,不能將字符變量c中的大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母的是。

(A)c=(c-'A')%)26+'a'(B)c=c+32

(C)c=c-'A'+'a'(D)c=('A'+c)%26-'a'

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

#include<stdio.h>

voidmain()

{inta=Ofb=O;

a=10;/*給a賦值

b=20;給b賦值*/

printf("a+b=<Vbd\n",a+b);

}

(A)a+b=10(B)a+b=30(C)10(D)30

若要求從鍵盤(pán)讀入含有空格字符的字符串,應(yīng)使用函數(shù)。

(A)getch(B)gets(C)getchar(D)scanf

以下四個(gè)程序中,完全正確的是o

(A)#include<stdio.h>

voidmain();

{/"programming*/

printf("programming!\n");

}

(B)#include<stdio.h>

voidmain()

{/*/programming/*/

printf("programming!\n");

}

(C)#include<stdio.h>

voidmain()

{/*/*programming*/*/

printf("programming!\n");

}

(D)include<stdio.h>

voidmain()

{/"programming*/

printf("programming!\n");

}

以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出錯(cuò),出錯(cuò)

的原因是-

#include<stdio.h>

voidmain()

</*Beginning*/

intr;floats;

scanf("%d"z&r);

s=pi*r*r;

printf("s=<ybf\n",s);

)

(A)注釋語(yǔ)句書(shū)寫(xiě)位置錯(cuò)誤(B)存放圓半徑的變量r不應(yīng)該定義為整型

(C)輸出語(yǔ)句中格式描述符非法(D)計(jì)算圓面積的賦值語(yǔ)句中使用了非法變

設(shè)有說(shuō)明語(yǔ)句:intk=l,m=2;doubled=7.3;,以下表達(dá)式中錯(cuò)誤的是

(A)k>=m=k(B)k++(C)k%(int)d(D)d>m>k

設(shè)有說(shuō)明語(yǔ)句:inta=2,b=3,c=4;,以下選項(xiàng)中值為。的表達(dá)式是。

(A)(!a==l)&&(!b==O)(B)(a<b)&&!c||1

(C)a&&b(D)a||(b+b)&&(c-a)

執(zhí)行以下程序段后,變量k的值是。

intk=0,c=3;

k=(k>c?c:k);

(A)3(B)2(C)1(D)0

以下程序運(yùn)行后的輸出結(jié)果是o

#include<stdio.h>

voidmain()

<

intx=102,y=012;

printf("%2d,%2d\n",x,y);

?

(A)10,01(B)02,12(C)102z10(D)102,12

以下4個(gè)選項(xiàng)中,不能看作一條語(yǔ)句的是。

(A){;}(B)a=0zb=0zc=0;

(C)if(a>0);(D)if(b==O)m=l;n=2;

已知大寫(xiě)字母'A'的ACSH碼是65,設(shè)有說(shuō)明語(yǔ)句:charch='B';,則語(yǔ)句

printf("%)cHod”,ch,ch);的輸出結(jié)果是[B,66]

以下程序運(yùn)行后的輸出結(jié)果是[25,371o

#include<stdio.h>

voidmain()

<intazb;

a=25;

b=0x25;

printf("%d,%d",a,b);

?

以下程序運(yùn)行后的輸出結(jié)果是【88】。

#include<stdio.h>

voidmain()

{intx=0210;

printf("<VbX",x);

}

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

#indude<stdio.h>

voidmain()

{inta=l力=2,c=3;

if(a)printf("%d",b);

elseprintfC'^d'^c);

}

若在運(yùn)行以下程序時(shí)輸入:1234567〈回車(chē)〉,則輸出結(jié)果是[12,34]。

#include<stdio.h>

voidmain()

{inta=l,b;

scanf("%2d%2d",&a,&b);

printf("%d,%d",a,b);

}

以下程序運(yùn)行后的輸出結(jié)果是[Z]。

#include<stdio.h>

voidmain()

<charc='A';

printf("%c"zc+25);

若在運(yùn)行以下程序時(shí)輸入:6565〈回車(chē)〉,則輸出結(jié)果是[6,5,A]。

#include<stdio.h>

voidmain()

{

chara,b,c;

seanf("%c%c%d",&a,&b,&c);

printf("%c,%c,%c",a,b,c);

}

以下程序運(yùn)行后的輸出結(jié)果是13,300]。

#include<stdio.h>

voidmain()

doubled;

inti;

d=i=10/3;

printf("%d,%.2f",izd);

}

以下程序運(yùn)行后的輸出結(jié)果是【VisualC++,Visual1。

#include<stdio.h>

voidmain()

<

,

printfC'%sf%.6s"/VisualC++"/'VisualC++");

}

設(shè)有說(shuō)明語(yǔ)句:doubled=11.555;,語(yǔ)句的輸出結(jié)果是

【d=11.6;]o

A以下程序運(yùn)行后的輸出結(jié)果是:16,20。

#include<stdio.h>

voidmain()

{

intx=016,y=16;

printf("<Vbo,%o",x,y);

?

A以下程序運(yùn)行后的輸出結(jié)果是:i=5,d=5.50。

#include<stdio.h>

voidmain()

<

inti=5;

doubled=5.5;

printf("i=%d,d=%.2f",i,d);

}

B設(shè)有說(shuō)明語(yǔ)句:inta,b;,對(duì)于語(yǔ)句scanf("%>d%?*d%)cr,&a,&b);,當(dāng)輸

入為:1口2口3時(shí)(符號(hào)口表示空格),將1賦給a,將2賦給b。

B語(yǔ)句printfC'^d”,123456789);的輸出結(jié)果是:1234。

Bprintf函數(shù)中的格式字符,不必區(qū)分大小寫(xiě)。

Aa+=a=2;是一條合法的賦值語(yǔ)句,賦值后a的值為4。

B以下程序運(yùn)行時(shí),若輸入字母'g',則輸出結(jié)果是:a。

#include<stdio.h>

voidmain()

<

charcl;

cl=getchar();

printf("%c"zcl-5);

}

A以下程序運(yùn)行時(shí),若輸入數(shù)據(jù)為666666,則輸出結(jié)果是:i=66,c=6。

#include<stdio.h>

voidmain()

<

inti;

charc;

scanf("%2d%4c"z&i,&c);

printf("i=%d,c=%c'\i,c);

}

Ascanf函數(shù)的功能是按格式控制字符串規(guī)定的格式,從指定的輸入設(shè)備上輸入數(shù)

據(jù)。

Ascanf函數(shù)中的地址表列是由地址項(xiàng)組成的。

第四章

判斷字符型變量C1是否為大寫(xiě)字母的正確表達(dá)式為O

(A),Z,<=cl<='Z,(B)(cl>='A')&&(cl<='Z')

(C)('A'>=cl)||('Z'<=cl)(D)(cl>='a')&&(cl<=,Z,)

已知x=43,ch='A)y=0;則表達(dá)式(x>=y&&ch<,B'&&!y)的值是?

(A)0(B)語(yǔ)法錯(cuò)(C)1(D)、'假"

設(shè)a=3,b=4,c=5,則邏輯表達(dá)式"!(a+b)*c-l&&b+c%)2"的值是。

(A)-1(B)0(C)1(D)2

請(qǐng)從以下表達(dá)式中選出a為偶數(shù)時(shí)值為0的表達(dá)式o

(A)a0/o2==0(B)!a%2!=0(C)a/2*2-2==0(D)a0/o2

能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是o

(A)(a>=0IIb>=0)&&(a<0||b<0)

(B)(a>=0&&b>=0)&&(a<0&&b<0)

(C)(a+b>0)&&(a+b<=0)

(D)a*b>0

能正確表示邏輯關(guān)系:"OWaWlO”的C語(yǔ)言表達(dá)式是。

(A)Ov=av=10(B)a>=O,av=JLO

(C)a>=0&&a<=10(D)a>=0IIa<=10

對(duì)y在[3,23]或口00,200]范圍內(nèi)為真的表達(dá)式為。

(A)(y>=3)&&(y<=23)&&(y>=100)&&(y<=200)

(B)(y>=3)||(y<=23)||(y>=100)||(y<=200)

(C)(y>=3)&&(y<=23)||(y>=100)&&(y<=200)

(D)(y>=3)||(y<=23)&&(y>=100)||(y<=200)

在C語(yǔ)言中,if語(yǔ)句后的一對(duì)圓括號(hào)中,用以決定分支流程的表達(dá)式.

(A)只能用邏輯表達(dá)式(B)只能用邏輯表達(dá)式或關(guān)系表達(dá)式

(C)只能用關(guān)系表達(dá)式(D)可用任意表達(dá)式

為避免嵌套的條件語(yǔ)句if-else的二義性,C語(yǔ)言規(guī)定:else與配對(duì)。

(A)縮排位置相同的if(B)其之前最近的if

(C)其之后最近if(D)同一行上的if

下列運(yùn)算符中優(yōu)先級(jí)最低的是o

(A)*=(B)&&(C)+(D)!=

設(shè)ch是字符型變量,其值為A,且有下面的表達(dá)式:

ch=!(ch>='A,&&ch<=,z')?ch:(ch+32),則表達(dá)式的值是?

(A)A(B)a(C)2(D)z

設(shè)ch是字符型變量,其值為b,且有下面的表達(dá)式:

ch!=(ch>='a'&&ch<=,z')?ch:(ch-32),則表達(dá)式的值是。

(A)B(B)b(C)1(D)0

設(shè)a=4,b=3,c=2,d=l,則表達(dá)式a<b?b:c<d?a:d的結(jié)果為。

(A)4(B)3(C)2(D)1

能正確表示a、b不能同時(shí)為零的邏輯表達(dá)式是o

(A)a==0&&b!=0||a!=0&&b==0

(B)(a==0)||(b==0)

(C)(a!=0)||(b!=0)

(D)a*b==0

讀程序,程序運(yùn)行結(jié)果是【】。

#include<stdio.h>

voidmain()

{inta=5,b=4,c=3,d=2;

if(a>b>c)printf("d\n",d);

elseif((c-l>=d)==1)printf("%d\n",d+1);

elseprintf("%d\n",d+2);

(A)2(B)3(C)4(D)5

表達(dá)式2v3&&8v=(a=10)的結(jié)果是。

(A)0

(B)1

(C)False

(D)True

若i為整型變量,且有程序段如下,則輸出結(jié)果是o

i=122;

if(i%2)printf("####");

elseprintf("****");

(A)####(B)****

(C)####****(D)有語(yǔ)法錯(cuò)誤,無(wú)輸出結(jié)果

若變量都已正確說(shuō)明,則以下程序段輸出為o

inta=2,b=l,c,d;

if(a==b)c=d=a;

elsec=b;

d=b;

<<

printf("c=Vbd,d=Vbd",c/d);

(A)c=l,d=l(B)c=l,d=2(C)c=2,d=l(D)c=2,d=2

請(qǐng)閱讀以下程序:

#include<stdio.h>

voidmain()

{inta=2,b=0rc=0;

if(a=b+c)printf("###");

elseprintf("&&&");)以上程序。

(A)有語(yǔ)法錯(cuò)不能通過(guò)編譯(B)可以通過(guò)編譯但不能連接

(C)輸出&&&(D)輸出###

以下為不正確的if語(yǔ)句。

(A)if(x<y);

(B)if(x!=y)scanfC'^d'^&x)elsescanf("%d'\&y);

(C)if(x==y)x+=y;

(D)if(x<y)<x++;y++;}

讀程序,程序運(yùn)行結(jié)果是【】。

#include<stdio.h>

voidmain()

{intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n"zm—);}

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

設(shè)inta=2,b=3,x=1;則執(zhí)行語(yǔ)句

if(a>2)

if(b>2)

x=2;

elsex=3;

后X的值是o

(A)0(B)1(C)2(D)3

以下if語(yǔ)句語(yǔ)法正確的是o

(A)if(x>0)(B)if(x>0)printf("%f",-x)

{x=x+y;printf("%f",x);}elseprintf("%f"z"x);

elseprintf("%f","x);

(C)if(x>0)(D)if(x>0)

{x=x+y;printf("%f",x);};{x=x+y;printf("%f"zx)}

elseprintf"x);elseprintf-x);

讀程序,程序運(yùn)行結(jié)果是【】

#include<stdio.h>

voidmain()

{inti=0,j=0zk=6;

if((++i>0)||(++j>0))k++;

printf("%d,%d,%d\n"zi,j,k);

?

(A)1,0,6(B)1,0z7

(C)1,1,6(D)1,1,7

讀程序,程序運(yùn)行結(jié)果是【】。

#include<stdio.h>

voidmain()

{intx=lza=0,b=0;

switch(x)

{case0:b++;

case1:a++;

case2:a++;b++;}

printf("a=%d,b=%d\n"za,b);

}

(A)a=2,b=l(B)a=2,b=2

(C)a=l,b=2(D)a=l,b=l

與y=(x>0?l:x〈0?-l:0);的功能相同的if語(yǔ)句是

(A)if(x>0)y=l;(B)if(x)

elseif(x<O)y=-l;if(x>O)y=l;

elsey=0;elseif(x<O)y="l;

(C)y=-l;(D)y=0;

if(x)if(x>=0)

if(x>O)y=l;if(x>O)y=l;

elseif(x==O)y=O;elsey="l;

elsey=-l;

第四章看到這以上了

讀程序,程序運(yùn)行結(jié)果是【】。

#include<stdio.h>

voidmain()

<floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<5.0)y=1.0/x;

elsey=1.0;

printf("%4.1f\n",y);

)

(A)0.0(B)0.5

(C)1.0(D)不確定

以下程序段中不能根據(jù)x值正確計(jì)算出y值的是?

(A)if(x>0)y=l;(B)y=0;

elseif(x==0)y=0;if(x>0)y=l;

elsey=-l;elseif(x<0)y=-l;

(C)y=0;(D)if(x>=0)

if(x>=0);if(x>0)y=l;

if(x>0)y=l;elsey=0;

elsey=-l;elsey="l;

以下程序段中與語(yǔ)句k=a>b?(b>c?l:0):0;功能等價(jià)的是。

(A)if((a>b)&&(b>c))k=l;(B)if((a>b)||(b>c))k=l

elsek=0;elsek=0;

(C)if(a<=b)k=0;(D)if(a>b)k=l;

elseif(b<=c)k=l;elseif(b>c)k=l;

elsek=0;

假定w、x、y、z、m均為int型變量,有如下程序段:

w=l;x=2;y=3;z=4;

m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;

則該程序運(yùn)行后,m的值是o

(A)4(B)3(C)2(D)1

若有條件表達(dá)式(expression)?a++:b-,則以下表達(dá)式中能完全等價(jià)于表達(dá)式

(expression)的是。

(A)(expression==0)(B)(expression!=0)

(C)(expression==1)(D)(expression!=1)

若有以下定義:floatx;inta,b;則正確的switch語(yǔ)句是?

(A)switch(x)(B)switch(x)

{case1.0:printf("*\n");{casel:printf("*\n");

case2.0:printf("**\n");}case2:printf("**\n");}

(C)switch(a+b)(D)switch(a+b);

<caselz2:printf("*\n");{casel:case2:printf("*\n");

}

已知a=2.5,b=2,c=3.6,表達(dá)式a>b&&c>a||a<b&&!c>b的值是【1】。

表示“整數(shù)x的絕對(duì)值大于2"時(shí)值為"真”的C語(yǔ)言表達(dá)式是【x>2||x<-2]o

C語(yǔ)言提供的三種邏輯運(yùn)算符是&&、“和【!】。

已知a=3,b=-4,c=5,表達(dá)式!(a>b)+(b!=c)||(a+b)&&(b-c)的值是【1

表達(dá)式(3+a)(b+8)+sin45o±lnx的C語(yǔ)言表達(dá)式是

【(3+a)*(b+8)+sin(45)<=log(x)]。

表達(dá)式0WaW5且a43的C語(yǔ)言表達(dá)式是【<0<=a&&a<=5)&&(a!=3)】。

以下程序?qū)斎氲囊粋€(gè)小寫(xiě)字母,將字母循環(huán)后移5個(gè)位置后輸出。如曾變成T,'w,

變成'b'。請(qǐng)?jiān)诳罩刑钊胝_內(nèi)容。

#indude<stdio.h>

voidmain()

{charc;c=getchar();

if(c>='a,&&a<='u,)[c=c+5];

elseif(c>='v'&&c<='z')c=c-21;

putchar(c);}

閱讀下面程序:

#include<stdio.h>

voidmain()

{ints,t,a,b;

scanf("%d%d",&a,&b);

s=l;t=l;

if(a>0)s=s+l;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf("s=%d,t=%d",s,t);}

為了使輸出結(jié)果t=4,輸入量a和b應(yīng)滿(mǎn)足的條件是[b>a>0]。

以下程序運(yùn)行后的輸出結(jié)果是[3】。

#include<stdio.h>

voidmain()

{inta=l,b=2,c=3;

?f(a)

<if(b<O)c=O;}

elseC++;

printf("%d\n",c);

運(yùn)行下面的程序,從鍵盤(pán)上輸入3,

#include<stdio.h>

voidmain()

{intx;scanf("%d",&x);

if(x>5)printf("%d",x);

elseprintf("%d\n",x-);

)

程序運(yùn)行結(jié)果是13】。

讀程序,程序運(yùn)行結(jié)果是['C']O

#include<stdio.h>

voidmain()

{charm='b';

if(m++>'b')printf("%c\n",m);

elseprintf("%c\n",m-);}

讀程序,運(yùn)行時(shí)輸入2.0(回車(chē))

#include<stdio.h>

voidmain()

<floata,b;scanf("%f",&a);

if(a>10.0)b=1.0/a;

elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);

elseif(a<10.0)b=1.0/a;

elseb=10.0;

printf("%f\n",b);

}

程序運(yùn)行結(jié)果是[0.500000]o

Bswitch選擇結(jié)構(gòu)中必須有default子句。

B如果x>y或a<b為真,那么表達(dá)式(x>y&&a<b)為真。

A假定變量x,y,z在說(shuō)明時(shí)已賦初值,則if((x=y+5)>0)z=x;是正確的。

Binta=l,b=0,c=l;,則!(a+b)+c-0&&b+c/2的值為1。

B語(yǔ)句if(a)x=l;與if(a==O)x=l;等價(jià)。

Aif(x>0)<x=x+y;printf("%f"zx);}elseprintf("%f;-x);語(yǔ)句語(yǔ)

法是正確的。

Aif語(yǔ)句后面的表達(dá)式并不限于是關(guān)系表達(dá)式或邏輯表達(dá)式,而可以是任意表

達(dá)式。if語(yǔ)句中可以再嵌套if語(yǔ)句。

A!b==c||d<a等價(jià)于((!b)==c)||(d<a)。

B5>0&&4>2的結(jié)果為假。

Aa&&b&&c邏輯表達(dá)式中,當(dāng)a為假時(shí)將不再計(jì)算b和c的值了。

第五章未看

執(zhí)行程序段:x=-l;do{x=x*x;}while(!x);的結(jié)果是。

(A)死循環(huán)(B)循環(huán)執(zhí)行2次(C)循環(huán)執(zhí)行一次(D)有語(yǔ)法錯(cuò)誤

有以下程序:

#include<stdio.h>

voidmain()

<while(putchar(getchar())!='?');}

當(dāng)輸入"hello?”時(shí),程序的執(zhí)行結(jié)果是0

(A)hello(B)dijob(C)dijob?(D)hello?

以下程序的輸出為。

#include<stdio.h>

(

voidmain()<inty=5;while(y—);printf("y=Vbd\n"zy);}

(A)y=0(B)無(wú)限循環(huán),無(wú)結(jié)果輸出(C)y=l(D)y=-l

設(shè)有程序段:intx=Ors=O;while(x!=O)s+=++x;printf("%d",s);,則運(yùn)行程序

段后0

(A)輸出0(B)輸出1(C)控制表達(dá)式是非法的(D)執(zhí)行無(wú)限次

設(shè)有程序段:intk=10;while(k=O)k=k-l;,則下面描述正確的是。

(A)while循環(huán)執(zhí)行10次(B)循環(huán)是無(wú)限循環(huán)

(C)循環(huán)體語(yǔ)句一次也不執(zhí)行(D)循環(huán)體語(yǔ)句執(zhí)行一次

C語(yǔ)言的do-while循環(huán)中,循環(huán)由d。開(kāi)始,用while結(jié)束;而且在while表達(dá)式后

面的不能丟,它表示do-while循環(huán)的結(jié)束。

(A)\n(B)(C)n0/o"(D)

以下能正確計(jì)算1X2X3X4...X10的程序段是o

(A)do<i=l;s=l;s=s*i;i++;}while(i<=10);(B)do<i=l;s=0;s=s*i;

i++;}while(i<=10);

(C)i=l;s=l;do<s=s*i;i++;}while(i<=10);(D)i=l;s=0;do<s=s*i;

i++;}while(i<=10);

以下描述中正確的是。

(A)由于do-while循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合

語(yǔ)句。

(B)do-while循環(huán)由do開(kāi)始,用while結(jié)束,因此在while(表達(dá)式)后無(wú)需加

分號(hào)。

(C)在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)?'假"的操作。

(D)do-while循環(huán)中,根據(jù)情況可以省略while。

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

intx=3;

do{printf("%3d",x-=2);}while(!(-x));

(A)12(B)32(C)23(D)1-2

C語(yǔ)言的for語(yǔ)句中的表達(dá)式可以部分或全部省略,但兩個(gè)不可省略。當(dāng)三個(gè)

表達(dá)式均省略后,因缺少判斷條件,循環(huán)可能會(huì)無(wú)限制地進(jìn)行下去,形成死循環(huán)。

(A)(B)(C)(D)

對(duì)于for(表達(dá)式;;表達(dá)式3)可理解為。

(A)for(表達(dá)式;0;表達(dá)式3)(B)for(表達(dá)式;1;表達(dá)式3)

(C)for(表達(dá)式;表達(dá)式1;表達(dá)式3)(D)for(表達(dá)式;表達(dá)式3;表達(dá)式3)

若i為整型變量,則以下循環(huán)執(zhí)行的次數(shù)是o

for(i=2;i==0;)printf("%d",i-);

(A)無(wú)限次(B)0次(C)1次(D)2次

以下for循環(huán)的執(zhí)行次數(shù)是。

for(x=0,y=0;(y=3)&&(x<4);x++,y++);

(A)是無(wú)限循環(huán)(B)循環(huán)次數(shù)不定(C)執(zhí)行4次(D)執(zhí)行3次

設(shè)i為整型量,執(zhí)行循環(huán)語(yǔ)句for(i=50;i>=0;i-=10);后,i值為

(A)-10(B)0(C)10(D)50

下面有關(guān)for循環(huán)的正確描述是。

(A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況。(B)for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,

后判斷表達(dá)式。

(C)在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體。(D)for循環(huán)的循環(huán)體語(yǔ)句中,

可以包含多條語(yǔ)句,但要用花括號(hào)括起來(lái)。

下面有關(guān)for循環(huán)的正確描述是o

(A)for語(yǔ)句的三個(gè)表達(dá)式都是可以省略的,但分號(hào)"絕對(duì)不能省略。(B)for語(yǔ)

句的三個(gè)表達(dá)式都是可以省略的,可以寫(xiě)成for()。

(C)在for語(yǔ)句中,至少會(huì)執(zhí)行循環(huán)體語(yǔ)句一次。(D)for(;;);是

一條語(yǔ)法上錯(cuò)誤的語(yǔ)句。

在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的程序段是。

(A)inti=100;while(1)<i=i%100+l;if(i>100)break;}(B)for(;;);

(C)intk=1000;do<-k;}while(k);(D)ints=36;while(s>=0);—s;

以下程序段的輸出結(jié)果是一

intx,i;

for(i=l;i<=100;i++)

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printfC^d

(A)2567(B)2668(C)2769(D)2870

以下程序段的輸出結(jié)果是=

#include<stdio.h>

voidmain(){

inti=2;

for(;i<=10;)

{i++;

if(i%3==0)printf("%d",i);

elsecontinue;}

}

(A)3(B)36(C)369(D)36910

以下正確的描述是

(A)continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行。(B)只能在循環(huán)體內(nèi)和switch

語(yǔ)句內(nèi)使用break語(yǔ)句。

(C)在循環(huán)體內(nèi),使用break語(yǔ)句和使用continue語(yǔ)句的作用是相同的。(D)

從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句。

下面程序段,。

for(t=l;t<=100;t++)

<scanf("%d",&x);

if(x<0)continue;

printf("%3d"zt);

}

(A)當(dāng)x<0時(shí)整個(gè)循環(huán)結(jié)束(B)當(dāng)x>=0時(shí)什么也不輸出

(C)printf函數(shù)永遠(yuǎn)也不執(zhí)行(D)最多允許輸出10。個(gè)非負(fù)整數(shù)

以下為死循環(huán)的程序段是o

(A)for(i=l;;)<if(++i%2==0)continue;if(++i%3==0)break;}

(B)shortinti;i=100;do<if(i<0)break;}while(++i);

(C)for(i=l;;)if(++i<10)continue;

(D)i=100;while(i—);

以下程序輸出結(jié)果為o

#include<stdio.h>

voidmain()

£inti,b,k=O;

for(i=l;i<=3;i++)

<b=i%3;

while(b—>=0)k++;

}

printf("%dz%d\n",k,b);

?

(A)3,-1(B)6,-1(C)3,0(D)6,-2

以下描述正確的是o

(A)goto語(yǔ)句只能用于退出多層循環(huán)。(B)switch語(yǔ)句中不能出現(xiàn)continue

語(yǔ)句。

(C)只能用continue語(yǔ)句來(lái)終止本次循環(huán)。(D)在循環(huán)中break語(yǔ)句不能獨(dú)立

出現(xiàn)。

以下不正確的描述是o

(A)break語(yǔ)句不能用于循環(huán)語(yǔ)句和switch語(yǔ)句外的任何其他語(yǔ)句。

(B)在switch語(yǔ)句中使用break語(yǔ)句或continue語(yǔ)句的作用相同。

(C)在循環(huán)語(yǔ)句中使用continue語(yǔ)句是為了結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)

行。

(D)在循環(huán)語(yǔ)句中使用break語(yǔ)句是為了使流程跳出循環(huán)體,提前結(jié)束循環(huán)。

以下敘述正確的是o

(A)for循環(huán)中的break;語(yǔ)句表示:當(dāng)條件成立時(shí)中止程序執(zhí)行。

(B)for循環(huán)中的continue;語(yǔ)句表示:當(dāng)條件成立時(shí)中止本層循環(huán)。

(C)for循環(huán)中的break;語(yǔ)句表示:當(dāng)條件成立時(shí)中止本層循環(huán)。

(D)for循環(huán)中的break;語(yǔ)句表示:當(dāng)條件成立時(shí)暫停本次循環(huán)。

下面程序的運(yùn)行結(jié)果是

#include<stdio.h>

voidmain()

{inti,j,x=O;

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

<

x++;

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

{continue;

x++;}

x++;

}

printf("x=*Vbd\n"zx);

?

(A)x=6(B)x=8(C

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論