版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樂器配件進(jìn)口合同范本
- 傳真機(jī)維修服務(wù)合同
- 倉儲(chǔ)物流中心物業(yè)安全管理
- 倉儲(chǔ)管理評審修訂制度
- 交通行業(yè)勞動(dòng)合同模板
- 二手房購房協(xié)議書養(yǎng)老用途
- 企業(yè)食堂外包服務(wù)運(yùn)營合同范本
- 臨時(shí)商鋪?zhàn)赓U轉(zhuǎn)賣協(xié)議
- 交通運(yùn)輸行業(yè)合作協(xié)議模板
- 人力資源副總監(jiān)工作合同
- 國家標(biāo)準(zhǔn)《建筑設(shè)計(jì)防火規(guī)范》2018修訂版
- DD 2014-11 地面沉降干涉雷達(dá)數(shù)據(jù)處理技術(shù)規(guī)程
- 血透室核心制度
- 體外沖擊波碎石的護(hù)理課件
- 萬歷十五年讀書分享
- 拆除防塵施工方案
- JGT377-2012 混凝土防凍泵送劑
- 工作交接單-(附件三)
- 人教版四年級英語上冊Unit-3-測試卷附答案-
- 廣東省深圳市福田區(qū)2023-2024學(xué)年三年級上學(xué)期11月期中科學(xué)試題
- 銀行副行長轉(zhuǎn)正申請工作總結(jié)
評論
0/150
提交評論