版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言試題庫(kù)一、單項(xiàng)選擇第一章C語(yǔ)言概述(1)一個(gè)C程序的執(zhí)行是從_A、本程序的MAIN函數(shù)開(kāi)始,到MAIN函數(shù)結(jié)束。B、本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束。C、本程序的MAIN函數(shù)開(kāi)始,到本程序的最后一個(gè)函數(shù)結(jié)束。D、本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序的MAIN函數(shù)結(jié)束。(2)以下敘述正確的是A、在C程序中,MAIN函數(shù)必須位于程序的最前面。B、C程序的每行中只能寫一條語(yǔ)句。C、C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句。D、在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤。(3)C語(yǔ)言規(guī)定,在一個(gè)源程序中,MAIN主函數(shù)的位置是在:A、必須在最前面。B、必須在系統(tǒng)調(diào)用的庫(kù)函
2、數(shù)的后面C、可以在任意位置。D、必須在最后面(4)一個(gè)C程序是由:A、一個(gè)主程序和若干子程序組成B、函數(shù)組成C、若干過(guò)程組成D、若干子程序組成(5)以下敘述不正確的是:A、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B、一個(gè)C源程序必須包含一個(gè)MAIN函數(shù)C、C程序的基本組成單位是函數(shù)D、在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1)若x,i,j,k都是int型變量,則計(jì)算下面表達(dá)式后,x的值為x=(i=4,j=16,k=32)A、4E、16C、32D、52(2) 下列四組選項(xiàng)中,均不是C語(yǔ)言鍵字的選項(xiàng)是A、define,IF,typeB、getc,char,printf
3、C、inelude,seanf,caseE、if,struct,type(3) 下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是A、A,P_0,doB>float,1a0,_AC、b-a,goto,intD、_123,temp,INT(4) 若有代數(shù)式3ae/bc,則正確的C語(yǔ)言表達(dá)式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5) 已知各變量的類型說(shuō)明如下:intk,a,b;unsingedlongw=5;doublex=1.42;則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是_A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a
4、-=(b=4)*(a=3)第三章簡(jiǎn)單C程序設(shè)計(jì)(1) putchar函數(shù)可以向終端輸出一個(gè)A、整型變量表達(dá)式值B、實(shí)型變量值C、字符串D、字符或字符型變量值scanf函數(shù)調(diào)用語(yǔ)句是(2) 若x,y均定義為int型,z定義為double型,以下合法的A、scanf(“d%lx,%le”',&x,&y,&z);B、scanf(“%2d*%d%ff,&x,&y,&z);C、scanf(“x%*d%o,&x,&y,&z);D、scanf(“%x%o%6.2f,&x,&y,&z);當(dāng)輸入數(shù)據(jù)的形式為:
5、25,13,10<回車>時(shí),以下程序的輸出結(jié)果為main()intx,y,z;scanf(“%d%d%”,&x,&y,&z);printf(“x+y+z=%d,x+y+z);A、x+y+z=48B>x+y+z=35C、x+z=35D、不確定值(4) 以下能正確的定義整型變量a,b和c,并對(duì)它們賦初值為5的語(yǔ)句是A、inta=b=c=5;B、inta,b,c=5;C、a=5,b=5,c=5;D、a=b=c=5;若有以下定義,則正確的賦值語(yǔ)句是inta,b;floatx;A、a=1,b=2;B、b+;C、a=b=5;D、b=int(x);第四章選擇結(jié)構(gòu)程序
6、設(shè)計(jì)(1) 能正確表示“當(dāng)x的值在1,10和200,210的范圍為真,否則為假”的表達(dá)式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)|(x<=10)|(x.>=200)|(x<=210)C、(x>=1)&&(x<=10)|(x.>=200)&&(x<=210)D、(x>=1)|(x<=10)&&(x.>=200)|(x<=210)(2) 以下程序的運(yùn)行結(jié)果
7、是_#include“stdio.h”main()inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“d,%c”,a,b);A、6,1B、2,1C、6,0D、2,0(3) 請(qǐng)閱讀以下程序:main()inta=5,b=0,c=0;if(a+b+c)printf(n”*)*elseprintf(“$r$'$);以上程序。A) 有語(yǔ)法錯(cuò)誤不能通過(guò)編譯可以通過(guò)編譯但不能直接通過(guò)連接B) 輸出*輸出$(4) 以下程序的運(yùn)行結(jié)果是_。main()intm=5;if(m+>5)printf(rT%dm);elseprintf("r
8、%d,);4A) 56B) 7(5) 為了避免在嵌套的條件語(yǔ)句中if-else中產(chǎn)生二義性,c語(yǔ)言規(guī)定:else子句總是與相配對(duì)。A)縮排位置相同的if其之前最近的ifB) 其之后最近的if同一行上的if第五章循環(huán)控制設(shè)有程序段intk=10while(k=0)k=k-1則下面描敘正確的是。A) while(k=0)k=k-1;循環(huán)是無(wú)限循環(huán)B) 循環(huán)體語(yǔ)句一次也不執(zhí)行循環(huán)體語(yǔ)句執(zhí)行一次(1) 下面程序段的運(yùn)行結(jié)果是。intn=0;while(n+<=2);printf(“%d”,n);A) 23B) 4有語(yǔ)法錯(cuò)3)C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是。A) do-whi
9、le的循環(huán)體至少無(wú)條件執(zhí)行一次while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格B) do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)以下能正確計(jì)算1*2*3*10的程序段是。A) doi=1;s=1;s=s*i;i+;while(l<=10);B) doi=1;s=0;s=s*i;i+;while(I<=10);C) i=1;s=1;dos=s*i;i+;while(I<=10);i=1;s=0;dos=s*i;i+;while(I<=10);第六章數(shù)組(1) 在c語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是整型常量A) 整
10、型表達(dá)式整型常量或整型表達(dá)式B) 任何類型的表達(dá)式(2) 以下能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是。A) inta2=1,0,1,5,2,3,;inta3=1,2,3,4,5,6;B) inta24=1,2,3,4,5,6;inta3=1,0,1,1,1;)(3) 若有說(shuō)明:inta34=0;則下面正確的敘述是。A) 只有元素a00可得到初值0B) 此說(shuō)明語(yǔ)句不正確C) 數(shù)組a中各元素都可得到初值,但其值不一定為0D) 數(shù)組a中每個(gè)元素均可得到初值0(4) 下面程序(每行程序前面的數(shù)字表示行號(hào))。1 main()2 floata10=0;inti3 for(i=0;i<3;i+)scan
11、f(“d',&ai;for(i=1;i<10;i+)a0=a0+ai;4 printf("n%f,a0);A) 沒(méi)有錯(cuò)誤B) 第3行有錯(cuò)誤C) 第5行有錯(cuò)誤D) 第7行有錯(cuò)誤(5) 若二維數(shù)組a有m列,則計(jì)算機(jī)一元素aij在數(shù)組中位置的公式為。(假設(shè)a00位于數(shù)組的第一個(gè)位置上。)A) i*m+jB) j*m+iC) i*m+j-1D) i*m+j+1第七章函數(shù)(1) 以下正確的函數(shù)定義形式是。A) doublefun(intx,inty)doublefun(intx;inty)D) doublefun(intx,inty)doublefun(intx,y);(
12、2) 以下正確的函數(shù)形式是。A) doublefun(intx,inty)z=x+y;returnz;fun(intx,y)int乙returnz;fun(x,y)intx,y;doublez;z=x+y;returnz;doublefun(intx,inty)doublez;z=x+y;returnz;C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是A) 地址傳遞單向值傳遞B) 由實(shí)參傳給形參,再由形參傳回給實(shí)參傳遞方式(3) C語(yǔ)言允許函數(shù)值型缺省定義,此時(shí)該函數(shù)值隱含的類型是Afloat型B) int型long型C) double型下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為。func
13、(exp1,exp2),(exp3,exp4,exp5);1A) 24B) 5第八章編譯預(yù)處理命令(1)請(qǐng)讀程序:#defineADD(x)x+xmain()intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf(“sum=%d,sum);上面程序的運(yùn)行結(jié)果是。A) sum=9sum=10B) sum=12sum=18(2) 以下程序的運(yùn)行結(jié)果是#defineMIN(x,y)(x)<(y)?(x)+(y)main()intl=10,j=15,k;k=10*MIN(l,j);printf("n%d,k);10A) 15100B) 150PI代替一個(gè)PI代替
14、一個(gè)(3)在宏定義#definePI3.14159中,用宏名A)常量B)單精度數(shù)C)雙精度數(shù)D)字符串若有宏定義如下:#defineX5#defineYX+1#defineZY*x/2則執(zhí)行以下printf語(yǔ)句后,輸出結(jié)果是inta;a=Y;printf(“i%d,Z);printf(“i%d-a);7B)12C)12D)76655若有以下宏定義:#defineN2#defineY(n)(N+1)*n)則執(zhí)行語(yǔ)句z=2*(N+Y(5);后的結(jié)果是語(yǔ)句有錯(cuò)誤A) z=34z=70B) z無(wú)定值第九章指針(1) 以下程有錯(cuò)誤,錯(cuò)誤原因是main()int*p,l;char*q,ch;p=&
15、l;q=&ch;*p=40;*p=*q;A) p和q的類型不一致,不能執(zhí)行*P=*Q;語(yǔ)句P中存放的是地址值,因此不能執(zhí)行*P=40;語(yǔ)句B) Q沒(méi)有指向具體的存儲(chǔ)單元,所以*Q沒(méi)有實(shí)際意義*P=*Q;語(yǔ)F面不能正確執(zhí)*P=*Q;語(yǔ)F面不能正確執(zhí)C) Q雖然指向了具體的存儲(chǔ)單元,但該單元中沒(méi)有確定值,所以不能執(zhí)行句(2) 已有定義intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向變量K,行的賦值語(yǔ)句是.A) k=*ptr1+*ptr2;B)ptr2=K;C)ptr仁ptr2;D)k=*ptr1*(*ptr2);(3) 變量的指針,其含義是指該變量的.A) 值B)地
16、址C)名D)一個(gè)標(biāo)志(4) 若有語(yǔ)句int*point,a=4;和ponit=&a;下面均代表地址的一組選項(xiàng)是A) a,point,*&aB) &*a,&a,*pointC) *&point,*point,&aD) &a,&*point,pointF面能正確進(jìn)行字符串賦值操作的是A)B)C)D)CI) *&point,*point,&aE) &a,&*point,pointF面能正確進(jìn)行字符串賦值操作的是A)B)C)D)chars5=chars5=char*S;s=char*S;scanf(若有以下
17、定義,則對(duì)A) *&a5B) *a+2C) *(P+5)D) *(a+2)若有以下定義,則對(duì)“ABCDE;'A','B','C','D,,'E'ABCDE;“s",s);A數(shù)組元素的正確引用是.a數(shù)組元素地址的正確引用是A)p+5B)*a+1C)&a+1D)&a0(8) 若有定義:inta23;則對(duì)a數(shù)組的第I行第J列(假設(shè)I,J已正確說(shuō)明并賦值)元素值的正確引用為.A) *(*(a+I)+J)B) (a+I)jC) *(a+I+j)D) *(a+I)+j若有定義:inta23;則對(duì)a數(shù)組
18、的第i行第j列(假設(shè)i,j已正確說(shuō)明并賦值)元素地址的正確引用為.A) *(ai+j)B) (a+i)C) *(a+j)E) ai+j若有以下定義和語(yǔ)句,則對(duì)a數(shù)組元素地址的正確引用為.Inta23,(*p)3P=a;A) *(p+2)B) p2C) p1+1D) (p+1)+2第十章結(jié)構(gòu)體與共用體(1) 以下對(duì)結(jié)構(gòu)體類型變量的定義中不正確的是.A) #defineSTUDENTstructstudentSTUDENTintnum;floatage;std1;B) structstudentintnum;floatage;std1;C) structintnum;floatage;std1;D
19、)structintnum;floatage;student;structstudentstdl;(2) 設(shè)有以下語(yǔ)句(3) structstuinta;floatb;stutype;則下面敘述正確的是.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è)有以下定義:structskintn;floatx;data,*p;若要使p指向data中的n域,正確的賦值語(yǔ)句是A) p=&data.n;B) *p=data.n;C) p=(structsk*)&data.n;
20、D) p=(structsk*)data.n;(5) 設(shè)有以下語(yǔ)句:structstintn;structst*next;staticstructsta3=5,&a1,7,&a2,9,O',*p;'p=&a0;則以下表達(dá)式的值為6的是.A)p+->nB)p_>n+C)(*p).n+D)+p->n第十一章位運(yùn)算以下運(yùn)算符中優(yōu)先級(jí)最低的是優(yōu)先級(jí)最高的是。A) &&&B) III若有運(yùn)算符<<,sixeof,&=則它們按優(yōu)先級(jí)按由高到低的正確排列次序是sizeof,&=,<<A)
21、 sizeof,<<,A,&=A,<<,sizeof,&=B) <<,a,&=,sizeof在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是。A) a%B) !C) >在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型或字符型的運(yùn)算符是。A) &&&B) !C) IIsozeof(float)是。A) 一種函數(shù)調(diào)用一種不合法的表示形式B) 一個(gè)整型表達(dá)式一個(gè)浮點(diǎn)表達(dá)式第十二章文件(!)系統(tǒng)的標(biāo)準(zhǔn)輸入文件是指。A) 鍵盤顯示器B) 軟盤硬盤(2) 以下可作為函數(shù)fopen中第一個(gè)參數(shù)的正確格式是。A) uusertext.txtc
22、:usertext.txtB) "c:usertext.txt""c:usertext.txt"(3) 若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是.A) 地址值0B) 1EOF(4) 若要用fopen函數(shù)打開(kāi)一個(gè)新的二進(jìn)制文件,該文件要既能讀又能寫,則文件方式字符串應(yīng)是。A) "ab+""wb+"B) "rb+""ab"(5) 當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose函數(shù)的返回值是。A) -1TUREB) 01二、填空第一章C語(yǔ)言概述(1) C源程序的基本單位是()(2
23、) 一個(gè)C源程序至少應(yīng)包括一個(gè)()(3) 在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為()和()(4) 在C語(yǔ)言中,輸入操作是由庫(kù)函數(shù)()完成的,輸出操作是由庫(kù)函數(shù)()完成的。第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式在C語(yǔ)言中(以16位機(jī)為例),一個(gè)char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個(gè)int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為()。(2) 在C語(yǔ)言中,實(shí)型變量分為兩種類型,它們是()和()。若a是int型變量,則計(jì)算表達(dá)式a=25/3%3后,a的值為()。(4)C語(yǔ)言中的標(biāo)識(shí)符只能由三種字符組成,它們是(),()和()表達(dá)式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的數(shù)據(jù)類型為
24、()。第三章簡(jiǎn)單C程序設(shè)計(jì)(1) 以下程序的輸出結(jié)果是()。main()intx=1,y=2;printf(“x=%dy=%d*sum*=%d,x,y,x+y);printf("10squaredisr%d,10*10);(2) 以下程序的輸出結(jié)果是()。#inelude<studo.h>main()inta=325;doublex=3.1415926;printf(“a=%+06dx=%+”,a,x,);假設(shè)變量a和b均為整型,以下語(yǔ)句可以下借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁?。a+=();b=a-();a-=();(4)設(shè)x,y和z都是int型變量,m為long
25、型變量,則在16位微型機(jī)上執(zhí)行下面的賦值語(yǔ)句后,x值為(),y值為(),z值為()。y=(x=32767,x=-1);z=m=0xFFFF(5) 若x為int型變量,則執(zhí)行以下語(yǔ)句后x的值是()x=7;x+=x-=x+x;第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1) 當(dāng)a=3,b=2,c=1時(shí),表達(dá)式f=a>b>c的值是()。(2) 在C語(yǔ)言中表示邏輯“真”值用()。(3) 設(shè)x,y,z均為int型變量,請(qǐng)寫出描述“x或y中有一個(gè)小于z”的表達(dá)式().(4) 當(dāng)m=2,n=1,a=1,b=2,c=3時(shí),執(zhí)行完d=(m=a!=b)&&(n=b>c)后;n的值為(),m的值為()
26、。(5) 有inta=3,b=4,c=5;則表達(dá)式a|b+c&&b=c的值為()。第五章循環(huán)控制執(zhí)行下面程序段后,K值是()。K=1;n=263;Dok*=n%10;n/=10while(n);下面程序段中循環(huán)體的執(zhí)行次數(shù)是()。A=10;B=0;Dob+=2;a-=2+b;while(a>=0);下面程序段的運(yùn)行結(jié)果是()。X=2'Doprintf(“*”);x-;while(!x=0);下面程序段的運(yùn)行結(jié)果是()。1=1;a=0;s=1;Doa=a+s*i;s=-s;i+;while(i<=10)Printf(“a=%d,a”);雞兔共有30只,腳共有9
27、0個(gè),下面程序段是計(jì)算雞兔各有多少只,請(qǐng)?zhí)羁?。For(x=1;x<=29;x+)y=30-x;if()printf(“d,n%d,x,y);第六章數(shù)組(1)在C語(yǔ)言中,二維數(shù)組的定義方式為:類型說(shuō)明符數(shù)組名()();(2)在C語(yǔ)言中,二維數(shù)組元素在內(nèi)存中的存放順序是()。(3)若有定義:doublex35;則x數(shù)組中行下標(biāo)的下限為(),列下標(biāo)的上限為()。(4)若二維數(shù)組a有m列,則計(jì)算機(jī)任一元素aij在數(shù)組中位置的公式為:().(假設(shè)a00位于數(shù)組的第一個(gè)位置上。)(5)若有定義:inta34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是(),a21得到初值是()。第七
28、章函數(shù)(1)C語(yǔ)言規(guī)定,可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()。(2)在C語(yǔ)言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是()和()。下面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+=1;printf(“d',x);(5)以下Check函數(shù)的功能是對(duì)value中的值進(jìn)行四舍五入計(jì)算,若計(jì)算后的值與pons
29、e值相等,則顯示"WELLDONE!”,否則顯示計(jì)算后的值。已有函數(shù)調(diào)用語(yǔ)句Check(ponse,value);請(qǐng)?zhí)羁?。VoidCheck(intponse,value)intval;val=();printf(計(jì)算后的值:d”,val);if()printf(“n”);elseprintf)”n”,val);第八章編譯預(yù)處理命令(1) 設(shè)有以下宏定義:#defineWIDTH80#defineLENGTHWIDTH+40則執(zhí)行賦值語(yǔ)句:v=LENGTH*20;(V為int型變量)后,v的值是()(2) 設(shè)有以下宏定義:#defineWIDTH80#defineLENGTH(WID
30、TH+40)則執(zhí)行賦值語(yǔ)句:k=LENGTH*20;(K為int型變量)后,k的值是()。(3) 下面程序的運(yùn)行結(jié)果是()。#defineDOUBLE(r)r*rmain()intx=1,y=2,t;t=DOBLE(x+y);printf(“r%d,t);下面程序的運(yùn)行結(jié)果是()。#defineMUL(z)*(z)main()printf(“i%d,MUL(1+2)+3);下面程序的運(yùn)行結(jié)果是()。#definePOWER(x)(x)*(x)main()intI=1;while(I<=4)printf(t”:dlWER(l+);printf(n”");第九章指針(1) 下面程序
31、段的運(yùn)行結(jié)果是()chars80,*sp=”HELLO!”;sp=strcpy(s,sp);s0='h'puts(sp);(2) 下面程序段的運(yùn)行結(jié)果是()chara=”123456789”,*p;intI=0;p=a;while(*p)if(l%2=0)p='*';p+;l+;puts(a);(3) 若有以下語(yǔ)句和定義:inta4=0,1,2,3,*p;p=&a1;則+(*p)的值是()(4) 若有定義:inta23=2,4,6,8,10,12;則(&a00+282+1的值是(),*(a1+2)的值是()。第十章結(jié)構(gòu)體與共用體以下程序用以輸出結(jié)
32、構(gòu)體變量bt所占內(nèi)存單元的字節(jié)數(shù),請(qǐng)?jiān)?)內(nèi)填上適當(dāng)?shù)膬?nèi)容。StructpsdoubleI;chararr20;main()structpsbt;ptintf(“btsize:%d();(1) 設(shè)有三人的姓名和年齡存在結(jié)構(gòu)數(shù)組中,以下程序輸出三人中年齡居中者的姓名和年齡,請(qǐng)?jiān)?)內(nèi)填上正確的內(nèi)容。charname20intage;personStaticstructman,18,19,20,18,19,20a.”limingwanghua“zhangping;main()inti,j,max=min=person0.age;for(i=1;i<3;i+)if(personi.age>
33、;max)(elseif(personi.age<min)(for(i=0;i<3;i+)if(personi.age!=max(printf(max,min;););)personi.age!=min)“sr%d,,personi.age);break;若以定義:structnuminta;intb;floatf;n=1,3,5.0;structnum*pn=&n;則表達(dá)式pn->b/n.a*+pn->b的值是(),表達(dá)式(*pn).a+pn->f的值是()°以下程序的功能是計(jì)算并打印復(fù)數(shù)的差。請(qǐng)?jiān)?)內(nèi)填入正確的內(nèi)容。
34、Structcompfloatre;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=1;a.im=2;b.re=3;b.im=4;t=m();printf(“z.re=%f,z.im=%f>re,t->ipt);(5)以下程序的運(yùn)行結(jié)果是()structksint
35、a;int*b;s4,*p;main()intn=1,i;printf(n”);for(i=0;i<4;i+)si.a=n;si.b=&si.a;n=n+2;p=&s0;p+;printf(“d,%”(+p)>a,(p+)->a);main()intn=1,i;printf(n”);for(i=0;i<4;i+)si.a=n;si.b=&si.a;n=n+2;p=&s0;p+;printf(“d,%”(+p)>a,(p+)->a);第十一章位運(yùn)算(1)在C語(yǔ)言中,&運(yùn)算符作為單目運(yùn)算符時(shí)表示的是(的是()運(yùn)算。(2)與
36、表達(dá)式a&=b等價(jià)的另一書(shū)寫形式是()運(yùn)算;作為雙目運(yùn)算符時(shí)表示設(shè)有chara,b;若要通過(guò)a&b運(yùn)算屏蔽掉a中的其它位,只保留第2和第8位(右起為第1位),則b的二進(jìn)制數(shù)是().(4)測(cè)試char型變量a第六位是否為1的表達(dá)式是()(設(shè)最右位是第一位)。(5)設(shè)二進(jìn)制數(shù)x的值是11001101,若想通過(guò)x&y運(yùn)算使x中的低4位不變,高4位清零,則y的二進(jìn)制數(shù)為(第十二章文件(1)(2)(3)(4)文件可以用(數(shù)據(jù)可以用(文件的存取是以((5)在C程序中,在C程序中,在C程序中,函數(shù)調(diào)用語(yǔ)句:fgets(buf,n,fp);從fp指向的文件中讀入(函數(shù)值為()方式存取,
37、也可以用()方式存取。)和()兩種代碼形式存放。為單位的,這種文件被稱作()文件。個(gè)字符放到buf字符數(shù)組中。feof(fp)函數(shù)用來(lái)判斷文件是否結(jié)束,如果遇到文件結(jié)束,函數(shù)值為(),否則為(三、判斷第一章C語(yǔ)言概述第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1)C語(yǔ)言所提供的基本數(shù)據(jù)類型包括:整型、實(shí)型和字符型。(2)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。(3)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)整型變量只能輸入整型數(shù)據(jù),對(duì)實(shí)型變量只能輸入實(shí)型數(shù)據(jù)。(4)C語(yǔ)言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成。(5)在C語(yǔ)言中,char型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是原碼形式。第三章簡(jiǎn)單C程序設(shè)計(jì)(1)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),
38、格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf(“%4.2f”,&f)(2)整型變量的輸出格式控制符只有%d一種。(3)putchar函數(shù)可以向終端輸出一個(gè)字符串。(4)pirntf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占5列,如果字符串長(zhǎng)度大于5,則輸出按原字符長(zhǎng)度從左向右全部輸出。(5)輸入項(xiàng)可以是一個(gè)實(shí)型常量,如scanf(“f',2.3)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1) 邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任何基本類型的數(shù)據(jù)。(2) C語(yǔ)言中只提供了三種邏輯運(yùn)算符:&&,和!。(3) 若a=6,b=4,c=3則表達(dá)式a&&b+c|b-c
39、的值是0。(4) 關(guān)系運(yùn)算式的結(jié)果都是邏輯值。(5) 若a=1,b=2,則表達(dá)式a>b?a:b+1的值是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語(yǔ)句只能用于退出多層循環(huán)。(4) switch語(yǔ)句中不能出現(xiàn)continue語(yǔ)句。(5) 只能用continue語(yǔ)句終止本次循環(huán)。第六章數(shù)組(1) 兩個(gè)字符串中所包含的字符個(gè)數(shù)相同時(shí),才能比較字符串。(2) 字符數(shù)組可以存放字符串。(3) 不能用關(guān)系運(yùn)算符對(duì)字
40、符數(shù)組中的字符串進(jìn)行比較。(4) 如果定義了一個(gè)指向數(shù)組的指針,則該指針可以相當(dāng)于數(shù)組名使用。(5) 如果沒(méi)有給一個(gè)整型數(shù)組的元素賦初值,則其元素的缺省初值全部為0。第七章函數(shù)(1) C語(yǔ)言中,用戶若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),在調(diào)用前必須重新定義。(2) C語(yǔ)言中不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)。(3) 在C程序中,函數(shù)的定義和調(diào)用都不允許嵌套。(4) 如果用數(shù)組名作為函數(shù)調(diào)用的實(shí)際參數(shù),則傳遞給形參的是數(shù)組的首地址。(5) 形式能參數(shù)也是一種局部變量。第八章編譯預(yù)處理命令(1) 預(yù)處理命令行都必須以#號(hào)開(kāi)始。(2) 宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間。(3) C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令進(jìn)行處理。(4
41、) 宏名必須用大寫字母表示。(5) 在文件包含預(yù)處理命令的使用形式中,當(dāng)#inelude后的文件名用<>括起來(lái)時(shí),表示在當(dāng)前目錄搜索被包含文件。第九章指針(1) 若有定義:int(*p)4,則標(biāo)識(shí)符p表示的是一個(gè)指向整型變量的指針。(2) 若有定義:int*p4,則標(biāo)識(shí)符p表示的是一個(gè)指針數(shù)組名。(3) 指針值就是地址值。(4) 若有定義int(*p)(),指針p可以表示函數(shù)返回值的類型。(5) C語(yǔ)言允許main函數(shù)帶形參,但形參名只能是argv和arve。第十章結(jié)構(gòu)體與共用體(1) 當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給它的內(nèi)存是各成員所需內(nèi)存量的總和。(2) C語(yǔ)言中,結(jié)構(gòu)體變量
42、在程序執(zhí)行期間只有部分成員駐留在內(nèi)存中。(3) 一個(gè)共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員。(4) 用typedef只是將已存在的類型用一個(gè)新的標(biāo)識(shí)符來(lái)代表,而不能增加新類型。(5) 用typedef可以定義各種類型名,但不能用來(lái)定義變量。第十一章位運(yùn)算第十二章文件(1) 利用fseek函數(shù)可以實(shí)現(xiàn)文件的隨機(jī)讀寫的操作。(2) 函數(shù)rewind的作用是使位置指針重新返回文件的開(kāi)頭。(3) 在C程序中,文件可以用隨機(jī)讀寫的方式存取,也可以用順序讀寫的方式存取。(4) 函數(shù)ftell(fp)的作用是得到流式文件中的當(dāng)前位置。(5) fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開(kāi)方式必
43、須是只讀的。四、程序設(shè)計(jì)第一章C語(yǔ)言概述第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第三章簡(jiǎn)單C程序設(shè)計(jì)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1) 編程實(shí)現(xiàn):輸入一個(gè)整數(shù),判斷它能否被子3,5,7整除,并輸出以下信息之一:1) 能同時(shí)被3,5,7整除;能被其中兩數(shù)(要指出哪兩個(gè))整除;2) 能被其中一個(gè)數(shù)(要指出哪一個(gè))整除;不能被3,5,7任一個(gè)整除。(2) 用switch編程實(shí)現(xiàn):-1(x<0)y=0(x=0)I1(x.0)第五章循環(huán)控制(1) 每個(gè)蘋果0.8元,第一天買2個(gè)蘋果,第二天開(kāi)始,每天買前一天的倍,直至購(gòu)買的蘋果個(gè)數(shù)達(dá)到不超過(guò)100的最大值。編寫程序求每天平均花多少錢?(2) 編寫程序,從鍵盤輸入6
44、名學(xué)生的5門成績(jī),分別統(tǒng)計(jì)出每個(gè)學(xué)生的平均成績(jī)。第六章數(shù)組從鍵盤輸入若干整數(shù)(數(shù)據(jù)個(gè)數(shù)應(yīng)少于50),其值在0至4的范圍內(nèi),用1作為輸入結(jié)束的標(biāo)志。統(tǒng)計(jì)每個(gè)整數(shù)的個(gè)數(shù)。試編程。(1) 若有說(shuō)明:inta23=1,2,3,4,5,6;現(xiàn)要將a的行和列的元素互換后存到另一個(gè)二維數(shù)組b中。試編程。第七章函數(shù)(1)已有變量定義和函數(shù)調(diào)用語(yǔ)句inta,b;b=sum(a);函數(shù)sum()用以求k,和數(shù)作為函數(shù)值返回。若a值為10,經(jīng)函數(shù)sum的計(jì)算后,b的值是55。請(qǐng)編寫sum函數(shù)。Sum(intn)(2)a是一個(gè)2*4的整型數(shù)組,且各元素均已賦值,函數(shù)max_value可求出其中的最大元素值max,并將
45、此值返回主調(diào)函數(shù)。今有函數(shù)調(diào)用語(yǔ)句max=max_value(a);請(qǐng)編寫max_value函數(shù)。Max_value(intarr4)第八章編譯預(yù)處理命令(1) 輸入兩個(gè)整數(shù),求它相除的余數(shù)。用帶參的宏來(lái)編程實(shí)現(xiàn)。(2) 試用義一個(gè)帶參的宏swap(x,y),以實(shí)現(xiàn)兩個(gè)整數(shù)之間的交換,并利用它將一維數(shù)組a和b的值進(jìn)行交換。第九章指針(1) 編一程序,將字符串computer賦給一個(gè)字符數(shù)組,然后從第一個(gè)字母開(kāi)始間隔地輸出該串。請(qǐng)用指針完成。(2) 設(shè)有一數(shù)列,包含10個(gè)數(shù),已按升序排好。現(xiàn)要求編一程序,它能夠把從指定位置開(kāi)始的N個(gè)數(shù)按逆序重新排列并輸出新的完整數(shù)列。進(jìn)行逆序處理時(shí)要赤使用指針?lè)?/p>
46、法。試編程。(例如:原數(shù)列為2,4,6,8,10,12,14,16,18,20,若要求把從第4個(gè)數(shù)開(kāi)始的5個(gè)數(shù)按逆序重新排列,則得到新數(shù)列為2,4,6,16,14,12,10,8,18,20。)第十章結(jié)構(gòu)體與共用體(1) 試?yán)弥赶蚪Y(jié)構(gòu)體的指針編制一程序,實(shí)現(xiàn)輸入三個(gè)學(xué)生的學(xué)號(hào)、數(shù)學(xué)期中和期末成績(jī),然后計(jì)算其平均成績(jī)并輸出成績(jī)表。(2) 請(qǐng)定義枚舉類型,用枚舉元素代表人民幣的面值。包括1,2,5分;1,2,5角;1,2,5,10,50,100元。第十一章位運(yùn)算(1) 請(qǐng)編程序:從終端讀入16進(jìn)制無(wú)符號(hào)整數(shù)M,調(diào)用函數(shù)rightrot將M中的原始數(shù)據(jù)循環(huán)右移N位。并輸出移位前后的內(nèi)容。(2) 請(qǐng)
47、編寫函數(shù)getbits從一個(gè)16位的單元中取出以n1開(kāi)始至n2結(jié)束的某幾位,起始位和結(jié)束位都從左向右計(jì)算。同時(shí)編寫主函數(shù)調(diào)用getbits進(jìn)行驗(yàn)證。第十二章文件(1) 請(qǐng)編寫程序:從鍵盤輸入一個(gè)字符串,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,輸出到磁盤文件"upper.txt”中保存。輸入的字符串以"!”結(jié)束。然后再將文件upper.txt中的內(nèi)容讀出顯示在屏幕上。(2) 設(shè)文件student.dat中存放著一年級(jí)學(xué)生的基本情況,這些情況由以下結(jié)構(gòu)體來(lái)描述:strucstudentIongintnum;charname10;intage;charsex;/*學(xué)號(hào)*/*姓名*/*
48、年齡*/*性別*/charspeciality20;/*專業(yè)*/charaddr40;/*地址*/;請(qǐng)編寫程序,輸出學(xué)號(hào)在970101971035之間的學(xué)生學(xué)號(hào)、姓名、年齡和性別。五、參考答案一、名詞解釋二、單項(xiàng)選擇題第一章C語(yǔ)言概述(1) A(2) C(3) D(4) C(5) B第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1) C(2) A(3) C(4) C(5) A第三章簡(jiǎn)單C程序設(shè)計(jì)(1) D(2) D(3) D(4) A(5) B第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1) C(2) B(3) D(4) C(5) B第五章循環(huán)控制CCACC第六章數(shù)組CBDCD第七章函數(shù)ADBBB第八章編譯預(yù)處理BBDD(5)
49、B第九章指針DBBDCDDA(8) DC第十章結(jié)構(gòu)體與共用體DCDCD第十一章位運(yùn)算<1>C<2>BBBBC第十二章文件ABCDC三、填空題第一章C語(yǔ)言概述(1) 函數(shù)主函數(shù)(或:main函數(shù))(2) <1>/*<2>*/<1>scanf<2>printf第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式<1>1<2>2<1>單精度型(或:float型)<2>雙精度型(或double型)<1>10<2>6(4) <1>字母<2>數(shù)字<3>
50、;下劃線整型(或:int型)第三章簡(jiǎn)單C程序設(shè)計(jì)x=1y=2*sum*=310Squaredis:100a=+00325-x=+3.14159e+00(此處“代表空格)<1>b<2>b<3>b<1>32766<2>-1<3>65535(3) -14第四章選擇結(jié)構(gòu)程序設(shè)計(jì)0非0的數(shù)字x<z|y<z<1>0<2>11第五章循環(huán)控制363(3) *a=-52*i+4*y=90第六章數(shù)組<1>常量表達(dá)式<2>常量表達(dá)式按行主順序存放<1>0<2>4
51、(4)i*m+j+1<1>0<2>6第七章函數(shù)(1)程序中的main()函數(shù)<1>函數(shù)說(shuō)明部分<2>函數(shù)體(1) <1>voidadd(floata,floatb)<2>floatadd(floatafloatb)111(2) <1>(int)(value*10+5)/10)<2>ponse=val第八章編譯預(yù)處理(1)8802400512212第九章指針(1)hELLO!*2*4*6*82<1>12<2>12第十章結(jié)構(gòu)體與共用體sizeof(structps)<3&g
52、t;&&<3>&&(1) <1>max=personi.age<2>min=personi.age<1>12<2>6.0(4)<1>structcomp*z<2>z<3>&a,&b7,3第十一章位運(yùn)算<1>取地址<2>按位與(1) a=a&b10000010a&040或a&0x20(4) 00001111第十二章文件(1)<1>順序(或隨機(jī))<1>二進(jìn)制<1>字符<
53、;1>n-1(4) 50*sizeof(structst)或a&32<2>隨機(jī)(或順序)<2>ASCII<2>流式<2>buf的首地址四、判斷第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式(1) 錯(cuò)(2) 對(duì)(3) 錯(cuò)(4) 對(duì)(5) 錯(cuò)第三章簡(jiǎn)單C程序設(shè)計(jì)(1) 錯(cuò)(2) 錯(cuò)(3) 錯(cuò)(4) 對(duì)(5) 錯(cuò)第四章(1) 對(duì)(2) 對(duì)(3) 錯(cuò)(4) 對(duì)(5) 對(duì)第五章(1) 錯(cuò)(2) 錯(cuò)(3) 錯(cuò)(4) 錯(cuò)(5) 對(duì)第六章數(shù)組(1) 錯(cuò)(2) 對(duì)(3) 對(duì)(4) 對(duì)(5) 對(duì)第七章函數(shù)(1) 錯(cuò)(2) 錯(cuò)(3) 錯(cuò)(4) 對(duì)(5) 對(duì)第八章編譯預(yù)處
54、理命令(1) 對(duì)(2) 對(duì)(3) 錯(cuò)(4) 錯(cuò)(5) 錯(cuò)第九章指針(1) 錯(cuò)(2) 對(duì)(3) 對(duì)(4) 錯(cuò)(5) 錯(cuò)第十章結(jié)構(gòu)體與共用體(1) 對(duì)(2) 錯(cuò)(3) 錯(cuò)(4) 對(duì)(5) 錯(cuò)第十三章文件(1) 錯(cuò)(2) 對(duì)(3)對(duì)(4)對(duì)(5)錯(cuò)五、編程題第一章C語(yǔ)言概述第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第三章簡(jiǎn)單C程序設(shè)計(jì)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1)main()intx;scanf(“d',&x);if(x%3=0)&&(x%5=0)&&(x%7=0)printf(“n”,x);elseif(x%3=0)&&(x%5=0)printf(
55、“%dcanbedividedby3”,x);elseif(x%3=0)&&(x%7=0)printf(“%dcanbedividedby3”,x);elseif(x%5=0)&&(x%7=0)printf(“%dcanbedividedby5”,x);elseif(x%3=0)n,x);elseif(x%5=0)printf“%dcanbedividedby"5,x);elseif(x%7=0)n,x);elseprintf(“%dcannotbedivided3,5,7,x);(2)main()floatx;inty;printf(ninputx:
56、”);scanf(“f”,&x);switch(x<0)case1;y=-1;break;case0;switch(x=0)case1;y=0;break;default:y=1;printf(n“=%d”,y);第五章循環(huán)控制#inelude<stdio.h>main()intday=0,buy=2;floatsum=0.0,ave;dosum+=0.8*buy;day+;buy*=2;while(buy<=100);ave=sum/day;printf(“%f,ave;#include<stdio.h>main()inti,j;float(i=1;i<=6;i+)sum=0;for(j=1;j<=5;j+)scanf(%f”,&g);sum+=g;ave=sum5;printf(“No.%dave=%5i2f,i,ave);第六章數(shù)組(1)#def
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 挖泥船制造合同范例
- 農(nóng)村蓋廠房合同范例
- 數(shù)據(jù)項(xiàng)目合同范例
- 收車正規(guī)合同模板
- 公司回收股權(quán)合同范例
- 情感挽回合同模板
- 養(yǎng)貓?jiān)O(shè)備出售合同范例
- 托管牲畜合同模板
- 宣傳用品訂制合同模板
- 廢舊有色金屬回收合同模板
- 中小學(xué)教師教育教學(xué)水平能力測(cè)試成績(jī)單
- 骨科細(xì)化分級(jí)護(hù)理標(biāo)準(zhǔn)
- 互聯(lián)網(wǎng)醫(yī)院整體方案介紹-PPT
- 4.2.1指數(shù)函數(shù)的概念 課件(共21張PPT)
- 嬰幼兒盥洗照料(嬰幼兒回應(yīng)性照護(hù)課件)
- 銀杏樹(shù)介紹-課件
- 《化學(xué)與生活》課程標(biāo)準(zhǔn)
- 浙江臺(tái)州三門縣委政法委員會(huì)下屬事業(yè)單位選聘工作人員筆試題庫(kù)含答案解析
- 社區(qū)老年食堂運(yùn)營(yíng)方案策劃
- 熒光光纖測(cè)溫監(jiān)測(cè)系統(tǒng)-高壓柜 環(huán)網(wǎng)柜
- 國(guó)家衛(wèi)生健康委臨床檢驗(yàn)中心室間質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)2023年
評(píng)論
0/150
提交評(píng)論