




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言概述練習(xí)題選擇1.一個C程序的執(zhí)行是從AoA)本程序的main函數(shù)開始,至Umain函數(shù)結(jié)束B)本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C)本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束D)本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束2. 以下敘述不正確的是D。A)一個C源程序必須包含一個main函數(shù)B)一個C源程序可由一個或多個函數(shù)組成C)C程序的基本組成單位是函數(shù)D)口在C程序中,注釋說明只能位于一條語句的后面3. 以下敘述正確的是C。A)在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤B)在C程序中,main函數(shù)必須位于程序的最前面C)C語
2、言本身沒有輸入輸出語句D)C程序的每行中只能寫一條語句4. 一個C語言程序是由B。A)一個主程序和若干個子程序組成B)口函數(shù)組成C)若干過程組成D)若干子程序組成二、數(shù)據(jù)類型、運算符與表達(dá)式選擇.1.若x、i、j、k都是int型變量,則計算下面表達(dá)式后,x的值為C.x=(i=4,j=16,k=32)A)4B)16鐘2D)522 .下列四組選項中,均不是C語言關(guān)鍵字的選項是A。A)defineIFtypeB)getccharprintfC)includecasescanfD)whilegopow3 .下列四組選項中,均是不合法的用戶標(biāo)識符的選項是BA)WP_0doB)b-agotointC)fl
3、oatla0_AD)-123abcTEMP4 .下列四組選項中,均是合法轉(zhuǎn)義字符的選項是AA)n, B)017' ' C) ''018' 'f ' 'xab' D) ' 0 ' ''101' ' xlf5. 下面不正確的字符常量是 A。A) "c"B),6. 以下敘述不正確的是 D。A)在C程序中,逗號運算符的優(yōu)先級最低C)若a和b類型相同,在計算了賦值表達(dá)式C) ''D) 'K'B) 在C程序中,MA片口 max是兩個不同
4、的變量 a=b后,b中的值將放入a中,而b中的值不變國當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值7. 以下敘述正確的是BA)在C程序中,每行只能寫一條語句B)若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)C)在C程序中,是只能用于整數(shù)運算的運算符(字符型也可以)D)在C程序中,無論是整數(shù)還是實數(shù),都能被準(zhǔn)確無誤地表示8. 已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句c2='A'+'6'-'3'后,c2中的值為AA)DB)68C)不確定的值D)C9. sizeof(f
5、loat)是B。A)一個雙精度型表達(dá)式BQ一個整型表達(dá)式C)一種函數(shù)表達(dá)式D)一個不合法的表達(dá)式10 .設(shè)C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為C。A)0255B)032767C)0口65535D)0214748364711 .設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為D。A)floatB)charC)intD)double口12 .設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是CoA)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)
6、D)(y=6,y+1,x=y,x+1)填空1.若有以下定義,則計算表達(dá)式y(tǒng)+=y-=m*=y后的y值是1】。-16intm=5,y=2;2 .在C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則int型數(shù)據(jù)的取值范圍為【2】。-32768327673 .若s是int型變量,且s=6,則下面表達(dá)式的值為【3。1s%2+(s+1)%24 .若a是int型變量,則下面表達(dá)式的值為【4】。26(a=4*5,a*2),a+65 .若x和a均是int型變量,則計算表達(dá)式(1)后的x值為【5,計算表達(dá)式(2)后的x值為【6】。(1)x=(a=4,6*2)12(2)x=a=4,6*246. 若a是int型變量,
7、則計算下面表達(dá)式后a的值為【7。2a=25/3%37. 若x和n均是int型變量,且x和n的初值均為5,則計算表達(dá)式后x的值為【8,n的值為【9】。106x+=n+/若改為x+=+n則計算后X為11,n為68. 若有定義:charc='010';則變量c中包含的字符個數(shù)為【10】。19. 若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面表達(dá)式的值為【11】1(x+y)%2+(int)a/(int)b10. 已知字母a的ASCII碼為十進制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a'+'8'-'3'的值
8、為【12】。f三、簡單的C程序設(shè)計選擇1.putchar函數(shù)可以向終端輸出一個D。A)整型變量表達(dá)式B)實型變量值C)字符串D)字符或字符型變量值2 .printf函數(shù)中用到格式符5s,其中數(shù)字5表示輸出的字符串占用5歹U。如果字符串長度大于5,則輸出按方式B;如果字符串長度小于5,則輸出按方式C。A)從左起輸出該字符串,右補空格B)按原字符長從左向右全部輸出C)右對齊輸出該字符串,左補空格D)輸出錯誤信息3 .閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10<CR>注:<CR>!示回車),則正確的輸出結(jié)果為Dmain()intx,y,z;scanf("d%
9、d%d,&x,&y,&z);printf(x+y+z=%dn” ,x+y+z);D)不確定值A(chǔ))x+y+z=48B)x+y+z=35C)x+z=354 .根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語句的正確形式應(yīng)該為Comain()charch1,ch2,ch3;輸入語句printf("c%c,ch1,ch2,ch3);輸出形式:ABC輸入形式:ABCA)scanf("c%c%C,&ch1,&ch2,&ch3);B)scanf("c,%c,%C,&ch1,&ch2,&ch3);C)sca
10、nf("c%c%C',&ch1,&ch2,&ch3);D)scanf("c%C,&ch1,&ch2,&ch3);5 .已知ch是字符型變量,下面不正確的賦值語句是A。A)ch='a'+'b'B)ch='0'C)ch='7'+'9'D)ch=5+9;填空1.在TC2環(huán)境下,以下程序的輸出結(jié)果是【1】。i:dec=-4,oct=177774,hex=fffc,unsigned=65532main()shorti;i=-4;printf(&quo
11、t;i:dec=%d,oct=%o,hex=%x,unsigned=%un”,i,i,i,i);2 .在TC2環(huán)境下,以下的輸出結(jié)果是2。c:dec=120,oct=170,hex=78,ASCII=xmain()charc='x'printf("c:dec=%d,oct=%o,hex=%x,ASCII=%cn”,c,c,c,c);3 .在TC2環(huán)境下,以下的輸出結(jié)果是3】ox=1y=2*sum*=310Squaredis:100main()intx=1,y=2;printf("x=%dy=%d*sum*=%dn”,x,y,x+y);printf("
12、;10Squaredis:%dn”,10*10);4 .假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a、b中的值進行交換。請?zhí)羁?。a+=4;b=a-5;a-=6;bbb5 .若x為int型變量,則執(zhí)行以下語句后的x值為【7】。-14x=7;x+=x-=x+x;6.有一輸入語句scanf("%d,k);則不能使float類型變量k得到正確數(shù)值的原因是【8】和【9】。格式控制符應(yīng)為f;變量k前缺少&四、邏輯運算與判斷選取控制選擇1.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型A)只能是0和1B)只能是0或非0正數(shù)C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)2.判斷char型變量
13、ch是否為大寫字母的正確表達(dá)式是C。A)<A<=ch<='Z'B)(ch>=<A)&(ch<='Z')C)(ch>='A')&&(ch<='Z')D)('A'<=ch)AND('Z'>=ch)3.若希望當(dāng)A的值為奇數(shù)時,表達(dá)式的值為“真”,A的值為偶數(shù)時,表達(dá)式的值為“假”。則以下不能滿足要求C) !(A%2)D) A%2因為m=a>b為假,所以整的表達(dá)式是C。A)A%2=1B)!(A%2=0)4 .設(shè)有:in
14、ta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值為B個為假,n不變A)1B)2C)3D)45 .以下程序的運行結(jié)果是Bomain()inta,b,d=241;a=d/100%9;2%9>2b=(-1)&&(-1);printf("%d,%d,a,b);A)6,1B)2,1C)6,0D)2,06 .已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是B。if(x>y)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,
15、y=30,z=10D)x=20,y=30,z=207 .以下程序的運行結(jié)果是Comain()intm=5;if(m+>5)Fm=6printf("dn",m);else;printf("%dn”,m-);m-=6,m=5A)4B)5C)6D)78 .若運行時給變量x輸入12,則以下程序的運行結(jié)果是Domain()intx,y;scanf("%d',&x);y=x>12?x+10:x-12;x=12>12Fy=x-12=0printf("dn",y);A)4B)3C)2D)0編程實現(xiàn):輸入整數(shù)a和b,若
16、a2+b2大于100,則輸出a2+b2百位以上的數(shù)字,否則輸出兩數(shù)之和2 .編程判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes;否則輸出no3 .用switch編程實現(xiàn):-1(x<0)y=0(x=0);1(x>0)4.用switch語句編一程序,對于給定的一個百分制成績,輸出相應(yīng)的五分制成績,設(shè):90分以上為A',8089分為B',7079分為C',6069分為D',60分以下為E'#include<stdio.h>voidmain()inta;scanf("%d",&a);if(a>
17、;=0)&&(a<=100)switch(a/10)case10:case9:printf("An");break;case8:printf("Bn");break;case7:printf("Cn");break;case6:printf("Dn");break;default:printf("En");break;elseprintf("errorn");五、循環(huán)控制選擇1.設(shè)有程序段intk=10;while(k=0)k=k-1;while是先判斷
18、在執(zhí)行這下面描述中正確的是C.a)while循環(huán)執(zhí)行10次b)循環(huán)是無限循環(huán)c)循環(huán)體語句一次也不執(zhí)行d)循環(huán)體語句執(zhí)行一次2 .語句while(!E);中的表達(dá)式!E等價于C.!=E為真,即!=0為真a)E=0b)E!=1c)E!=0d)E=13 .下面程序段的運行結(jié)果是c.循環(huán)次數(shù)為n=0;while(n+<=2);printf("%d",n);a)2b)3c)4 d) 有語法錯/ 若改為 while(+n<=2);printf("%d",n);結(jié)果又如何?(b a)4 下面程序的運行結(jié)果是_C#include<stdio
19、.h>main() int num=0;while(num<=2)num=0 T num=1T num=2 T num=3a)15以下程序段x=-1;donum+;printf("%dn",num);b)1c) 1d)1x=x*x;x=-1 x=-1*-1=1 Tnum=0+1 num=2num=1 num=2num=3num=3結(jié)束x=1x=1*1=1 Fwhile(!x);a)是死循環(huán)b)循環(huán)執(zhí)行二次c) 循環(huán)執(zhí)行一次d)有語法錯誤6若有如下語句int x=3;doprintf("%dn",x-=2);x=x-2=3-2=1 T(!-3)
20、 x=0x=0-2=-2F(!-3)x=-4while(!(-x);則上面程序段_Ba)輸出的是1 b) 輸出的是和 -2 c) 輸出的是3 和 0d) 是死循環(huán)7下面程序的運行結(jié)果是_D#include<stdio.h>main()inty=10;doy-;while(-y);printf("%dn",y-);進入循環(huán)前:y=10執(zhí)行-之后y的值 while 條件10988T8766T6544T4322T2100F為0)然后執(zhí)行printf中的y-,那么printf中y-的值為0,所以輸出0。y-表達(dá)式的值執(zhí)行y-之后y的值-y 表達(dá)式的值a)-1b)1c)8
21、d) 0(循環(huán)結(jié)束,結(jié)束時y的值for(i=2;i=0;)printf("%d",i-);8 .若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是_B.a)無限次b)0次c)1次d)2次9 .執(zhí)行語句for(i=1;i+<4;);后變量i的值是_C.a)3b)4c)5d)不定10 .以下正確的描述是B.a)continue語句的作用是結(jié)束整個循環(huán)的執(zhí)行(break)b)只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句c)在循環(huán)體內(nèi)使用break語句或continue語句的作用相同(不)d)從多層循環(huán)嵌套中退出時,只能使用goto語句(二)、填空題1 .下面程序段是從鍵盤輸入的
22、字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁?。intn=0,c;c=getchar();while(_c!='n')if(_c>=,0,&&c<±9,)n+;c=getchar();2 .下面程序的功能是用"輾轉(zhuǎn)相除法"求兩個正整數(shù)的最大公約數(shù)。請?zhí)羁?include<stdio.h>main()intr,m,n;scanf("%d%d",&m,&n);if(m<n)_r=m;m=n;n=r;r=m%n;while(r)m=n;n=r;r=_m%n;printf
23、("%dn",n);3 .下面程序的運行結(jié)果是s=254.#include<stdio.h>main()inta,s,n,count;a=2;s=0;n=1;count=1;while(count<=7)n=n*a;s=s+n;+count;printf("s=%d",s);4 .下面程序段的運行結(jié)果是a=-5.i=1;a=0;s=1;doa=a+s*i;s=-s;i+;while(i<=10);printf("a=%d",a);5 .下面程序段的運行結(jié)果是8.i=1;s=3;dos+=i+;if(s%7=0)
24、continue;else+i;while(s<15);printf("%d",i);二、編程1、從鍵盤上輸入若干學(xué)生的成績,當(dāng)輸入負(fù)數(shù)時結(jié)束輸入,統(tǒng)計并輸出最高成績和最低成績。2、輸出如下圖所示的下三角形乘法九九表12345678912436948125101561218714218162491827162025243036283542324048364554495664637281六、數(shù)組1.以下為一維整型數(shù)組a的正確說明是Da)inta(10);b)intn=10,an;c)intn;d)#defineSIZE10scanf("%d",&am
25、p;n);intaSIZE;intan;2.以下對二維數(shù)組a的正確說明是C.a)inta3肛b)floata(3,4);c)doublea14d)floata(3)(4);3.若二維數(shù)組a有mJ,則計算任一元素aij在數(shù)組中位置的公式為_D.(假設(shè)a00位于數(shù)組的第一個位置上a)i*m+jb)j*m+ic)i*m+j-1d)i*m+j+14.若二維數(shù)組a有m歹U,則在aij前的元素個數(shù)為B.a)j*m+ib)i*m+jc)i*m+j-1d)i*m+j+15.若有以下程序段:inta=4,0,2,3,1,i,j,t;for(i=1;i<5;i+)t=ai;j=i-1;while(j>
26、=0&&t>aj)aj+1=aj;j-;aj+1=t;則該程序段的功能是_B.a)對數(shù)組a進行插入排序(升序)b)對數(shù)組a進行插入排序(降序)c)對數(shù)組a進行選擇排序(升序)d)對數(shù)組a進行選擇排序(降序)6有兩個字符數(shù)組a、b,則以下正確的輸入語句是_B.a)gets(a,b);b)scanf("%s%s",a,b);c)scanf("%s%s",&a,&b);d)gets("a"),gets("b");7下面程序段的運行結(jié)果是D.chara7="abcdef&qu
27、ot;charb4="ABC"strcpy(a,b);復(fù)制函數(shù),將字符2的復(fù)制到1printf("%c",a5);a)空格b)0c)ed)f8.判斷字符串si是否大于字符串s2,應(yīng)當(dāng)使用一D.a)if(s1>s2)b)if(strcmp(s1,s2)c)if(strcmp(s2,s1)>0)d)if(strcmp(s1,s2)>0)9下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計其中有多少個單詞,單詞之間用空格分隔,請選擇填空。#include<stdio.h>main()chars80,c1,c2=''inti=
28、0,num=0;gets(s);while(si!='0')c1=si;if(i=0)c2=''elsec2=si-1;if(_)num+;i+;printf("Thereare%dwords.n",num);a)c1=''&&c2=''b)c1!=''&&c2=''c)c1=''&&c2!=''d)c1!=''&&c2!=''10 下面程序的運行結(jié)果是
29、_B.#include<stdio.h>main()charstr="SSSWLIA",c;intk;for(k=2;(c=strk)!='0'k+)switch(c)case'I':+k;break;case'L':continue;default:putchar(c);continue;putchar('*');a)SSW*b)SW*c)SW*Ad)SW填空1.若有定義:doublex35;則x數(shù)組中行下標(biāo)的下限為0,列下標(biāo)的上限為42 .下面程序以每行4個數(shù)據(jù)的形式輸出a數(shù)組,請?zhí)羁铡?def
30、ineN20main()intaN,i;for(i=0;i<N;i+)scanf("%d",_&ai);for(i=0;i<N;i+)if(i%4=0)_printf(“n”)printf("%3d",ai);printf("n");3 .下面程序可求出矩陣a的主對角線上的元素之和,請?zhí)羁?。main()inta33=1,3,5,7,9,11,13,15,17,sum=0,i,j;for(i=0;i<3;i+)for(j=0;j<3;j+)if(_i=j)sum=sum+_aii;printf("
31、;sum=%dn",sum);4 .當(dāng)從鍵盤輸入18并回車后,下面程序的運行結(jié)果是10010.main()intx,y,i,a8,j,u,v;scanf("%d",&x);y=x;i=0;dou=y/2;ai=y%2;i+;y=u;while(y>=1);for(j=i-1;j>=0;j-)printf("%d",aj);5 .下面程序用插入法對數(shù)組a進行降序排序。請?zhí)羁铡ain()inta5=4,7,2,5,1;inti,j,m;for(i=1;i<5;i+)m=ai;j=_i-1;while(j>=0&am
32、p;&m>aj)_aj+1=aj;j-;_aj+1=m;for(i=0;i<5;i+)printf("%d",ai);printf("n");6 .下面程序的功能是在三個字符串中找出最小的,請?zhí)羁铡?include<stdio.h>#include<string.h>main()chars20,str320;inti;for(i=0;i<3;i+)gets(stri);strcpy(s,_str0);if(strcmp(s,str1)<0)strcpy(s,str1);if(strcmp(str2,
33、s)<0)strcpy(s,str2);printf("%sn",_s);7 .下面程序的運行結(jié)果是_#&*&%.(#&*&%)#include<stdio.h>main()chars="ABCCDA"intk;charc;for(k=1;(c=sk)!='0'k+)switch(c)case'A':putchar('%');continue;case'B':+k;break;default:putchar('*');case
34、'C':putchar('&');continue;putchar('#');七、函數(shù)選擇1.以下正確的說法是D_.建立函數(shù)的目的之一是a)提高程序的執(zhí)行效率b)提高程序的可讀性c)減少程序的篇幅d)減少程序文件所占內(nèi)存2以下正確的函數(shù)定義形式是_A.a)doublefun(intx,inty)b)doublefun(intx;inty)c)doublefun(intx,inty);d)doublefun(intx,y);3 C語言規(guī)定,簡單變量做實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式為_B.A)地址傳遞B)單向值傳遞C)由實參傳給形參,
35、再由形參傳回給實參D)由用戶指定傳遞方式4 C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是_B.a)floatb)intc)longd)double5已有以下數(shù)組定義和f函數(shù)調(diào)用語句,則在f函數(shù)的說明中,對形參數(shù)組array的錯誤定義方式為_B.inta34;f(a);a)f(intarray6)b)f(intarray3)c)f(intarray4)d)f(intarray25)前面括號的可以省,后面的不可以。6以下程序的正確運行結(jié)果是C.#include<stdio.h>voidnum()externintx,y;inta=15,b=10;x=a-b;y=a+b;int
36、x,y;main()inta=7,b=5;x=a+b;y=a-b;num();printf("%d,%dn",x,y);a)12,2b)不確定c)5,25d)1,12填空1.以下程序的運行結(jié)果是.maxis2#include<stdio.h>intmax(int,int);main()inta=1,b=2,c;c=max(a,b);printf("maxis%dn",c);intmax(intx,inty)intz;z=(x>y)?x:y;return(z);2 .函數(shù)gongyu的作用是求整數(shù)num1和num2的最大公約數(shù),并返回該值
37、。請?zhí)羁?。gongyu(intnum1,intnum2)inttemp,a,b;if(num1(<)num2)temp=num1;num1=num2;num2=temp;a=num1;b=num2;while(!b)temp=a%b;a=b;b=temp;return(a);3 .以下程序的運行結(jié)果是A+B=9.#include<stdio.h>inta=5;intb=7;intplus(int,int);voidmain()inta=4,b=5,c;c=plus(a,b);printf("A+B=%dn",c);intplus(intx,inty)int
38、z;z=x+y;return(z);4.以下程序的運行結(jié)果是main()incx();incy();incx();incy();incx();incy();incx()x=1y=1x=1y=2x=1y=3intx=0;printf("x=%dt",+x);incy()staticinty=0;printf("ny=%dn",+y);三、編程題1. 已有變量定義和函數(shù)調(diào)用語句:intx=57;isprime(x);函數(shù)isprime()用來判斷一個整型數(shù)a是否為素數(shù),若是素數(shù),函數(shù)返回1,否則返回0。請編寫isprime函數(shù)。isprime(inta)2.
39、 a是一個2X4的整型數(shù)組,且各元素均已賦值。函數(shù)max_value可求出其中的最大的元素值max,并將此值返回主調(diào)函數(shù)。今有函數(shù)調(diào)用語句max=max_value(a),請編寫max_value函數(shù)。max_value(intarr4)八、編譯預(yù)處理選擇1以下敘述中正確的是.a)在程序的一行上可以出現(xiàn)多個有效的預(yù)處理命令行b)使用帶參的宏時,參數(shù)的類型應(yīng)與宏定義時的一致c) 宏替換不占用運行時間,只占用編譯時間d) 在以下定義中CR是稱為“宏名”的標(biāo)識符#defineCR0452以下程序的運行結(jié)果是.#defineMIN(x,y)(x)<(y)?(x):(y)main()inti=10
40、,j=15,k;k=10*MIN(i,j);printf("%dn",k);a)10b)15c)100d)1503若有宏定義如下:#defineX5#defineYX+1#defineZY*X/2則執(zhí)行以下printf語句后,輸出結(jié)果是.inta;a=Y;printf("%dn",Z);printf("%dn",-a);a)7b)12c)12d)766554請讀程序:#include<stdio.h>#defineMUL(x,y)(x)*ymain()inta=3,b=4,c;c=MUL(a+,b+);printf(&qu
41、ot;%dn",c);上面程序的輸出結(jié)果是.a)12b)15c)20d)165對下面程序段:#defineA3#defineB(a)(A+1)*a).x=3*(A+B(7);正確的判斷是.a)程序錯誤,不許嵌套宏定義b)x=93c)x=21d)程序錯誤,宏定義不許有參數(shù)6以下正確的描述是.a)C語言的預(yù)處理功能是指完成宏替換和包含文件的調(diào)用b)預(yù)處理指令只能位于C源程序文件的首部c)凡是C源程序中行首以"#"標(biāo)識的控制行都是預(yù)處理指令d)C語言的編譯預(yù)處理就是對源程序進行初步的語法檢查7在"文件包含"預(yù)處理語句的使用形式中,當(dāng)#include后
42、面的文件名用<>(尖括號)括起時,找尋被包含文件的方式是.a)僅僅搜索當(dāng)前目錄b)僅僅搜索源程序所在目錄c)直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄d)先在源程序所在目錄搜索,再按照系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索九、指針一、選擇題1變量的指針,其含義是指該變量的B.a)值b)地址c)名d)一個標(biāo)志2若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是_D_.a)a,point,*&ab)&*a,&a,*pointc)*&point,*point,&ad)&a,&*point,point3若有說明;int*
43、p,m=5,n;以下正確的程序段的是_D.a)p=&n;b)p=&n;c)scanf("%d",&n);d)p=&n;scanf("%d",&p);scanf("%d",*p);*p=n;*p=m;4下面程序段的運行結(jié)果是_A.char*s="abcde"s+=2;printf("%s",s);a)cdeb)字符'c'c)字符'c'的地址d)無確定的輸出結(jié)果5設(shè)p1和p2是指向同一個字符串的指針變量,c為字符變量,則以下不能
44、正確執(zhí)行的賦值語句是_Ba)c=*p1+*p2;b)p2=cc)p1=p2d)c=*p1*(*p2);6以下正確的程序段是B.a)charstr20;b)char*p;c)charstr20;d)charstr20,*p=str;scanf("%s",&str);scanf("%s",p);scanf("%s",&str2);scanf("%s",p2);7若有說明語句chara="Itismine"char*p="Itismine"則以下不正確的敘述是_B.
45、a)a+1表示的是字符t的地址b)p指向另外的字符串時,字符串的長度不受限制c)p變量中存放的地址值可以改變d)a中只能存放10個字符8下面程序的運行結(jié)果是_B.#include<stdio.h>#include<string.h>main()char*s1="AbDeG"char*s2="AbdEg"s1+=2;s2+=2;printf("%dn",strcmp(s1,s2);a)正數(shù)b)負(fù)數(shù)c)零d)不確定的值9下面程序的運行結(jié)果是_A.#include<stdio.h>#include<
46、string.h>fun(char*w,intn)chart,*s1,*s2;s1=w;s2=w+n-1;while(s1<s2)t=*s1+;*s1=*s2-;*s2=t;main()char*p;p="1234567"fun(p,strlen(p);puts(p);a)7654321b)1714171c)1711717d)717717110 若有以下定義,則對a數(shù)組元素的正確引用是D.inta5,*p=a;a)*&a5b)a+2c)*(p+5)d)*(a+2)11若有定義:inta23,則對a數(shù)組的第i行j列元素地址的正確引用為_D.a)*(ai+j
47、)b)(a+i)c)*(a+j)d)ai+j12 若有以下定義,則p+5表示_A.inta10,*p=a;a)元素a5的地址b)元素a5的值c)元素a6的地址d)元素a6的值二、填空題1以下程序的功能是:通過指針操作,找出三個整數(shù)中的最小值并輸出。請?zhí)羁铡?include"stdio.h"main()int*a,*b,*c,num,x,y,z;a=&x;b=&y;c=&z;printf("輸入3個整數(shù):");scanf("%d%d%d",a,b,c);printf("%d,%d,%dn",*
48、a,*b,*c);num=*a;if(*a>*b)_num=*b;if(num>*c)num=*c_;printf("輸出最小整數(shù):dn",num);2 .下面程序段的運行結(jié)果是_hELLO.chars80,*sp="HELLO!"sp=strcpy(s,sp);s0='h'puts(sp);3 .下面程序段的運行結(jié)果是.charstr="abc0def0ghi",*p=str;printf("%s",p+5);4 .下面程序的功能是將兩個字符串s1和s2連接起來。請?zhí)羁?include
49、<stdio.h>main()chars180,s280;gets(s1);gets(s2);conj(s1,s2);puts(s1);conj(char*p1,char*p2)char*p=p1;while(*p1)_p1+;while(*p2)*p1=_*p2;p1+;p2+;*p1='0'5 .若有定義:inta=2,4,6,8,10,12,*p=a;則*(p+1)的值是_4.*(a+5)的值是12.6 .若有以下定義:inta23=2,4,6,8,10,12;則a10的值是8_.*(*(a+1)+0)的值是87 .以下程序?qū)?shù)組a中的數(shù)據(jù)按逆序存放,請?zhí)羁铡?/p>
50、#defineM8main()intaM,i,j,t;for(i=0;i<M;i+)scanf("%d",a+i);i=0;j=M-1;while(i<j)t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;i+;j-;for(i=0;i<M;i+)printf("%3d",*(a+i);8 .若有定義:inta35,i,j;(且0<=i<3,0<=j<5),則a數(shù)組中任一元素可用五種形式引用。它們是:(1)a皿*(ai+j)(3)*(*(a+i)+j);(4)(*(a+i)j(5)*(&a0
51、0+5*i+j)9 .下面程序的運行結(jié)果是.main()CobledBasechar*a="Pascal","Clanguage","dBase","Coble"Clanguagechar*p;Pascalintj;p=a+3;for(j=3;j>=0;j-)printf("%sn",*(p-);十、結(jié)構(gòu)體與共同體一、選擇題1 C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間_A.a)所有成員一直駐留在內(nèi)存中b)只有一個成員駐留在內(nèi)存中c)部分成員駐留在內(nèi)存中d)沒有成員駐留在內(nèi)存中2下面程序的運行結(jié)果
52、是D.main()structcmplxintx;inty;cnum2=1,3,2,7;printf("%dn",cnum0.y/cnum0.x*cnum1.x);a)0b)1c)3d)63設(shè)有如下定義:structskintn;floatx;data,*p;若要使p指向data中的n域,正確的賦值語句是_C.a)p=&data.n;b)*p=data.n;c)p=(structsk*)&data.n;d)p=(structsk*)data.n;4以下對結(jié)構(gòu)體變量stu1中成員age的非法引用是B.structstudentintage;intnum;stu
53、1,*p;p=&stu1;a)stu1.ageb)student.agec)p->aged)(*p).age5下面對typedef的敘述中不正確的是_B.a)用typedef可以定義各種類型名,但不能用來定義變量b)用typedef可以增加新類型c)用typedef只是將已存在的類型用一個新的標(biāo)識符來代表d)使用typedef有利于程序的通用和移植6.以下scanf函數(shù)調(diào)用語句中對結(jié)構(gòu)體變量成員的不正確引用是_D.structpupilcharname20;intage;intsex;pup5,*p;p=pup;a)scanf("%s",);
54、b)scanf("%d",&pup0.age);c)scanf("%d”,&(p->sex);d)scanf("%d”,p->age);二、填空題1 .以下程序的運行結(jié)果是10,x.structnintx;charc;main()structna=10,'x'func(a);printf("%d,%c",a.x,a.c);func(structnb)b.x=20;b.c='y'2 .若有定義:structnuminta;intb;floatf;n=1,3,5.0;structnum*pn=&n;則表達(dá)式pn->b/n.a*+pn->b的值是12,表達(dá)式(*pn).a+pn-&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 日用百貨買賣合同
- 2025年泰安普通貨運從業(yè)資格證模擬考試
- 公司內(nèi)部溝通平臺使用記錄表格(電子版)
- 商場多經(jīng)點位租賃合同
- 執(zhí)行和解協(xié)議書范例8篇
- 2025年高中化學(xué)新教材同步 必修第一冊 第1章 階段重點突破練(一)
- 小額放貸公司合同范本
- 按揭車轉(zhuǎn)讓合同范本
- 液晶聚合物L(fēng)CP戰(zhàn)略市場規(guī)劃報告
- 部編版《語文》(八年級-下冊)第一單元教材分析與教學(xué)建議
- 現(xiàn)代企業(yè)服務(wù)營銷的創(chuàng)新與實踐
- 5.2 做自強不息的中國人 (課件)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- 【寒假開學(xué)第一課】AI時代做自己的哪吒
- CWAN 0043-2021攪拌摩擦焊攪拌頭設(shè)計及制造標(biāo)準(zhǔn)
- 教學(xué)課件:《公共關(guān)系學(xué)》(本科)
- 劉聰版在燦爛陽光下鋼琴伴奏譜簡譜版
- 2025年春新人教PEP版英語三年級下冊全冊教學(xué)課件
- 建筑工程項目精益建造實施計劃書
- 化學(xué)-江蘇省蘇州市2024-2025學(xué)年2025屆高三第一學(xué)期學(xué)業(yè)期末質(zhì)量陽光指標(biāo)調(diào)研卷試題和答案
- 游戲開發(fā)公司游戲產(chǎn)品設(shè)計與用戶體驗優(yōu)化計劃
評論
0/150
提交評論