版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
共
NUMPAGES
62
頁第
PAGE
1
頁
歷年真題匯總
全國2006年4月計算機基礎(chǔ)與程序設(shè)計試題
一、單項選擇題(本大題共20小題,每小題1分,共20分)
1.CPU處理數(shù)據(jù)和指令的基本單位是字(Word),一個字的字長是()
A.8bitsB.16bitsC.32bits D.與CPU數(shù)據(jù)總線有關(guān)的bit位數(shù)
2.與十進制1100等值的十六進制數(shù)是()
A.44AB.44CC.54AD.54C
3.退出TurboC2.0返回系統(tǒng),在主菜單File項中可選擇()
A.LoadB.NewC.SaveD.Quit
4.設(shè)有inta=3,b=-4,c=5;表達式(a<b)?a+b:(a-b,b+4,a-=b+4)的值是()
A.–1B.0C.3 D.7
5.若有下列程序段,欲使a=2、b=3,對應(yīng)正確的數(shù)據(jù)輸入方法是()
(其中<CR>表示換行)
inta,b;
scanf(″a=%db=%d″,&a,&b);
A.2<CR> B.a=2b=3<CR>C.a=2,b=3<CR>D.2,3<CR>
3<CR>
6.下面程序段的輸出結(jié)果是()
main()
{ints,p;
s=p=5;
p=++s;
p++;++p;
printf(″%d\n″,p);
}
A.5 B.6C.7D.8
7.下列if語句中,有語法錯誤的是()
A.if(x>y);
B.if(x=y)x+y;
C.if(x!=y)scanf(″%d″,&x)elsescanf(″%d″,&y)
D.if(x<y){x++;y++;}
8.下面程序段執(zhí)行后的輸出結(jié)果是()
inti=-1;
if(i<=0)printf(″****\n″);
elseprintf(″%%%%\n″);
A.****B.%%%%C.%%%%cD.****c
9.下面程序段的循環(huán)次數(shù)是()
intk=2;
while(k==0)printf(″%d″,k);
k--;printf(″\n″);
A.0次B.1次C.2次D.無限次
10.下面程序段的輸出結(jié)果是()
a=100;
while(a>120);
a=a+1;
printf(″%d″,a);
A.100B.101C.120 D.121
11.下面程序執(zhí)行后,i的值是()
main()
{inta[5]={1,2,3,4,5},i=2
printf(″%d″,a[i++]);
}
A.1 B.2C.3 D.4
12.下面程序的輸出結(jié)果是()
main()
{inti,x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2)printf(″%d″,x[i][1]);
}
A.5 1B.5 2C.8 2D.9 3
13.在C程序中,若用基本數(shù)據(jù)類型所定義的變量調(diào)用函數(shù),正確的說法是()
A.由系統(tǒng)自動指定對應(yīng)實參和形參是否共用存儲單元
B.對應(yīng)實參和形參各占一個獨立的存儲單元
C.對應(yīng)實參和形參共用一個存儲單元
D.可以由用戶指定對應(yīng)實參和形參是否共用存儲單元
14.下面敘述中不正確的是()
A.不同函數(shù)中可以使用相同名字的變量B.形式參數(shù)是局部變量
C.在一個函數(shù)內(nèi)部定義的變量只能在本函數(shù)范圍內(nèi)有效
D.在一個函數(shù)內(nèi)部的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
15.設(shè)有語句inta[4][10],*p=*a;則下面表達式中屬于地址表達式的是()
A.a[1][2]B.a[1]C.*(p+1*10+2) D.*(a[1]+2)
16.下面定義不正確的是()
A.structstar B.structstar
{ {
intid intid;
char*name; char*name;
}star1={1001,″Moon″}; };star1={1001,″Moon″};
C.struct D.structstar
{ {
intid; intid;
char*name; char*name;
}star1={123,″Sun″}; }star1;
17.下面各個位運算符的優(yōu)先級從左到右依次升高的是()
A.|^&>>B.^>>&~C.<<|^~D.~|&>>
18.設(shè)有說明:intu=1,v=14;表達式u+v>>2的值是()
A.0 B.3C.5 D.7
19.如果將文件指針fp指向文件末尾,正確的語句是()
A.feof(fp);B.rewind(fp);C.fseek(fp,0L,0);D.fseek(fp,0L,2);
20.下面程序段中,不能完成的功能是()
FILE*fp;
charch=′v′;
fp=fopen(″boy″,″rb+″);
fputc(ch,fp);
A.建立文件指針fp與文件boy的聯(lián)系 B.從boy文件中讀取一個字符
C.向boy文件中寫一個字符 D.打開名為boy的二進制文件
二、多項選擇題(本大題共5小題,每小題2分,共10分)
21.總線是連接微機CPU、內(nèi)存和外設(shè)之間傳送信號的公共通道,微機的總線包括有()
A.電源線B.數(shù)據(jù)線C.地址線 D.控制線E.網(wǎng)絡(luò)線
22.若定義charc[11];可將字符串″Iamaboy″賦給數(shù)組c,下面正確的選項有()
A.c=″Iamaboy″;B.getchar(c);C.gets(c);D.scanf(″%s″,c);
E.for(i=0;i<10;i++)scanf(″%c″,&c[i];c[10])=’\0’;
23.若有如下定義和語句,則能正確表示數(shù)組a首元素地址的表達式有()
inta[10],*p;
p=a;
A.a[0]B.aC.p+1D.pE.*p
24.設(shè)有說明:intx=1,y=3;下面表達式的值為2的有()
A.y&~xB.x^yC.x|yD.y|x>>1E.x<<1|y>>2
25.在C語言中,關(guān)于符號FILE下面說法正確的有()
A.FILE是C的關(guān)鍵字B.FILE表示一種關(guān)于文件參數(shù)的結(jié)構(gòu)體類型
C.FILE表示一種關(guān)于文件參數(shù)的結(jié)構(gòu)體變量D.FILE*可以用來說明文件指針
E.文件指針指向的變量的數(shù)據(jù)類型是FILE
三、簡答題(本大題共4小題,每小題4分,共16分)
26.C語言中如何表示“真”和“假”?系統(tǒng)如何判斷一個量的“真”和“假”?
27.什么是“直接遞歸調(diào)用”?什么是“間接遞歸調(diào)用”?
28.判斷下面兩程序段正確與否,并說明原因。
(1)charstr[12];str=″program″;
(2)char*str;str=″program″;
29.設(shè)有說明:
structlanguage{longspearer;charcountry[20];}chinese;
試寫出對chinese的成員spearer和country分別賦值1250000000和”China”的C語句。
四、閱讀分析題(本大題共6小題,每小題5分,共30分)
30.閱讀下面程序,寫出運行結(jié)果(已知A的ASCII碼為65,a的ASCII碼為97)。
#include″stdio.h″
main()
{intk=100;charm;
m=k;putchar(m);
printf(″,%d,%c,%o,″k,m-32,m);
}
31.閱讀下面程序,并回答問題:
main()
{intx,y,z,c;
scanf(″%d%d%d″,&x,&y,&z);
if(x<z){c=y;y=z;z=c;}
if(x<z){c=x;x=z;z=c;}
if(x<y){c=x;x=y;y=c;}
printf(″%d,%d,%d″,x,y,z);
}
(1)若程序運行時,輸入3、2和5,則輸出結(jié)果是什么?
(2)寫出程序所實現(xiàn)的功能。
32.閱讀下面程序,并回答問題:
main()
{intm,n;
m=65;
n=14;
while(m!=n)
{while(m>n)m-=n;
while(n>m)n-=m;
}
printf(″m=%d\n″,m);
}
(1)程序輸出結(jié)果是多少?
(2)外循環(huán)執(zhí)行完一次時,m和n的值分別是多少?
(3)將while(n>m)n-=m;語句刪除后,程序運行情況如何?
33.閱讀下面程序,并回答問題:
gcd(intx,inty)
{inttemp;
while(y){temp=x%y;x=y;y=temp;}
returnx;
}
main()
{inta,b,y;
scanf(″%d,%d″,&a,&b);
y=gcd(a,b);
printf(″最大公約數(shù)是:%d″,y);
}
(1)gcd函數(shù)的返回值類型是什么?
(2)若將returnx寫成returny會得到什么樣的結(jié)果?
34.閱讀下面程序,寫出運行結(jié)果。
mian()
{char*str[]={″Pascal″,″CLanguage″,″Dbase″,″Cobol″};
intk;
for(k=0;k<4;k++)
printf(″%s\n″,str[k]);
}
35.閱讀下面程序段,寫出輸出結(jié)果。
structnum
{floatf1;
intj;
}u={5.6,8},*p=&u;
printf(″%.2f,%d\n″,u.f1,u.j);
printf(″%.2f,%d\n″,(*p).f1,p->j);
五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)
36.若有n行n列數(shù)組,試編寫一程序,分別求出兩條對角線元素之和。(從鍵盤輸入n*n個整型數(shù),n≤20)
37.若在c:\tclt路徑下有一個名為zz.dat的文本文件,它包括10個按升序排列的整數(shù),且每兩個數(shù)之間用逗號隔開,現(xiàn)要插入一個整數(shù)使該序列仍保持升序,并把新序列寫入到c:\tclt路徑下名為zzz.dat的文本文件中。
全國2006年7月計算機基礎(chǔ)與程序設(shè)計試題
一、單項選擇題(本大題共20小題,每小題1分,共20分)
1.存儲量1MB等于()
A.23字節(jié)B.210字節(jié)C.220字節(jié)D.230字節(jié)
2.下面數(shù)據(jù)中最小數(shù)是()
A.(0.1100)2B.(0.64)8C.(0.8125)10D.(0.D)16
3.在TurboC2.0中,尋求在線幫助可按鍵()
A.F1B.F5C.F9D.F10
4.設(shè)有inta=3,b=-4,c=0;表達式((a>b)?a:b)&&c<0的值是()
A.-4B.0C.1D.3
5.若有下列程序段,欲使a=2、b=3,對應(yīng)正確的數(shù)據(jù)輸入方法是()
(其中<CR>表示換行)
inta,b;
scanf(″a=%d,b=%d″,&a,&b);
A.2<CR>B.a=2b=3<CR>C.a=2,b=3<CR>D.2,3<CR>
3<CR>
6.下面程序段的輸出結(jié)果是()
main()
{ints,p;
s=p=5;
p=--s;
p++;++p;
printf(″%d\n″,p);
}
A.5B.6C.7D.8
7.關(guān)于if語句下面敘述正確的是()
A.只有當if語句中表達式的值等于1時,才執(zhí)行if的內(nèi)嵌語句
B.只有當if語句中表達式的值為假時,才執(zhí)行if的內(nèi)嵌語句
C.只有當if語句中表達式的值等于0時,才執(zhí)行if的內(nèi)嵌語句
D.只要if語句中表達式的值非0時,就執(zhí)行if的內(nèi)嵌語句
8.若執(zhí)行下面程序時,從鍵盤輸入數(shù)據(jù)3和4,則程序的輸出結(jié)果是()
main()
{inta,b,s;
scanf(″%d″,&a,&b);
s=a;
if(a<b)s=b
s=s*s;
printf(″%d″,s);
}
A.9B.12C.16D.25
9.若intx=0;則while(x==0);的循環(huán)次數(shù)是()
A.0B.1C.2D.無限次
10.下面程序段的輸出結(jié)果是()
for(i=1;i<3;i++)
{for(j=1;j<3;j++)
printf(″%d″,i+j);
printf(″\n″);}
A.2334B.234C.23 D.2
34 34
11.下面程序的輸出結(jié)果是()
mian()
{inta[5]={2,4,6,8,10},i;
i=2;
printf(″%d″,a[i++]);
}
A.2B.4C.6D.8
12.下面程序的輸出結(jié)果是()
main()
{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
inti,j,k=0;
for(i=0;i<3;i++)
k=k+a[i][0];
printf(″%d\n″,k);
}
A.27B.33C.39 D.45
13.以下正確的函數(shù)定義形式是()
A.doublefun(intx,inty) B.doublefun(intx;inty)
C.doublefun(intx,inty); D.doublefun(intx,y);
14.關(guān)于變量以下不正確的說法是()
A.在不同函數(shù)中可以使用相同名字的變量
B.形式參數(shù)是全局變量
C.在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在函數(shù)內(nèi)的復(fù)合語句中定義的變量是局部變量
15.設(shè)有語句inta[4][10],*p=*a;則下列表達式中不是地址表達式的是()
A.&a[1][2]B.a[3]C.*(p+1*10+2)D.p+1*10+2
16.下面關(guān)于結(jié)構(gòu)體類型變量定義不正確的是()
A.structscore B.struct
{ {
intmath; intmath;
intChinese; intChinese;
}Li,Wang;}Li,Wang;
C.structscore D.structscore
{ {
intmath; intmath;
intChinese; intChinese;
}; };Li,Wang;
structscoreLi,Wang;
17.下面各個運算符的優(yōu)先級從左到右依次降低的是()
A.&>>|^B.~&>>|C.>>&^|D.~>>&^
18.設(shè)有說明:intu=1,v=2;表達式:u+v<<2的值是()
A.-1B.1C.9D.12
19.下面程序段中,不能完成的功能是()
FILE*fp;
charch;
fp=fopen(″file1″,″rb+″);
ch=fgetc(fp);
A.建立文件指針fp與文件file1的聯(lián)系 B.從file1文件中讀一個字符
C.向file1文件中寫一個字符 D.打開名為file1的二進制文件
20.在格式:fread(stu,size,n,fp);中,下面說法不正確的是()
A.stu是內(nèi)存中存放數(shù)據(jù)的首地址 B.n表示讀n次
C.size是一個數(shù)據(jù)塊的字節(jié)數(shù) D.fp表示文件指針
二、多項選擇題(本大題共5小題,每小題2分,共10分)
21.微機系統(tǒng)的主機包含的部件有()
A.輸入設(shè)備B.存儲器C.輸出設(shè)備D.運算器E.控制器
22.下面各選項中,能正確進行字符串操作的有()
A.chars[]={′a′,′b′,′c′,′d′,′e′,′\0′};
B.chars[10];s=″abcde″;
C.chars[10];strcpy(s,″abcde″)
D.chars[10];getchar(s);
E.chars[10];gets(s);
23.若有以下定義和語句,則能正確表示數(shù)組a首元素地址的表達式有()
doublea[5],*p1
p1=a;
A.aB.p1+1C.*p1 D.&a[1]E.p1
24.設(shè)有說明:intu=1,v=3,w=7;下面表達式的值為3的有()
A.w>>1&v|uB.u&v&wC.u|v&wD.w&v<<1E.v^w|u
25.在C語言中,下面關(guān)于文件說法正確的有()
A.按數(shù)據(jù)的組織形式,可分為文本文件和二進制文件B.文件只能是ASCII碼文件
C.文件能用fopen()函數(shù)打開D.文件只能是二進制文件
E.對打開的文件可以進行讀或?qū)懖僮?/p>
三、簡答題(本大題共4小題,每小題4分,共16分)
26.簡述C語言中標識符的命名規(guī)則并說明C語言中哪些名是用標識符來標識的?
27.變量有哪幾種存儲類別?指明它們存儲數(shù)據(jù)的區(qū)域。
28.定義char*str=″computer″;是將字符串″computer″賦值給變量str,這種說法對嗎?為什么?
29.設(shè)有說明:
structflower{char*part;char*color;}mum;
char*part_of_flower[3]={″花″,″莖″,″葉″};
char*seven_color[7]={″赤″,″橙″,″黃″,″綠″,″青″,″藍″,″紫″};
試寫出將mum的成員part定義為″花″、成員color定義為″黃″的C語句。
四、閱讀分析題(本大題共6小題,每小題5分,共30分)
30.閱讀下面程序,寫出運行結(jié)果。
main()
{inta=789,x,y,z;
x=a/100;
y=a/10-10*x;
z=a-10*y-100*x
printf(″%d,%o,%x,%d″,x,y,z,100*z+10*y+x);
}
31.閱讀下面程序,并回答問題:
main()
{inta,b,x,y;
scanf(″%d,%d″,&a,&b);
x=a*a+b*b
if(x>100)
{y=x/100;printf(″%d″,y);}
elseprintf(″%d″,a+b);
}
(1)若程序運行時,輸入6和9,輸出結(jié)果是什么?
(2)說明程序的功能。
32.閱讀下面程序,并回答問題:
main()
{intu,v,a,b,t,r;
u=24;v=16;
if(u>v){t=u;u=v;v=t;}
a=u;b=v;
while((r=b%a)!=0)
{b=a;a=r;}
printf(″a=%d\n″,a);
}
(1)程序輸出結(jié)果是什么?
(2)該程序完成什么功能?
(3)若將while循環(huán)替換為do-while循環(huán),請寫出相應(yīng)的程序段。
33.閱讀下面程序,寫出運行結(jié)果。
inta=5,b=5;
chang1()
{inta=4;
printf(″a1=%d,b1=%d\n″,a,b++);
}
chang2(inta,intb)
{a++;b--;
}
main()
{chang1();a++,b++;chang2(a,b);
printf(″a2=%d,b2=%d\n″,a,b);
}
34.閱讀下面程序,寫出運行結(jié)果。
#include<stdio.h>
#include<string.h>
main()
{charp1,p2,srt[50]=″abc″,str1[50];
p1=″abc″;p2=″abc″;
puts(str);
strcpy(str1,p1);
p1=str1;
printf(″%s\n″,strcat(p1,p2));
strcpy(str+1,p1);
printf(″%s\n″,str);
}
35.設(shè)有說明語句int*p;請分析下面語句的含義:
p=(int*)malloc(sizeof(int));
free(p);
五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)
36.從鍵盤輸入n*n個整型數(shù)(n≤20),組成n行n列數(shù)組,打印出其上三角數(shù)組。
37.用循環(huán)語句編程打印下列圖案,并以ASCII碼的形式寫到c盤根目錄下的1x.dat文件中。(第一行的″$″在第20列)
$
$$$
$$$$$
$$$$$$$
全國2007年4月計算機基礎(chǔ)與程序設(shè)計試題
一、單項選擇題(本大題共20小題,每小題1分,共20分)
1.I/O設(shè)備指的是計算機的()
A.存儲設(shè)備 B.輸入和輸出設(shè)備 C.控制器 D.運算器
2.具有只讀功能的內(nèi)存儲器是指()
A.ROM B.RAM C.硬盤 D.CD-ROM
3.十進制數(shù)-5在八位的微機內(nèi)的存儲形式是()
A.00000101 B.10000101 C.11111010 D.11111011
4.C語言源程序的基本單位是()
A.過程 B.函數(shù) C.子程序 D.語句
5.設(shè)有intp,q;以下不正確的語句是()
A.p*=3; B.p/=q; C.p+=3; D.p&&=q;
6.若有下列程序段,欲使a=2,b=3,對應(yīng)正確的數(shù)據(jù)輸入方法是(其中<CR>表示換行)()
inta,b
scanf("%d%d",&a,&b);
A.2<CR> B.a(chǎn)=2b=3<CR> C.a(chǎn)=2,b=3<CR> D.2,3<CR>
3<CR>
7.設(shè)有說明intx=0,y=2;
則執(zhí)行if(x=0)y=1+x;
elsey=x-1;
后,變量y的值是()
A.-1 B.0 C.1 D.2
8.下面程序的輸出結(jié)果是()
main()
{
intx=5,y;
if(x>0)
y=1;
y=0;
if(x<0)
y=-1;
printf("%d",y);
}
A.-1 B.0 C.1 D.5
9.執(zhí)行下面程序段后,輸出字符B的個數(shù)是()
x=0;
while(x<=5){
printf("B");
x+=2;
}
A.0個 B.3個 C.5個 D.6個
10.在下述程序中,for循環(huán)執(zhí)行的次數(shù)是()
main()
{
inti=0,j=10,k=2,s=0;
for(;;)
{
i+=k;
if(i>j)
{
printf("%d\n",s);
break;
}
s+=i;
}
}
A.4 B.5 C.6 D.7
11.若有定義:inta[10];則數(shù)組元素的下標的下限和上限分別是()
A.0和1 B.1和9 C.0和9 D.1和10
12.下列說法不正確的是()
A.一個源程序文件由一個或多個函數(shù)組成 B.一個C程序由一個或多個源程序文件組成
C.一個C程序以函數(shù)為獨立的編譯單位 D.一個C程序必須有一個main()函數(shù)
13.在C語言中,確定函數(shù)返回值的類型由()
A.return語句中的表達式類型決定 B.調(diào)用該函數(shù)的主函數(shù)類型決定
C.調(diào)用函數(shù)時臨時決定D.定義函數(shù)時所指定的函數(shù)類型決定
14.若有以下定義和語句,且0≤i<10,則對數(shù)組元素地址的正確表示是()
inta[]={0,1,2,3,4,5,6,7,8,9},*p;
p=a;
A.&(a+1) B.a(chǎn)++ C.&p D.&p[i]
15.若有以下說明:
chars[10]=“ABCDEFGH”,*p=s;
不能表示字符C的是()
A.s[2] B.s[3] C.s['c'-'a'] D.*(p+2)
16.有下列程序:
func(intx,inty,int*jia,int*jian)
{*jia=x+y;
*jian=x-y;}
main()
{inti=10,j=3,x1,x2;
func(i,j,&x1,&x2);
printf("%d,&d\n",x1,x2);}
則其運行結(jié)果是()
A.0,0 B.10,3 C.13,7 D.7,13
17.設(shè)有結(jié)構(gòu)體的定義如下:
structdata{
intn;
charc;
floatf;
};
則sizeof(structdata)的值是()
A.1 B.3 C.7 D.11
18.如果在程序中要使用系統(tǒng)提供的函數(shù)sqrt,則需要書寫的編譯預(yù)處理命令是()
A.#include<stdio.h> B.#include<math.h>
C.#include<string.h> D.#include<malloc.h>
19.設(shè)有說明:intx=12,y=3;則x¦y的值是()
A.0 B.3 C.12 D.15
20.測試文件是否結(jié)束函數(shù)的函數(shù)名是()
A.feof B.EOF C.eof D.FEOF
二、多項選擇題(本大題共5小題,每小題2分,共10分)
21.下列設(shè)備中屬于外存儲設(shè)備的有()
A.RAMB.光盤C.硬盤D.軟盤E.磁帶
22.設(shè)a=1,b=3,c=0;下面表達式的值為1的有()
A.!a&&b||a&&(c+1) B.a(chǎn)-b+3 C.(a>b)==c
D.(a=0)&&(b=10) E.b>a&&a>c
23.設(shè)有說明:chars[20];()
下面各項中能夠正確的將一個字符串"abcd"賦給s數(shù)組的有
A.s="abcd";B.gets(s);C.scanf("%s",s);
D.strcpy(s,"abcd");E.strcpy("abcd",s);
24.關(guān)于結(jié)構(gòu)體,下面各項中不正確的有()
A.structperson{longbh;char*name;intage;}
psl={9100,"wang",20},*pst;
pst=psl;printf("%d",*pst→age);
B.structmy_data
{intnum;structmy_data*next;};
C.structtest
{char*course;char*class}
D.structworker
{charname[9];floatgz;}Li={"LiPing",532.67};
E.structint_num
{inti_num;structint_num*next;}ione,*pi;
pi=&ione;
25.設(shè)有說明:intx=1,y=2,z=3;則下面表達式的值為0的有()
A.x&y&zB.x¦y¦zC.x^x+y^yD.z>>yE.x&0xff00
三、簡答題(本大題共4小題,每小題4分,共16分)
26.C語言中的運算符“=”與運算符“==”的意義相同嗎?為什么?
27.變量的存儲類別分為哪幾種?它們分別存儲在什么區(qū)域?
28.試定義一個三行的二維字符數(shù)組s,并用"Iamaboy","youareagirl","heisateacher"對其進行初始化。
29.設(shè)有說明:inta[2][3];
請用四種方式來表示數(shù)組元素a[1][2]。
四、閱讀分析題(本大題共6小題,每小題5分,共30分)
30.從鍵盤輸入字符A時,寫出下面程序的運行結(jié)果。(注:字符A的ASCII碼是65)
#include"stdio.h"
main()
{
charch;
ch=putchar(getchar());
printf(",%d,%o,%c",ch+1,ch+1,ch+32);
}
31.閱讀下面程序:
voidmain(void)
{
ints=0,n=0,x;
label:scanf("%d",&x);
if(x>0){
s+=x;
n++;
printf("s=%d,n=%d,even=%f\n",s,n,1.0,*s/n);
}
if(x!=0)
gotolabel;
else
printf("goodbye!");
}
當依次輸入12-3-65130↙時,寫出程序的運行結(jié)果。
32.閱讀下面程序,寫出程序的運行結(jié)果。
chara[]={'9','8','7','6','5','4','3','2,'1','0','\0'};
voidmain(void)
{
inti=8,j;
for(j=0;j<4;j++)
printf("%s\n",&a[i-j]);
}
33.請寫出下面程序的運行結(jié)果。
longfun(intk)
{
longfac;
if(k==0)
return1;
else
{
fac=k*fun(k-1);
printf("fac=%ld\n",fac);
}
returnfac;
}
voidmain(void)
{
intn=3;
printf("result=%ld\n",fun(n+1)/n);
}
34.閱讀下面程序,寫出運行結(jié)果。
#include<stdio.h>
#include<string.h>
voidf(char*s)
{
char*t,c,*p=s;
for(t=s+strlen(s)-1;s<t;s++,t――)
{
c=*s,*s=*t,*t=c;
printf("%s\n",p);
}
}
voidmain(void)
{
chara[20]="abcdefg";
f(a);
}
35.閱讀下面程序段,說明其功能:
intx,y=0,k;FILE*fp;
fp=fopen("data.txt","rb");
for(k=0;k<5;k++)
fread(&x,sizeof(int),1,fp),y+=x;
printf("%d,"y);
fclose(fp);
五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)
36.從鍵盤輸入10個整數(shù)并依次賦給整型數(shù)組中的元素,然后求該數(shù)組中值為正數(shù)的元素
的累加和并輸出該累加和。
37.在c盤根目錄下有一個ASCII碼文件month.dat,文件中有12個字符串分別為英文1~12
月的名字,現(xiàn)從鍵盤上輸入一個表示月份的整數(shù),輸出該月份的名字。若輸入的整數(shù)不在1~12之間,則打印“Illegalmonth”。
全國2007年7月計算機基礎(chǔ)與程序設(shè)計試題
一、單項選擇題(本大題共20小題,每小題1分,共20分)
1.微機中信息的最小單位是()
A.bitB.byteC.KBD.word
2.組成計算機硬件系統(tǒng)的是()
A.控制器、運算器和內(nèi)存儲器 B.CPU、顯示器和鍵盤
C.I/O設(shè)備、CPU和內(nèi)存儲器 D.控制器、內(nèi)存儲器和I/O設(shè)備
3.(75)10的二進制的表示是()
A.(01001001)2B.(01001010)2C.(01001011)2D.(01001100)2
4.字符串常數(shù)“CHINA”在內(nèi)存中存儲時占的字節(jié)數(shù)是()
A.5個B.6個C.7個D.8個
5.如果a=1,b=2,c=3,d=4,則表達式a>b?a:c<d?c:d的值是()
A.1B.2C.3D.4
6.輸出字符串的格式說明符是()
A.%cB.%sC.%uD.%g
7.設(shè)有說明intx=0,y=0;
則執(zhí)行if(x++)y=1+x;
elsey=2+x;
后,變量y的值是()
A.0B.1C.2D.3
8.以下程序段所表示的數(shù)學(xué)函數(shù)關(guān)系是()
y=-1
if(x!=0)if(x>0)y=1;elsey=0;
A.B.
C.D.
9.執(zhí)行下面程序段后,輸出字符A的個數(shù)是()
for(i=0;i<=5;i+=2)
printf(″A″);
A.0個B.3個C.5個D.6個
10.若有定義chara[]=″computer″;則存儲字符m的數(shù)組元素是()
A.a(chǎn)[1]B.a(chǎn)[2]C.a(chǎn)[3]D.a(chǎn)[4]
11.若有定義inta[4]={1,2,3,4};則a[a[3]-a[1]*a[1]]的值是()
A.1B.2C.3D.4
12.凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為()
A.自動(auto)B.靜態(tài)(static)C.外部(extern)D.寄存器(register)
13.如果一個C程序僅由一個源文件組成,則在一個源文件中定義的全局變量的作用域為()
A.源文件的全部范圍 B.本程序的全部范圍
C.本函數(shù)的全部范圍 D.從定義該變量的位置開始至本文件末尾
14.下列定義中,不是指針數(shù)組定義的是()
A.int*p[5];B.float*q[4];C.int(*r)[6];D.char*w[7];
15.若有語句int*point,a=4;和point=&a;下面代表地址的一組選項是()
A.a(chǎn),point,*&aB.&*a,&a,*pointC.*&point,*point,&aD.&a,&*point,point
16.下列程序的運行結(jié)果是()
#difineN9
fun(chars[])
{
char*p=s+4,*q=s;
inti;
for(i=0;i<4;i++,p++,q++)
{
s[i]=*p;
s[i+4]=*q
}
}
main()
{
charss[N]=″ABCDEFGH″;
fun(ss)
printf(″%s\n″,ss);
}
A.EFGHABCDB.EFGHEFGHC.ABCDEFGHD.ABCDABCD
17.設(shè)有結(jié)構(gòu)體的定義如下:()
structcjd{longbh;int*q;charxm[9];};
則sizeof(structcjd)的值是
A.14B.15C.16D.17
18.設(shè)有說明:intx=0x15,y=0x0f;則x&y的結(jié)果是()
A.0x5B.0x15C.0xf0D.0xf5
19.如果在程序中要使用系統(tǒng)提供的函數(shù)strlen,則需要書寫的編譯預(yù)處理命令是()
A.#include<stdio.h> B.#include<math.h>
C.#incLude<string.h> D.#incLude<malloc.h>
20.由FILE*fp;fp=\fopen(″a:\\abc.txt″,″r+″);可以推知fopen函數(shù)的原型是()
A.char*fopen(char,char); B.FILE*fopen(char*,char*);
C.intfopen(char*,char*); D.FILFfopen(char*,char*);
二、多項選擇題(本大題共5小題,每小題2分,共10分)
21.下面基本結(jié)構(gòu)和特性中符合結(jié)構(gòu)化程序設(shè)計的要求的有()
A.選擇結(jié)構(gòu)B.循環(huán)結(jié)構(gòu)C.順序結(jié)構(gòu)
D.各結(jié)構(gòu)之間只有一個入口,至多兩個出口E.各結(jié)構(gòu)之間只有一個入口,一個出口
22.若有intx;float;y下面結(jié)果為整型數(shù)的表達式有()
A.(int)(x+y)B.(int)x+yC.′a′+xD.x+(int)yE.x*y
23.設(shè)有定義:inta[2][3];下面關(guān)于數(shù)組元素引用正確的有()
A.a(chǎn)[0][3]B.a(chǎn)[0][0]C.a(chǎn)[2][1]D.a(chǎn)[1][2]E.a(chǎn)[2][3]
24.設(shè)有關(guān)于結(jié)構(gòu)體類型的定義:()
structcar
{
char*name;
floatprice;
structcar*next;
}*p,*head=NULL;
下面各選項中正確的有
A.p=(structcar*)MALLOC(sizeof(structcar);
B.p=(structcar*)malloc(sizeof(structcar);
C.p.next=head;
D.p->next=head;
E.p=(structcar*)malloc(sizeof(car);
25.設(shè)有說明:intu=1,v=5;則下列表達式的值為1的有()
A.u&vB.v>>2C.u^uD.u|vE.(u<<3)/5
三、簡答題(本大題共4小題,每小題4分,共16分)
26.什么是常量?C語言中常量有哪幾種類型?
27.用while循環(huán)結(jié)構(gòu)完成下面程序段的功能。
s=0
for(i=1;i<=10;i++)
s+=i;
28.若在一個函數(shù)中對變量a,b有如下定義:
staticinta;
autointb;
簡述它們之間的異同。
29.設(shè)有說明:inta[3][4],(*p)[4]=a;請解釋p的含義,并用p給出數(shù)組元素a[2][1]的二種表示。
四、閱讀分析題(本大題共6小題,每小題5分,共30分)
30.從鍵盤輸入字符A時,寫出下面程序的運行結(jié)果。(注:字符A的ASCII碼是65)
#include″stdio.h″
main()
{
intk;
k=getchar();putchar(k);
printf(″,%d,%x,%c″,k,k,k+32);
}
31.閱讀下面程序,寫出運行結(jié)果。
main()
{
intx,sum=0;
loop1:
scanf(″%d″,&x);
if(x!=8)
{
if(x%2==0)
{
sum+=x;
printf(″sum=%d\n″,sum);
}
gotoloopl;
}
sum-=x;
printf(″sum=%d\n″,sum);
}
當程序執(zhí)行時輸入數(shù)據(jù)12345678↙,寫出程序運行結(jié)果。
32.閱讀下面程序,寫出運行結(jié)果。
main()
{
inta[3][3],i,j;
for(i=0;i<3,i++)
for(j=0,j<3;j++)
a[i][j]=i+j
for(i=0;i<3;i++)
{
for(j=0;j<=i;j++)
printf(″%2d″,a[i][j]);
printf(″\n″);
}
}
33.閱讀下面程序,寫出運行結(jié)果。
longfactor(intm)
{
longintfc;
if(m==0||m==1)
fc=1;
else
fc=factor(m-1)*m;
return(fc);
}
main()
{
intn;
longintfac;
for(n=1;n<5;n++)
{
fac=factor(n);
printf(″%Id\n″,fac);
}
}
34.閱讀下面程序,寫出運行結(jié)果。
voidfl(chara[],charb[])
{
inti;
for(i=0;a[i];i++)
b[i]=a[i];
b[i]=′\0′;
}
voidf2(char*c,char*t)
{
while(*c++=*t++);
}
main()
{
chara[20]=″basic″,b[20]=″fortran″,c[20]=″pascal″;
char*p=b,*q=c;
fl(b,a);
printf(″%s\n″,b);
f2(p,q);
printf(″%s\n″,b);
}
35.閱讀下面程序段:
structnumber
{
intu[2];
}v={11,15},*p=&v;
intx;
請分析下面語句的含義:
x=(*p),u[0]>p->u[1]?(*p).u[0]:p->u[1];
五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)
36.用以下近似公式編一個求的近似值的程序。
,其中n的值由鍵盤輸入。
37.用循環(huán)語句編程打印下列圖案,并以ASCII碼的形式寫到c盤根目錄下的lx.dat文件中。(第一行的″$″在第20列)
$
$$$
$$$$$
$$$
$
全國2008年4月計算機基礎(chǔ)與程序設(shè)計試題
一、單項選擇題(本大題共20小題,每小題1分,共20分)
1.存儲容量1KB等于()
A.字節(jié)B.字節(jié)C.字節(jié)D.字節(jié)
2.在計算機中,指令通常是由()
A.操作碼、操作數(shù)組成 B.源操作數(shù)、目標操作數(shù)組成
C.反碼、補碼組成 D.直接尋址、目的尋址組成
3.與十進制數(shù)39等值的二進制數(shù)是()
A.00100111B.01001001C.10100111D.01011000
4.下列設(shè)備中屬于輸出設(shè)備的是()
A.掃描儀B.鍵盤C.鼠標D.顯示器
5.整數(shù)-2在機器內(nèi)存中的表示是()
A.1000000000000010B.1111111111111110
C.11111111111111101D.1111111111111111
6.下列運算符中優(yōu)先級最低的是()
A.>B.!C.%D.==
7.設(shè)有inta=3,b=-4,c=5;表達式++a-c+b++的值是()
A.-6B.-5C.-4D.-3
8.以十進制無符號形式輸出整數(shù)的格式說明符是()
A.%uB.%xC.%oD.%d
9.下列程序段的輸出結(jié)果是()
voidmain(void)
{
inyy=1,x=5;
if(x<0)y=-1;
if(x>=0)y=0;
printf("%d\n",y);
}
A.-1B.0C.1D.5
10.執(zhí)行如下程序段后,x的值是()
intx=1,y=-1;
if(y<0)x-=y;
elsex+=y;
A.-1B.0C.1D.2
11.執(zhí)行while(表達式)循環(huán)的條件是()
A.當表達式的值為0時 B.僅當表達式的值為1時
C.當表達式的值非0時 D.當表達式的值不為1時
12.下列程序段輸出的結(jié)果是()
for(i=1;i<3;i++)
for(j=1;j<3;j++)
printf("%d",i+j);
A.2334B.234C.23D.2
34 34
13.若有定義ints[4]={1,2,3,4};則a[a[2]-3*a[0]+1]的值是()
A.1B.2C.3D.4
14.下列關(guān)于C語言程序說法正確的是()
A.C語言程序總是從有定義的函數(shù)起順序執(zhí)行
B.在C語言程序中,被調(diào)用函數(shù)必須在main函數(shù)中定義
C.C語言程序中的main函數(shù)必須放在程序的開始部分
D.C語言程序總是從main函數(shù)起開始執(zhí)行
15.若有inta[]={1,2,3,4,5,6,7,8,9,10},且0≤i<10,則對數(shù)組元素地址正確表示的是()
A.&a+1B.&a++C.&aD.&a[i]
16.下列關(guān)于結(jié)構(gòu)體類型定義正確的是()
A.structABC B.structABC
{ {
inta inta;
charb charb;
char*p char*p;
} }
C.structABC D.structABC
{ {
inta; inta,
charb; charb,
char*p; char*p,
}; };
17.下列位運算符中,表示按位異或操作的是()
A.~B.│C.^D.&
18.下列各個位運算符的優(yōu)先級從左到右依次升高的是()
A.>>│&~B.│>>&~C.│&>>~D.~│&>>
19.設(shè)有說明:intu=1,v=3;則表達式u<<=v的值是()
A.0B.1C.3D.8
20.如果文件存儲的是數(shù)據(jù)在內(nèi)存中存放的字節(jié)形式,則該文件是()
A.ASCII文件B.文本文件C.二進制文件D.設(shè)備文件
二、多項選擇題(本大題共5小題,每小題2分,共10分)
21.存儲在下列哪些設(shè)備中的信息可以長期保存?()
A.RAMB.ROMC.硬盤D.軟盤E.光盤
22.下列語句中正確的有()
A.if(x>y);B.if(x=y)&&(x!=0)x+=y;
C.if(x!=y)scanf(“%d,&x);elsescanf(“%d”,&y);D.if(x<y){x++;y++;}
E.if(x<y)x++;y++;elsex――;y――;
23.下列循環(huán)將會產(chǎn)生死循環(huán)的有()
A.while(1);B.do{}while(0);C.do{}while(1);
D.for(k=1;k>―10;k++);E.for(k=1;k=10;k++,k――);
24.設(shè)有二維數(shù)組inta[4][3];下列表示數(shù)組元素a[0][2]地址的有()
A.a(chǎn)[2]B.*aC.*a+2D.a(chǎn)[0]+2E.&a[0][2]
25.設(shè)有關(guān)于結(jié)構(gòu)體類型的定義:()
structdata
{
intnum;
structdata*next;
}*p,*head=NULL;
下列語句中正確的有
A.p=(structdata*)malloc(sizeof(structdata));
B.p=(structdata)malloc(sizeof(structdata));
C.p=(structdata*)malloc(sizeof(data));
D.p->next=head;E.p.next=head;
三、簡答題(本大題共4小題,每小題4分,共16分)
26.C語言中的運算符“=”與數(shù)學(xué)中的“=”的意義相同嗎?為什么?
27.簡述C語言標準庫函數(shù)strcpy的格式(或函數(shù)原型)與功能。
28.請按照下列要求寫出相應(yīng)的C語句。
假設(shè)float類型的變量x1和x2已經(jīng)定義過,且x1已經(jīng)初始化為7.3。
(1)定義指向float類型變量的指針變量fpt;
(2)使fptr指向x1;
(3)利用fptr,將fptr指向變量的值賦給x2;
(4)利用fptr,輸出fptr指向變量的值。
29.fread(stu,size,n,fp);中stu、size、n和fp的含義各是什么?
四、閱讀分析題(本大題共6小題,每小題5分,共30分)
30.請閱讀分析下列程序,然后寫出運行結(jié)果。
main()
{
inta=0,b=1;
printf("a=%d,b=%d\n",a,b);
a+=b;b+=a;
printf("a=%d,b=%d\n",a,b);
}
31.若分別輸入0和5時,請閱讀分析下列程序,然后分別寫出兩種輸入情況下程序的運行結(jié)
果。
main()
{
intx,y;
scanf("%d",&x);
if(x>2&&x<=10)
y=x*(x+2);
elseif(x>-1&&x<=2)
y=2*x;
elseif(x<-1)y=x-1;
if(y!=-1)
printf("%d,y);
else
printf("error");
}
32.請閱讀分析下列程序,然后寫出程序的循環(huán)次數(shù)和運行結(jié)果。
main(void)
{
inti;
for(i=1;i<6;i++)
{
if(i%2)
{
printf("@");continue;
}
printf("*");
}
printf("\n");
}
33.請閱讀分析下列程序,然后寫出程序的運行結(jié)果。
voidfun();
voidmain(void)
{
fun();
fun();
}
voidfun()
{
staticinta[3]={0,1,2},b=10;
inti;
if(b==10)
{
for(i=0;i<3;i++)
a[i]+=a[i];
for(i=0;i<3;i++)
printf("%d,",a[i]);
printf("b=%d\n",b);
b++;
}
else
{
for(i=0;i<3;i++)
a[i]*=a[i];
for(i=0;i<3;i++)
printf("%d,"a[i]);
printf("b=%d\n",b);
}
}
34.請閱讀分析下列程序,然后寫出程序的運行結(jié)果。
voidmain(void)
{
inta[]={1,2,3,4,5,6},*p;
p=a;
p++;
*(p+3)+=2;
printf("%d\n",*p);
printf("%d\n",*(p+3));
}
35.設(shè)有下列創(chuàng)建單向鏈表的部分程序:
#include"malloc.h"
#include"string.h"
structautomobile
{
chartype[20];
intload;
structautomobile*next;
}*head=NULL;
voidmain(void)
{
structautomobile*p;
char*automobile_type[3]={"Red_Rock",Yellow_River","East_Wind"};
intautomobile_load[3]={24,18,42},j;
for(j=0;j<3;j++)
{
p=(①______________)malloc(sizeof(structautomobile));
strcpy(②_____________,automobile_type[j]);
p->load=automobile_load[j];
p->next=head;
head=p;
}
}
請閱讀分析程序,然后寫出①和②下劃線處應(yīng)該填寫的內(nèi)容。
五、程序設(shè)計題(本大題共2小題,每小題12分,共24分)
36.若數(shù)組a中有十個整數(shù)8,2,5-3,7,-9,0,-4,10,15,請編程求出該數(shù)組中的最大值和最小值。
37.設(shè)在c盤根目錄下有一個ASCII碼文件zm.dat,且文件中有10個字符。請編程將文件中的字符讀出,再按照從大到小的次序排序并將排序結(jié)果在屏幕上顯示出來。
全國2008年7月計算機基礎(chǔ)與程序設(shè)計試題
一、單項選擇題(本大題共20小題,每小題1分,共20分)
1.一個完整的計算機系統(tǒng)應(yīng)該包括()
A.主機和外設(shè)B.主機和操作系統(tǒng)
C.硬件系統(tǒng)和系統(tǒng)軟件D.硬件系統(tǒng)和軟件系統(tǒng)
2.若用八位二進制表示一個整數(shù),則-4在計算機中的表示是()
A.11111100B.11111011C.10000100D.00000100
3.下列轉(zhuǎn)義字符中,表示回車的是()
A.\0B.\nC.\rD.\f
4.若定義doubled;則d在內(nèi)存中分配的字節(jié)數(shù)是()
A.1個B.2個C.4個D.8個
5.下列表達式中運算結(jié)果為3的表達式是()
A.(-7)%4B.7/4+2C.7/4*4-4D.8/3+8/3
6.設(shè)有inta=3,b=-4,c=5;表達式a++-c+b++的值是()
A.-6B.-5C.-4D.-3
7.在printf語句中,格式說明符u表示()
A.以十進制帶符號形式輸出整數(shù)B.以十六進制帶符號形式輸出整數(shù)
C.以十進制無符號形式輸出整數(shù)D.以十六進制無符號形式輸出整數(shù)
8.若有inta=3,b=4,c=5,d=6,x=4;執(zhí)行下列程序段后x的值是()
if(a<b)
{
if(c==d)
x=c;
}
else
x=d++
A.4B.5C.6D.7
9.關(guān)于switch中的表達式,正確的說法是()
A.它必須是算術(shù)表達式B.它必須是關(guān)系表達式
C.它必須是邏輯表達式D.它可以是任意類型的表達式
10.對do語句while(表達式);結(jié)構(gòu)的循環(huán),下列說法正確的是()
A.當表達式的值為非零時不執(zhí)行循環(huán)體B.循環(huán)體至少被執(zhí)行一次
C.當表達式的值為零時循環(huán)體一次也不執(zhí)行D.循環(huán)體僅被執(zhí)行一次
11.只能在循環(huán)語句中用于結(jié)束本輪循環(huán)的語句是()
A.break;B.continue;C.gotoD.if
12.若有定義inta[4]={1,2,3,4};則a[(a[1]*a[3]+a[0])3-1)]的值是()
A.1B.2C.3D.4
13.若有定義inta[3][5];則數(shù)組a在內(nèi)存中分配的字節(jié)數(shù)是()
A.8B.15C.24D.30
14.已知strl和str2是字符串數(shù)組,下列哪一個函數(shù)能正確的完成字符串的輸入?()
A
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)務(wù)外包服務(wù)簡單合同
- 土地抵押擔(dān)保合同范文
- 勞務(wù)合同補充協(xié)議范本
- 物聯(lián)網(wǎng)技術(shù)研發(fā)應(yīng)用服務(wù)合同
- 醫(yī)療器械區(qū)域代理合同書范本
- 企業(yè)用工合同范本
- 門窗購銷合同年
- 土地居間合同2
- 技術(shù)服務(wù)合同十一范本
- 音樂制作及版權(quán)運營協(xié)議
- 海洋工程設(shè)備保溫保冷方案
- 文藝演出排練指導(dǎo)服務(wù)合同
- 魏寧海超買超賣指標公式
- (正式版)FZ∕T 80014-2024 潔凈室服裝 通 用技術(shù)規(guī)范
- 新起點英語二年級下冊全冊教案
- 【幼兒園戶外體育活動材料投放的現(xiàn)狀調(diào)查報告(定量論文)8700字】
- 剪映專業(yè)版:PC端短視頻制作(全彩慕課版) 課件 第3章 短視頻剪輯快速入門
- 湖南省長沙市開福區(qū)青竹湖湘一外國語學(xué)校2023-2024學(xué)年九年級下學(xué)期一模歷史試題
- 漢密爾頓抑郁和焦慮量表
- 風(fēng)電場事故案例分析
- 人教版八年級數(shù)學(xué)初中數(shù)學(xué)《平行四邊形》單元教材教學(xué)分析
評論
0/150
提交評論