




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《C語言程序設(shè)計(jì)》模擬試卷A
一、單項(xiàng)選擇題(每題2分,共20分)
1、下列有關(guān)C語言的敘述中錯(cuò)誤的是(D)。
A)C語句必須以分號(hào)結(jié)束
B)任何一個(gè)C程序中有且只有一個(gè)主函數(shù)
0復(fù)合語句在語法上可被看作一條語句
D)C程序中對(duì)數(shù)據(jù)的任何操作都可由運(yùn)算符實(shí)現(xiàn)
2、以下不能定義為用戶標(biāo)識(shí)符的是(C)。
A)MAINB)_HJC)2ongD)LINE1
3、以下能正確定義一維數(shù)組的是(C)。
A)inta[5]={0,1,2,3,4,5};B)
inta[5]="01234”;
C)chara[7]="012345”;D)
chara[5]={0,1,2,3,4,5};
4、執(zhí)行下列程序段后輸出的結(jié)果是(C)。
x=9;
while(x>7)
{printf(“*”);x-}
A)****B)***C)**D)*
5、設(shè)charstr1[10]="ABCDE",str2[10]="xyz";
則執(zhí)行語句
printf("%d”,strlen(strcpy(strl,str2)));
后的輸出結(jié)果是(D)
A)9B)8C)5D)3
6、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是
(A)
A)數(shù)組的首地址B)數(shù)組第一個(gè)元素的
值
0數(shù)組中全部元素的值D)數(shù)組元素的個(gè)數(shù)
7、在C程序中,若未在函數(shù)定義時(shí)說明函數(shù)類型,則函
數(shù)默認(rèn)的類型為(C)
A)voidB)doubleC)intD)char
8、下面不能正確進(jìn)行字符串賦值操作的語句是(C)
A)chars[5]={〃ABCD〃};B)chars[5];s=〃ABCD〃;
C)char*s;s=〃ABCDEF";D)char*s="ABCD〃;
9、設(shè)有說明ints[5]={l,3,5,7,9};int*p=s;則下
列表達(dá)式中值為3的是(C)
A)++pB)++(*p)C)*(++p)D)*(p+=2)
10、下面程序的輸出結(jié)果是(B)
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);)
main()
{inta=7,b=5;
printf("%d\n",fun(a,b)/m);}
A)1B)2C)3D)10
4、如有如下定義:inta=l,則語句printf("%d,%d”,
a,++a);的運(yùn)行結(jié)果為(C)o
A)1,1B)1,2C)2,2D)2,
1
5、已知ch為字符型變量,下面表達(dá)式中正確的是(A)。
A)ch='\xff'(p45)B)ch='\ff5C)ch='ff'D)ch="
ff”
7、以下語句中能正確定義變量并賦初值的是(A)。
A)charc=65;B)floatf=f+l.l;
C)doublex=12.3e3.6;D)intm=n=2.0;
8、在執(zhí)行下列程序時(shí)輸入:1357924,則程序的運(yùn)行結(jié)果
為()。
main()
{intx,y;
scanf(“%2d%2d”,&x,&y);
printf(“%2d”,x*y);}
A)13B)1357C)74D)741
二、填空題。(每空2分,共30分)
1.設(shè)有變量說明語句
intx=l,y=2;
則執(zhí)行下述printf語句的輸出結(jié)果是
1,000000。
printf1.0+x/y);
2.執(zhí)行下述程序
ttinclude<stdio.h>
main()
(
intx,y;
scanf("%2d%*2s%ld〃,&x,&y);
printf(〃%d\n〃,x+y);
}
若從鍵盤輸入
12345671
則程序的輸出結(jié)果是_17o
3.以下程序的功能是:從鍵盤上輸入若干名學(xué)生的成績
(百分制,可帶小數(shù),以輸入負(fù)數(shù)或。為結(jié)束標(biāo)志),統(tǒng)
計(jì)并輸出最高成績和最低成績。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
floatx,amax,amin;
scanf&x);
amax=x;
amin=x;
while(x>0.0)
(
if(x>amax)
amax二x;
elseif(x<amin)
amin二x;
scanf(〃%f',&x);
printf(〃\namax二%f\namin=%f\n〃,amax,amin);
}
4.設(shè)n是整型變量,且已具有某正整數(shù)值。根據(jù)下述數(shù)
苧#iiiii11
了.H----1-----—I—------F???d-------------
22334nn+1
求S的值并輸出。可編寫如下之程序段實(shí)現(xiàn)之。請(qǐng)?zhí)?/p>
空。
intk;
doubles,d;
s=0.0;
d=l.0;
k=0;
do
{
s=s+d;
k++;
d=l.0/(k*(k+1));
}while(k<=n);
printf("%f\n”,s);
5.執(zhí)行下述程序的輸出結(jié)果是-3-4044
#include<stdio.h>
main()
inta[6],i;
for(i=0;i<6;i++)
a[i]=9*(i-2+4*(i>3))%5;
printf("%3d〃,a[i]);
}
printf(〃\n〃);
)
6.執(zhí)行下述程序時(shí)的輸出結(jié)果是
6o
ttinclude<stdio.h>
main()
{
inta[]={2,4,6,},*ptr=&a[O],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf(〃%d\n〃,z);
)
7.執(zhí)行下述程序的輸出結(jié)果是60
ttinclude<stdio.h>
main()
inta[][2]={10,20,30,40,50,60},(*p)[2];
P二a;
printf(〃%d\n〃,*(*(p+2)+1));
)
8.執(zhí)行以下程序的輸出結(jié)果是10。
#include<stdio.h>
main()
(
ints,i,sum();
for(i=l;i<=10;i++)
s=sum(i);
printf(〃s二%d\n〃,s);
)
sum(intk)
intx=0;〃沒有繼承
return(x+=k);
9.下述函數(shù)定義用來求出兩個(gè)整數(shù)之各,并通過函數(shù)的
模擬傳地址調(diào)用,傳回兩整數(shù)相加之和值,請(qǐng)?zhí)羁铡?/p>
voidadd(intx,inty,int*z)
{
*z=x+y;
}
10.函數(shù)func的功能是將整型變量x的值轉(zhuǎn)換成二進(jìn)制
數(shù),并將該二進(jìn)制數(shù)的每一位存入由整型指針b所指向
的一維數(shù)組a,最低位存放于a[0]中,次低位存放于a[l]
中,依此類推。請(qǐng)?zhí)羁铡?/p>
voidfunc(intx,int*b)
(
intr;
do
r=x%2;
—*(b++)=r;
x/=2;
}while(x);
}
11.以下程序中函數(shù)invert實(shí)現(xiàn)將數(shù)組內(nèi)所有數(shù)組元素
的值逆置。比如,執(zhí)行本程序?qū)⑤敵?/p>
10987654321
請(qǐng)?zhí)羁铡?/p>
ttinclude<stdio.h>
main()
(
inta[10]={l,2,3,4,5,6,7,8,9,10},i,n=10;
invert(a,n-1);
for(i=0;i<10;i++)
printf("%3d〃,a[i]);
printf(〃\n〃);
invert(int*s,intnum)
int*t,k;
t=s+num;
while(_t>s)
[
k二*s;
*s=*t;
*t=k;
s++;
t一;
12.若有以下定義和說明,則結(jié)構(gòu)體變量w在內(nèi)存中所占
的字節(jié)數(shù)是_42—
unionaa
floatx;
floaty;
charc[6];
);
structst
unionaav;
floatw[5];
doubleave;
w;
13.執(zhí)行下述程序的輸出結(jié)果是95,Li
______________________________________O
^include<stdio.h>
structstr
(
floatx;
char*y;
}*m;
structstrgroup[3]={
95.0,〃Li〃,
82.5,〃Wang〃,
73.5,〃Sun〃
);
main()
(
m=group;
printf(〃%.If,%s\n〃,m->x,m->y);
)
14.下面的程序用來統(tǒng)計(jì)某文件文件中字符的個(gè)數(shù)。請(qǐng)
填空。
^include<stdio.h>
^include<stdlib.h>
main()
FILE*fp;
longnum=0;
if((fp=fopen(〃fnam.dat〃,〃r〃))=NULL)
{
printf("Can'topenthisfile!\n,z);
exit(0);
}
while(fgetc(fp)!=EOF)
(
fgetc(fp);
num++;
}
printf(〃num=%d\n〃,num);
fclose(fp);
)
15.執(zhí)行下述程序后,輸出結(jié)果為-29
ttinclude<stdio.h>
^defineFUN1(a,b)a+b
#defineFUN2(a,b)a-b
^defineCAL(a,b)a*b+a+3(3+5*4—
5+3+5+3)
main()
(
printf(〃%d\n〃,CAL(FUN1(3,5),FUN2(4,5)));
}
三、修改下列程序:(在程序出錯(cuò)的語句下劃橫線并
標(biāo)號(hào),把修改后的語句寫在程序之后的橫線上。)(每
小題5分,共10分)
1.下列給定程序的功能是:讀入一個(gè)整數(shù)(2Ck〈=
10000),打印它的所有質(zhì)因子(即所有為素?cái)?shù)的因子)。
例如,若輸入整數(shù)2310,則應(yīng)輸出2、3、5、7、llo
#include<conio.h>
#include<stdio.h>
IsPrime(intn);
{inti,m;
m=l;
for(i=2;i<n;i++)
if!(n%i)
{m=0;continue;}
return(m);
main()
{intj,k;
printf(a\nPleaseenteranintegernumber
between2and10000:");scanf(,k);
printf("\nTheprimefactor(s)of%dis
(are):",k);
for(j=2;j<=k;j++)
if((!(k%j))&(IsPrime(j))printf("\n%4d”,j);
printf("\n");
)
IsPrime(intn);改為IsPrime(intn)
scanf("%d”,k);改為scanf(“%d",&k);
if!(n%i)
{m=0;continue;}改為
{if(!(n%i))
m=0;continue;}
if((!(k%j))&(IsPrime(j))改為if(!(k%j)&
(IsPrime(j)))
2.下列給定程序中,函數(shù)fun的功能是:逐個(gè)比較a、
b兩個(gè)字符串對(duì)應(yīng)位置中的字符,把ASCH值大或等
于的字符一次存放到C數(shù)組中,形成一個(gè)新的字符串。
例如,若a中的字符串為aBCDeFgH,b中的字符串為:
ABcd,則c中的字符串為:aBcdeFgho
^include<studio.h>
^include<string.h>
void;fun(char*p,char*q,char*c);
{intk=l;
while(*p!=*q)
{ifc[k]=*q;
elsec[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
}
main()
{char
a[10]="aBCDeFgh”,b[10]=“ABcd”,c[80]={“"}
,
fun(a,b,c);
printf("Thestringa:");puts(a);
printf("Thestringb:");puts(b);
printf("Theresult:");puts(c);
studio.h
改為stdio.h
void;fun(char*p,char*q,char*c);改為void
fun(char*p,char*q,char*c)
k=1改為k=0
while(*p!=*q)改為while((*p)[(*q))
k++后添加一個(gè)}
四、閱讀下列程序,在程序后面的橫線上,寫出該程
序的功能或給出運(yùn)行結(jié)果。(每小題4分,共20分)
1.ttinclude<stdio.h>
voidmain()
{charch;intk=0;
for(ch='A';ch〈'H';ch++,k++)02
46
if(k%2==0)
printf("%c",ch);
printf("\n");
)
輸出結(jié)果:ACEG
2.ttinclude<stdio.h>
voidmain()
{intk=0;
charc='A'
do{
switch(c++)
{case,A':k++;
break;
case'B':k一;
caseC:k+=2;break;
case'D':k=k%2;break;
case'E':k=k*10;break;
default:k=k/3;
)
k++;
}while(c〈‘G?);
printf("k=%d\n”,k);
}
輸出結(jié)果:8
3.ttinclude<stdio.h>
voidmain()
{int
a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16
},i,j;
for(i=0;i<6;i++){
for(j=0;j<6;j++)
if(a[i]==b[j])break;
if(j<6)
printf("%d",a[i]);
}
printf("\n”);
)
輸出結(jié)果:4252716
4.ttinclude<stdio.h>
voidmain()
{inta[8]={l,0,1,0,1,0,1,0},i;
for(i=2;i<8;i++)
a[i]+=a[i-l]+a[i-2];
for(i=0;i<8;i++)
printf("%d",a[i]);
printf("\n");
)
輸出結(jié)果:出22571320
五、編程題(本大題20分,第一題8分,第
二題12分)
1、計(jì)算分段函數(shù)的值:
rl-x(x<0)
Y二l
2*x-2(X〉=0)
編程實(shí)現(xiàn)。
2、輸入10個(gè)學(xué)生3門課的成績,用函數(shù)求:找出最
高的分?jǐn)?shù)所對(duì)應(yīng)的學(xué)號(hào)和成績。
模擬試卷十一參考答案:
一、單選題
1)D2)C3)C4)C
5)D
6)A7)C8)C9)C
10)B
二、填空題
1、1.000000
2、17
3、x>0.0
4、k=k+l
5、-3-40443
6、6
7、60
8、10
9、int*z
10、*(b++)
11>t>s
12、42
13、95,Li
14、fgetc(fp)!=EOF
15、29
三、改錯(cuò)題
1>IsPrime(intn);改為IsPrime(intn)
scanf(tt%d,,,k);改為scanf("%d”,&k);
if!(n%i)
{m=0;continue;}改為
{if(!(n%i))
m=0;continue;}
if((!(k%j))&(IsPrime(j))改為if((!(k%j)&
(IsPrime(j)))
2、studio.h改為stdio.h
void;fun(char*p,char*q,char*c);改為void
fun(char*p,char*q,char*c)
k=l改為k=0
while(*p!二*q)改為while((*p)l(*q))
k++后添加一個(gè)}
四、閱讀程序
1、ACEG
2、8
3、4252716
4、1022571320
五、編程題
1、
#include<stdio.h>
main()
(
floatx,y;
scanf("%f",&x);
if(x<0){
y=l-x;
)
else
{y=2*x*x-2;}
printf("%f\n",y);
2、
#include<string.h>
structstudent
{intnum;
floatscore[3];
}stu[10];
voidchosescore(structstudent*stu,intn)
{inti=O,j=O,k=O;
floattemp;
for(i=0;i<3;i++)
{temp=stu[0].score[i];
k=stu[0].num;
for(j=l;j<n;j++)
(
if(temp<stu[j].score[i])
{temp=stu[j].score[i];
k=stu[j].num;}
}
printf("%d%f\n",k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國可掀式鏡框行業(yè)投資前景及策略咨詢研究報(bào)告
- 商洛水磨石地坪施工方案
- 昌平區(qū)車輛道路施工方案
- 2025至2030年中國促銷筐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國框架式開式液壓機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2024-2025學(xué)年高中生物專題1課題1果酒和果醋的制作練習(xí)含解析新人教版選修1
- 2024-2025學(xué)年新教材高中物理1.1質(zhì)點(diǎn)參考系學(xué)案新人教版必修第一冊(cè)
- 第八單元大單元教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語文二年級(jí)上冊(cè)
- 全國中圖版高中信息技術(shù)選修2第二單元第二節(jié)全景新視野2、《全景圖的再創(chuàng)作》教學(xué)設(shè)計(jì)
- 2025年印刷用品及器材項(xiàng)目建議書
- 《工程熱力學(xué)》(第四版)配套教學(xué)課件
- 03fusionsphere虛擬化場(chǎng)景概要設(shè)計(jì)模板hld
- (更新版)HCIA安全H12-711筆試考試題庫導(dǎo)出版-上(單選、多選題)
- 火災(zāi)接警處置流程圖
- 新能源技術(shù)(第二版)完整版課件(全)
- JJG646-2006移液器檢定規(guī)程-(高清現(xiàn)行)
- 課程改革與學(xué)前教育發(fā)展研究
- 普通昆蟲學(xué)-實(shí)驗(yàn)指導(dǎo)
- 中職對(duì)口升學(xué)養(yǎng)殖專業(yè)獸醫(yī)基礎(chǔ)習(xí)題集判斷題詳解
- 2022年最新小升初個(gè)人簡歷
- 初中物理各單元思維導(dǎo)圖
評(píng)論
0/150
提交評(píng)論