C語言程序的設計案例教程復習題答案_第1頁
C語言程序的設計案例教程復習題答案_第2頁
C語言程序的設計案例教程復習題答案_第3頁
C語言程序的設計案例教程復習題答案_第4頁
C語言程序的設計案例教程復習題答案_第5頁
免費預覽已結束,剩余30頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

任務一C程序設計概述一,填空題.用C語言編寫的程序稱為源程序。.C語言源程序的基本單位是若干函數(shù)。.一個C語言源程序只能包含一個主函數(shù)」.在C語言中,輸入操作是由庫函數(shù)scanf()完成的,輸出操作是由庫函數(shù)printf()完成的。.C語言源程序文件的擴展名是JC,經(jīng)過編譯后,生成文件的擴展名是血,生成文件的擴展名是3。.C語言注釋所用到的符號是/**/和〃〃。二,選擇題C語言規(guī)定在源程序中,主函數(shù)的位置(C)A.必須在開始B.必須在系統(tǒng)調用的庫函數(shù)的后面C.可以任意D.必須在最后下列程序錯在(C)處A.main()B.floatx,yC.a=3:b=8D.a=b+cD.0xA8D.0xA8以下說法正確的是( D)A.C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B.在C語言程序中,要調用一個定義的函數(shù)必須在主函數(shù)中定義C.C語言程序中的主函數(shù)必須在程序的開始部分D.C語言程序總是從主函數(shù)開始執(zhí)行以下敘述正確的是( B)A.在C程序中,main函數(shù)必須位于程序的最前面B.C語言本身沒有輸入輸出函數(shù)C.C程序的每行只能寫一條語句D.在對每一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤5.C語言程序的語句如果一行寫不下時,可以( D)用分號換行在任意空格處換行用逗號換行D.用回車符換行任務二C語言程序設計的基本概念一.選擇題下面不是C語言中整型常量的是(C)。A.03B.12 C.下面程序段的輸出結果是( B)inti=65535;printf( “%d”,i);A.65535B.-1 C.1D.0以下不能用來表示整形常熟的進制形式為(A)。A.二進制B.八進制C.十進制D.十六進制下列程序段的輸出結果是(D)。Inta=1,b=1,c=1;a=a+++b+++c;printf( “%d”,a);A.6B.5 C.4D.35.C語言中的預算對象必須是整形的運算符是(C)A.*=B.- C.%D.>=以下選項中的非法的表達式是(C)。A.a+1B.x=y=6C.7.9%8D.(int)6.58若有以下程序段:Inta=1,b=2,c;C=1.0/b*a;則執(zhí)行后c的值為(D)。A.0B.0.5 C.1D.無結果.C語言中的標識符只能有字母,數(shù)字和下劃線組成,切第一個字符必須為(C)。A.字母 B. 下劃線C.字母或下劃線 D. 字母,數(shù)字或下劃線.若有以下定義,則能使職位3的表達式為(C)。Inta=7,b=12;A.B%=(A%=5)B.b%=(a-a%5)C.(b%=a)-(a%=5)D.b%=a-a%5.若有說明語句:charc='ab';則變量才(D)。A.包含一個字符‘a(chǎn)'B.包含2個字符‘a(chǎn)‘和'b'C.包含3個字符'a',b和'\0'D.c的值不確定二、填空題.c語言的基本數(shù)據(jù)類型為整型變量.實行變量和字符型變量。.若有以下程序段:Inta=2,b=2;b+=(a++)+(++a)+(a++);則執(zhí)行后c的值為11。3,以下程序的輸出結果是2,3。main(){charx='a';y=x-32;printf(a%c,y);}.若有定義intx=3,y=2;floata=2.5,b=3.5;貝U表達式(x+y)%2+(int)(int)b的值為L。.若a和b都是int類型的變量,切a=5,b=5,則執(zhí)行表達式a+=b++fa的值為10,b的值為6。任務三順序結構程序設計一,選擇題1.使用scanf函數(shù)輸入數(shù)據(jù)時,若輸入數(shù)據(jù)的的類型與格式說明的類型不匹配時,系統(tǒng)將(B)。A.給出出錯信息B.不給出出錯信息,但最終不能得到正確的輸入數(shù)據(jù)C.不給出出錯信息,但最終能得到正確的輸入數(shù)據(jù)D.拒絕用戶輸入數(shù)據(jù).Putchar函數(shù)可以向終端輸入( C)。一個字符串一個實型變量一個字符.多個字符.a,b,c被定義為int類型變量,若從鍵盤給 a,b,c輸入數(shù)據(jù),正確的輸入語句為( C)A.scanf(“%d%d%”d,&a,&b,&c);B.read(“%d%d%”d,&a,&b,&c);C.scanf(“%d%d%”d,a,b,c);C.write(“%d%d%”d&a,&b,&c);.以下程序段的輸出結果是(C)。inta=5678;printf( “%2d”,a);A.56B.78C.5678D.無結果顯示.printf函數(shù)中用到格式符%6s,其中的數(shù)字6表示輸出的字符串占用6列。如果字符串長度大于6,則(B);如果字符串長度小于6,則( D)。A輸出錯誤信息 B. 按原字符長度從左到右全部輸出9.9.若有以下程序:C.按左對齊輸出該字符,右補空格D.C.按左對齊輸出該字符,右補空格D.按右對齊輸出該字符,左補空格.閱讀以下程序,當輸入數(shù)據(jù)的形式為5,6,7,則正確的輸入結果為()。Main(A){inta,b,c;scanf(“%d,%d,%”d,&a,&b,&c);printf( “a+b+c=%d”,a+b+c);}A.a+b+c=18B.a+b+c=11C.5+6+7=18D.無結果顯示.設a和b為float類型變量,則以下不合法的賦值語句為( B)A.++a;B.b=(a%5)/5;C=a+=b+8;D.a=b=6;.若有以下程序段:Intx=0x6c,y=0x6c;x-=y;printf( “%x”,x);執(zhí)行后輸出結果是( B)。A.0x0 B.0C.0x6cD.xMain(){intk=2,i=2,m;m=(k+=i*=k);printf( "%d,%d,m,i);}執(zhí)行后輸出結果是(D)。A.8,6 B.7,4C.8,3D.6,4.若有如下程序:Inta=2010,b=2011;Printf( "%d,(a,b));.則以下描述中正確的是(C)A.輸出語句中格式說明符的個數(shù)少于輸項的個數(shù),不能輸出正確結果B.運行時產(chǎn)生錯誤信息C.輸出結果為2011D.輸出結果為2010二、填空題.復合語句在語法上被認為是合法的??照Z句的書寫形式為””。.假設變量X和Y均為整型變量,填寫以下語句,使其可以實現(xiàn)不借助任何變量把X和Y中的值進行交換X+=Y;y=x-Y;x-=Y;.若a為int類型的變量,則執(zhí)行以下語句后X的值為-12。A=6;a+=a-=a+a.以下程序的輸出結果為11,013,OXB.Main(){Inta=11;Printf("%d,%o,%X,a,a,a);}.執(zhí)行以下程序時,如果從鍵盤上輸入:aBcDeFg,則屏幕上的輸出結果為 ABCDEFG。#include<stdio.h>main(){charch;while((ch=getchar())!='\n'){If(ch>='a'&&ch<='z')ch=ch-32;printf( a%c,ch);)}.有以下程序段:inta=0,b=0;charc='a';scanf("%d,%d,%C,&a&b&c);printf("%d,%d,%C,a,b,c);若從鍵盤上輸入:6,8,則輸入結果為6,8,'。任務四選擇結構程序設計.若變量c為char類型,能正確判斷出c為小寫字母的表達式是(D)。A.,a,<=c<=,z,B.(c>=,a,)||(c<=,z,)C.(,a,<=c)and(,z,>=c)D.(c>=,a,)&&(c<=,z').下列程序的運行結果是(B)。Main(){inrx=6;If(x++>6)Printf( "%d\n",x);ElsePrintf( "%d\n",--x);)A.5B.6C.7D.8.如果a大于3并且小于等于8時為真,否則為假,一下表示正確的表達式是( C)。A.3<a<=8B.a>3||a<=8C.a>3&&aa<=8D.a>3&&a<8.下列條件語句中,功能與其他語句不同的是( D)。A.if(b)printf( “%d\n”,x);elseprintf( “%d\n”,y);if(b==0)printf( “%d\n”,y);elseprintf( “%d\n”,x);if(b!=0)printf( “%d\n”,x);elseprintf( “%d\n”,y);if(b==0)printf( “%d\n”,x);elseprintf( “%d\n”,y);設a,b和c都是int類型的變量,且a=3,b=4,c=5,則下列表達式中值為0的是( D)。A.a&&bB.a<=bC.a||++b&&b-cD.!(a<b&&!c||1)為表示x<=y<=z,應使用的表達式是( C)。A.(x<=y)and(y<=z)B.x<=y<=zC.x<=y&&y<=zD,x<=y)&(y<=z)有如下程序:Main(){Inri=1,j=1,k=2;If(((j++||k++)&&i++)Printf( “%d,%d,%d\n”,i,j,k);}執(zhí)行后輸出的結果是( C)。A.1,1,2B.2,2,1C.2,2,2D,2,2,3以下程序的運行結果是( A)。main(){inta,b,d=241;A=d/100%9;B=(-1)&&(-1);printf( “%d,%d”,a,b);}A.2,1 B.6,0 C.2,0 D.6,1邏輯運算符兩側運算對象的數(shù)據(jù)類型( C)。A.只能是0和1 B.只能是0或非0正數(shù)C.只能是整型或字符型數(shù)據(jù) D.可以是任何類型的數(shù)據(jù)以下程序的運行結果是( A)。55.以下程序輸出的結果是4 omain(){inta=2,b=-1,c=2;if(a<b)c=0;elsec++;printf( "%d\n",c);}A.2 B.3 C.1D.0二,填空題.C語言中三中路及運算符按優(yōu)先級從高到低排列依次為L&&X。.C語言中用工表示邏輯“真",用0表示“假”.與數(shù)學公式A<8切a》5對應的C語言表達式是(a<8)&&(a>=5)。4以下程序的輸出結果是1。Main(){intp,a=35;If(p=a!=0)Printf( '%d\n”.p+10);)Main(){intn=0,a=5,b=10;If(!n)b-=1;If(a)b-=2;If(b)b-=3;Printf ("%d\n",b);}6.以下程序輸出的結果是Big!oMain(){intx;X=9If(x>3)If(x<5)Printf("smail!”):ElsePrintf("big!”):任務五循環(huán)程序結構設計一,填空題.在C語言中有三種可以構成循環(huán)結構的循環(huán)語句,它們分別是while語句、do-while語句和for語句。.用while語句來實現(xiàn)當型循環(huán)結構,用do-while語句來實現(xiàn)直到型循環(huán)結構。.在一個循環(huán)體又完整地包含了另一個循環(huán)結構,稱為嵌套。.Break語句的功能跳出swiech語句或循環(huán)語句,除了可以在循環(huán)中使用外,還可以在switch結構中使用;continue語句的功能是結束本次循環(huán)。5.Goto語句一般常與關鍵字匚在一起組合使用。二.閱讀程序或程序段填寫運行結果。1.設有以下程序:main(){intm1,m2;scanf("%d,&m2);while(m2!=0){m1=m2%10;M2=m2/10;Printf( “%3d,m1);}}若從鍵盤上輸入3286,程序運行后,結果為68232、以下程序運行后輸出的結果是52main(){Inti=10,j=0;do{J=j+I;i--;}while(i>2);printf( "%d\n",j);}3、定義有如下變量:intn=10:,則下列循環(huán)的輸出結果是9,8,7While(n>7){n--;Printf("%d,n);}4、若有以下程序:main(){intm=2;do{printf("%d,++m);}while(!m);}運行輸出結果是36、運行下列程序后的輸出結果是0main(){intn=4;while(n--)printf( "%3d,--n);}任務六數(shù)組一.選擇題.以下能正確定義一堆數(shù)組的選項是(B)。A.ingnum[];#defineM5intN[M];intnum[0…15];intN=100;Intnum[N];下面對一維數(shù)組a初始化的正確方式(C)。A.inta[4]=(1,0,1,2);B.inta[4]={}C.inta[]={0};D.inta[4]={1,2,3,4,5};在語句Inta[8];之后,對a的正確引用是(A)A.a[8]B.a[5.3]C.a(5)D.a[8-3]以下能正確定義二維數(shù)組的選項是(C)A.intN=10,num[N][N];B.Inta[][];C.inta[2][3];D.inta[2][];以下能正確定義數(shù)組并正確賦值的語句是( A)。intN=10,num[N][N];inta[2][3]={{1,2},{3,4},{5,6}};inta[1][2]={{0},{1}};inta[2][]={{1,2},{3,4}};下面關于數(shù)組的描述正確的是( C)。數(shù)組的長度是固定的,數(shù)組元素的類型可以不同。數(shù)組的長度是可變的,數(shù)組元素的類型必須相同。數(shù)組的長度是固定的,數(shù)組元素的類型必須相同。數(shù)組的長度是可變的,數(shù)組元素的類型可以不同。不能把字符串“stud”賦給數(shù)組 b的語句是( A)charb[15];b= “stud”;charb[15]= “stud”;charb[15];strcpy(b,“stud”);charb[15]={ ‘s’, ‘t’, ‘u’, ‘d’};若有以下說明:Inta[12]={1,2,3,4,5,6,7};charc= ‘a(chǎn)’,d,g;則數(shù)值為4的表達式是( D)。a[g-c]a[4]a[‘d’-‘c’]a[‘d’-c]若有以下定義:charm[]= “number”;charn[]={ ‘n’, ‘u’, ‘m’, ‘b’, ‘e’,‘r’};則正確的敘述是( D)。A.數(shù)組m與數(shù)組n等價B.數(shù)組m與數(shù)組n長度相等C.數(shù)組m的長度大于數(shù)組n的長度D.數(shù)組m的長度小于數(shù)組n的長度判定字符串str1和str2是否相等,正確的語句是(C)。if(str1==str2)if(str1=str2)if(strcpy(str1,str2))if(!strcmp(str1,str2))二閱讀程序填寫運行結果.設有以下程序:#include“stdio.h”#include“string.h”main(){charss[10]= "12345”;stract (ss,“6789”);gets(ss);printf( "%s\n",ss);}當執(zhí)行上面的程序,輸出ABC0寸,輸出的結果是_ABC°.設有以下程序:#include“stdio.h"#include“string.h"main(){chars1[20],s2[20];scanf( "%s%s,s1,s2);if(strcmp(s1,s2))printf( '#");elseprintf( "&”);printf( "%d\n",strlen(strcat(s1,s2)));)若從鍵盤輸入numbePU車〉和number1<@車>,該程序運行后的結果是#25。.若有以下程序:main(){ints[4]={1,2,3,4},kfor(k=0;s[k]! ''0';k++)switch(k){case3: printf( "%d ,s[k-3]);continue;case2: printf( "%d s[k-1]);continue;case1: printf( "%d ,s[k+1]);continuecase0: printf( "%d ,s[k+3]);}}則程序的運行結果是4321 。4有以下程序:main(){ints[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&s[i]%2){k=k+s[i];i++;}print( "%d\n",k);}該程序的運行結果是8。5.以下程序的輸出結果是sun=10omain(){ints[4]={1,2,3,4},i,j=1,sum=0;for(i=3;i>=0;i--){sum+=s[i]*j;j*=10;}Printf( "sum=%d\n,sum);}任務七函數(shù).在定義函數(shù)時,若函數(shù)名后面的括號包含若干個參數(shù),則稱該函數(shù)為有參函數(shù):若函數(shù)名后面的括號無任何參數(shù),則稱該函數(shù)為無參函數(shù).在C語言中,一個函數(shù)一般由兩個部分組成,他們是函數(shù)名和函數(shù)體。.寶參位于主調函數(shù)中,而形參位于被調用函數(shù)中。.在C語言中,只能通過return語句把函數(shù)的返回俏帶回給主調函數(shù)。.實參函數(shù)的調用主要是為了執(zhí)行某些特定的操作,主調函數(shù)與被調用函數(shù)之間不進行參數(shù)的傳遞。.一般被調用函數(shù)應放在主調函數(shù)之前定義,否則必須在調用函數(shù)之前,對被調用函數(shù)加以說明,但當函數(shù)的返回值為int型時,可以不必特別說明,系統(tǒng)對他們自動按整型處理。.在發(fā)生函數(shù)調用時,數(shù)據(jù)的傳遞是單方向的,即只能由實參傳給應參。二,選擇題1.以下正確的函數(shù)定義形式是(C)A.intmax(intx,y)B.intmax(intx,inty);C.intmax(intx,inty)D.intmax(intx;inty)2.對于C語言函數(shù),下列描述正確的是(C)A.C語言函數(shù)都是用戶自定義的B.函數(shù)必須有返回值,否則函數(shù)將無法使用C.在C語言中,調用函數(shù)時,只能將實參的值傳遞給形參,形參的值不能傳遞給實參D.在一個C程序中,存在調用關系的所有函數(shù)必須放在同一個源程序文件中.函數(shù)的實參不能是(AA.變量B.常量C.語句D.函數(shù)調用表達式.函數(shù)的返回值的類型是(A)A.函數(shù)的類型B.函數(shù)類型與return語句中表達式類型中較高的類型C.return語句中表達式的類型D.函數(shù)的類型5.下列情況中,函數(shù)在調用前必須說明的是( A)定義函數(shù)時有類型說明,并且定義在后定義函數(shù)時有類型說明,并且定義在前具有int類型返回值D.定義函數(shù)時沒有任何類型說明函數(shù)在傳遞值調用時,要求( C)實參與形參類型任意,個數(shù)相等實參與形參類型完全一致,個數(shù)相等實參與形參對應類型一致,個數(shù)相等D.實參與形參類型完全一致,個數(shù)不等下列說法錯誤的是(A)一個函數(shù)的類型為 void,那么函數(shù)一定沒有返回值函數(shù)的形參和實參可以是表達式只能調用已經(jīng)定義了的函數(shù),不能調用不存在的函數(shù)D.主函數(shù)可以調用任何類型的函數(shù),包含用戶自定義的函數(shù)返回值為void的函數(shù),其定義是( B)調用函數(shù)之后,被調函數(shù)不返回調用函數(shù)之后,被調函數(shù)沒有返回值C.調用函數(shù)之后,被調函數(shù)的返回值為整形D.調用函數(shù)之后,被調函數(shù)的返回值為任意類型任務八指針一、選擇題、變量的指針,其含義是指該變量的()。A.值B.地址C.名D.一個標志、函數(shù)的指針,其含義是指該函數(shù)的()。A.值B.一個標志C.入口地址D.語句地址、如下程序段執(zhí)行后,變量 a的值是()。int*p,a=9,b=2;p=&a;a=*p+b;A.12B.11C.10D. 編譯錯誤、以下程序的運行結果是()。voidpry(int*x){printf( “%d\n”,++*x);}main(){inta=28;Pry(&a);}A.28B.29C.30D.31如下程序段中對數(shù)組元素的錯誤引用是()inta[10]={0 ,1,2,3,4,5,6,7,8,9},*p[3],**pp ,i;clscr();for(i=0;i<3;i++)p[i]=&a[i*3] ;pp=p;App[1][1]Ba[9]Cp[3][1]D*(*(p+1)+2)有以下程序段:ints[4][5] ,(*ps)[5];ps=s;對s數(shù)組元素的正確引用方式是()Aps+1B*(ps+3)Cps[0][2]D*(ps+1)+3二閱讀程序填寫運行結果.執(zhí)行下列程序后的輸出結果是(3073)main(){staticinta[5]={104,206,3073,1654,278};int*p,max;p=a;for(p=a+1;p<a+5;p++)if(*p>max)max=*p;printf("%d\n",max);}.執(zhí)行下列程序后的輸出結果是 876.main(){chars[]="9876",*p;for(p=s;p<s+2;p++)printf("%s\n",p);}.執(zhí)行下列程序后輸出結果是 (IloveChina)main(){charstring[]="IloveChina";char*str;str=string;printf("%s\n",str);執(zhí)行下列程序的輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論