C語(yǔ)言各章節(jié)復(fù)習(xí)試題(帶答案)_第1頁(yè)
C語(yǔ)言各章節(jié)復(fù)習(xí)試題(帶答案)_第2頁(yè)
C語(yǔ)言各章節(jié)復(fù)習(xí)試題(帶答案)_第3頁(yè)
C語(yǔ)言各章節(jié)復(fù)習(xí)試題(帶答案)_第4頁(yè)
C語(yǔ)言各章節(jié)復(fù)習(xí)試題(帶答案)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

..一、C語(yǔ)言概述練習(xí)題選擇1.一個(gè)C程序的執(zhí)行是從。A>本程序的main函數(shù)開始,到main函數(shù)結(jié)束B>本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C>本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束D>本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束2.以下敘述不正確的是。A>一個(gè)C源程序必須包含一個(gè)main函數(shù)B>一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成C>C程序的基本組成單位是函數(shù)D>在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面3.以下敘述正確的是。A>在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤B>在C程序中,main函數(shù)必須位于程序的最前面C>C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D>C程序的每行中只能寫一條語(yǔ)句4.一個(gè)C語(yǔ)言程序是由。A>一個(gè)主程序和若干個(gè)子程序組成B>函數(shù)組成C>若干過(guò)程組成D>若干子程序組成5.計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是。A>C語(yǔ)言程序僅可以編譯執(zhí)行 B>C語(yǔ)言程序僅可以解釋執(zhí)行C>C語(yǔ)言程序既可以編譯執(zhí)行又可以解釋執(zhí)行 D>以上說(shuō)法都不對(duì)6.以下敘述中錯(cuò)誤的是。A>C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的 B>用C語(yǔ)言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行C>通過(guò)編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D>在沒(méi)有安裝C語(yǔ)言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件7.以下敘述正確的是。A>C語(yǔ)言程序是由過(guò)程和函數(shù)組成的B>C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如:fun<fun<x>>C>C語(yǔ)言函數(shù)不可以單獨(dú)編譯D>C語(yǔ)言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在二、數(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>522.下列四組選項(xiàng)中,均不是C語(yǔ)言關(guān)鍵字的選項(xiàng)是。A>defineIFtypeB>getccharprintfC>includecasescanfD>whilegopow3.下列四組選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是。A>WP_0doB>b-agotointC>floatla0_AD>-123abcTEMP4.下列四組選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是。A>‘\"’‘\\’‘\n’B>‘\’‘\017’‘\"’C>‘\018’‘\f’‘xab’D>‘\\0’‘\101’‘xlf’5.下面不正確的字符常量是。A>"c"B>‘\\’’ C>‘’ D>‘K’6.以下敘述不正確的是。A>在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低 B>在C程序中,MAX和max是兩個(gè)不同的變量C>若a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后,b中的值將放入a中,而b中的值不變D>當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值7.以下敘述正確的是。A>在C程序中,每行只能寫一條語(yǔ)句B>若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)C>在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符〔字符型也可以D>在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無(wú)誤地表示8.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句c2=‘A’+‘6’-‘3A>D B>68 C>不確定的值 D>C9.sizeof<float>是。A>一個(gè)雙精度型表達(dá)式B>一個(gè)整型表達(dá)式C>一種函數(shù)表達(dá)式D>一個(gè)不合法的表達(dá)式10.設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為。A>0~255B>0~32767C>0~6553511.設(shè)有說(shuō)明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為。A>floatB>charC>intD>double12.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是。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+1,x=y,x+1>13.下列變量定義中合法的是。A>short_a=015;B>doubleb=e2.5;C>longdo=0xfdaL;D>float2_and=1e-3;14.有以下程序#include<stdio.h>main<>{ intx=011; printf<"%d\n",++x>;}程序運(yùn)行后的輸出結(jié)果是。A>12B>11C>10D>9填空1.若有以下定義,intm=5,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后的y值是[1]。-162.在C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為[2]。-32768~327673.若s是int型變量,且s=6,則下面表達(dá)式s%2+<s+1>%2的值為[3]。14.若a是int型變量,則下面表達(dá)式<a=4*5,a*2>,a+6的值為[4]。265.若x和a均是int型變量,則計(jì)算表達(dá)式〔1后的x值為[5],計(jì)算表達(dá)式〔2后的x值為[6]。412<1>x=<a=4,6*2><2>x=a=4,6*26.若a是int型變量,則計(jì)算下面表達(dá)式a=25/3%3后a的值為[7]。27.若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式后x的值為[8],n的值為[9]。106x+=n++//若改為x+=++n則計(jì)算后X為,n為1168.若有定義:charc=‘\010’;則變量c中包含的字符個(gè)數(shù)為[10]。9.若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面表達(dá)式<x+y>%2+<int>a/<int>b的值為[11]。110.已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=‘a(chǎn)’+‘8’-‘3’三、簡(jiǎn)單的C程序設(shè)計(jì)選擇1.putchar函數(shù)可以向終端輸出一個(gè)。A>整型變量表達(dá)式B>實(shí)型變量值C>字符串D>字符或字符型變量值2.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式B;如果字符串長(zhǎng)度小于5,則輸出按方式C。A>從左起輸出該字符串,右補(bǔ)空格 B>按原字符長(zhǎng)從左向右全部輸出C>右對(duì)齊輸出該字符串,左補(bǔ)空格 D>輸出錯(cuò)誤信息3.閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10<CR>〔注:<CR>表示回車,則正確的輸出結(jié)果為。main<>{intx,y,z;scanf<"%d%d%d",&x,&y,&z>;printf<"x+y+z=%d\n",x+y+z>; }A>x+y+z=48B>x+y+z=35C>x+z=35 D>不確定值4.根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語(yǔ)句的正確形式應(yīng)該為。main<>{charch1,ch2,ch3;輸入語(yǔ)句printf<"%c%%c",ch1,ch2,ch3>; }輸出形式:ABC輸入形式:ABCA>scanf<"%c%c%c",&ch1,&ch2,&ch3>;B>scanf<"%c,%c,%c",&ch1,&ch2,&ch3>;C>scanf<"%c%c%c",&ch1,&ch2,&ch3>;D>scanf<"%c%c",&ch1,&ch2,&ch3>;5.已知ch是字符型變量,下面不正確的賦值語(yǔ)句是。A>ch=‘a(chǎn)’+’b’;B>ch=‘\0’;C>ch=‘7’+‘6.以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是。 A>一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成 B>結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷C>在C語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的D>由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題7.有以下程序#include<stdio.h>main<>{inta1,a2;charc1,c2;scanf<"%d%c%d%c",&a1,&c1,&a2,&c2>;printf<"%d,%c,%d,%c",a1,c1,a2,c2>;}若想通過(guò)鍵盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b則正確的輸入格式是〔以下_代表空格,<CR>代表回車A>12a34b<CR>B>12_a_34_b<CR>C>12,a,34,b<CR>D>12_a34_b<CR>填空1.以下的輸出結(jié)果是[1]。c:dec=120,oct=170,hex=78,ASCII=xmain<>{charc=‘x’;printf<"c:dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c>;}2.以下的輸出結(jié)果是[2]。main<>{intx=1,y=2;printf<"x=%dy=%d*sum*=%d\n",x,y,x+y>;printf<"10Squaredis:%d\n",10*10>;}x=1y=2*sum*=310Squaredis:1003.假設(shè)變量a和b均為整型,以下語(yǔ)句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁铡+=[3];b=a-[4];a-=[5];bbb4.若x為int型變量,則執(zhí)行以下語(yǔ)句x=7;x+=x-=x+x;后的x值為[6]。-145.有一輸入語(yǔ)句scanf<"%d",k>;則不能使float類型變量k得到正確數(shù)值的原因是[7]和[8]。格式控制符應(yīng)為%f;變量k前缺少&四、邏輯運(yùn)算與判斷選取控制選擇1.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型。A>只能是0和1B>只能是0或非0正數(shù)C>只能是整型或字符型數(shù)據(jù)D>可以是任何類型的數(shù)據(jù)2.判斷char型變量ch是否為大寫字母的正確表達(dá)式是。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ù)時(shí),表達(dá)式的值為"真",A的值為偶數(shù)時(shí),表達(dá)式的值為"假"。則以下不能滿足要求的表達(dá)式是。A>A%2==1B>!<A%2==0>C>!<A%2> D>A%24.設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行<m=a>b>&&<n=c>d>后n的值為。A>1B>2C5.以下程序的運(yùn)行結(jié)果是。main<>{inta,b,d=241;a=d/100%9;b=<-1>&&<-1>;printf<"%d,%d",a,b>;}A>6,1B>2,1C6.已知intx=10,y=20,z=30;以下語(yǔ)句執(zhí)行后x,y,z的值是。if<x>y>z=x;x=y;y=z;A>x=10,y=20,z=30 B>x=20,y=30,z=30C>x=20,y=30,z=10D>x=20,y=30,z=207.以下程序的運(yùn)行結(jié)果是。main<>{intm=5;if<m++>5>printf<"%d\n",m>;else;printf<"%d\n",m-->;}A>4B>5C>68.若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是。main<>{intx,y;scanf<"%d",&x>;y=x>12?x+10:x-12;printf<"%d\n",y>;}A>4B>3C>2 D>09.if語(yǔ)句的基本形式是:if<表達(dá)式>語(yǔ)句,以下關(guān)于"表達(dá)式"值的敘述中正確的是。A>必須是邏輯值B>必須是整數(shù)值C>必須是正數(shù)D>可以是任意合法的數(shù)值10.有以下程序#include<stdio.h>main<>{inta=1,b=0;if<!a>b++;elseif<a==0>if<a>b+=2;elseb+=3;printf<"%d\n",b>;}程序運(yùn)行后的輸出結(jié)果是。A>0B>1C>2D>311.有以下程序#include<stdio.h>main<>{intc=0,k;for<k=1;k<3;k++>switch<k>{default:c+=k;case2:c++;break;case4:c+=2;break;}printf<"%d\n",c>;}程序運(yùn)行后的輸出結(jié)果是。A>3B>5C>7D>9五、循環(huán)控制選擇1.設(shè)有程序段intk=10;while<k=0>k=k-1;這下面描述中正確的是_________.a>while循環(huán)執(zhí)行10次b>循環(huán)是無(wú)限循環(huán)c>循環(huán)體語(yǔ)句一次也不執(zhí)行d>循環(huán)體語(yǔ)句執(zhí)行一次2.語(yǔ)句while<!E>;中的表達(dá)式!E等價(jià)于________.a>E==0b>E!=1c>E!=03.下面程序段的運(yùn)行結(jié)果是___c__.循環(huán)次數(shù)為__b___.intn=0;while<n++<=2>;printf<"%d",n>;a>2b>3c>4d>有語(yǔ)法錯(cuò)//若改為while<++n<=2>;printf<"%d",n>;結(jié)果又如何?4.下面程序的運(yùn)行結(jié)果是___.#include<stdio.h>main<>{intnum=0;while<num<=2>{num++;printf<"%d\n",num>;}}a>1b>1c>12223345.以下程序段________.x=-1;do{x=x*x;}while<!x>;a>是死循環(huán)b>循環(huán)執(zhí)行二次c>循環(huán)執(zhí)行一次d>有語(yǔ)法錯(cuò)誤6.若有如下語(yǔ)句intx=3;do{printf<"%d\n",x-=2>;}while<!<--x>>;則上面程序段______.a>輸出的是1b>輸出的是1和-2c>輸出的是3和0d>7.下面程序的運(yùn)行結(jié)果是______.#include<stdio.h>main<>{inty=10;do{y--;}while<--y>;printf<"%d\n",y-->;}a>-1b>1c>8d>08.若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是_____.for<i=2;i==0;>printf<"%d",i-->;a>無(wú)限次b>0次c>1次d>2次9.執(zhí)行語(yǔ)句for<i=1;i++<4;>;后變量i的值是______.a>3b>4c>5d>10.以下正確的描述是_______.a>continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行b>只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句c>在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同d>從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句11.有以下程序main<>{ charb,c;inti;b='a';c='A'; for<i=0;i<6;i++>{ if<i%2>putchar<i+b>; elseputchar<i+c>; }printf<"\n">;}程序運(yùn)行后的輸出結(jié)果是______.A>ABCDEFB>AbCdEfC>aBcDeFD>abcdef〔二、填空題1.下面程序段是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。請(qǐng)?zhí)羁?。intn=0,c;c=getchar<>;while<_c!=’\n’___>{if<_c>=’0’&&c<=’9c=getchar<>;}2.下面程序的功能是用"輾轉(zhuǎn)相除法"求兩個(gè)正整數(shù)的最大公約數(shù)。請(qǐng)?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<"%d\n",n>;}3.下面程序的運(yùn)行結(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.下面程序段的運(yùn)行結(jié)果是__a=-5_____.i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while<i<=10>;printf<"a=%d",a>;5.下面程序段的運(yùn)行結(jié)果是___8_____.i=1;s=3;do{s+=i++;if<s%7==0>continue;else++i;}while<s<15>;printf<"%d",i>;六、數(shù)組1.以下為一維整型數(shù)組a的正確說(shuō)明是_________.a>inta<10>;b>intn=10,a[n];c>intn;d>#defineSIZE10scanf<"%d",&n>;inta[SIZE];inta[n];2.以下對(duì)二維數(shù)組a的正確說(shuō)明是________.a>inta[3][];b>floata<3,4>;c>doublea[1][4]d>floata<3><4>;3.若二維數(shù)組a有m列,則計(jì)算任一元素a[i][j]在數(shù)組中位置的公式為_.<假設(shè)a[0][0]位于數(shù)組的第一個(gè)位置上。>a>i*m+jb>j*m+ic>i*m+j-1d>i*m+j+14.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為________.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=a[i];j=i-1;while<j>=0&&t>a[j]>{a[j+1]=a[j];j--;}a[j+1]=t;}......則該程序段的功能是_________.a>對(duì)數(shù)組a進(jìn)行插入排序<升序>b>對(duì)數(shù)組a進(jìn)行插入排序<降序>c>對(duì)數(shù)組a進(jìn)行選擇排序<升序>d>對(duì)數(shù)組a進(jìn)行選擇排序<降序>6.有兩個(gè)字符數(shù)組a、b,則以下正確的輸入語(yǔ)句是_______.a>gets<a,b>;b>scanf<"%s%s",a,b>;c>scanf<"%s%s",&a,&b>;d>gets<"a">,gets<"b">;7.下面程序段的運(yùn)行結(jié)果是_________.chara[7]="abcdef";charb[4]="ABC";strcpy<a,b>;printf<"%c",a[5]>;a>空格b>\0c>ed>f8.判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用_______.a>if<s1>s2>b>if<strcmp<s1,s2>>c>if<strcmp<s2,s1>>0>d>if<strcmp<s1,s2>>0>9.下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔,請(qǐng)選擇填空。#include<stdio.h>main<>{chars[80],c1,c2='';inti=0,num=0;gets<s>;while<s[i]!='\0'>{c1=s[i];if<i==0>c2='';elsec2=s[i-1];if<___>num++;i++;}printf<"Thereare%dwords.\n",num>;}a>c1==''&&c2==''b>c1!=''&&c2==''c>c1==''&&c2!=''d>c1!=''&&c2!=''10.下面程序的運(yùn)行結(jié)果是_______.#include<stdio.h>main<>{charstr[]="SSSWLIA",c;intk;for<k=2;<c=str[k]>!='\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.若有定義:doublex[3][5];則x數(shù)組中行下標(biāo)的下限為____0____,列下標(biāo)的上限為_____4_____.2.下面程序以每行4個(gè)數(shù)據(jù)的形式輸出a數(shù)組,請(qǐng)?zhí)羁铡?defineN20main<>{inta[N],i;for<i=0;i<N;i++>scanf<"%d",_&a[i]__>;for<i=0;i<N;i++>{if<____i%4==0_____>_printf<"\n">;___printf<"%3d",a[i]>;}printf<"\n">;}3.下面程序可求出矩陣a的主對(duì)角線上的元素之和,請(qǐng)?zhí)羁?。main<>{inta[3][3]={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+_a[i][i]_;printf<"sum=%d\n",sum>;}4.當(dāng)從鍵盤輸入18并回車后,下面程序的運(yùn)行結(jié)果是__10010_____.main<>{intx,y,i,a[8],j,u,v;scanf<"%d",&x>;y=x;i=0;do{u=y/2;a[i]=y%2;i++;y=u;}while<y>=1>;for<j=i-1;j>=0;j-->printf<"%d",a[j]>;}5.下面程序用插入法對(duì)數(shù)組a進(jìn)行降序排序。請(qǐng)?zhí)羁?。main<>{inta[5]={4,7,2,5,1};inti,j,m;for<i=1;i<5;i++>{m=a[i];j=__i-1___;while<j>=0&&m>a[j]>{_a[j+1]=a[j]__;j--;}_a[j+1]___=m;}for<i=0;i<5;i++>printf<"%d",a[i]>;printf<"\n">;}6.下面程序的功能是在三個(gè)字符串中找出最小的,請(qǐng)?zhí)羁铡?include<stdio.h>#include<string.h>main<>{chars[20],str[3][20];inti;for<i=0;i<3;i++>gets<str[i]>;strcpy<s,__str[0]__>;if<strcmp<s,str[1]><0>strcpy<s,str[1]>;if<strcmp<str[2],s><0>strcpy<s,str[2]>;printf<"%s\n",___s___>;}7.下面程序的運(yùn)行結(jié)果是_#&*&%__.#include<stdio.h>main<>{chars[]="ABCCDA";intk;charc;for<k=1;<c=s[k]>!='\0';k++>{switch<c>{case'A':putchar<'%'>;continue;case'B':++k;break;default:putchar<'*'>;case'C':putchar<'&'>;continue;}putchar<'#'>;}}七、函數(shù)選擇1.以下正確的說(shuō)法是_________.建立函數(shù)的目的之一是a>提高程序的執(zhí)行效率b>提高程序的可讀性c>減少程序的篇幅d>減少程序文件所占內(nèi)存2.以下正確的函數(shù)定義形式是________.a>doublefun<intx,inty>b>doublefun<intx;inty>c>doublefun<intx,inty>;d>doublefun<intx,y>;3.C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式為______.A>地址傳遞B單向值傳遞C由實(shí)參傳給形參,再由形參傳回給實(shí)參D由用戶指定傳遞方式4.C語(yǔ)言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是______.a>floatb>intc>longd>double5.已有以下數(shù)組定義和f函數(shù)調(diào)用語(yǔ)句,則在f函數(shù)的說(shuō)明中,對(duì)形參數(shù)組array的錯(cuò)誤定義方式為_______.inta[3][4];f<a>;a>f<intarray[][6]>b>f<intarray[3][]>c>f<intarray[][4]>d>f<intarray[2][5]>6.以下程序的正確運(yùn)行結(jié)果是_________.#include<stdio.h>voidnum<>{externintx,y;inta=15,b=10;x=a-b;y=a+b;}intx,y;main<>{inta=7,b=5;x=a+b;y=a-b;num<>;printf<"%d,%d\n",x,y>;}a>12,2b>不確定c>5,25d>1,12有以下程序:#include<stdio.h>intf<>{ staticintx=1;x+=1; returnx;}main<>{inti,s=1; for<i=1;i<=5;i++>s+=fun<>; printf<"%d\n",s>;} 程序運(yùn)行后的輸出結(jié)果是____ A>11B>21 C>6 D>120填空1.以下程序的運(yùn)行結(jié)果是_____maxis2#include<stdio.h>intmax<int,int>;main<>{inta=1,b=2,c;c=max<a,b>;printf<"maxis%d\n",c>;}intmax<intx,inty>{intz;z=<x>y>?x:y;return<z>;}2.函數(shù)gongyu的作用是求整數(shù)num1和num2的最大公約數(shù),并返回該值。請(qǐng)?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.以下程序的運(yùn)行結(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=%d\n",c>;}intplus<intx,inty>{intz;z=x+y;return<z>;}4.以下程序的運(yùn)行結(jié)果是_______.x=1y=1x=1y=1x=1y=2x=1y=3{incx<>;incy<>;incx<>;incy<>;incx<>;incy<>;}incx<>{intx=0;printf<"x=%d\t",++x>;}incy<>{staticinty=0;printf<"\ny=%d\n",++y>;}八、編譯預(yù)處理選擇1.以下敘述中正確的是________.a>在程序的一行上可以出現(xiàn)多個(gè)有效的預(yù)處理命令行b>使用帶參的宏時(shí),參數(shù)的類型應(yīng)與宏定義時(shí)的一致c>宏替換不占用運(yùn)行時(shí)間,只占用編譯時(shí)間d>在以下定義中CR是稱為"宏名"的標(biāo)識(shí)符#defineCR0452.以下程序的運(yùn)行結(jié)果是________.#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>1003.若有宏定義如下:#defineX5#defineYX+1#defineZY*X/2則執(zhí)行以下printf語(yǔ)句后,輸出結(jié)果是_______.inta;a=Y;printf<"%d\n",Z>;printf<"%d\n",--a>;a>7b>12c>12d>766554.請(qǐng)讀程序:#include<stdio.h>#defineMUL<x,y><x>*ymain<>{inta=3,b=4,c;c=MUL<a++,b++>;printf<"%d\n",c>;}上面程序的輸出結(jié)果是__________.a>12b>15c>20d>165.有以下程序#include<stdio.h>#definef<x>x*x*xmain<>{inta=3,s,t;s=f<a+1>;t=f<<a+1>>;printf<"%d,%d\n",s,t>;}程序運(yùn)行后的輸出結(jié)果是______.A>10,64B>10,10C>64,10D>64,64九、指針一、選擇題1.變量的指針,其含義是指該變量的________.a>值b>地址c>名d>一個(gè)標(biāo)志2.若有語(yǔ)句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是_____.a>a,point,*&ab>&*a,&a,*pointc>*&point,*point,&ad>&a,&*point,point3.若有說(shuō)明;int*p,m=5,n;以下正確的程序段的是________.a>p=&n;b>p=&n;c>scanf<"%d",&n>;d>p=&n;scanf<"%d",&p>;scanf<"%d",*p>;*p=n;*p=m;4.下面程序段的運(yùn)行結(jié)果是________.char*s="abcde";s+=2;printf<"%s",s>;a>cdeb>字符'c'c>字符'c'的地址d>無(wú)確定的輸出結(jié)果5.設(shè)p1和p2是指向同一個(gè)字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值語(yǔ)句是_______.a>c=*p1+*p2;b>p2=cc>p1=p2d>c=*p1*<*p2>;6.以下正確的程序段是________.a>charstr[20];b>char*p;c>charstr[20];d>charstr[20],*p=str;scanf<"%s",&str>;scanf<"%s",p>;scanf<"%s",&str[2]>;scanf<"%s",p[2]>;7.若有說(shuō)明語(yǔ)句chara[]="Itismine";char*p="Itismine";則以下不正確的敘述是________.a>a+1表示的是字符t的地址b>p指向另外的字符串時(shí),字符串的長(zhǎng)度不受限制c>p變量中存放的地址值可以改變d>a中只能存放10個(gè)字符8.下面程序的運(yùn)行結(jié)果是_______.#include<stdio.h>#include<string.h>main<>{char*s1="AbDeG";char*s2="AbdEg";s1+=2;s2+=2;printf<"%d\n",strcmp<s1,s2>>;}a>正數(shù)b>負(fù)數(shù)c>零d>不確定的值9.下面程序的運(yùn)行結(jié)果是_______.#include<stdio.h>#include<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.若有以下定義,則對(duì)a數(shù)組元素的正確引用是_________.inta[5],*p=a;a>*&a[5]b>a+2c>*<p+5>d>*<a+2>11.若有定義:inta[2][3],則對(duì)a數(shù)組的第i行j列元素地址的正確引用為______.a>*<a[i]+j>b><a+i>c>*<a+j>d>a[i]+j12.若有以下定義,則p+5表示_______.inta[10],*p=a;a>元素a[5]的地址b>元素a[5]的值c>元素a[6]的地址d>元素a[6]的值二、填空題1.以下程序的功能是:通過(guò)指針操作,找出三個(gè)整數(shù)中的最小值并輸出。請(qǐng)?zhí)羁铡?include"stdio.h"main<>{int*a,*b,*c,num,x,y,z;a=&x;b=&y;c=&z;printf<"輸入3個(gè)整數(shù):">;scanf<"%d%d%d",a,b,c>;printf<"%d,%d,%d\n",*a,*b,*c>;num=*a;if<*a>*b>__num=*b___;if<num>*c>___num=*c__;printf<"輸出最小整數(shù):%d\n",num>;}2.下面程序段的運(yùn)行結(jié)果是__hELLO___.chars[80],*sp="HELLO!";sp=strcpy<s,sp>;s[0]='h';puts<sp>;3.下面程序段的運(yùn)行結(jié)果是__ef___.charstr[]="abc\0def\0ghi",*p=str;printf<"%s",p+5>;4.下面程序的功能是將兩個(gè)字符串s1和s2連接起來(lái)。請(qǐng)?zhí)羁铡?include<stdio.h>main<>{chars1[80],s2[80];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';

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論