版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
“C語言程序設(shè)計“二級考試復(fù)習(xí)資料
二級考試大綱............................................5
模擬試題一..............................................7
模擬試題二..............................................13
模擬試題三..............................................19
模擬試題四..............................................28
模擬試題五..............................................36
模擬試題六..............................................43
補充:文獻.............................................49
二級考試大綱
(QBASIC.FORTRAN>VB.VF、C.FoxBASE+語言程序設(shè)計)
基本要求
1.具有計算機的基本知識。
2.了解操作系統(tǒng)的基本概念,掌握常用操作系統(tǒng)的使用。
3.掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法,熟悉算法描述工具一流程圖的使用。
4.能純熟地使用一種高級語言或數(shù)據(jù)庫語言編寫程序、調(diào)試程序。
考試內(nèi)容
一、基礎(chǔ)知識與基本操作
(一)基礎(chǔ)知識
1.計算機系統(tǒng)的重要技術(shù)指標(biāo)與系統(tǒng)配置
2.計算機系統(tǒng)、硬件、軟件及其互相關(guān)系。
3.微機硬件系統(tǒng)的基本組成(涉及:中央解決器(運算器與控制器),內(nèi)存儲器(RAM與ROM),外
存儲器(硬盤、軟盤與光盤),輸入設(shè)備(鍵盤與鼠標(biāo)),輸出設(shè)備(顯示器與打印機)。
4.軟件系統(tǒng)的組成,系統(tǒng)軟件與應(yīng)用軟件;軟件的基本概念,文檔;程序設(shè)計語言與語言解決程序(匯
編程序、編譯程序、解釋程序),
5.計算機的常用數(shù)制(二進制、十六進制與十進制之間的轉(zhuǎn)換);數(shù)據(jù)基本單位(位、字節(jié)、字)。
6.計算機的安全操作;計算機病毒的防治。
7、計算機網(wǎng)絡(luò)的一般知識。
8、多媒體技術(shù)的一般知識。
(-)DOS的基本操作
1.操作系統(tǒng)的基本功能與分類。
2.DOS操作系統(tǒng)的基本組成。
3.文獻、FI錄、途徑的基本概念。
4.常用DOS操作,涉及:
初始化與啟動;
文獻操作(TYPE,COPY,DEL,REN,XCOPY,ATTRIB);
目錄操作(DIR,MD,Cl),RD,TREE,PATH);
磁盤操作(FORMAT,DISKCOPY,CHKDSK);
功能操作(VER,DATE,TIME,CLS,PROMPT,HELP):
批解決(批解決文獻的建立與執(zhí)行,自動批解決文獻);
輸入輸出改向。
(三)Windows的基本操作
1.Windows的特點、基本構(gòu)成及其運營環(huán)境。
2.Windows用戶界面的基本元素。涉及:窗口、圖標(biāo)、菜單、對話框、按鈕、光標(biāo)等。
3.Windows基本操作。涉及:啟動與退出,鼠標(biāo)操作,窗口操作,圖標(biāo)操作,菜單操作,對話框操
作,
二、程序設(shè)計
1.能運用結(jié)構(gòu)化程序設(shè)計方法編寫程序。
2.掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法。
3.能純熟使用一種高級語言或一種數(shù)據(jù)庫語言(共有QBASIC.FORTRON、C以及FoxBASE+、VB.VF等六種語
言:考生任選其中一和L各種語言的考試內(nèi)容附后。)
二、上機操作
在指定的時間內(nèi)使用微機完畢下述操作:
1.完畢指定的計算機基本操作(涉及機器啟動和操作命令的使用)。
2.按給定規(guī)定編寫和運營程序。
3.調(diào)試程序,涉及對給出的不完善的程序進行修改和補充,使之能得到對的的結(jié)果,
C語言程序設(shè)計考試大綱
(-)c語言的結(jié)構(gòu)
1.程序的構(gòu)成,MAIN函數(shù)和其他函數(shù)。
2.頭文獻、數(shù)據(jù)說明、函數(shù)的開始和結(jié)束標(biāo)志。
3.源程序的書寫格式。
4.C語言的風(fēng)格。
(二)數(shù)據(jù)類型及其運算
LC的數(shù)據(jù)類型(基本類型、構(gòu)造類型、指針類型、空類型)及其定義方法。
2.C運算符的種類、運算優(yōu)先級和結(jié)合性。
3.不同類型數(shù)據(jù)間的轉(zhuǎn)換與運算。
4.表達(dá)式類型(賦值表達(dá)式、算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、條件表達(dá)式、逗
號表達(dá)式)和求值規(guī)則。
(三)基本語句]
1.表達(dá)式語句,空語句,復(fù)合語句。
2.數(shù)據(jù)的輸入與輸出,輸入輸出函數(shù)的調(diào)用。
3.復(fù)合語句。
4.GOTO語句和語句標(biāo)號的使用。
(四)選擇結(jié)構(gòu)程序設(shè)計
1.用1卜,語句實現(xiàn)選擇結(jié)構(gòu)。
2.用SWITCH語句實現(xiàn)多分支選擇結(jié)構(gòu)。
3.選擇結(jié)構(gòu)的嵌套
(五)循環(huán)結(jié)構(gòu)程序設(shè)計
1.FOR循環(huán)結(jié)構(gòu)。2.WHILE和DOWHILE循環(huán)結(jié)構(gòu)。
3、CONTINUE語句和BREAK語句。4、循環(huán)的嵌套。
(六)數(shù)組的定義和引用
1、一維數(shù)據(jù)和多維數(shù)組的定義、初始化和引用。2、字符串與字符數(shù)組。
(七)函數(shù)
1、庫函數(shù)的對的調(diào)用。2、函數(shù)的定義方法。
3、函數(shù)的類型和返回值。4、形式參數(shù)與實在參數(shù),參數(shù)值的傳遞。
5、函數(shù)的對的調(diào)用,嵌套調(diào)用,遞歸調(diào)用。6、局部變量和全局變量。
7、變量的存儲類別9自動、靜態(tài),寄存器、外部),變量的作用域和生存期。
8、內(nèi)部函數(shù)與外部函數(shù)。
(A)編譯預(yù)解決
1、宏定義:不帶參數(shù)的宏定義;帶參數(shù)的宏定義。2、〃文獻包含〃解決。
(九)指針
1、指針與指針變量的概念,指針與地址運算符。
2、變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針以及指向變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針變量。
通過指針引用以上各類型數(shù)據(jù)。
3、用指針作函數(shù)參數(shù)。
4、返回指針值的指針函數(shù)。
5、指針數(shù)組,指向指針的指針,MAIN函數(shù)的命令行參數(shù).
(十)結(jié)構(gòu)體(即〃結(jié)構(gòu)”)與共用體(即“聯(lián)合〃)。
1、結(jié)構(gòu)體和共用體類型數(shù)據(jù)的定義方法和引用方法。
2、用指針和結(jié)構(gòu)體構(gòu)成鏈表,單向鏈表的建立、輸出、刪除與插入。
(4■?一)位運算
1、運算符的含義及使用。2、單的位運算。
(十二)文獻操作
只規(guī)定緩沖文獻系統(tǒng)(即高級磁盤I/O系統(tǒng)),對非標(biāo)準(zhǔn)緩沖文獻系統(tǒng)(即低檔磁盤I/O系統(tǒng))不規(guī)定。
1、文獻類型指針(FILE類型指針)。
2、文獻的打開與關(guān)閉(FOPEN,FCLOSE)。
3、文獻的讀寫(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTE,FSCANF函數(shù)),文獻的定位
(REWIND,FSEEK函數(shù))
模擬試題一18
第一部分軟件技術(shù)基礎(chǔ)
一、是非判斷題。
1.數(shù)組是一種長度固定的線型表,可以對數(shù)組進行插入和刪除運算。()
2.白盒測試時,測試者不考慮程序的內(nèi)部結(jié)構(gòu)和特性。)
3.對■線型表中的數(shù)組進行二分查找,必須規(guī)定數(shù)據(jù)元素右限且有序。()
4.實存管理技術(shù)中,每個分區(qū)內(nèi)的地址是連續(xù)的。()
5.文獻的目錄結(jié)構(gòu)是一種線型結(jié)構(gòu)。()
6.在面向?qū)ο蟮某绦蛟O(shè)計中,對象的動作取決于發(fā)送給該對象的消息。()
7.虛擬設(shè)備是指將大容量的共享設(shè)備的一部分空間來代替實際的獨占設(shè)備。()
8.在結(jié)構(gòu)化程序設(shè)計中,N-S圖是用于具體設(shè)計的工具之一。()
9.在操作系統(tǒng)的設(shè)備管理中,打印機被當(dāng)作是一種共享設(shè)備。()
10.分時操作系統(tǒng)的重要特性之一是提高計算機系統(tǒng)的實時性。()
二、單項選擇題。
1.進程由程序塊、()和數(shù)據(jù)塊三部分組成。
(A)設(shè)備控制塊(B)作業(yè)控制塊(C)文獻控制塊(D)進程控制塊
2.以下哪個不是死鎖產(chǎn)生的必要條件()
(A)互斥條件(B)所有分派條件C)環(huán)路條件(D)不可剝奪條件
3.虛擬存儲器的作用是允許程序直拆接訪問比內(nèi)存更大的地址空間,它通常使用()作為它的一個重
要組成部分。(A)軟盤1B)寄存器(C)硬盤(D)CD-ROM
4.線性鏈表中的結(jié)點一股有3種信息:直接前趨、數(shù)據(jù)域和直接后繼,屬于單向鏈表所獨有的是()。
(A)直接前趨和數(shù)據(jù)域(B)直接前趨和直接后繼
(0數(shù)據(jù)域和直接后繼(D)直接前趨、數(shù)據(jù)域和直接后繼
5.白盒測試是根據(jù)程序的()來設(shè)計測試用例。(A)內(nèi)部邏輯(B)內(nèi)部數(shù)據(jù)(C)功能(D)性能
第二部分C與C++語言程序設(shè)計
一、單項選擇
1.有下列程序段,請選擇().
chara[10]=w3821631
char*p=a;
printf(a%cw,p[l]-'O');
(A)輸出格式錯誤語法錯誤(C)輸出8(D)輸出ASCII碼為8的字符
2.下列程序的輸出是()>
#include”stdio.h"
voidmain()
{inta=-l,b=4,k;
k=(a++<=0)&&(!(b—<=0));
printf(M%d,%d,%dw,k,a,b);}
(A)0,0,3(B)0,1,2(C)l,1,2(D)l,0,3
3.設(shè)x為整型變量,不能對的表達(dá)數(shù)學(xué)關(guān)系:7<x<ll的C語言表達(dá)式是()。
(A)7<x<ll(B)x==8||x==9||x=10(C)x>7&&x<ll(D)!(x<=7)&&(x>=ll)
4.下列程序段中,對的的是()。
(A)intx=0,y=10;
switch(x)
{casey:x++;break;
casey+2:x+=10;break;
casey-1:x=-7;break;}
(D)intx=0,y;
(C)ftdefiney20
switch(x)
intx=10,z;
{case3:
switch(x)
{case12:z=3;break;
casey+1:z+=10;break;
casey-8:y-=3;break;
)
5.定義如下數(shù)組s:chars[81];
若準(zhǔn)備將字符串"Thisisastring.w記錄下來,()是錯誤的輸入語句。
(A)gets(s+2);(B)scanf(M%20sw,s);
(C)for(i=0;i<17;i++)(D)while(c=getchar()!=,\nf)
s[i]=getchar();s[i++]=c;
6.下述函數(shù)aaa的功能是()。
intaaa(char*s)
{char*t=s;
while(*t++);
returnt-s;}
(A)求字符串長度(B)比較兩個串的大?。–)將串s復(fù)制到串t中(D)以上三種說法均不對
7.下述程序的輸出結(jié)果是(:)。(A)ll,10(B)ll,ll(010,10(D)10:11
intx=10;
inty=x++;
printf(,(x++,y),y++);
8.若有說明inti,j=2,*p=&i;,則能完畢i=j賦值功能的語句是()o
(A)i=*p;(B)*p=j;(C)i=*j;(D)i=**p;
9.main()
{uniondata
{inti;charch;
floatf;floatx:
(a;
a.i=l;a.ch='a';a.f=l.5;
printf('%f,%f\nw,a.f,a.x):}
程序運營結(jié)果是()<1(A)1.5(B)1.5,1(01.5,1.5(D)l,1.5
10.已知結(jié)構(gòu)體:
structperson
(charname[20];intage;};
下列操作對的的是()
(A)structpersonperson1:{“Tom”,20};
(B)structpersonpersonl;pcrsonl={uTom,,,20);
(C)structpersonpersonl;scanf(a%s%d,*,name,&age);
(D)structpersonpersonl={"Tom”,20};printf("%s%d",personl);
二、讀程序回答問題。
1.運營下列程序后,test中的結(jié)果為()。
^include"stdio.h"
#include“string,h”
voidfun(char*fname,char*st)
{FILE*myf;
inti;
myf=fopen(fname,Mw");
for(i=0;Kstrlen(st);i++)
fputc(st[i],myf);
fclose(myf);}
voidmain()
{fun("test","newworld,r);
fun(“test","hello");}
(A)newworld(B)ncwworldhcllo(C)hello(D)hello,world
2.讀下列程序,選擇對的的輸出結(jié)果。
#include<stdio.h>
voidpoint1(intx,inty)
{intt=l;
x=x+t;y=y+t;
return;}
voidpoint2(int*x,int*y)
{intt=l;
*x=*x+t;*y=*y+t;
return;}
voidpoint3(char*p)
{p+=l;
*p=*p+1;}
voidmain()
{charb[4]={匕','c','s','f'},*pt=b;
intx=3,y=4;
pointl(x,y);
1)printf(a%d,%d\n,*,x,y);
point2(&x,&y);
2)printf(**%d,%d\nw,x,y);
point3(pl);
3)printf(<<%c\nn,*(pt+l));
}
1)(A)4,5(B)3,4(04,3(D)5,4
21(A)4,5(B)3,4(04,3(0)5,4
3)(A)c(B)s(C)acsf(D)d
3.有下列程序
#include<stdio.h>
intfunc(intx)
{inty=0;
staticz=3;
x=z++,y++;
return(x);)
voidmain()
{inta=2,i,b;
for(i=0;i<2;i++)
b=func(a++);
printf("%d\n",b);}
⑴執(zhí)行后輸出的結(jié)果是()。(A)4(B)5(03(D)0
⑵假如將語句LI:staticz=3;改為LI:intz=3;程序執(zhí)行后輸出的結(jié)果是()。
(A)4(B)5(C)3(D)0
4.寸include”stdio.hw
char*cat(char*strl,char*str2)
{char*pt;
for(pt=strl;*pt!=,\0';pt++);
while(*str2!=,\0')
*pt++=*str2++;
*pt=>\0';
return(pt);}
voidmain()
{char*p,sl[30]=w210",s2[30]="45”;
p=cat(si,s2);p=cat(si,s2);
printf(M%d\nw,p_sl);)
(D該程序運營的結(jié)果為()o(A)5(B)6(07(D)8
⑵假如去掉*pt='\0';程序運營的結(jié)果為()。(A)5(B)6(07(D)8
5.讀程序,回答問題。
#include<stdio.h>
voidmain()
{char*s=M12134211w;
inta=0,b=0,c=0,d=0;
intk;
for(k=0;s[k];k++)
switch(s[k])
{default:d++;
case'1':a++;
case’3':c++;
case'2':b++;
)
printf(ua=%d,b=%d,c=%d,d=%d",a,b,c,d);}
(1)該程序運營結(jié)束時,k的值是()o(A)7(B)8(09(D)10
⑵該程序的輸出結(jié)果是()。
(A)a=4,b=2,c=l,d=l(B)a=4,b=9,c=3,d=1(C)a=5,b=8,c=6,d=l(D)a=8.n=8.c=8,d=8
6.讀程序,回答問題。
#include<stdio.h>
voidfun(char**m);
voidmain()
{char*s□:{“BASIC","FORTRAN","C"};
char**p=s;
fun(p);
puts(*p);}
voidfun(char**m)
{++m;
printf("%s,”,*m);}
(1)語句puts(*p);輸出結(jié)果是()o(A)BASIC(B)C(C)SICA(D)FORTRAN
⑵語句printf(飛s,”.*m);輸出結(jié)果是()。(A)BASIC,(B)SICA,(C)FORTRAN,(D)BASIC,
7.讀程序,回答問題。
#include<stdio.h>
voidswap(int*pl,int*p2)
{int*temp;
temp=pl;pl=p2;p2=temp;
4:printf("%d,%d\n”,*pl,*p2);
}
voidmain()
{inta=4,b=5,*pointerl,*pcinter2;
pointerl=&a;pointcr2=&b;
swap(pointeri,pointer2);
10:printf(w%d,%d\nw,*pcinterl,*pointer2);)
(1)讀程序swap函數(shù)中的printf的輸出為()°(A)4,5(B)6,5(C)5,4(D)5,6
(2)該程序main函數(shù)中的printf的輸出為()。(A)4,5(B)6,5(05,4(D)5,6
8.讀程序,回答問題。
#includenstdio.h"
unionun
{inti;
charc[2];
};
voidmain()
{unionunx;
x.c[0]=10;
x.c[l]=l;
printf(a\n%dn,x.i);}
程序執(zhí)行后的輸出結(jié)果為()。(A)11(B)266(0265(D)138
二.程序填空
1.下述程序在數(shù)組中同時查找最大元素下標(biāo)和最小元素下標(biāo),分別存放在main函數(shù)的變量max
和min中,請?zhí)羁铡?/p>
#includo<stdio.h>
voidfind(int*a,intn,int*max,int*min)
{inti;
*max=*min=0;
for(i=l;i<n;i++)
if(a[i]>a[*max])
else
if(a[i]<a[*min])
return;
)
voidmain()
{inta[]={5,8,7,6,2,7,3);
intmax,min:
find();
printf(rt\n%d,%d,>,niax,min);}
2.輸入6個用戶名和密碼,用戶名為15個字符以內(nèi)的字符串,密碼為5個字符的定長字符串。
新建一個文獻,將用戶名和密碼以結(jié)構(gòu)體的形式存入,規(guī)定密碼存放時將每個字符的ASCII碼加
1。
ftinclude<stdio.h>
main()
{structperson
(charname[16];
charcode[6];
(per;
intk,j;
charfname[20];
scanf(a%sw,fname):
if((fp=fopen(fname,**wbM))==NULL)
{printf("failcreatfailed!\n");
exit(0);
)
for(k=0;k<6;k++)
{scanf();
for(j=0;j<5;j++)
fwrite(&per,sizeof(structperson),1,fp);
(
fclose(fp);}
3.下面程序的功能是三個字符串中找出最小的。
力include”stdio.hw
并include“string,h”
main()
{chars[20],str[3][20];
inti;
for(i=0;i<3;i++)
strcpy(s,(strcmp(str[0]?str[l])<0?str[0]:str[l]));
if(<0)
strcpy(s,str[2]);
printf(u%s\nw,);)
4.下述程序通過命令行參數(shù)將任意多個文本文獻連接到第一.個命令行參數(shù)所命名的文獻中。文
獻每行字符的個數(shù)小于BIFFSIZE。請?zhí)羁铡?/p>
ttinclude<stdio.h>
^defineBUFFSIZE128
voidmain(intargc,char**eirgv)
{FILE*fp,*fg;
chars[BUFFSIZE];
if(argc<2)
{puts("Haven'tcatfilename”);
return;)
if(fp=fopen(*++argv,Ma+"))=NULL)
{printf("can\'topenfile%sn,*argv);
return;}
argc=argc_2;
whileGirgc―)
{if((fg=fopen())==NULL)
{printf("can\'topenfile%sn,*argv);
return;)
while()
fputs(,fp);
fclose(fp);}
fclose(fg);}
5.已知head指向單鏈表的第一個結(jié)點,以下程序調(diào)用函數(shù)print輸出這一單向鏈表,請?zhí)羁铡?/p>
#include“stdlib.h”
#include"stdio.h"
structstudent
(intinfo;
structstudent*link;
);
voidprint(structstudent*head)
{structstudent*p;
pirntf(rt\nthelinklistis:n);
p=head;
if(head!:NULL)
do{printf("%d",);
P=;
)
while(;;
}
main()
{structstudent*head;
print(head)
……)
模擬試題二19
第一部分軟件技術(shù)基礎(chǔ)
一、是非判斷題(每小題1分,共10分)
1.在目前,用于保證軟件質(zhì)量的重要手段是進行軟件測試。()
2.使用DMA方式傳送數(shù)據(jù)期間不需要CPU干預(yù)。()
3.線性順序隊列會產(chǎn)生“假溢出”,而線性循環(huán)隊列則不會。()
4.對同一種算法,用高級語言編寫的程序比用低檔語言編寫的程序運營速度快。()
5、在線性表中,數(shù)據(jù)的存儲方式有順序和鏈表兩種。()
6.進程由程序塊、文獻控制塊和數(shù)據(jù)塊三部分組成。()
7、在面向?qū)ο蟮某绦蛟O(shè)計中,派生類只能從一個基類產(chǎn)生。()
8、操作系統(tǒng)是用戶和硬件的接口。()
9、個人計算機中可配置的最大內(nèi)存容量受地址總線位數(shù)的限制。()
10,軟件維護中最困難的問題是軟件配置不全。()
二、單項選擇題(每小題1分,共5分)
1.在排序法中,從未排序序列中依次取出元素,與已排序序列中的元素作比較,將其放入已排序序列的
對的位置稱為OoA.選擇排序B.快速排序C.插入排序D.冒泡排序
2.有X、Y、Z三個元素依次入棧,不也許的出棧順序是()。A.Z,Y,XB.Z,X,YC.Y,X,ZD.X,Y,Z
3.進程的狀態(tài)是可以轉(zhuǎn)換的,而以下哪個狀態(tài)轉(zhuǎn)換是不也許的()。
A.就緒狀態(tài)-執(zhí)行狀態(tài)B.執(zhí)行狀態(tài)-就緒狀態(tài)C.阻塞狀態(tài)-就緒狀態(tài)D.等待狀態(tài)-執(zhí)行狀態(tài)
4.線性鏈表的地址()。A.必須連續(xù)B.部分地址必須連續(xù)C.一定不連續(xù)D.連續(xù)與否均可以
5.在軟件測試中,()重要分析程序的內(nèi)部結(jié)構(gòu)。A.白盒法B.黑盒法C.因果圖法D.錯誤推測法
第二部分C與C++語言程序設(shè)計
一、單項選擇題(每小題1分,共10分)
1.時下列程序段的描述對的的是1)。
#include<iostream.h>
intFun(intx,inty)
(returnx+y;}
voidmain()
{inti=10;
cout?Fun(i++,i)<<endl;)
(A)程序輸出結(jié)果不擬定(B)程序輸出結(jié)果是20(C)程序輸出結(jié)果是21(D)程序輸出結(jié)果是22
2.下列描述對的的是()。
(A)C++程序中使用cout時需要使用到預(yù)解決命令#includc〈iostrcam.h>
(B)C++程序必須有return語句
(0C++程序中的變量必須定義在主程序內(nèi)部
(D)C++程序中所有使用的符號常量可以不進行定義
3.下述程序的輸出結(jié)果是().(A)y=O(B)y=l(0y=隨機值(D)y=-1
ttinclude<stdio.h>
voidmain()
{inty=10;
while(y-);
printfCy^d*,y);}
4.若有以下說明:
char*strl="copy”,str2[10],*str3="str”,*str4,*str5="good";
則對的的事操作語句是()。
(A)strcpy(str4,strl);(B)strcat(strl,str3);(C)str2="newstr”;(D)strcpy(str5,str3);
5.下面程序運營后,x,y,z的值分別是()°(A)100(B;000(C)lll(D)001
#include<stdio.h>
voidmain()
{intx=0,y=0,z=0;
++x||++y||++z;
printf(*%d%d%d\n”,x,y,z);}
6.以下程序運營的結(jié)果是()。(A)456(B)654(C)056(D)065
#include<stdio.h>
unionmyun
(struct
{intx,y,z;}u;
intk;}a;
voidmain()
(a.u.x=4:a.u.y=5:a.u.z=6;
a.k=0
printf("%d%d%d\n”,a.u.x,a.u.y,a.u.z);}
7、關(guān)于C++與C語言的關(guān)系描述中,錯誤的是()。
(A)C語言與C++是兼容的(B)C++對C語言進行了一些改善
(0C語言是C++的一個子集(D)C++和C語言都是面向?qū)ο蟮?/p>
8、下列描述中,對的的是()。
(A)子類可以繼承其父類的所有屬性和操作,但子類不能定義自己特有的屬性和操作
(B)消息傳遞是類與類之同通信的手段
(0C++允許函數(shù)重載,但不允許運算符重載
(D)C++中可以定義虛函數(shù),通過它來支持動態(tài)聯(lián)編
9、下面程序運營的結(jié)果是()。(A)17(B)31(013(D)7
ftdefinef(x)l+x+x*x
#include<stdio.h>
voidmain()
{inta=2,b=3;
printfC,%d\n/,,f(a+b));)
10、下面局部程序代碼是C++中的()特性的表現(xiàn)。(A)繼承(B)重載(C)多態(tài)性(D)封裝
voiddisplay(intvar)
(cout?var;}
voiddisplay(charvar)
{cout<<var;}
voiddisplay(intvarl,charvar2)
(cout?varl<<var2:)
二、讀程序題(每個選擇3分,共45分)
1、有下列程序:
#include<stdio.h>
intf(intm)
{staticintx[3]={2,3,4);
inti;
for(i=0;i<3;i++)
x[i]+=x[i]~m;
for(i=0;i<3;i++)
printf("%d,",x[i]);
printf("\n〃);
return(x[m]);}
voidmain()
{inty=l;
f(r(y));)
⑴第一次調(diào)用f函數(shù)的結(jié)果是()。(A)5,7,9(B)l,5,9(C)0,1,3(D)3,5,7
⑵第二次調(diào)用f函數(shù)的結(jié)果是()。(A)3,5,7(B)l,5,9(C)0,1,3(D)5,7,9
2、讀下列程序,運營時輸入:Thisisabook!
#includez,stdio.h"
intchange(char*c,intfg)
{if(*c='')
LI:return1;
else
if(fg&&*c<=,z'&&*c〉='a)
*c+='A'-'a';
return0;)
voidmain()
{intflag=l;
charch;
do
{ch=getchar();
flag=change(&ch,flag);
putchar(ch);
}while(ch!=,\n);
}
⑴程序的運營結(jié)果是()。
(A)THISISABOOK(B)thisIsABook!(C)ThisIsABook!(D)ThisIsaBook!
⑵與LI:relurn1等效描述的為()。(A)return0(B)return-1(C)return1-1(D)return!(-1)
3、讀下列程序,回答問題。
#includez,iostream,h”
intsb(int*s,inty)
{staticinti=3;
y=s[i—];
returny;)
voidmain()
(ints[]={l,2,3,4);
inti,x=0;
for(i=0;i<4;i++)
{x=sb(s,x);
cout<<x?*,J;
)
cout?endl;}
⑴程序結(jié)束后i的值為()。(A)4(B)0(02(D)l
⑵該程序的輸出結(jié)果是()。(A)l,2,3,4(B)2,3,4,1(C)3,4,1,2(D)4,3,2,1
4、讀下列程序,回答問題。
#include,ziostream,h”
voidmain()
{char*s="213142";
inta=0,b=0,c=0,d=0;
intk;
for(k=O;s[k];k++)
switch(s[k])
{default:d++;
case'r:a++;
case'3':c++;
case'2':b++;
cout?va=°?a?w,b=w?b?w,c=M?c?w,d=w?d?endl;}
⑴該程序運營結(jié)束時,k的值是()。(A)8(B)7(06(D)5
⑵該程序的輸出結(jié)果是()o
(A)a=4,b=5,c=4,d=l(B)a=4,b=9,c=3,d=l(0a=3,b=6,c=4,d=i(D)a=8,b=8,c=8,d=8
5.下列程序運營的結(jié)果為().(A)1234(B)4321(C)1324(1))4231
#include,zstdio.h"
voidfun(char*s)
{chart;
if(*s)
{t=*s++;fun(s);
if(t!=\03
putchar(t);}}
voidmain()
{char*a="1234”;
fun(a);}
6.讀下列程序,回答問題。
#include"sldio.h〃
voidsubl(chara,charb)
{charc;
c=a;a=b;b=c;}
voidsub2(char*a,charb)
{charc;
c=*a;*a=b;b=c;}
voidsub3(char*a,char*b)
(charc:
c=*a;*a=*b;*b=c;}
voidmain()
{chara,b;
a='A';b='B';
sub3(&a,&b);putchar(a);putchar(b);
sub2(&a,b)jputchar(a)jputchar(b);
subl(a,b);putchar(a);putchar(b);)
⑴程序中調(diào)用完函數(shù)sub3后,輸出為()。(A)AB(B)ABBA(C)BA(D)BAAB
⑵該程序的最終輸出結(jié)果為()<(A)ABBBAB(B)ABBBBB(C)BABABA(D)BAAAAA
7、讀以下程序,并回答問題。
#include<stdio.h>
unionbt
{inta;
charb[2];
};
voidfun(unionbt*c)
{c->a=-7;
c->b[0]=9;
c->b[l]=8;}
voidmain()
{unionbtc;
fun(&c);
printfc.a):}
⑴程序的輸出結(jié)果為()。(A)8(13)9(0-7(D)以上都不對的
⑵若將程序中所有的union換成struct,程序的輸出結(jié)果為()。(A)8(B)9(C)-7(D)7
8、讀程序,回答問題。
#include<stdio.h>
#include<stdlib.h>
voidmain(intargc,char*argv[])
(FILE*fp;
voidfun(FILE*fp);
inti=l;
while(-argc>0)
if((fp=fopen(argv[i++],"r〃))==NULL)
{printf("Cannotopenfile!\n");
exit(0);}
else{fun(fp);fclose(fp);)
}
voidfun(FILE*fp)
{charc;
c=fgetc(fp);
while((c!=EOF))
{if(c>=,A*&&c<=,Z*)putchar(c);
elseif(c>=,a&&c<=,z)putchar(c-('a''A'));
c=fgetc(fp);
})
上述C程序編譯、連接后生成一個可執(zhí)行義獻,文獻名為ex2_8。假設(shè)磁盤上的兩個文本文獻filel.txt
和file2.txt,filel.txt的內(nèi)容為SiChuan,file2.txt的內(nèi)容為Test。
若在DOS提醒符下鍵入:ex2_8filel.txtfile2.txt〈回車),則程序的運營結(jié)果為()。
(A)SICHUAN(B)SICHUANTEST(C)SiChuanTest(D)TEST
9、下面程序的輸出是()。(A)13(B)l(03(D)0
ttincldue^stdio.h"
intfun(charvalue,intn)
{7alue?=n-l;
value&=0x01;
return(value);)
voidmain()
{charc=13;
printf(,z%d\n,z,fun(c,2));)
三、程序填空題(每空2分,共3。分)
1、下列程序是一個求數(shù)組元素之和的程序。主程序中定義并初始化了一個數(shù)組,然后計算該數(shù)組各元素
之和,并輸出結(jié)果。函數(shù)Sum計算數(shù)組元素之和。請完畢下列程序。
#include<iostream.h>
TotalSum(int[],int);
voidmain()
(inta[5]={2,3,6,8,10};
intTotal;
Total=____________
cout<</,Sumofarray:"<<endl:}
intTotalSum(intarray[],intlen)
{intsum=0;
for(inti=0;i<len;i++)
returnsum;}
2.輸入一個8位二進制數(shù),將其轉(zhuǎn)換為十進制數(shù)輸出。
#includc,/iostrcam.h"
doublepower(doublex,intn);
voidmain(void)
{inti;
intvlaue=0;
charch;
cout<?,,Enteran8bitbinarynumber*;
for(i=7;i>=0;i一)
{cin?ch;
if()
va1ue+=;
}
cout<<,,docimalvalueis/,<<value<<cndl;
)
doublepower(doublex,intn)
{doubleval=l.0;
while(n——)
return(val);)
3.以下程序是判斷輸入字符串是否是“回文”(順讀和倒讀都同樣的字符串叫回文,如level),請?zhí)羁铡?/p>
#include,zstdio.h"
#include?,string.h"
voidmain()
{chars[81],*pl,*p2;
intn;
gets(s);
n=strlen(s);
pl=s;
P2=;
while()
{if(*pl!=*p2)break;
else{pl++;;}
}
if(pl<p2)printf("No\n");
elseprintf(,,Yes\nz,);}
4.下面程序功能是檢查一個4階矩正是否對?稱(即對所有的i,j,都有num[i][j]=num[j][i]),請?zhí)羁铡?/p>
#include“stdio.h"
voidmain()
{intnum[4][4];
inti,j,flag=0:
printf(*lnputarraynum:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if()
{flag=l;break;}
if()printfCNo\n");
elseprintf("Yes\n");}
5.下面程序的功能是從鍵盤輸入一字符串,將該字符串與一文本文獻進行比較,打印出與之相同的行的
行號和內(nèi)容,voidcomp()用于文獻的比較,文獻名用命令行參數(shù)提供。請?zhí)羁铡?/p>
#include,zstdio.h"
#include〃sting.h"
#include"sldlib.h"
FILE*fp;
voidcomp(char*string)
{intline=0;
charstr[100];
{fgets(str,100,fp);
str[strlen(str)-l]=,\0?;
1ine++:
printf("%d:$s\rT,line,str);
)}
voidmain(intargc,char**argv)
{charstring[100];
if(argc!=2)
(printf(werror\n,z);exit(0);}
if((fp=)==NULL)
,,
{printf("Cannotopenfile%s!\n>argv[lj);
exit(0);}
printf(^Pleaseinputthestring:\n〃);
gets(string);
comp(string);
fclose(fp);}
模擬試題三21
第一部分軟件技術(shù)基礎(chǔ)
一、是非判斷題(每小題1分,共10分)
1.應(yīng)用程序在執(zhí)行過程中,需要通過打印機輸出數(shù)據(jù)時:一般先形成一個打印作業(yè),將其存放在硬盤中
的一個指定隊列中,當(dāng)打印機空閑時,就會按先來后服務(wù)的方式從中取出待打印的作業(yè)進行打印。()
2.若無進程處在運營狀態(tài),則就緒隊列和等待隊列均為空。()
3.多道程序設(shè)計是指在一臺解決機上并發(fā)運營多個程序。()
4.黑盒法是軟件測試方法中的靜態(tài)測試方法之一。()
5.軟件的具體設(shè)計就是要編寫出具體的程序。)
6.軟件生命周期中花費最多的階段是軟件維護。()
7.Windows是單用戶多任務(wù)操作系統(tǒng),UNIX是多用戶多任務(wù)操作系統(tǒng)。()
8.進程把程序作為它的運營實體,沒有程序也就沒有進程。()
1.9.在結(jié)構(gòu)化分析中,用于描述加工邏輯的重要工具有三種,即:結(jié)構(gòu)化語言,鑒定表和鑒定樹。
()
2.1().作業(yè)調(diào)度程序從后備隊列中選一個作業(yè)裝入主存后,決定能否占用解決機的是設(shè)備調(diào)度程序。
()
3.單項選擇題(1分/小題,共5分)
4.互換技術(shù)是在()之間互換程序和數(shù)據(jù)。
A.主內(nèi)存與CPU
溫馨提示
- 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年湖北宜昌市點軍區(qū)教育系統(tǒng)事業(yè)單位專項招聘11人筆試歷年參考題庫附帶答案詳解
- 2025年阿克塞縣招教考試備考題庫附答案解析(必刷)
- 2025年天津公安醫(yī)院招聘外聘人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年重慶海聯(lián)職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫附答案解析
- 2025年武宣縣招教考試備考題庫帶答案解析(奪冠)
- 2024年皋蘭縣幼兒園教師招教考試備考題庫附答案解析
- 同源維護系統(tǒng)培訓(xùn)
- 2026年及未來5年市場數(shù)據(jù)中國養(yǎng)老機構(gòu)行業(yè)市場發(fā)展數(shù)據(jù)監(jiān)測及投資潛力預(yù)測報告
- 2026年及未來5年市場數(shù)據(jù)中國業(yè)務(wù)運營支撐系統(tǒng)行業(yè)市場調(diào)查研究及發(fā)展趨勢預(yù)測報告
- 2026年及未來5年市場數(shù)據(jù)中國深圳地鐵行業(yè)市場需求預(yù)測及投資戰(zhàn)略規(guī)劃報告
- 腰果介紹教學(xué)課件
- 中考微機題型
- 仇永鋒一針鎮(zhèn)痛課件
- 中小學(xué)校食堂建設(shè)配置標(biāo)準(zhǔn)(試行)
- 網(wǎng)絡(luò)安全風(fēng)險自查表與整改措施清單
- 2025年歷年水利部面試真題及答案解析
- 露天礦物開采輔助工技術(shù)考核試卷及答案
- 公路膨脹土路基設(shè)計與施工技術(shù)規(guī)范(JTGT333107-2024)
- 2025版廉政知識測試題庫(含答案)
- 磁力泵無泄漏市場前景磁鐵試題(附答案)
- 2025年藥品效期管理制度測試卷(附答案)
評論
0/150
提交評論