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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

武漢大學C語言題庫

第一章

c語言源程序經過編譯、鏈接后生成的可執(zhí)行文件擴展名是o

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

C語言程序要正確地運行,必須要有。

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

函數(shù)

以下均為合法用戶標識符的是o

(A)do,xyz,_printf

(B)3a,_tt,IF

(C)void,ff,s_v

(D)_pi,IF,big_tree

以下敘述中正確的是o

(A)C語言程序從源程序中第一個函數(shù)開始執(zhí)行

(B)C語言規(guī)定必須用main作為主函數(shù)名,程序將從此開始執(zhí)行,在此結束

(C)可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序將從此開始執(zhí)行

(D)main可作為用戶標識符,用以命名任意一個函數(shù)作為主函數(shù)

以下敘述中錯誤的是。

(A)C語言是一種結構化程序設計語言

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

(C)使用三種基本結構構成的程序只能解決簡單問題

(D)結構化程序設計提倡模塊化的設計方法

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

編寫C語言源程序時,需要使用【編輯】器將源代碼輸入到計算機中。

C語言源程序中可以有多處注釋。

第一早

以下屬于合法數(shù)據(jù)類型關鍵字的是。

(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'

表達式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"

設有說明語句:inti=5;charc='A';doubled=3.14;,以下結果為整型的表達式是

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

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

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

以下變量說明語句中,合法的是O

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

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

設有說明語句:intx=l;doubley=L0;,以下不符合C語言語法的表達式是

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

(double)x/3

設有說明語句:intx,a,b,c;doubled=3.14;,以下不符合C語言語法的表達式是

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

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

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

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

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

設有說明語句:chars="AA";,下面說法正確的是?

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

(C)變量s中包含3個字符(D)說明語句不合法

設有說明語句:inti=2;,以下選項的四個表達式中與其他三個表達式的值不相同的是

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

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

(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類型,表達式(x=l,y=x+3/2)的值是。

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

與數(shù)學式子2乘以y的n次方除以(2x+l)對應的C語言表達式是。

(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)

設有說明語句:intk=7,x=12;,以下表達式中值為3的是。

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

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

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

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

以下與k=i++完全等價的表達式是。

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

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

能正確表示數(shù)學關系:”-5WaW5”的C語言表達式是o

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

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

以下選項中,當k為大于1的奇數(shù)時,值為。的表達式o

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

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

式(x-y)等價的是=

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

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

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

是。

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

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

【double]o

設有說明語句:chark='\77';,變量k中包含[1]個字符。

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

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

后變量k的值是[67]o

字符串"A\xllT\101C”的長度是[5]o

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

類型是【int】。

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

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

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

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

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

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

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

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

A可以把define定義為用戶標識符,但不能把if定義為用戶標識符。

A設有說明語句:intx=3,y=5;,當執(zhí)行語句x=x+y;y=x-y;x=x-y;后,變量

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

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

第三章

設有說明語句:doublex=123.56;,對于語句printf("%>-8.2e\n",x);,以下說

法正確的是。

(A)輸出為-L24e+002

(B)輸出為1.24e+002

(C)輸出為12.36e+001

(D)輸出格式描述符的域寬不夠,不能輸出

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

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

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

(A)標準庫(B)用戶定義(C)無參(D)地址

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

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

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

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

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

設有說明語句:doublex;,下列選項中正確的是。

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

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

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

的輸入,以下說法正確的是O

(A)都以空格作為間隔

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

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

(D)都以逗號作為間隔

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

doublex=3.14;

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

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

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

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

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

對于如下程序段:

intx=2010,y=2012;

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

以下敘述中正確的是0

(A)輸出結果為:2002

(B)輸出結果為:2012

(C)輸出結果不確定

(D)運行時產生出錯信息

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

#include<stdio.h>

voidmain()

<intxzy;

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

y+=x;

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

}

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

設有說明語句:intx=3,y=5;,以下不合法的賦值語句是。

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

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

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

設有說明語句:inti,j;chare;,若要通過語句scanf("%d%)c%)d",&i,&c,&j);使

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

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

設有說明語句:inti,j,若從鍵盤給i、j輸入數(shù)據(jù),以下不正確的輸入語句是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);

設有說明語句:floatx,y,z;,要通過語句scanfC'KfKfKH&xMy/&z);給x賦值

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

(A)1L0V回車〉

22.0〈回車〉

33.0〈回車〉

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

(C)11.0<回車〉

22.033.0〈回車〉

(D)1122c回車〉

33〈回車〉

有程序段:

inti;

floatf;

charname[20];

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

若從鍵盤上輸入566777abc后,變量f的值是。

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

設有說明語句:chare;,不能用于判斷變量c中的字符是否為大寫字母的表達式是

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

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

已知字符大寫字母'A,的ASCII碼是65,設有說明語句:charcliA'cZTD';,則

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

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

設有說明語句:intx=l;,語句printf("%)d'n",-x++);的輸出結果是。

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

以下表達式中,不能將字符變量c中的大寫字母轉換為對應小寫字母的是。

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

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

以下程序運行后的輸出結果是。

#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

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

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

以下四個程序中,完全正確的是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ù)后計算半徑為r的圓面積s。程序在編譯時出錯,出錯

的原因是-

#include<stdio.h>

voidmain()

</*Beginning*/

intr;floats;

scanf("%d"z&r);

s=pi*r*r;

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

)

(A)注釋語句書寫位置錯誤(B)存放圓半徑的變量r不應該定義為整型

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

設有說明語句:intk=l,m=2;doubled=7.3;,以下表達式中錯誤的是

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

設有說明語句:inta=2,b=3,c=4;,以下選項中值為。的表達式是。

(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

以下程序運行后的輸出結果是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個選項中,不能看作一條語句的是。

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

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

已知大寫字母'A'的ACSH碼是65,設有說明語句:charch='B';,則語句

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

以下程序運行后的輸出結果是[25,371o

#include<stdio.h>

voidmain()

<intazb;

a=25;

b=0x25;

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

?

以下程序運行后的輸出結果是【88】。

#include<stdio.h>

voidmain()

{intx=0210;

printf("<VbX",x);

}

以下程序運行后的輸出結果是[2】。

#indude<stdio.h>

voidmain()

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

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

elseprintfC'^d'^c);

}

若在運行以下程序時輸入:1234567〈回車〉,則輸出結果是[12,34]。

#include<stdio.h>

voidmain()

{inta=l,b;

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

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

}

以下程序運行后的輸出結果是[Z]。

#include<stdio.h>

voidmain()

<charc='A';

printf("%c"zc+25);

若在運行以下程序時輸入:6565〈回車〉,則輸出結果是[6,5,A]。

#include<stdio.h>

voidmain()

{

chara,b,c;

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

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

}

以下程序運行后的輸出結果是13,300]。

#include<stdio.h>

voidmain()

doubled;

inti;

d=i=10/3;

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

}

以下程序運行后的輸出結果是【VisualC++,Visual1。

#include<stdio.h>

voidmain()

<

,

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

}

設有說明語句:doubled=11.555;,語句的輸出結果是

【d=11.6;]o

A以下程序運行后的輸出結果是:16,20。

#include<stdio.h>

voidmain()

{

intx=016,y=16;

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

?

A以下程序運行后的輸出結果是:i=5,d=5.50。

#include<stdio.h>

voidmain()

<

inti=5;

doubled=5.5;

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

}

B設有說明語句:inta,b;,對于語句scanf("%>d%?*d%)cr,&a,&b);,當輸

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

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

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

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

B以下程序運行時,若輸入字母'g',則輸出結果是:a。

#include<stdio.h>

voidmain()

<

charcl;

cl=getchar();

printf("%c"zcl-5);

}

A以下程序運行時,若輸入數(shù)據(jù)為666666,則輸出結果是: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ù)

據(jù)。

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

第四章

判斷字符型變量C1是否為大寫字母的正確表達式為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;則表達式(x>=y&&ch<,B'&&!y)的值是?

(A)0(B)語法錯(C)1(D)、'假"

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

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

請從以下表達式中選出a為偶數(shù)時值為0的表達式o

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

能正確表示a和b同時為正或同時為負的邏輯表達式是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

能正確表示邏輯關系:"OWaWlO”的C語言表達式是。

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

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

對y在[3,23]或口00,200]范圍內為真的表達式為。

(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語言中,if語句后的一對圓括號中,用以決定分支流程的表達式.

(A)只能用邏輯表達式(B)只能用邏輯表達式或關系表達式

(C)只能用關系表達式(D)可用任意表達式

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

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

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

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

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

設ch是字符型變量,其值為A,且有下面的表達式:

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

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

設ch是字符型變量,其值為b,且有下面的表達式:

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

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

設a=4,b=3,c=2,d=l,則表達式a<b?b:c<d?a:d的結果為。

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

能正確表示a、b不能同時為零的邏輯表達式是o

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

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

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

(D)a*b==0

讀程序,程序運行結果是【】。

#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

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

(A)0

(B)1

(C)False

(D)True

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

i=122;

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

elseprintf("****");

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

(C)####****(D)有語法錯誤,無輸出結果

若變量都已正確說明,則以下程序段輸出為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

請閱讀以下程序:

#include<stdio.h>

voidmain()

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

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

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

(A)有語法錯不能通過編譯(B)可以通過編譯但不能連接

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

以下為不正確的if語句。

(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++;}

讀程序,程序運行結果是【】。

#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

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

if(a>2)

if(b>2)

x=2;

elsex=3;

后X的值是o

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

以下if語句語法正確的是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);

讀程序,程序運行結果是【】

#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

讀程序,程序運行結果是【】。

#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語句是

(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;

第四章看到這以上了

讀程序,程序運行結果是【】。

#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值正確計算出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;

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

(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;

則該程序運行后,m的值是o

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

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

(expression)的是。

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

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

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

(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,表達式a>b&&c>a||a<b&&!c>b的值是【1】。

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

C語言提供的三種邏輯運算符是&&、“和【!】。

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

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

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

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

以下程序對輸入的一個小寫字母,將字母循環(huán)后移5個位置后輸出。如曾變成T,'w,

變成'b'。請在空中填入正確內容。

#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);}

為了使輸出結果t=4,輸入量a和b應滿足的條件是[b>a>0]。

以下程序運行后的輸出結果是[3】。

#include<stdio.h>

voidmain()

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

?f(a)

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

elseC++;

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

運行下面的程序,從鍵盤上輸入3,

#include<stdio.h>

voidmain()

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

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

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

)

程序運行結果是13】。

讀程序,程序運行結果是['C']O

#include<stdio.h>

voidmain()

{charm='b';

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

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

讀程序,運行時輸入2.0(回車)

#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);

}

程序運行結果是[0.500000]o

Bswitch選擇結構中必須有default子句。

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

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

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

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

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

法是正確的。

Aif語句后面的表達式并不限于是關系表達式或邏輯表達式,而可以是任意表

達式。if語句中可以再嵌套if語句。

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

B5>0&&4>2的結果為假。

Aa&&b&&c邏輯表達式中,當a為假時將不再計算b和c的值了。

第五章未看

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

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

有以下程序:

#include<stdio.h>

voidmain()

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

當輸入"hello?”時,程序的執(zhí)行結果是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)無限循環(huán),無結果輸出(C)y=l(D)y=-l

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

段后0

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

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

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

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

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

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

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

以下能正確計算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)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內不能使用復合

語句。

(B)do-while循環(huán)由do開始,用while結束,因此在while(表達式)后無需加

分號。

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

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

下面程序段的輸出結果是。

intx=3;

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

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

C語言的for語句中的表達式可以部分或全部省略,但兩個不可省略。當三個

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

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

對于for(表達式;;表達式3)可理解為。

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

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

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

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

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

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

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

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

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

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

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

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

后判斷表達式。

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

可以包含多條語句,但要用花括號括起來。

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

(A)for語句的三個表達式都是可以省略的,但分號"絕對不能省略。(B)for語

句的三個表達式都是可以省略的,可以寫成for()。

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

一條語法上錯誤的語句。

在下列選項中,沒有構成死循環(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;

以下程序段的輸出結果是一

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

以下程序段的輸出結果是=

#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語句的作用是結束整個循環(huán)的執(zhí)行。(B)只能在循環(huán)體內和switch

語句內使用break語句。

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

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

下面程序段,。

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

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

if(x<0)continue;

printf("%3d"zt);

}

(A)當x<0時整個循環(huán)結束(B)當x>=0時什么也不輸出

(C)printf函數(shù)永遠也不執(zhí)行(D)最多允許輸出10。個非負整數(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—);

以下程序輸出結果為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語句只能用于退出多層循環(huán)。(B)switch語句中不能出現(xiàn)continue

語句。

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

出現(xiàn)。

以下不正確的描述是o

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

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

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

行。

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

以下敘述正確的是o

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

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

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

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

下面程序的運行結果是

#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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論