程序設計綜合訓試卷及答案-學習指南(專本科函授).doc_第1頁
程序設計綜合訓試卷及答案-學習指南(專本科函授).doc_第2頁
程序設計綜合訓試卷及答案-學習指南(專本科函授).doc_第3頁
程序設計綜合訓試卷及答案-學習指南(專本科函授).doc_第4頁
程序設計綜合訓試卷及答案-學習指南(專本科函授).doc_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設計綜合訓練-學習指南一、單項選擇題1任何復雜的程序,都是由_構成的。A)分支結構、順序結構、過程結構 B)循環(huán)結構、分支結構、過程結構C)順序結構、循環(huán)結構、分支結構 D)循環(huán)結構、分支結構2有以下定義和賦值語句,能夠正確表示a12的表達式是 。int a43=1,2,3,4,5,6,7,8,9,10,11,12;int (*p)3= a;A)*(*p+1)+2) B)(*p+1)+2 C)*(*(p+5) D)*(*(p+1)+2)3以下說法中正確的是_。A)程序總是從第一個定義的函數(shù)開始執(zhí)行B)在程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義C)程序總是從main函數(shù)開始執(zhí)行的D)程序中的main函數(shù)必須放在程序的開始部分4以下結構體類型變量的定義錯誤的是_。A)#define STU struct student STU float height; int age; std1;B)struct student float height; int age; std1;C)struct float height; int age; std1;D)struct float height; int age; student; struct student std1;5以下說法錯誤的是_。A)dowhile語句與while語句的區(qū)別僅是關鍵詞“while”出現(xiàn)的位置不同B)while語句是先進行循環(huán)條件判斷,后執(zhí)行循環(huán)體的C)dowhile是先執(zhí)行循環(huán)體,后進行循環(huán)條件判斷D)while、dowhile和for語句的循環(huán)體都可以是空語句6C語言程序是從main函數(shù)開始執(zhí)行,這個函數(shù)寫在_。A)程序文件開始 B)它所調(diào)用函數(shù)的前面C)程序文件最后 D)程序文件任何位置7在語言類型說明中,int、char、short等類型的長度是_。A)由用戶自己定義的 B)與機器字長有關的C)固定的 D)任意的8以下字符中,不正確的C語言轉義字符分別是_。A) B)011 C) D)xaa9以下選項中,合法的語言關鍵字是_。A)integer B)Char C)short D)Long10若一個外部變量的定義形式為static int x ; 其中static的作用是_。A)將變量存放在靜態(tài)存儲區(qū),使x的值可以永久保留B)使變量x可以由系統(tǒng)自動初始化C)使x只能在本文件內(nèi)引用D)使x的值可以永久保留11設有定義語句“char s=”123”;”,則表達式“s3”的值是_。A)1 B)3 C)0 D)語法出錯12設有int x,y; 以下語句判斷x和y是否相等,正確的說法是該語句_。if (x=y) printf( x is equal to y.); A)語法錯 B)不能判斷x和y是否相等C)編譯出錯 D)能判斷x和y是否相等13以下有關switch語句的正確說法是_。A)break語句是語句中必須的一部分B)在switch 語句中可以根據(jù)需要使用或不使用break語句C)break語句在switch 語句中不可以使用D)在switch 語句中的每一個case都要用break語句14當執(zhí)行以下程序時,_。#includevoid main() int a; while(a=5) printf(%d ,a-); A)循環(huán)體將執(zhí)行5次 B)循環(huán)體將執(zhí)行0次C)循環(huán)體將執(zhí)行無限次 D)系統(tǒng)會當機。15以下敘述不正確的是_。A)一個C源程序文件必須包含一個main( )函數(shù)B)一個C源程序文件可由一個函數(shù)組成C)一個C源程序文件是一個編譯單位D)一個C源程序文件可由多個函數(shù)組成16C語言允許函數(shù)值類型的缺省定義,此時該函數(shù)值隱含的類型是_。A)long 型 )float 型 C)double型 D)int型17凡是在函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別是_。A)靜態(tài)(static) B)外部(extern)C)自動(auto) D)寄存器(register)18C語言的編譯系統(tǒng)對宏命令的處理是_。A)在程序連接時進行的 B)在對源程序中的其它語句編譯之前進行的C)在程序運行時進行的 D)和C程序中的其它語句同時進行的19下列對字符串的定義中,錯誤的是_ 。A)char str5= abcde B)char str = abcdeC)char *str =abcde D)char str = a, b, c, d, e, 020若有定義char x = 12345; char y = 1, 2, 3, 4, 5;則 。A)x數(shù)組與y數(shù)組的長度相同 B)x數(shù)組長度大于y的長度C)x 數(shù)組長度小于y數(shù)組長度 D)x數(shù)組等價與y 數(shù)組21組成C程序的基本單位是_。A)表達式與語句 B)若干文件 C)函數(shù) D)main函數(shù)22下列為字符常量的是_。A)HE B)I C)Z D)She23若變量c為char類型,能正確判斷c為小寫字母的表達式是_。A)a=c= a)|(c= z) C) (a=c) D)(c=a)&(c=a & ch=z)?ch:ch-A+a;printf(%c , ch);A)A B)a C)Z D)z41int (*ptr) ();說明了_。A)ptr是指向一維數(shù)組的指針變量B)ptr是指向int型數(shù)據(jù)的指針變量C)ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)D)ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針42以下有關宏替換的敘述錯誤的是_。A)宏名必須用大寫字母表示 B)宏替換不占用運行時間C)宏名不具有類型 D)宏替換只是字符替換43以下對二維數(shù)組a的聲明正確的是_。A)int a 3 ; B)int a (3,4); C)int a 14; D)int a (3)(4);44如果在一個函數(shù)的復合語句中定義一個變量,以下敘述正確的是_。A)該變量在該函數(shù)中有效 B)該變量只在該復合語句中有效C)該變量為不合法的變量 D)該變量在本程序范圍內(nèi)有效45能表示x為偶數(shù)的表達式是_。A)x %2=0 B)x%2=1 C)x%2 D)x%2!=046C語言中運算對象必須是整型的運算符是_。A) % B) / C)= D) =47下列數(shù)組定義正確的是_。A)int a5,b2,3; B)char no(30); C)char x; D)int x5=1,2,3;48變量定義如下:int x;float y;以下輸入語句正確的是_。A)scanf(%f%f,&y,&x); B)scanf(%f%d, y, x);C)scanf(%f%d,&y,&x); D)scanf(%5.2f%2d,&y,&x);49若有定義:int b5;則以下對b 數(shù)組元素的正確引用是_。A)*&b5 B)b+2C)*(*(b+2) D)*(b+2)50設有定義語句“char s=”123”;”,則表達式“s3”的值是_。A)1 B)3 C)0 D)語法出錯51C語言中規(guī)定,if語句的嵌套結構中,else總是與_配對。A)與最近的if 配套 B)與第一個if 配套C)按縮進位置相同的if配套 D)與最近的且尚未配對的if 配套52以下有關switch語句的正確說法是_。A)break語句是語句中必須的一部分B)在switch 語句中可以根據(jù)需要使用或不使用break語句C)break語句在switch 語句中不可以使用D)在switch 語句中的每一個case都要用break語句53以下函數(shù)的類型是_。int sum(double x, double y) double s; s=x+y; return s;A)字符型 B)不確定 C)整型 D)實型54以下敘述不正確的是_。A)一個C源程序文件必須包含一個main( )函數(shù)B)一個C源程序文件可由一個函數(shù)組成C)一個C源程序文件是一個編譯單位D)一個C源程序文件可由多個函數(shù)組成55以下敘述正確的是_。A)函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套B)函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套C)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用均不可以嵌套D)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用均可以嵌套56凡是在函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別是_。A)靜態(tài)(static) B)外部(extern)C)自動(auto) D)寄存器(register)57若a為整型變量,則以下語句_。a=-2L;printf (“%dn”,a);A)賦值不合法 B) 輸出值為-2 C)輸出為不確定值 D)輸出值為258若有說明語句:int y4=0,0,0,0,0,0; 則正確的敘述是_。A)數(shù)組y的每個元素都可得到初值0B)二維數(shù)組y的行數(shù)為1C)該說明等價于int y04=0;D)有元素y00至y05可得到初值,其余元素均得不到初值059若short int 類型數(shù)據(jù)占兩個字節(jié),則下列語句的輸出為_。int k=-1;printf(“%d,%un”,k,k);A)-1,-1 B)-1,32767 C)-1,32768 D)-1,6553560已知:char a; int b; float c; double d; 執(zhí)行語句c=a+b+c+d;后,變量c的數(shù)據(jù)類型是_。A)int B)char C)double D)float61一個共用體變量所占內(nèi)存是_。A)該共用體第一個成員所占的內(nèi)存量B)該共用體最后一個成員所占的內(nèi)存量C)該共用體占內(nèi)存最多成員所占的內(nèi)存量D)該共用體所有成員所需內(nèi)存量的總和62若有以下變量說明和數(shù)據(jù)的輸入方式,則正確的輸入語句為_。變量說明:float x1,x2;數(shù)據(jù)的輸入方式:4.52 3.5A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);C)scanf(“%3.2f,%2.1f”,&x1,&x2); D)scanf(“%3.2f%2.1f”,&x1,&x2);63若變量已正確定義,與語句 if(ab)k=0;else k=1;等效的是_。A)k=(ab)?1:0? B)k=ab;C)k=a=b; D)a=b?0:1;64若有定義:int x,*pb;則正確的賦值表達式是_。A)pb=&x B)pb=x C)*pb=&x D)*pb=*x65已知:int a,*p=&a; 則為了得到變量a的值,下列錯誤的表達式為_。A)p0 B)*p C)&*a D)*&a66在語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是_。A)整型常量 B)整型表達式C)整型常量或整型表達式 D)任何類型的表達式67若有定義:int b5;則以下對b 數(shù)組元素的正確引用是_。A)*&b5 B)b+2C)*(*(b+2) D)*(b+2)68設有定義語句“char s=”123”;”,則表達式“s3”的值是_。A)1 B)3 C)0 D)語法出錯69語句if (!i ) i+; 中的條件表達式 !i 等價于_。A)i=0 B)i!=1 C)i!=0 D)-i70設有int x,y; 以下語句判斷x和y是否相等,正確的說法是該語句_。if (x=y) printf( x is equal to y.); A)語法錯 B)不能判斷x和y是否相等C)編譯出錯 D)能判斷x和y是否相等71C語言中規(guī)定,if語句的嵌套結構中,else總是與_配對。A)與最近的if 配套 B)與第一個if 配套C)按縮進位置相同的if配套 D)與最近的且尚未配對的if 配套72以下有關switch語句的正確說法是_。A)break語句是語句中必須的一部分B)在switch 語句中可以根據(jù)需要使用或不使用break語句C)break語句在switch 語句中不可以使用D)在switch 語句中的每一個case都要用break語句73若有以下定義:float x; int a,b; 則錯誤的switch語句是_。A)switch(x) B)switch(a) case 1.0:printf(*n); case 1:printf(*n); case 2.0:printf(*n); case 2:printf(*n); C)switch(a+b) D)switch(a+b); case 1:printf(*n); case 1:printf(*n); case 1+2:printf(*n); case 2:printf(*n); 74當執(zhí)行以下程序時,_。#includevoid main() int a; while(a=5) printf(%d ,a-); A)循環(huán)體將執(zhí)行5次 B)循環(huán)體將執(zhí)行0次C)循環(huán)體將執(zhí)行無限次 D)系統(tǒng)會當機。75以下函數(shù)的類型是_。int sum(double x, double y) double s; s=x+y; return s;A)字符型 B)不確定 C)整型 D)實型76以下敘述不正確的是_。A)一個C源程序文件必須包含一個main( )函數(shù)B)一個C源程序文件可由一個函數(shù)組成C)一個C源程序文件是一個編譯單位D)一個C源程序文件可由多個函數(shù)組成77下列函數(shù)頭中形參說明錯誤的是_。A)float average(float array9, n) B)float average(float *array ,int n)C)float average(float array ,int n) D)float average(float array ,int n78函數(shù)形參與實參之間的傳遞是“值傳遞”,以下敘述正確的是_。A)實參和與其對應的形參共用一個存儲單元B)實參和與其對應的形參各占用獨立的存儲單元C)當實參和與其對應的形參同名時才共用一個存儲單元D)形參是形式的,不占用存儲單元79以下if語句錯誤的是_。A)if (xy) x+; y+; else x-; y-;B)if (x) x+y; C)if (xy); D)if (x!=y) scanf ( %d,&x) ; else x+;80若有定義:int (*p)3; 則p 。A)是一個指向整型變量的指針B)是一個指針數(shù)組名C)是一個指針,它指向一個含有3個整型元素的一維數(shù)組D)定義不合法81t為int類型,進入下面的循環(huán)之前t的值為0,以下敘述正確的是_。while( t=l ) A)循環(huán)控制表達式的值為0 B)循環(huán)控制表達式的值為1C)循環(huán)控制表達式不合法 D)以上說法都不對82以下說法正確的是_。A)C語言源程序無論包含了多少函數(shù),總是從main函數(shù)開始執(zhí)行。B)main是由C語言提供的,并不需要用戶自己編寫。C)調(diào)用C語言標準庫函數(shù)時,程序中要用到include命令,它也是C語言的一種語句。D)在C語言中,要調(diào)用的函數(shù)必須在main函數(shù)中定義。83若0=ic|a+cb| c+ba)printf(這三條邊能組成一個三角形n);C) int a,b,c; scanf (%d%d%d ,&a,&b,&c); if(a=b&b=c) printf(這是一個等邊三角形n);D) int a,b,c; scanf (%d%d%d ,&a,&b,&c); if(a=b|b=c) printf(這是一個等腰三角形n)86下列關于#include命令的敘述中,錯誤的是_。A)#include命令中,文件名可以用雙引號或尖括號括起來B)一個被包含文件中又可以包含另一個被包含文件C)一個#include命令中可以指定多個被包含文件D)一個#include命令中只能指定一個被包含文件87語句if (!i ) i+; 中的條件表達式 !i 等價于_。A)i=0 B)i!=1 C)i!=0 D)-i88設有int x,y; 以下語句判斷x和y是否相等,正確的說法是該語句_。if (x=y) printf( x is equal to y.); A)語法錯 B)不能判斷x和y是否相等C)編譯出錯 D)能判斷x和y是否相等89若有以下定義:float x; int a,b; 則錯誤的switch語句是_。A)switch(x) B)switch(a) case 1.0:printf(*n); case 1:printf(*n); case 2.0:printf(*n); case 2:printf(*n); C)switch(a+b) D)switch(a+b); case 1:printf(*n); case 1:printf(*n); case 1+2:printf(*n); case 2:printf(*n); 90當執(zhí)行以下程序時,_。#includevoid main() int a; while(a=5) printf(%d ,a-); A)循環(huán)體將執(zhí)行5次 B)循環(huán)體將執(zhí)行0次C)循環(huán)體將執(zhí)行無限次 D)系統(tǒng)會當機。91若用數(shù)組名作為函數(shù)調(diào)用時的參數(shù),則實際上傳遞給形參的是_。A)數(shù)組元素的個數(shù) B)數(shù)組的第一個元素值C)數(shù)組中全部元素的植 D)數(shù)組首地址92C語言允許函數(shù)值類型的缺省定義,此時該函數(shù)值隱含的類型是_。A)long 型 )float 型 C)double型 D)int型93若在一個源程序文件中定義了一個允許其他源文件引用的實型外部變量x,則在另一文件中可以使用的引用說明是_。)extern float x; B)float x;)extern auto float x; D)extern static float x;94C語言的編譯系統(tǒng)對宏命令的處理是_。A)在程序連接時進行的 B)在對源程序中的其它語句編譯之前進行的C)在程序運行時進行的 D)和C程序中的其它語句同時進行的二、程序閱讀題1閱讀以下程序,若輸入60,寫出程序運行結果。#includevoid main() int x; scanf(%d ,&x); if (x=60) printf(pass); else printf(fail);2閱讀以下程序,若輸入5,寫出程序運行結果。#include int main( ) int i, n; double fact; scanf(%d, &n); fact=1; for(i=1;i=n;i+) fact*=i; printf(%.0fn, fact);3閱讀以下程序,若輸入a,寫出程序運行結果。#include int main( ) char ch; ch=getchar(); if(ch=a&ch=A&ch=A) ch=ch-A + a; putchar(ch);4閱讀以下程序,若輸入2 3,寫出程序運行結果。#include int main( ) int i, n; double x, mypow; scanf(%lf%d, &x, &n); mypow=1; for(i=1;i=n;i+) mypow*=x; printf(%.2fn, mypow);5寫出下面程序的運行結果。#include func(int a3) int i,j,sum=0; for (i=0;i3;i+) for(j=0;j3;j+) if(i=j) sum=sum+aij; return(sum);void main() int a33=1,1,1,2,2,2,3,3,3,sum; sum=func(a); printf(sum=%dn,sum);6寫出以下程序的運行結果。#includeint fun(char *s) char *p=s; while(*p!=0) p+; return(p-s);void main( ) printf(%dn ,fun(hello world);7閱讀以下程序,若輸入1 9 3 4 0,寫出程序運行結果。#include int main( ) int x, sum; scanf(%d, &x); sum=0; while(x0) if(x%2=0) sum+=x; scanf(%d, &x); printf(%dn, sum);8閱讀以下程序,若輸入4 5 7 9 5,寫出程序運行結果。#include int main( ) int i, index, n; int a10; scanf(%d, &n); for(i=0; in; i+) scanf(%d, &ai); index=0; for(i=1;in;i+) if(aiaindex) index=i; printf(min=%d,index=%dn, aindex,index);9寫出以下程序的運行結果。#include void main() int num=0; while (num=2) printf(%d ,num); num+; 10寫出以下程序的運行結果。#includevoid increment()static int x=0; x+=1; printf(%d,x);void main() increment(); increment(); increment();11閱讀以下程序,若輸入10,寫出程序運行結果。#include stdio.hint main( )int n;void dectobin(int n);scanf(%d,&n);dectobin(n);printf(n); void dectobin(int n) int a16=0; int i=0; while(n!=0) ai=n%2; i+; n/=2; i=i-1; while(i=0) printf(%d,ai); i-; 12寫出以下程序的運行結果。#includeint x;void cude() x=x*x*x; void main() x=5; cude(); printf(%dn,x);13寫出以下程序的運行結果。#includevoid main() int a =1,3,5,7,9; int y=0,x,*p; p=&a0; for(x=0; x3; x+) y+=*(p+x); printf(%dn,y); 14閱讀以下程序,寫出運行結果。#includeint add(int a,int b) int c; c=a+b; return c; void print(int t) printf(z=%dn,t); void main() int x,y,z; void print(int t); x=1;y=2; z=add(x,y); print(z); 15寫出以下程序的運行結果。#includestruct mine int

溫馨提示

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

最新文檔

評論

0/150

提交評論