階段一C語言題庫含答案_第1頁
階段一C語言題庫含答案_第2頁
階段一C語言題庫含答案_第3頁
階段一C語言題庫含答案_第4頁
階段一C語言題庫含答案_第5頁
已閱讀5頁,還剩92頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

一、單選題.......................................................................1

二、多選題......................................................................12

三、填空題......................................................................13

四、判斷題......................................................................34

五、簡答題......................................................................34

六、程序分析題..................................................................46

七、編程題......................................................................55

一、單選題

1.break關鍵字在哪一種語法結構中不能使用?(C)

A.for語句B.switch語句

C.if語句D.while語句

2.現在最快且最通用的排序算法是什么?(A)

A.快速排序B.冒泡排序

C.選擇排序D.外部排序

3.設x和y均為bool變量,則x&y為真的條件是(A)。

A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假

4.下面的哪個保留字不能作為函數的返回類型(C)。

A.voidB.intC.newD.long

5.假定a為一個整型數組名,則元素a[4]的字節地址為A。

A.a+4B.a+8C.a+16D.a+32

6.C庫函數stNr的功能是?(A)

A.查找子串B.計算字符串長度

C.字符串比較D.連結字符串

7.在程序中可以用來作為變量名的合法的標識符是:—c_,

AstaticB23_blCstu_ltD#33

8.下列運算符運算級別最高的是:__d_?

A&&B+=C>=D!

9.已知:charstr1,str2[10];選擇正確的輸入語句:_d__。

Ascanf("%s%c",&strl,str2);Bscanf("%s%s",&strl,str2);

Cscanf("%c%c",&strl,str2);Dscanf("%c%s",&strl,str2);

10.有一個二維數組s[3][4],其第2行第3列元素的正確表示是:__o

A*(*(s+2)+3)B*(s+2)+3Cs[2,3]Ds[3][2]

IL以下正確的描述是:_d__o

Acontinue語句的作用是終止整個循環的執行。

Bcontinue語句的作用是結束本次循環的執行。

Ccontinue語句和break語句都可以在switch語句中使用。

Dbreak語句的作用是結束本次循環的執行。

12.假定x和y為double型,則表達式x=2,y=x+3/2的值是:_a_?

A)3.500000B)3C)2.000000D)3.000000

13.C語言規定,數組名做實參時,它和對應形參之間的數據傳遞方式是:_d_?

A用戶指定傳遞方式B無傳遞C單向值傳遞D地址傳遞

14.若有以下說明語句:

structSTUDENT

{intnum;

charname[10];

floatcj;

}al={1001,"liming”,97.5},*p=&al;

不正確的輸出語句是:_d____o

AprintfC%r,al.cj);Bprintf(4<%f\p->cj);

CprintfC%f\(*p).cj);Dprintf("%「,*p.cj);

15.已知inta;則對指針變量正確的說明和初始化是:_d_

Aint*p=a;Bintp=a;Cintp=&a;Dint*p=&a;

16.若有定義:intaa[8];則以下表達式中不能代表數組元aa[l]的地址的是:―a_。

A)&aa[0]+lB)&aa[l]C)&aa[0]++D)aa+1

17.若有下面的說明和定義,則sizeof(structaa)的值是:_c_。

structaa

{doubler2;intrl;floatr3;

unionuu{charul[5]Jongu2[2];}ua;

}mya;

A)30B)29C)24D)22

18.若有以下定義和語句:_c_.

ints[4][5],(*ps)[5];

ps=s;

則對s數組元素的正確引用形式是

A)ps+1B)*(ps+3)C)ps[0][2|D)*(ps+l)+3

191.假設線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數為:__d_o

A)log2nB)n2C)O(nl.5)D)n(n-1)/2

20.在說明語句:int*f();中,標識符f代表的是:―d_?

A)一個用于指向整型數據的指針變量

B)?個用于指向一維數組的行指針

C)一個用于指向函數的指針變量

D)一個返回值為指針型的函數名

21.線性表L=(al,a2,a3,…ai,…an),下列說法正確的是:_d—。

A)每個元素都有一個直接前件和直接后件

B)線性表中至少要有一個元素

C)表中諸元素的排列順序必須是由小到大或由大到小

D)除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直

接后件

22.若以下定義:

structlink

{intdata;

strucklink*next;

}a,b,c,*p,*q;

且變量a和b之間已有如下圖所示的鏈表結構:

ab

datanextdatanext

I5|+一|9|\0|

l_____I_____Il_____I_____l

fP

c

datanext

III

I7||

tq

指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語句

組是:_c—。

A)a.next=c;c.next=b;B)p.next=q;q.next=p.next;

C)q->next=p->next;p->next=&c;D)(*p).next=q;(*q).next=&b;

23.設有以下說明語句:—b_o

typedefstruct

{intn;

charch[8];

}PER;

則下面敘述中正確的是

A)PER是結構體變量名B)PER是結構體類型名

C)typedefstruct是結構體類型D)struct是結構體類型名

24.若有說明:inta[][4]={0,0};則下面不正確的敘述是:―d

A)數組a的每個元素都可得到初值0

B)二維數組a的第一維大小為1

C)當初值的個數能被第二維的常量表達式的值除盡時,所得商數就是第一維的大小

D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值

25.以下敘述正確的是:―d

A)可以把define和if定義為用戶標識符

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

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

D)define和if都不能定義為用戶標識符

26.若定義:inta=511,*b=&a;,則printf("%d\n",*b);的輸出結果為:_d__?

A)無確定值B)a的地址C)512D)511

27.以下程序中,while循環的循環次數是:_d—。

main()

{inti=0;

while(i<10)

{if(i<l)continue;

if(I==5)break;

i++;

A)1B)10C)6D)死循環,不能確定次數

28.若有以下程序:

#include

voidf(intn);

main()

{voidf(intn);

f(5);

)

voidf(intn)

{printf(H%d\n",n);}

則以下敘述中不正確的是:_c_o

A)若只在主函數中對函數f進行說明,則只能在主函數中正確調用函數f

B)若在主函數前對函數f進行說明,則在主函數和其后的其它函數中都可以正確調用

函數f

C)對于以上程序,編譯時系統會提示出錯信息:提示對對f函數重復說明

D)函數f無返回值,所以可用void將其類型定義為無值型

29.有如下定義

structperson{charname[9];intage;};

structpersonclass[10]={"John",17,npaul",19,"Mary",18,*'Adam1',16,};

根據上述定義,能輸出字母M的語句是:-d—o

A)printf(n%c\n",class[3].name);

B)printf(n%c\n",class[3].name[1]);

C)printf(M%c\nn,class[2].nameE1]);

D)printf(M%c\nM,class[2].name[0]);

30.在C語言中,形參的缺省存儲類是:―a_o

A)autoB)registerC)staticD)extern

31.若要打開A盤上user子目錄下名為abc.txt的文本文件進行讀、寫操作,下面符合此要求

的函數調用是:—b_o

A)fopen("A:\user\abc.txt",T')B)fopen(,'A:\\user\\abc.txt,',',r+u)

C)fopen(',A:\user\abc.txt',,,'rbn)C)fopen(',A:\\user\\abc.txt,',',w'')

32.若有定義:char*st二"howareyou";下列程序段中正確的是:_a—。

A)chara[11],*p;strcpy(p=a+1,&st[4]);

B)chara[11];strcpy(++a,st);

C)chara[11];strcpy(a,st);

D)chara[],*p;strcpy(p=&a[1],st+2);

33.下列用于printf函數的控制字符常量中,代表“豎向跳格”的轉義字符常量是:_c_。

A)\bB)\tC)\vD)\f

34.設變量n為float類型,m為int類型,則以下能實現將n中的數值保留小數點后兩位,

第三位進行四舍五入運算的表達式是:__a_o

A)n=(n*100+0.5)/100.0

B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0

D)n=(n/100+0.5)*100.0

35.設x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達式中,值為0的表達式是:

—d_o

A)x&&yB)x<=yC)xll++y&&y-zD)!(x)

36.設有程序段:_c_o

intk=10;

while(k=0)k=k-1;

則下面描述中正確的是

A)while循環執行10次

B)循環是無限循環

C)循環體語句一次也不執行

D)循環體語句執行一次

37.對表達式for(表達式1;;表達式3)可理解為:―b_o

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

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

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

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

38.若有如下語句

intx=3;

do{printf("%d\n",x-=2);}

while(!(-X));

則上面程序段:—b_?

A)輸出的是I

B)輸出的是1和-2

C)輸出的是3和0

D)是死循環

39.若變量a是int類型,并執行了語句:a='A41.6;,則正確的敘述是:―a_。

A)a的值是字符C

B)a的值是浮點型

C)不允許字符型和浮點型相加

D)a的值是字符'A'的ASCII值加上1。

40.若有說明語句:inta,b,c,*d=&c;,則能正確從鍵盤讀入三個整數分別賦給變量a、b、c的

語句是:___a_?

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

C)scanf("%d%d%d",a,b,d);D)scanf("%d%d%d",a,b,*d);

41._c__是合法的用戶自定義標識符。

A)2bB)floatC)foo-99D)_32

42.若a為int類型,且其值為3,則執行完表達式a+=a-=a*a后,a的值是:―c—。

A)-3B)9C)-12D)6

43.對于以下的變量定義,表達式一c_不符合C語言語法。

structnode{

intlen;

char*pk;

}x={2,"right"},*p=&x;

A)p->pkB)*p.pkC)*p->pkD)*x.pk

44.設有inta[]={10,11,12),*p=&a[O];則執行完*p++;*p+=l;后a⑼,a[l],a[2]的值依次是:

_C_____o

A)10,11,12B)11,12,12C)10,12,12D)11,11,12

,

45.表達式sizeof(,hello^^)與stHen("hello")的值分別是:—c_o

A)6,6B)5,5C)6,5D)5,6

46.假定建立了以下鏈表結構,指針p、q分別指向如圖所示的結點,則以下可以將q所指結點

從鏈表中刪除并釋放該結點的語句組是:_b_o

A)free(q);p->next=q->next;B)(*p).next=(*q).next;free(q);

C)q=(*q).next;(*p).next=q;free(q);D)q=q->next;p->next=q;p=p->next;free(p);

47.—d_是合法的用戶自定義標識符。

A、b-bB、floatC、<fr>D^_isw

48.—C_JCX、y定義成float類型變量,并賦同一初值3.14。

A、floatx,y=3.14;B、floatx,y=2*3.14;

C、floatx=3.14,y=x=3.14;D^floatx=y=3.14;

49.下面四個選項中,均是C語言關鍵字的選項是:—a,b_

A.autoenuminclude

B.switchtypedefcontinue

C.signedunionscanf

D.ifstructtype

50.下列一維數組說明中,正確的是:—a,c_o

A.#defineSIZE8+2

floatb[SIZE];

B.intn;scanf("%d”,&n);floatb[n];

C.constintm=7;floata[m];〃這個要區分c文件和C++文件

D.inta(10);

51.下列字符數組初始化語句中,正確的是:―A_o

A.charc[]="newspaper”;B.charc[8]={"newspaper"};

C.charc[10]=「newspaper'};D.charc[12]='newspaper';

52.設x、y、z都是整型變量,x、y的初值都是5,執行z=(++x)+(y--)+1后,x、y、z三變

量的值按順序是:—d_o

A.5,5,11B.6,6,13C.4,6,12D.6,4,12

53.以下轉義字符中,表示“換頁”的是:_b__o

A.\vB.\fC.\bD.\t

54.在內存中要開辟多少字節來存放字符'n':_a_o

A.1B.2C.3D.4

55.有變量說明inta=3,則表達式a<l&&-和運算完后a的值應該是:_B__。

A.0和2B.0和3C.1和2D.1和3

56.設x和y都是int類型的數,則下列表達式的值不為7的是:—c_o

A.(x=y=6,x+y,x+1)

B.(x=y=6,x+y,y+1)

C.(x=6,x+1,y=6,x+y)

D.(y=6,y+l,x=y,x+1)

57.extern關鍵字的作用是什么?(D)

A.聲明外部鏈接B.聲明外部頭文件引用

C.聲明使用擴展C++語句D.聲明外部成員函數、成員數據。

58.for(intx=0,y=o;!x&&yv=5;y++)語句執行循環的次數是(c)

A)0B)5C)6D)無次數

59.考慮函數原型voidtest(intajntb=7,chan="*"),下面的函數調用中,屬于不合法調用的是

(c)

A)test(5);B)test(5,8);C)test(6,H#n)D)test(O,O.n*n);

60.C++語言的跳轉語句中,對于break和continue說法正確的是(c)

A)bieak語句只應用與循環體中

B)continue語句只應用與循環體中

C)bieak是無條件跳轉語句,continue不是

D)break和continue的跳轉范圍不夠明確,容易產生問題

以下題目為程序輸出結果題

1.選擇正確的運行結果:―d_。

#include"stdio.h"

main()

(

inta=l,b=10;

do{a++;

b-=a;

b-;)

while(b>0);

printf(na=%d,b=%dH,a,b);

)

Aa=2,b=-lBa=2,b=-2Ca=4,b=-lDa=4,b=-2

2.以下程序的輸出結果是:__b—。

main()

{intb[3][3]={0,l,2,0,l,2Al,2},i,j,t=l;

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

for(j=i;j<=i;j++)t=t+b[i][bg][j]];

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

)

A)3B)4C)1D)9

3.以下程序的輸出結果是:—c_,

main()

{inta=5,b=4,c=6,d;

printf(M%d\nH,d=a>b?(a>c?a:c):b);

)

A)5B)4C)6D)不確定

4.以下程序的輸出結果是:

main()

{inta=O,i;

fbr(i=l;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

5.以下程序的輸出結果是:_a_。

main()

{inta=4,b=5,c=0,d;

d=!a&&!bll!c;

printf(H%d\nn,d);

)

A)1B)0C)非0的數D)-l

6.有以下程序

main()

{chara[]={za'b'c'd','e','f','g'h'\0'};inti,j;

i=sizeof(a);j=strlen(a);

printf("%d,%d\b",i,j);

)

程序運行后的輸出結果是:—d_?

A)9,9B)8,9C)1,8D)9,8

7.以下程序的運行結果是:―b_?

#defineMIN(x,y)(x)<(y)?(x):(y)

main()

{inti=10,j=15,k;

k=10*MIN(i,j);

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

)

A)10B)15C)100D)150

8.以下程序的輸出結果是:―d_。

intf()

{staticinti=0;

ints=l;

s+=i;i++;

returns;

main()

{inti,a=O;

fbr(i=0;i<5;i++)a+=f();

printf(n%d\nn,a);

)

A)20B)24C)5D)15

9.有如下程序

intfunc(inta,intb)

{return(a+b);}

main()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

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

)

該程序的輸出的結果是:―d-o

A)12B)13C)14D)15

10.以下程序的輸出結果是:―b_O

main()

{charch[3][5]={“AAAA”,“BBB“JCC"};

printf(”\"%s\“\n”,ch[l]);

)

A)"AAAA"B)nBBB"C),'BBBCC,,D)HCC"

11.以下程序執行后a的值是:―d_o

main()

{intx,y=252,i=386,*m=&y,*z=&i;

x=(z==y);

printf("%d”,x);

}

A)252B)1C)0D)運行時出錯,x無定值

12,下列程序的輸出結果是:―b_o

structabc

{inta,b,c,s;};

main()

{structabcs[2]={{1,2,3},{4,5,6}};intt;

t=s[0].a+s[1].b;

printf(H%d\n'\t);

}

A)5B)6C)7D)8

13.下列程序的運行結果是:―b_o

voidfun(intint*b)

{int*k;

k=a;a=b;b=k;

)

main()

{inta=3,b=6,*x=&a,*y=&b;

fun(x,y);

printf(u%d%dn,a,b);

)

A)63B)36C)編譯出錯D)00

14.以下程序段的輸出結果是:

inta=1234;

printf(n%2d\n",a);

A)12B)34C)1234D)提示出錯、無結果

15.有以下程序

voidfun(inta,intb,intc)

{a=456,b=567,c=678;}

main()

{intx=10,y=20,z=30;

fun(x,y,z);

printf("%d,%d,%d\nu,x,y,z);

)

輸出結果是:―b_o

A)30,20,10B)10,20,30C)456,567,678D)678,567,456

16.以下程序的輸出結果是:―31_o

fun(intx,inty,intz){z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf,%d”,a);

)

A)0B)29C)31D)無定值

17.以下程序的輸出結果是:—d_.

main()

{

charw[][10]={“ABCD”,“EFGH”JTJKL”,“MNOP”},k;

for(k=1;k<3;k++)printf(4t%stw[k]);

}

A)ABCDFGHKLB)ABCDEFGC)EFGJKD)EFGH

IJKL

18.以下程序的輸出結果是:―25_O

intf(void)

(

staticinti=0;

staticints=1;

+=

i++;

returns;

)

intmain(void)

(

inti,a=0;

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

(

a+=f();

)

printf(M%d\n”,a);

return0;

)

A)10B)15C)20D)25

19.以下程序的輸出結果是:_a_。

longfun(intn)

{longs;

if(n==1IIn==2)s=2;

elses=n-fun(n-l);

returns;

}

main()

{printf("%ld\n",fun(3));

)

A、1B、2C、3D、4

20.以下程序的輸出結果是:―d_o

intmain(void)

{intx=8;

for(;x>0;x-)

{if(x%3){printf(“%d,”,x-?);continue;}

printf("%d,”,--x);

}

)

A.7,4,2B.8,7,5,2C.9,7,6,4D.8,5,4,2

21.以下程序的輸出結果是:―c_o

intmain(void)

{inta,b;

fbr(a=l,b=l;a<=l0;a++)

{if(b>=10)break;

if(b%3==1){b+=3;continue;}

b-=5;

printf(u%d\n';a);

return0;

)

A.6B.5C.4D.3

二、多選題

1.在C語言中,每個變量必須在使用前進行類型說明或定義,這樣可以(ABCD).

(A)為變量賦初值(B)規定該變量的取值范圍(C)規定該變量所能進行的運算操

作(D)方便在編譯時為其分配存儲單元(E)規定變量的個數

2.以下是死循環的程序段是。

(A)for(i=l;;)

(

if(++i%2==0)continue;

if(++i%3==0)break;

)

(B)i=32767;

do{if(i<0)break;}while(++i);

(C)for(i=1;;)if(++iv10)continue;

(D)i=l;

while(i—);

(E)unsignedk=0;

do{++k;}while(k>=0);

3.設有以下說明和定義語句,則下面表達式中值為3的是—d,eo

structs

(

intil;

structs*i2;

)

staticstructsa[3]={1,&a[l],2,&a[2],3,&a[0]},*ptr;

ptr=&a[l];

(A)ptr->i1++(B)ptr++->i1(C)*ptr->i1(D)++ptr->i1(E)(++ptr)->i1

4.下面程序的功能是將一個整數字符串轉換為一個整數,如“?324”轉換為?324,請選擇填

空。

#include<stdio.h>

#include<string.h>

main()

(

chars[6];

intn;

gets(s);

if(*s=='-')n=_2_;

elsen=chnum(s);

printfCt%d\n,\n);

)

chnum(char*p)

intnum=0,k,len,j;

len=strlen(p);

for(;_3_;p++)

k=_4__;

j=(Ten);

while(_5_){k=k*10;}

num=num+k;

return(num);

)

2(A)chnum(s)(B)-chnum(*s)(C)-chnum(s+l)(D)-chnum(s++)

(E)-chnum(++s)

3zA\

()

xz*p!='\0'(B)*(++p)!='\0'(C)*(p++)!='\0'(D)len!=0

fE\

\/—*p=='\0,

4zA\

(J,,

\Z*p(B)*p+0(C)*p「0'(D)*p-32

zE\

l!

\/p[O]-'O'

5zA\

f)

\z-j>0(B)j—>0(C)—len>0(D)len->0(E)j—

5.下面程序刪除字符串s中的所有空格(包括TAB符、回車符、換行符)。在對應的一組

選項中選擇正確的內容填入處。

#include<stdio.h>

#include<ctype.h>

main()

{chars[81]="abcdefg.”;

delspace(s);

puts(s);

)

delspace(char*str)

{inti,t;

charts[81];

for(i=0,t=0;—8—;—9一)

if(!isspace(str[i]))ts[t++]=str[i];

_10_;

strcpy(str,ts);

)

8(A)str[i](B)!str[i](C)str[i]!=,\0,(D)str[i]=NULL(E)str[i]==0

9(A)t++(B)++i(C)i++(D)*(ts+i)(E)++t

10(A)ts[t]=,\0,(B)str[t++]=,\0,(C)ts[t++]=,\0,(D)ts[--t]=,\0,(E)str[t]=,\0,

5.下列哪些寫法是對的,而且是常量。(ABCEGH正確,D錯誤)

A125B-.456C1.25e20D'AB'

EE6F0238GOxabcdefH"\n\\\'\123"

三、填空題

1.某32位系統下,C++程序,請計算sizeof的值

charstr[]="Hello”

char*p=str;

intn=10;

請計算

sizeof(str)=6

sizeof(p)=4

sizeof(n)=4

voidFoo(charstr[100])

(

請計算sizeof(str)=4

)

void*p=malloc(100);

請計算

sizeof(p)=4

2.設intarr[]={6,7,8,9,10};

int*ptr=arr;

*(ptr++)+=123;

printf(u%d,%dn,*ptr,*(4-4-ptr));

結果8,8

3.定義則變量占有的內存空間為:_48—

答:此處定義的是指向指針的指針數組,對于32位系統,指針占內存空間4字節,因此總

空間為3X4X4=48。

4.如果i等于5,那么(Hi)一的返回值是_6_。

5.頭文件中的ifndef/define/endif干什么用?預處理指令、防止頭文件被重復引用

6.#include和#includefilename.hJ,的區別為

前者用來包含開發環境提供的庫頭文件,后者用來包含白」編寫的頭文件。

7.switch。中不允許的數據類型是實型

8.隊列和棧的區別為隊列先進先出,棧后進先出

9,寫一個“標準”宏,這個宏輸入兩個參數并返回較小的一個

#defineMin(X,Y)((X)>(Y)?(Y):(X))〃結尾沒有:

10.寫出判斷ABCD四個表達式的是否正確,若正確,寫出經過表達式中a的值

inta=4;

(A)a+=(a++);9(B)a+=(++a);10___(C)(a++)+=a;錯誤,左側不是一個

有效變量,不能賦值,可改為(++a)+=a;修改后答案是10

(D)(++a)+=(a++);11

11.某32位系統下,C++程序,請計算sizeof的值.

charstr[]="”

char*p=str;

intn=10;

請計算

sizeof(str)=__17

sizeof(p)=4

sizeof(n)=4

voidFoo(charstr(100]){

請計算

sizeof(str)=4

)

void*p=malloc(100);

請計算

sizeof(p)=4

12、strcat能把strSrc的內容連接到strDest,為什么還要char*類型的返回值?

方便賦值給其他變量

13.inti=10,j=10,k=3;k*=i+j;k最后的值是?

答:60,此題考察優先級,實際寫成:k*=(i+j);,賦值運算符優先級最低

14.計算反正弦的庫函數是_asin();計算浮點數絕對值的庫函數是_fabs()一;計算

浮點數n次方的庫函數是_pow()一;將浮點數轉化為字符串的庫函數是一fcvt()一。

15.描述命題“A小于B或小于C”的表達式為-6]A〈B||A<C。

16.對嵌套if語句的規定是:else總是與elseif配對。

17.行尾使用注釋的開始標記符為一//___。

18多行注釋的開始標記符和結束標記符分別為/*和_*/_______。

19.一個完整程序中必須有一個名為main的函數。

20一個函數的函數體就是一條復合語句。

21.程序中的預處理命令是指以—#一字符開頭的命令。

22.一條表達式語句必須以一分號—作為結束符。

23在#include命令中所包含的頭文件,可以是系統定義的頭文件,也可以是—用戶(或編

程者定義的頭文件。

24使用#include命令可以包含一個頭文件,也可以包含一個—程序文件。

25一個函數定義由一函數頭和_函數體兩部分組成。

26若一個函數的定義處于調用它的函數之前,則在程序開始可以省去該函數的__原型(或

聲明)語句。

27程序文件的編譯錯誤分為警告(warning)和致命(error)兩類。

28當使用_void保留字作為函數類型時,該函數不返回任何值。

29函數參數表用_void_保留字表示時,則表示該參數表為空。

30--條函數原型語句“intfunl(void);"可知,該函數的返回類型為_int,該函數帶有

___0__個參數。

31假定x=5,y=6,則表達式x++*++y的值為___35。

32假定x=5,y=6,則表達式x--*--y的值為___25。

33假定x=5,y=6,則執行表達式y*=x++計算后,x和y的值分別為一6_和_30。

34假定x=5,y=6,則執行表達式y+=x-計算后,x和y的值分別為一4—和-11—。

35常數0x145對應的十進制值為―325―?

36常數0345對應的十進制值為229__。

37十進制常數245對應的十六進制的C++表示為—0xF5一。

38十進制常數245對應的八進制的C++表示為―0365—。

39Signedchar類型的值域范圍是_-128—至—+127—之間的整數。

40.int和float類型的數據分別占用―4_和―4—個字節。

41.float和double類型的數據分別占用4_和8一個字節。

42.bool和char類型的數據分別占用1—和一1一個字節。

43.unsignedshortint和int類型的長度分別為2_和4。

44.字符串"This、'sabookAn"的長度為15。

45.字符串"\nThis\'sapen\n\n"的長度為15。

46.存儲字符串"abcdef”至少需要—7個字節。

47.存儲字符串"a+b=c”至少需要6一個字節。

48.假定x和y為整型,其值分別為16和5,則x%y和x/y的值分別為__1和

3o

49.假定x和y為整型,其值分別為16和5,則x/y和double(x)/y的值分別為3和

—3.2o

50.假定x是一■個邏輯量,則x&&true的值為_x。

51.假定x是一個邏輯量,則xIItrue的值為true(或1)。

52.假定x是一個邏輯量,則x&&false的值為false(或0)一。

53.假定x是一個邏輯量,則xIIfalse的值為X。

54.假定x是一個邏輯量,則!xllfalse的值為—!x-。

55.假定x是一個邏輯量,則x&&!x的值為false(或0)。

56.假定x是一個邏輯量,則xII!x的值為true(或1)_。

57.常數-4.205和6.7E-9分別具有_4和2_位有效數字。

58.枚舉類型中的每個枚舉值都是一個一枚舉常量,它的值為一個一整數一。

59.常數100和3.62的數據類型分別為int_和double一。

60.若x=5,y=10,則計算y*=++x表達式后,x和y的值分別為_6___和_60___。

61.假定x和ch分別為int型和char型,則sizeof(x)和sizeof(ch)的值分別為_4_和_1_。

62.假定x=10,則表達式x<=10?20:30的值為_20_。

63.表達式sqrt(81)和pow(6,3)的值分別為_9___和___216___。

64.含隨機函數的表達式rand()%20的值在一0_至_19_區間內。

65.在switch語句中,每個語句標號所含關鍵字case后面的表達式必須是_常量___。

66.在if語句中,每個else關鍵字與它前面同層次并且最接近的—if―關鍵字相配套。

67.作為語句標號使用的C保留字case和defaule只能用于_switch___語句的定義體中。

68.執行switch語句時,在進行作為條件的表達式求值后,將從某個匹配的標號位置起向下

執行,當碰到下一個標號位置時(停止/不停止)—不停止_執行。

69.若while循環的“頭”為“while(i++<=10)”,并且i的初值為0,同時在循環體中不會修

改i的值,則循環體將被重復執行_11一次后正常結束。

70.若do循環的“尾”為“while(++ivlO)”,并且i的初值為0,同時在循環體中不會修改i

的值,則循環體將被重復執行一10一次后正常結束。

71.當在程序中執行到break語句時,將結束本層循環類語句或switch語句的執行。

72.當在程序中執行到—continue—語句時,將結束所在循環語句中循環體的一次執行。

73.在程序中執行到—return__語句時,將結束所在函數的執行過程,返回到調用該函數

的位置。

74.在程序執行完—主(或main)_函數調用后,將結束整個程序的執行過程,返回至IJC++

集成開發窗口。

75.元素類型為int的數組a[10]共占用—40—字節的存儲空間。

76.元素類型為double的二維數組a[4][6]共占用—192—字節的存儲空間。

77.元素類型為char的二維數組a[10][30]共占用—300—字節的存儲空間。

78.存儲字符‘a'和字符串"a”分別需要占用1—和一2一個字節。

以下題目為程序輸出結果題

1、unsignedshortarray[]={1,2,3,4,5,6,7};

inti=3;

*(array+i)=?

答:4

2.請寫出下列代碼的輸出內容

#include

main()

(

inta,b,c,d;

a=10;

b=a++;

c=++a;

d=10*a++;

printf(nb,c,d:%d,%d,%d",b,c,d);

return0;

)

答、10,12,120

3、#includeustdafx.hn

#defineSQR(X)X*X

intmain(intargc,char*argv[])

(

inta=10;

intk=2;

intm=1;

a/=SQR(k+m)/SQR(k+m);

printf("%d\n”,a);

return0;

)

這道題目的結果是什么啊?

define只是定義而已,在編擇時只是簡單代換X*X而已,并不經過算術法則的

a/=(k+m)*(k+m)/(k+m)*(k+m);

=>a/=(k+m)*l*(k+m);

=>a=a/9;

=>a=1;

4.求下面函數的返回值

intfunc(x)

(

intcountx=0;

while(x)

(

countx++;

x=x&(x-l);

returncountx;

假定x=9999。

答案:8

思路:將x轉化為2進制,看含有的1的個數。

5.請問以下程序的輸出

#include<stdio.h>

un

溫馨提示

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

評論

0/150

提交評論