程序設(shè)計自測試卷(2)_第1頁
程序設(shè)計自測試卷(2)_第2頁
程序設(shè)計自測試卷(2)_第3頁
程序設(shè)計自測試卷(2)_第4頁
程序設(shè)計自測試卷(2)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、?程序設(shè)計?課程期終自測試卷2學(xué)號: 姓名: 隊別: 一、選擇題每題1分,共40分下面說法正確的選項是 。A構(gòu)造化程序的根本構(gòu)造有三種,分別是循環(huán)構(gòu)造、選擇構(gòu)造和順序構(gòu)造B計算機只能執(zhí)行順序構(gòu)造的C語言源程序C循環(huán)構(gòu)造無法使用NS流程圖描述D一般稱含有20條以內(nèi)語句的算法為簡單算法,超過20條那么不可能是簡單算法下面說法正確的選項是 。A只要程序使用根本構(gòu)造編寫,運行時就不會出錯BMAIN()函數(shù)是每一個C語言程序必須定義的C任何函數(shù)只能有一種根本構(gòu)造D 任何復(fù)雜問題都可以只使用三種根本構(gòu)造來解決以下選項中,合法的C語言常量是 。A C+B C 0.0D 2B以下選項中,合法的C語言實數(shù)是 。

2、A .9E0B E22C D 設(shè)a,b,c是整型變量,以下選項中的賦值表達(dá)式錯誤的選項是 。A a=1=(b=1)=1B a=(b=0)*(c+0)C a=b=c*0D a=1%(b=c=9)+46有如下程序#include main()char* msg =Hello;int x=012;printf(%s, X =%d.n, msg, x+1);程序運行后的輸出結(jié)果是 。A Hello, X =11.B He, X=13.C HelX=121.D Hello, X=013.對于if(表達(dá)式)語句,以下說法正確的選項是 。A“表達(dá)式的值只能是整數(shù)值B在“表達(dá)式中不能調(diào)用返回整數(shù)的函數(shù)C在“表

3、達(dá)式中不能含有函數(shù)調(diào)用D“表達(dá)式可以是算術(shù)表達(dá)式對于函數(shù)聲明void fun(int a1, int *b);以下表達(dá)中正確的選項是 。A函數(shù)參數(shù)a,b都是指針變量B聲明有語法錯誤,參數(shù)a的數(shù)組大小必須大于1C調(diào)用該函數(shù)時,形參a僅復(fù)制實參數(shù)組中第一個元素D調(diào)用該函數(shù)時,a的值是對應(yīng)實參數(shù)組的內(nèi)容,b的值是對應(yīng)實參的地址設(shè)有如下程序段int a2=0;int b =0,0,1;char c=A;char d= 0;以下表達(dá)中正確的選項是 。Aa、b的定義合法,c、d的定義不合法B所有定義都是合法的C只有d的定義不合法,其余定義均合法D只有a的定義合法,其余定義均不合法以下涉及字符串?dāng)?shù)組、字符指

4、針的程序段,沒有編譯錯誤的選項是 。A ) char *str, name3;B char * str, name5; str=name; name=name;C char str17=prog. c0, str27;D char line10; str2=str1; line=/* * * */;以下表達(dá)中錯誤的選項是 。A算法正確的程序可以有零個輸入B算法正確的程序最終一定會完畢C算法正確的程序可以有零個輸出D算法正確的程序?qū)τ谝粯拥妮斎胍欢ㄓ幸粯拥慕Y(jié)果以下表達(dá)中正確的選項是 。AC語句必須在一行內(nèi)寫完BC程序中的每一行只能寫一條語句CC語言程序中的注釋必須與語句寫在同一行D簡單C語句必須

5、以分號完畢以下選項中關(guān)于C語言常量的表達(dá)錯誤的選項是 。A經(jīng)常被使用的變量可以定義成常量B常量分為整型常量,實型常量、字符常量和字符串常量C常量可分為數(shù)值型常量和非數(shù)值型常量D所謂常量,是指在程序運行過程中,其值不能被改變的量以下選項中,不合法的C語言用戶標(biāo)識符是 。Aa bB AaBcC a - - bD _1假設(shè)變量均已正確定義并賦值,以下合法的C語言賦值語句是 。A x=y=5;B ;C x+n=i;D x=5=4+1;設(shè)有定義:int a;float b;執(zhí)行scanf(%2d% f, &a, &B);語句時,假設(shè)從鍵盤輸入876 543.0那么a和b的值分別是 。A87和6.0C87

6、和543.0D76和543.0有以下定義語句,編譯時會出現(xiàn)編譯錯誤的選項是 。A char a=x2d;B char a=n;C char a=a;D char a=aa;當(dāng)變量c的值不為2、4、6時,值也為真的表達(dá)式是 。A (c=2&c=2&c=2&c=6)|(c!=3)|(c!=5)有以下計算公式 (x0)y= (x=0) y=sqrt(x);Bif(x=0) y=sqrt(x);if(x =0?x: -x);if(x0) y=sqrt(-x);有以下程序#includemain() int y=10;while(y- -);printf(y=%dn,y);程序執(zhí)行后的輸出結(jié)果是 。y=

7、-1;By=0;C y=1;Dwhile構(gòu)成無限循環(huán)有以下程序:#includemain() int i;for(i=l;i=40;i+) ifi+%5= =0if+i%8= =0pintf(%d,i; printf(n);程序執(zhí)行后的輸出結(jié)果是 。A 5B 24C 32D 40有以下程序:#includemain() int s;scanf(%d,s);while(s0) switch(s case 1: printf(%d,s+5),case 2: printf(%d,s+4);break;case 3: printf(%d,s+3);default: printf(%d,s+1);bre

8、ak; scanf(%d,s; 運行時,假設(shè)輸入1 2 3 4 5 0回車,那么輸出結(jié)果是 。A 66656B C 66666D 以下表達(dá)中錯誤的選項是 。A用戶定義的函數(shù)中可以沒有 retun語句B用戶定義的函數(shù)中可以有多個 return語句,以便可以調(diào)用一次返回多個函數(shù)值C用戶定義的函數(shù)中假設(shè)沒有 return語句,那么應(yīng)當(dāng)定義函數(shù)為void類型D函數(shù)的 return語句中可以沒有表達(dá)式有以下程序:#includevoid fun(char *c,int d) *c=*c+1;d=d+1;printf(%c,%c,*c,d);main() char b=a, a=A;fun(&b, A ;

9、printf(%c, %cn, b, a);程序運行后的輸出結(jié)果是 。A b,B,b,AB b,B,B,AC a, B,B,aD a,B,a,B以下選項中,能正確定義數(shù)組的語句是 。A int num0.2021;B int num ;C int N=2021;D #define N 2021 int numN;int numN;以下函數(shù)實現(xiàn)按每行8個輸出w所指數(shù)組中的數(shù)據(jù):#include stdiohvoid fun(int *w, int n) int i;for(i=0;in;i+ +) printf(%d, wi); printf(n);在橫線處應(yīng)填入的語句是 。Aif(i/8= =

10、0) printf(n);Bif(i/8= =0) continue;Cif(i%8= =0) printf(n);Dif(i%8= =0) continue;有以下程序:#include void funchar *c while(*c) if(*c=a*c=z) *c=*c - (a-A); c+; main() char s81; gets(s); fun(s); puts(s);當(dāng)執(zhí)行程序時從鍵盤上輸入 Hello Beijing回車,那么程序運行后的輸出結(jié)果是 。A hello beijing B Hello Beijing C HELLO BEIJING D hELLO Beiji

11、ng有以下程序:#includemain( )int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1;int i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;kaki) t=aji;aji=aki; aki=t; /*按列排序*/for(i=0;i4;i+) printf(d,aii);程序運行后的輸出結(jié)果是 。A 1,6,2,1,B 8,7,3,1,C4,7,5,2,D1,6,5,7,有以下程序 strcat函數(shù)用于連接兩個字符串:#include #include main()char a20 =ABCD0EFG0,b =

12、IJK;strcat(a,b);printf(%sn);程序運行后的輸出結(jié)果是 。A IJKB ABCDE0EFG0IJKC ABCDIJKD EFGIJK有以下程序段:char name20;int num;scanf(name=%s num=%d,name,num);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001回車后,name的值為 。A name=Lili num=1001B name =LiliC Lili num=D Lili有以下程序:#includemain( )char ch =uvwxyz,*pc;pc=ch;printf(%cn,*(pc+5);程序

13、運行后的輸出結(jié)果是 。A zB 0C元素ch5的地址D字符y的地址有以下程序:#include main( )char s =012xy;int i,n=0for(i=0;si!=0;i+ +)if(si=asi=z) n+;printf(%dn,n);程序運行后的輸出結(jié)果是 。A 0B 2C 3D 5有以下程序:#includeint fun(int n) ifn= =1retum 1;elsereturn(n+fun(n-1);main( )int x;scanf(%d, &x);x=fun(x);printf(%dn, x)執(zhí)行程序時,給變量x輸入10,程序運行后的輸出結(jié)果是 。A 55

14、B 54C 65D 45有以下程序:#include int f(int m static int n=0;n + =m;return n;main( ) int n=0;printf(%d,f(+n);printf(%dn,f(+n);程序運行后的輸出結(jié)果是 。A 3,3B 1,1C 2,3D 1,2設(shè)有以下語句:typedef struct TT char c; int a4; CIN;那么下面表達(dá)中正確的選項是 。ACIN是 struct TT類型的變量BTT是 struct類型的變量C可以用TT定義構(gòu)造體變量D可以用CIN定義構(gòu)造體變量有以下程序:#include struct ord

15、 int x,y;dt2=1,2,3,4;main()struct ord *p=dt;printf(%d,+ +(P-x);printf(%dn,+ +(p-y);程序運行后的輸出結(jié)果是 。A 3,4B 4,1C 2,3D 1,2有以下程序:#include #define SUB(A (a)-(a) main() int a=2,b=3,c-5, d;d=SUB(a+b)*c;printf(%dn,d);程序運行后的輸出結(jié)果是 。A 0B -12C -20D 10有以下程序#include main( ) int a=2,b;b=a2;printf (%dn, b );程序運行后的輸出結(jié)果

16、是 。A 2B 4C 6D 8以下關(guān)于C語言文件的表達(dá)中正確的選項是 。A文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件B文件由構(gòu)造序列組成,可以構(gòu)成二進(jìn)制文件或文本文件C文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件D文件由字符序列組成,其類型只能是文本文件有以下程序#include main( ) FILE * fp;int a10=1,2,3,0,0,i;fp= fopen(d2. dat, wb);fwrite(a, sizeof(int), 5, fp);fwrite(a, sizeof(int), 5, fp);fclose(fp);fp=fopen(d2. dat, rb);

17、fread( a, sizeof(int), 10, fp);fclose(fp);for(i=0;i10;i+ +)printf(% d, , ai);程序運行后的輸出結(jié)果是 。A 1,2,3,0,0,0,0,0,0,0,B 1,2,3,1,2,3,0,0,0,0C 123,0,0,0,0,123,0,0,0,0,D 1,2,3,0,0,1,2,3,0,0二、程序填空題共18分使用VC2021翻開考生文件夾下 blank1中的解決方案。此解決方案的工程中包含一個源程序文件blank1.c。在此程序中,函數(shù)fun的功能是:從形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回剩余字符

18、串的個數(shù)。ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。請在程序的下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。注意:局部源程序在文件 blank1.c中。不得增行或刪行,也不得更改程序的構(gòu)造!#include #include #define N 5#define M 10int fun(char(* ss)M, int k) int i, j=0, len;/* * * * * * * * * * found * * * * * * * * * * /for(i=0;1【1】;i+ + len=strlen(ssi);/* * * * * * * * * * found

19、* * * * * * * * * * /iflen=【2】/* * * * * * * * * * found * * * * * * * * * * /strcpy(ssj+ +, 【2】); return j;main() char xNM=Beijing, Shanghai, Tianjin,Nanjing,Wuhan;int i,f;printf(nThe original stringnn);for(i=0;iN;i+ +)puts(xi);printf(n);f= fun(x, 7);printf(The string witch length is less than or e

20、qual to 7:n);for(i=0;if;i+) puts(xi);printf(n);三、程序修改題共18分使用VC+2021翻開考生文件夾下 modi1中的解決方案。此解決方案的工程中包含一個源程序文件modi1.c在此程序中,函數(shù)fun的功能是:逐個比擬p、q所指兩個字符串對應(yīng)位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的數(shù)組中,形成一個新的字符串。例如,假設(shè)主函數(shù)中a字符串為aBCDeFgH,b字符串為ABcd,那么c中的字符串應(yīng)為“ aBcdeFgH。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:局部源程序在文件modi1.c中,不得增行或刷行,也不得更改程序

21、的構(gòu)造!#include #include void fun(cha * p,char *q, char * c)/* * * * * * * * * * found * * * * * * * * * * /int k= 1;/* * * * * * * * * * found * * * * * * * * * * /while( * p != * q ) if( * p*q) ck=*q;else ck=*p;if(*p) p+;if(*q) q+;k+; main() char a10= aBCDeFgH, b10=Abcd, c80=0;fun(a, b, c);printf(The string a:);puts(a) ;printf(T

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論