C語言試題庫版_第1頁
C語言試題庫版_第2頁
C語言試題庫版_第3頁
C語言試題庫版_第4頁
C語言試題庫版_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言試題庫

一、單項(xiàng)選擇

第一章C語言概述

(1)一個(gè)C程序的執(zhí)行是從—

A、本程序的MAIN函數(shù)開始,到MAIN函數(shù)結(jié)束。

B、本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束。

C、本程序的MAIN函數(shù)開始,到本程序的最后一個(gè)函數(shù)結(jié)束。

D、本程序文件的第一個(gè)函數(shù)開始,到本程序的MAIN函數(shù)結(jié)束。

(2)以下敘述正確的是一

A、在C程序中,MAIN函數(shù)必須位于程序的最前面。

B、C程序的每行中只能寫一條語句。

C、C語言本身沒有輸入輸出語句。

D、在對一個(gè)C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤。

(3)C語言規(guī)定,在一個(gè)源程序中,MAIN主函數(shù)的位置是在:—

A、必須在最前面。

B、必須在系統(tǒng)調(diào)用的庫函數(shù)的后面

C、可以在任意位置。

D、必須在最后面

(4)一個(gè)C程序是由:

A、一個(gè)主程序和若干子程序組成

B、函數(shù)組成

C、若干過程組成

D、若干子程序組成

(5)以下敘述不正確的是:—

A、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B、一個(gè)C源程序必須包含一個(gè)MAIN函數(shù)

C、C程序的基本組成單位是函數(shù)

D、在C程序中,注釋說明只能位于一條語句的后面

第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

(1)若x,i,j,k都是int型變量,則計(jì)算下面表達(dá)式后,x的值為

x=(i=4,j=16,k=32)

A、4

B、16

C、32

D、52

(2)下列四組選項(xiàng)中,均不是C語言鍵字的選項(xiàng)是一

A、define,IF,type

B、getc,char,printf

C、include,scanf,case

E、if,struct,type

(3)下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是一

A、A,P_0,do

B、float,1aO,_A

C、b-a,goto,int

D、_123,temp,INT

(4)若有代數(shù)式3ae/bc,則正確的C語言表達(dá)式是一

A、a/b/c*e*3

B、3*a*e/bc

C、3*a*e/b*c

D、a*e/c/b*3

(5)已知各變量的類型說明如下:

intk,a,b;

unsingedlongw=5;

doublex=1.42;

則以下不符合C語言語法的表達(dá)式是一

A、x%(-3)

B、w+=-2;

C、k=(a=2,b=3,a+b)

D、a+=a-=(b=4)*(a=3)

第三章簡單c程序設(shè)計(jì)

(1)putchar函數(shù)可以向終端輸出一個(gè)

A、整型變量表達(dá)式值

B、實(shí)型變量值

C、字符串

D、字符或字符型變量值

(2)若x,y均定義為血型,z定義為double型,以下合法的scanf函數(shù)調(diào)用語句是

A、scanf(tt%d%lx,%le,\&x,&y,&z);

B、scanfC4%2d*%d%lf\&x,&y,&z);

C、scanf("%x%*d%o'[&x,&y,&z);

D、scanf(u%x%o%6.2f\&x,&y,&z);

⑶當(dāng)輸入數(shù)據(jù)的形式為:25,13,10〈回車〉時(shí),以下程序的輸出結(jié)果為

main()

{intx,y,z;

scanf(u%d%d%d,,,&x,&y,&z);

primf("x+y+z=%d\n”,x+y+z);

A、x+y+z=48

B、x+y+z=35

C、x+z=35

D、不確定值

(4)以下能正確的定義整型變量a,b和c,并對它們賦初值為5的語句是一

A、inta=b=c=5;

B、inta,b,c=5;

C、a=5,b=5,c=5;

D、a=b=c=5;

(5)若有以下定義,則正確的賦值語句是一

inta,b;floatx;

A、a=l,b=2;

B、b++;

C、a=b=5;

D、b=int(x);

第四章選擇結(jié)構(gòu)程序設(shè)計(jì)

(1)能正確表示“當(dāng)x的值在[1,10]和[200,210]的范圍為真,否則為假”的表達(dá)式是

A、(x>=1)&&(X<=10)&&(x.>=200)&&(x<=210)

B、(x>=l)||(xv=10)||(x.>=200)||(x<=210)

C、(x>=l)&&(x<=10)||(x.>=200)&&(x<=210)

D、(x>=l)||(x<=10)&&(x.>=200)||(x<=210)

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

#include"stdio.h"

main()

{inta,b,d=241;

a=d/100%9;

b=(-l)&&(-l);

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

)

A、6,1

B、2,1

C、6,0

D、2,0

(3)請閱讀以下程序:

main()

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

if(a+b+c)printfC***\n");

elseprintf("$$$\n*);

以上程序—。

A)有語法錯(cuò)誤不能通過編譯

B)可以通過編譯但不能直接通過連接

C)輸出***

D)輸出$$$

(4)以下程序的運(yùn)行結(jié)果是一。

main()

{intm=5;

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

elseprintf("%d\n”,m——);

)

A)4

B)5

C)6

D)7

(5)為了避免在嵌套的條件語句中if-else中產(chǎn)生二義性,c語言規(guī)定:else子句總是與

相配對。

A)縮排位置相同的if

B)其之前最近的if

C)其之后最近的if

D)同一行上的if

第五章循環(huán)控制

(1)設(shè)有程序段

intk=10

while(k=0)k=k-l

則下面描敘正確的是o

A)while(k=0)k=k-l;

B)循環(huán)是無限循環(huán)

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

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

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

intn=0;

while(n++<=2);printf("%d”,n);

A)2

B)3

C)4

D)有語法錯(cuò)

(3)C語言中while和do-while循環(huán)的主要區(qū)別是。

A)do-while的循環(huán)體至少無條件執(zhí)行一次

B)while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格

C)do?while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

D)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

(4)以下能正確計(jì)算1*2*3*...*10的程序段是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);

第六章數(shù)組

(1)在c語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是

A)整型常量

B)整型表達(dá)式

C)整型常量或整型表達(dá)式

D)任何類型的表達(dá)式

(2)以下能對二維數(shù)組a進(jìn)行正確初始化的語句是。

A)inta⑵[]=({1,0,1},{5,2,3,}};

B)inta[][3]={{1.2,3},{4,5,6});

C)inta⑵[4]={1,2,3,},{4,5},{6}};

D)inta[][3]={{l,0,1},{},{1,1}};)

(3)若有說明:inta[3][4]={0};則下面正確的敘述是。

A)只有元素a[0]⑼可得到初值0

B)此說明語句不正確

C)數(shù)組a中各元素都可得到初值,但其值不一定為0

D)數(shù)組a中每個(gè)元素均可得到初值0

(4)下面程序(每行程序前面的數(shù)字表示行號(hào))。

1main()

2(

3floata[10]={0};

4inti

5for(i=0;i<3;i++)scanf("%d”,&a[i];

6for(i=l;i<10;i++)a[O]=a[O]+a{i};

7printf("%f\n",a[O]);

8)

A)沒有錯(cuò)誤

B)第3行有錯(cuò)誤

C)第5行有錯(cuò)誤

D)第7行有錯(cuò)誤

(5)若二維數(shù)組a有m歹ij,則計(jì)算機(jī)一元素在數(shù)組中位置的公式為。(假設(shè)a[0][0]

位于數(shù)組的第一個(gè)位置上。)

A)i*m+j

B)j*m+i

C)i*m+j-l

D)i*m+j+l

第七章函數(shù)

(1)以下正確的函數(shù)定義形式是O

A)doublefun(intx,inty)

C)doublefun(intx;inty)

D)doublefun(intx,inty)

E)doublefun(intx,y);

(2)以下正確的函數(shù)形式是o

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

(3)C語言規(guī)定,簡單變量做實(shí)參時(shí),它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是

A)地址傳遞

B)單向值傳遞

C)由實(shí)參傳給形參,再由形參傳回給實(shí)參

D)傳遞方式

(4)C語言允許函數(shù)值型缺省定義,此時(shí)該函數(shù)值隱含的類型是

A)float型

B)int型

C)long型

D)double型

(5)下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)為。

func((exp1,exp2),(exp3,exp4,exp5));

A)1

B)2

C)4

D)5

第八章編譯預(yù)處理命令

(1)請讀程序:

#defineADD(x)x+x

main()

(

intm=l,n=2,k=3;

intsum=ADD(m+n)*k;

printf(usum=%d,,,sum);

)

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

A)sum=9

B)sum=10

C)sum=12

D)sum=18

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

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

main()

{intI=10,j=15,k;

k=10*MIN(I,j);

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

)

A)10

B)15

C)100

D)150

(3)在宏定義#definePI3.14159中,用宏名PI代替一個(gè)

A)常量

B)單精度數(shù)

C)雙精度數(shù)

D)字符串

(4)若有宏定義如下:

#defineX5

#defineYX+l

#defineZY*x/2

則執(zhí)行以下printf語句后,輸出結(jié)果是o

inta;a=Y;

printfC4%d\n,\Z);

printfC%d\n,,,-a);

A)7B)12C)12D)7

6655

(5)若有以下宏定義:

#defineN2

#defineY(n)((N+l)*n)

則執(zhí)行語句z=2*(N+Y(5));后的結(jié)果是

A)語句有錯(cuò)誤

B)z=34

C)z=70

D)z無定值

第九章指針

(1)以下程有錯(cuò)誤,錯(cuò)誤原因是

main()

{int*p,I;char*q,ch;

P=&I;

q=&ch;

*p=40;

*p=*q;

A)p和q的類型不一致,不能執(zhí)行*P二*Q;語句

B)P中存放的是地址值,因此不能執(zhí)行*P=40;語句

C)Q沒有指向具體的存儲(chǔ)單元,所以*Q沒有實(shí)際意義

D)Q雖然指向了具體的存儲(chǔ)單元,但該單元中沒有確定值,所以不能執(zhí)行*P=*Q;語

(2)已有定義intk=2;int*ptrl,*ptr2;且ptrl和ptr2均已指向變量K,下面不能正確執(zhí)

行的賦值語句是.

A)k=*ptrl+*ptr2;B)ptr2=K;

C)ptrl=ptr2;D)k=*ptrl*(*ptr2);

(3)變量的指針,其含義是指該變量的.

A)值B)地址C)名D)一個(gè)標(biāo)志

(4)若有語句int*point,a=4;和ponil=&a;下面均代表地址的一組選項(xiàng)是.

A)a,point,*&a

B)&*a,&a,*point

C)*&point,*point,&a

D)&a,&*point,point

(5)下面能正確進(jìn)行字符串賦值操作的是.

A)chars[5]=CtABCDE,,J;

B)chars[5]={<A,;B\,C,;D,;E,);

C)char*S;s="ABCDE”;

D)char*S;scanfC%s,,,s);

(6)若有以下定義,則對A數(shù)組元素的正確引用是.

A)*&a[5]

B)*a+2

C)*(P+5)

D)*(a+2)

(7)若有以下定義,則對a數(shù)組元素地址的正確引用是>

A)p+5

B)*a+l

C)&a+l

D)&a[0]

⑻若有定義:inta[2][3];則對a數(shù)組的第I行第J列(假設(shè)I,J已正確說明并賦值)元素值的正

確引用為.

A)*(*(a+I)+J)

B)(a+I)U]

C)*(a+I+j)

D)*(a+I)+j

(9)若有定義:inta[2][3];則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素地址的正

確引用為.

A)*(a[i]+j)

B)(a+i)

C)*(a+j)

E)a[i]+j

(10)若有以下定義和語句,則對a數(shù)組元素地址的正確引用為.

Inta[2][3],(*p)[3]

P=a;

A)*(p+2)

B)p[2]

C)p[l]+l

D)(p+1)+2

第十章結(jié)構(gòu)體與共用體

(1)以下對結(jié)構(gòu)體類型變量的定義中不正確的是

A)#defineSTUDENTstructstudent

STUDENT

{intnum;

floatage;

}stdl;

B)structstudent

{intnum;

floatage;

}stdl;

C)struct

{intnum;

floatage;

}stdl;

D)struct

{intnum;

floatage;

(student;

structstudentstd1;

(2)設(shè)有以下語句

(3)structstu

{inta;

floatb;

Jstutype;

則下面敘述正確的是.

A)struct是結(jié)構(gòu)體類型的關(guān)鍵字

B)structstu是用戶定義的結(jié)構(gòu)體類型

C)stutype是用戶定義的結(jié)構(gòu)體類型名

D)a和b都是結(jié)構(gòu)體成員名

(4)設(shè)有以下定義:

structsk

{intn;

floatx;

}data,*p;

若要使p指向data中的n域,正確的賦值語句是

A)p=&data.n;

B)*p=data.n;

C)p=(structsk*)&data.n;

D)p=(structsk*)data.n;

(5)設(shè)有以下語句:

structst

{intn;

structst*next;

)

staticstructsta[3]={5,&a[l],7,&a[2],9,,\0,},*p;

p=&a[O];

則以下表達(dá)式的值為6的是.

A)p++->n

B)p->n++

C)(*p).n++

D)++p->n

第十一章位運(yùn)算

(1)以下運(yùn)算符中優(yōu)先級最低的是優(yōu)先級最高的是。

A)&&

B)&

C)||

D)|

(2)若有運(yùn)算符《,sixeofd&=則它們按優(yōu)先級按由高到低的正確排列次序是

A)sizeof,&=,?,A

B)sizeof,?,A,&=

C)A,?,sizeof,&=

D)?,A,&=,sizeof

⑶在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是o

A)八

B)%

C)!

D)>

(4)在C語言中,要求運(yùn)算數(shù)必須是整型或字符型的運(yùn)算符是。

A)&&

B)&

C)!

D)||

(5)sozeof(float)是。

A)一種函數(shù)調(diào)用

B)一種不合法的表示形式

C)一個(gè)整型表達(dá)式

D)一個(gè)浮點(diǎn)表達(dá)式

第十二章文件

⑴系統(tǒng)的標(biāo)準(zhǔn)輸入文件是指。

A)鍵盤

B)顯示器

C)軟盤

D)硬盤

(2)以下可作為函數(shù)fopen中第一個(gè)參數(shù)的正確格式是。

A)c:user\text.txt

B)c:\user\text.txt

C)"c:\user\text.txt"

D)nc:\\user\text.txtn

(3)若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是.

A)地址值

B)0

C)1

D)E0F

(4)若要用fopen函數(shù)打開一個(gè)新的二進(jìn)制文件,該文件要既能讀又能寫,則文件方式字符串

應(yīng)是O

A)nab+”

B)“wb+”

C)Hrb+"

D)nab

(5)當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose函數(shù)的返回值是o

A)-l

B)TURE

C)0

D)1

二、填空

第一章C語言概述

(1)C源程序的基本單位是()

(2)一個(gè)C源程序至少應(yīng)包括一個(gè)()

(3)在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為()和()

(4)在C語言中,輸入操作是由庫函數(shù)()完成的,輸出操作是由庫函數(shù)()完成的.

第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

⑴在C語言中(以16位機(jī)為例),一個(gè)char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個(gè)int型

數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為()。

(2)在C語言中,實(shí)型變量分為兩種類型,它們是()和()。

⑶若a是int型變量,則計(jì)算表達(dá)式a=25/3%3后,a的值為()。

(4)C語言中的標(biāo)識(shí)符只能由三種字符組成,它們是(),()和()

(5)表達(dá)式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的數(shù)據(jù)類型為()。

第三章簡單C程序設(shè)計(jì)

(1)以下程序的輸出結(jié)果是()。

main()

{intx=l,y=2;

printf("x=%dy=%d*sum*=%d\n”,x,y,x+y);

printf(''10squaredis:%d\n”,10*10);

)

(2)以下程序的輸出結(jié)果是()。

#include<studo.h>

main()

{inta=325;doublex=3.1415926;

printf("a=%+06dx=%+e\n,,,a,x,);

)

(3)假設(shè)變量a和b均為整型,以下語句可以下借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請?zhí)羁铡?/p>

a+=();b=a-();a-=();

(4)設(shè)x,y和z都是int型變量,m為long型變量,則在16位微型機(jī)上執(zhí)行下面的賦值語句后,x

值為(),y值為(),z值為()。

y=(x=32767,x=-l);

z=m=0xFFFF

(5)若x為int型變量,則執(zhí)行以下語句后x的值是()

x=7;

x+=x-=x+x;

第四章選擇結(jié)構(gòu)程序設(shè)計(jì)

(1)當(dāng)a=3,b=2,c=l時(shí),表達(dá)式f=a>b>c的值是()。

(2)在C語言中表示邏輯“真”值用()。

(3)設(shè)x,y,z均為int型變量,請寫出描述“x或y中有一個(gè)小于z”的表達(dá)式().

(4)當(dāng)m=2,n=l,a=l,b=2,c=3時(shí),執(zhí)行完d=(m=a!=b)&&(n=b>c)Jp;n的值為(),m的值為

()o

(5)Winta=3,b=4,c=5;則表達(dá)式a||b+c&&b=二c的值為()。

第五章循環(huán)控制

(1)執(zhí)行下面程序段后,K值是()。

K=l;n=263;

Do{k*=n%10;n/=10)while(n);

(2)下面程序段中循環(huán)體的執(zhí)行次數(shù)是()o

A=10;

B=0;

Do{b+=2;a-=2+b;}while(a>=0);

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

X=2'

Do{printf("*");x—;}while(!x==0);

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

1=1;a=0;s=l;

Do{a=a+s*i;s=-s;i++;}while(i<=10)

Printf(,=%d,a");

(5)雞兔共有30只,腳共有90個(gè),下面程序段是計(jì)算雞兔各有多少只,請?zhí)羁铡?/p>

For(x=l;x<=29;x++)

{y=30-x;

if()printf(U4%d,%d\n”,x,y);

第六章數(shù)組

(1)在c語言中,二維數(shù)組的定義方式為:類型說明符數(shù)組名()();

(2)在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是()。

(3)若有定義:doublex[3][5];則x數(shù)組中行下標(biāo)的下限為(),列下標(biāo)的上限為()。

(4)若二維數(shù)組a有m歹U,則計(jì)算機(jī)任一元素a口①在數(shù)組中位置的公式為:().(假設(shè)a[0][0]

位于數(shù)組的第一個(gè)位置上。)

(5)若有定義:血2網(wǎng)[4]={{1,2},{0},{4,6,8,10}};則初始化后,a⑴⑵得到的初值是(),a[2][l]

得到初值是()。

第七章函數(shù)

(l)C語言規(guī)定,可執(zhí)行程序的開始執(zhí)行點(diǎn)是()。

(2)在C語言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是()和()。

(3)下面add函數(shù)的功能是求兩個(gè)參數(shù)的和,并將和值返回調(diào)用函數(shù)。函數(shù)中錯(cuò)誤的部分是();

改正后為()。

Voidadd(floata,floatb)

{floatc;

c=a+b;

returnc'

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

main()

{increment();

increment();

increment();

increment();

{intx=0;

x+=l;

printfC4%d,\x);

)

(5)以下Check函數(shù)的功能是對value中的值進(jìn)行四舍五入計(jì)算,若計(jì)算后的值與ponse值相等,

則顯示“WELLDONE!!”,否則顯示計(jì)算后的值。已有函數(shù)調(diào)用語句Check(ponse,value);請?zhí)羁铡?/p>

VoidCheck(intponse,value)

{intval;

val=();

printf("計(jì)算后的值:%d”,val);

if()printf(4t\NwellDNOE!!!\n");

elseprintf)”\nSorrythecorrectansweris%d\n,,,val);

)

第八章編譯預(yù)處理命令

(1)設(shè)有以下宏定義:#defineWIDTH80

#defineLENGTHWIDTH+40

則執(zhí)行賦值語句:v=LENGTH*20;(V為int型變量詬,v的值是()。

(2)設(shè)有以下宏定義:#defineWIDTH80

#defineLENGTH(WIDTH+40)

則執(zhí)行賦值語句:k二LENGTH*20;(K為ini型變量)后,k的值是()。

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

#defineDOUBLE(r)r*r

main()

{intx=l,y=2,t;

t=DOBLE(x+y);

priiuf("%d\n”,t);

)

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

#defineMUL(z)(z)*(z)

main()

(

printfC6%d\n,5,MUL(l+2)+3);

)

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

#definePOWER(x)((x)*(x))

main()

{int1=1;

while(I<=4)printf("%d\t”,POWER(I++));

printf(“\n”);

)

第九章指針

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

chars[80],*sp=,,HELLO!n;

sp=strcpy(s,sp);

s[O]='h,;

puts(sp);

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

char[a]=,,123456789)),*p;

int1=0;

p=a;

while(*p)

{if(I%2==0)p='*';

p++;I++;

)

puts(a);

(3)若有以下語句和定義:

inta[4]={0,l,2,3,},*p;

p=&a[l];

則++(*p)的值是()

(4)若有定義:inta[2][3]={2,4,6,8,10,12}^U(&a[0][0]+282+l的值是(),*(a[l]+2)的值是()。

第十章結(jié)構(gòu)體與共用體

(1)以下程序用以輸出結(jié)構(gòu)體變量bt所占內(nèi)存單元的字節(jié)數(shù),請?jiān)?。?nèi)填上適當(dāng)?shù)膬?nèi)容。

Structps

{doubleI;

chararr[20];

)

main()

{structpsbt;

ptintf(4Cbtsize:%d\n:,());

(2)設(shè)有三人的姓名和年齡存在結(jié)構(gòu)數(shù)組中,以下程序輸出三人中年齡居中者的姓名和年齡,請

在()內(nèi)填上正確的內(nèi)容。

Staticstructman

{charname[20]

intage;

}person口{“l(fā)i—ming,,,l8,

“wang—hua”,19,

“zhang—ping”,20

);

main()

{inti,j,max,min;

max=min=person[0].age;

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

if(person[i].age>max)();

elseif(person[i].age<min)();

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

if(person[i].age!=max()person[i].age!=min)

{printf(u%s%d\n,,,person|i].name,person[i].age);

break;

)

(3)若以定義:

structnum

{inta;

intb;

floatf;

}n={l,3,5.0};

structnum*pn=&n;

則表達(dá)式pn->b/n.a*++pn->b的值是(),表達(dá)式(*pn).a+pn->f的值是

()o

(4)以下程序的功能是計(jì)算并打印復(fù)數(shù)的差。請?jiān)?)內(nèi)填入正確的內(nèi)容。

Structcomp

{floatre;

floatim;

)

structcomp*m(x,y)

structcomp*x,*y;

{();

z=(structcomp*)malloc(sizeof(structcomp));

z->re=x->re-y->re;

z->im=x->im-y->im;

return(());

)

main()

{structcomp*t;

structxompa,b;

a.re=l;a.im=2;

b.re=3;b.im=4;

t=m(());

printf(44z.re=%f,z.im=%f\t->re,t->im);

)

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

structks

{inta;

int*b;

}s[4],*p;

main()

(

intn=l,i;

printf("\n”);

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

{s[i].a=n;

s[i].b=&s[i.a;

n=n+2;

)

p=&sfO];

p++;

printf(44%d,%d\n”,(++p)>a,(p++)?>a);

第十一章位運(yùn)算

(1)在c語言中,&運(yùn)算符作為單目運(yùn)算符時(shí)表示的是()運(yùn)算;作為雙目運(yùn)算符時(shí)表示

的是()運(yùn)算。

(2)與表達(dá)式a&=b等價(jià)的另一書寫形式是()。

(3)設(shè)有chara,b;若要通過a&b運(yùn)算屏蔽掉a中的其它位,只保留第2和第8位(右起為第1位),

則b的二進(jìn)制數(shù)是().

(4)測試char型變量a第六位是否為1的表達(dá)式是()(設(shè)最右位是第一位)。

(5)設(shè)二進(jìn)制數(shù)x的值是11001101,若想通過x&y運(yùn)算使x中的低4位不變,高4位清零,則y的

二進(jìn)制數(shù)為()。

第十二章文件

(1)在C程序中,文件可以用()方式存取,也可以用()方式存取。

(2)在C程序中,數(shù)據(jù)可以用()和()兩種代碼形式存放。

(3)在C程序中,文件的存取是以()為單位的,這種文件被稱作()文件。

(4)函數(shù)調(diào)用語句:fgets(buf,n,fp);從fp指向的文件中讀入()個(gè)字符放到buf字符數(shù)組中。

函數(shù)值為()。

(5)feof(fp)函數(shù)用來判斷文件是否結(jié)束,如果遇到文件結(jié)束,函數(shù)值為(),否則為()。

三、判斷

第一章C語言概述

第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

(1)C語言所提供的基本數(shù)據(jù)類型包括:整型、實(shí)型和字符型。

(2)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級最低。

(3)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對整型變量只能輸入整型數(shù)據(jù),對實(shí)型變量只能輸入實(shí)型數(shù)據(jù)。

(4)C語言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成。

(5)在C語言中,char型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是原碼形式。

第三章簡單C程序設(shè)計(jì)

(1)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf(“%4.2E,&f)。

(2)整型變量的輸出格式控制符只有%d一種。

(3)putchar函數(shù)可以向終端輸出一個(gè)字符串。

(4)pirntf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占5歹ij,如果字符串長度大

于5,則輸出按原字符長度從左向右全部輸出。

(5)輸入項(xiàng)可以是一個(gè)實(shí)型常量,如scanf("%F',2.3)。

第四章選擇結(jié)構(gòu)程序設(shè)計(jì)

(1)邏輯運(yùn)算符兩側(cè)的運(yùn)算對象可以是任何基本類型的數(shù)據(jù)。

(2)C語言中只提供了三種邏輯運(yùn)算符:&&,和!。

(3)若a=6,b=4,c=3則表達(dá)式a&&b+c||b-c的值是0。

(4)關(guān)系運(yùn)算式的結(jié)果都是邏輯值。

(5)若a=l,b=2,則表達(dá)式a>b?a:b+l的值是3。

第五章循環(huán)控制

(1)設(shè)有以下程序段:

intx=0,s=0;

while(!x!=0)s+=++x;

printf("%d”,s);

則運(yùn)行該程序段后輸出為:0

(2)for循環(huán)只能應(yīng)用于循環(huán)次數(shù)已經(jīng)確定的情況。

(3)goto語句只能用于退出多層循環(huán)。

(4)switch語句中不能出現(xiàn)continue語句。

(5)只能用continue語句終止本次循環(huán)。

第六章數(shù)組

(1)兩個(gè)字符串中所包含的字符個(gè)數(shù)相同時(shí),才能比較字符串。

(2)字符數(shù)組可以存放字符串。

(3)不能用關(guān)系運(yùn)算符對字符數(shù)組中的字符串進(jìn)行比較。

(4)如果定義了一個(gè)指向數(shù)組的指針,則該指針可以相當(dāng)于數(shù)組名使用。

(5)如果沒有給一個(gè)整型數(shù)組的元素賦初值,則其元素的缺省初值全部為0。

第七章函數(shù)

(1)C語言中,用戶若需調(diào)用標(biāo)準(zhǔn)庫函數(shù),在調(diào)用前必須重新定義。

(2)C語言中不允許用戶重新定義標(biāo)準(zhǔn)庫函數(shù)。

(3)在C程序中,函數(shù)的定義和調(diào)用都不允許嵌套。

(4)如果用數(shù)組名作為函數(shù)調(diào)用的實(shí)際參數(shù),則傳遞給形參的是數(shù)組的首地址。

(5)形式能參數(shù)也是一種局部變量。

第八章編譯預(yù)處理命令

(1)預(yù)處理命令行都必須以#號(hào)開始。

(2)宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間。

(3)C程序在執(zhí)行過程中對預(yù)處理命令進(jìn)行處理。

(4)宏名必須用大寫字母表示。

(5)在文件包含預(yù)處理命令的使用形式中,當(dāng)#include后的文件名用<>括起來時(shí),表示在

當(dāng)前目錄搜索被包含文件。

第九章指針

(1)若有定義:int(*p)[4],則標(biāo)識(shí)符p表示的是一個(gè)指向整型變量的指針。

(2)若有定義:int*p[4J,則標(biāo)識(shí)符p表示的是一個(gè)指針數(shù)組名?

(3)指針值就是地址值。

(4)若有定義int(*p)(),指針p可以表示函數(shù)返回值的類型。

(5)C語言允許main函數(shù)帶形參,但形參名只能是argv和arvc。

第十章結(jié)構(gòu)體與共用體

(1)當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給它的內(nèi)存是各成員所需內(nèi)存量的總和。

(2)C語言中,結(jié)構(gòu)體變量在程序執(zhí)行期間只有部分成員駐留在內(nèi)存中。

(3)一個(gè)共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員。

(4)用typedef只是將已存在的類型用一個(gè)新的標(biāo)識(shí)符來代表,而不能增加新類型。

(5)用typedef可以定義各種類型名,但不能用來定義變量。

第十一章位運(yùn)算

第十二章文件

(1)利用fseek函數(shù)可以實(shí)現(xiàn)文件的隨機(jī)讀寫的操作。

(2)函數(shù)rewind的作用是使位置指針重新返回文件的開頭。

(3)在C程序中,文件可以用隨機(jī)讀寫的方式存取,也可以用順序讀寫的方式存取。

(4)函數(shù)ftell(fp)的作用是得到流式文件中的當(dāng)前位置。

(5)fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開方式必須是只讀的。

四、程序設(shè)計(jì)

第一章C語言概述

第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

第三章簡單C程序設(shè)計(jì)

第四章選擇結(jié)構(gòu)程序設(shè)計(jì)

(1)編程實(shí)現(xiàn):輸入一個(gè)整數(shù),判斷它能否被子3,5,7整除,并輸出以下信息之一:

1)能同時(shí)被3,5,7整除;

2)能被其中兩數(shù)(要指出哪兩個(gè))整除;

3)能被其中一個(gè)數(shù)(要指出哪一個(gè))整除;

4)不能被3,5,7任一個(gè)整除。

(2)用switch編程實(shí)現(xiàn):

r-1(x<0)

y=0(X=0)

1(X.O)

第五章循環(huán)控制

(1)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論