版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單項(xiàng)選擇題
1.(A)是構(gòu)成C語言程序的基本單位。
A、函數(shù)B、過程C、子程序D、子例程
2.C語言程序從C開始執(zhí)行。
A)程序中笫一條可執(zhí)行語句B)程序中第一個函數(shù)
C)程序中的main函數(shù)D)包含文件中的第一個函數(shù)
3、以下說法中正確的是(C)。
A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行
B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C、C語言程序總是從main()函數(shù)開始執(zhí)行
D、C語言程序中的main()函數(shù)必須放在程序的開始部分
4.下列關(guān)于C語言的說法錯誤的是(B)o
A)C程序的工作過程是編輯、編譯、連接、運(yùn)行
B)C語言不區(qū)分大小寫。
C)C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)
D)C程序從main函數(shù)開始執(zhí)行
5.下列正確的標(biāo)識符是(C)。
A.-a1B.a[i]C.a2_iD.intt
6.下列C語言用戶標(biāo)識符中合法的是(B)o
A)3axB)xC)caseD)-e2E)union
7.下列四組選項(xiàng)中,正確的C語言標(biāo)識符是(C)<,
A)%xB)a+bC)a123D)123
8、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是(A)。
A^print_3ddb8aBcB、l\amone_halfstart$it3pai
C、str_1CpppowwhileD、PxqMy->bookline#His.age
9.C語言中的簡單數(shù)據(jù)類型包括(D)o
A、整型、實(shí)型、邏輯型B、整型、實(shí)型、邏輯型、字符型
C、整型、字符型、邏輯型D、整型、實(shí)型、字符型
10.在C語言程序中,表達(dá)式5%2的結(jié)果是£。
A)2.5B)2C)1D)3
11.如果inta=3,b=4:見條件表達(dá)式"avb?a:b"的值是_A_。
A)3B)4C)0D)1
12.若intx=2,y=3,z=4則表達(dá)式xvz?y:z的結(jié)果是(B).
A)4B)3C)2D)0E)1
13.C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是(B)
A)08)0或1C)1D)T或F
14.下面(D)表達(dá)式的值為4.
A)11/3B)11.0/3
C)(float)11/3D)(int)(11.0/3+0.5)
15.設(shè)整型變量a=2,則執(zhí)行下列語句后,浮點(diǎn)型變量b的值不為0.5的是(B
A.b=1.0/aB.b=(float)(1/a)
C.b=1/(float)aD.b=1/(a*1.0)
16.若“intn;floatf=13.8;”,則執(zhí)行“n=(int)f%3"后,n的值是(A)
A.1B.4C.4.333333D.4.6
17.以下對一維數(shù)組a的正確說明是:D
A)chara(10);B)inta[]:
C)intk=5,a[k];D)chara[3]={宣,
18.以下能對一維數(shù)組a進(jìn)行初始化的語句是:(C)
A.inta[5]=(0,1,2,3,4,)B.inta(5)={}
C.inta[3]={0,1,2}D.inta{5}={10*1}
19.在C語言中對一維整型數(shù)組的正確定義為。
A)inta(10);B)intn=10,a[n];
C)intn;a[n];D)#defineN10
inta[N];
20、已知:inta[10];則對a數(shù)組元素的正確引用是(D)。
A、a[10]B、a[3.5]C、a(5)D、a[0]
21.若有以下數(shù)組說明,則i=10;a[a叩元素數(shù)值是(B2
inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10B.9C.6D.5
22.若有說明:inta口[3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為:(B)
A.2B.30.4D.無確定值
57D)369
23.對二維數(shù)組的正確定義是(C)
A.inta[][]={1,23,4,5,6};B.inta[2][]={1,2,34,5,6};
C.inta[][3]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};
24.已知inta[3][4];則對數(shù)組元素引用正確的是
A)a[2][4]B)a[1,3]C)a[2][0]D)a(2)(1)
25.C語言中函數(shù)返回值的類型是由_A_決定的.
A)函數(shù)定義時指定的類型B)return語句中的表達(dá)式類型
C)調(diào)用該函數(shù)時的實(shí)參的數(shù)據(jù)類型D)形參的數(shù)據(jù)類型
26.在C語言中,函數(shù)的數(shù)據(jù)類型是指(A)
A函數(shù)返回值的數(shù)據(jù)類型B.函數(shù)形參的數(shù)據(jù)類型
C調(diào)用該函數(shù)時的實(shí)參的數(shù)據(jù)類型D.任意指定的數(shù)據(jù)類型
27.在函數(shù)調(diào)用時,以下說法正確的是(B)
A.函數(shù)調(diào)用后必須帶回返回值
B.實(shí)際參數(shù)和形式參數(shù)可以同名
C.函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量
D.主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里
28.在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是:(C)
A)autoB)registerC)staticD)extern
29.未指定存儲類別的變量,其隱含的存儲類別為(A)。
A)autoBJstatcC)externDJregister
30.若有以下說明語句:
structstudent
{intnum;
charname[];
floatscore;
}stu;
則下面的敘述不正確的是:(D)
A.struct是結(jié)構(gòu)體類型的關(guān)鍵字
B.structstudent是用戶定義的結(jié)構(gòu)體類型
C.num,score都是結(jié)構(gòu)體成員名
D.stu是用戶定義的結(jié)構(gòu)體類型名
31.若有以下說明語句:
structdate
{intyear;
intmonth;
intday;
Jbrithday;
則下面的敘述不正確的是一C.
A)struct是聲明結(jié)構(gòu)體類型時用的關(guān)鍵字
B)structdate是用戶定義的結(jié)構(gòu)體類型名
C)brithday是用戶定義的結(jié)構(gòu)體類型名
D)year,day都是結(jié)構(gòu)體成員名
32.以下對結(jié)構(gòu)變量stul中成員age的非法引用是B
structstudent
{intage:
intnum:
}stu1,*p;
p=&stu1;
A)stu1.ageB)student.ageC)p->ageD)(*p).age
33.設(shè)有如下定義:
strucksk
{inta;
floatb;
}data;
int*p;
若要使P指向data中的a域,正確的賦值語句是Q
A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;
34.設(shè)有以下說明語句:
typedefstructstu
{inta;
floatb;
二、讀程序
基本輸入輸出及流程控制
1.
#include<stdio.h>
main()
{inta=1,b=3,c=5;
if(c==a+b)
printf("yes'n");
else
printf(,,no\nn);
)
運(yùn)行結(jié)果為:no
2.
#include<stdio.h>
main()
{inta=12,b=-34,c=56,min=0;
min=a;
if(min>b)
min=b;
if(min>c)
min=c;
printf("min=%d",min);
)
運(yùn)行結(jié)果為:min=-34
3.
include<stdio.h>
main()
{intx=2,y=-1,z=5;
if(xvy)
if(yvO)
z=0;
else
z=z+1;
printf(u%d\n,,,z);
)
運(yùn)行結(jié)果為:5
4.
include<stdio.h>
main()
{floata,b,c,t;
a=3;
b=7;
c=1;
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf(M%5.2f,%5.2f,%5.2r,a,b,c);
}
運(yùn)行結(jié)果為:1.00,2.00,7.00
5.
include<stdio.h>
main()
{floatc=3.0,d=4.0;
if(c>d)c=5.0;
else
if(c==d)c=6.0;
elsec=7.0;
printf(u%.1f\nn,c);
)
運(yùn)行結(jié)果為:7.0
6.
#include<stdio.h>
main()
{intm;
scanf("%d“,&m);
if(m>=0)
{if(m%2==0)printf("%disapositiveeven\n",m);
elseprintf("%disapositiveodd\n",m);}
else
{if(m%2==0)printf(M%disanegativeeven\n",m);
M,,
elseprintf(%disanegativeodd\nJm);}
)
若鍵入一9,則運(yùn)行結(jié)果為:?9isanegativeodd
7.
include<stdio.h>
main()
{intnum=O;
while(num<=2){num++;printf("%d\n",num);}
}
運(yùn)行結(jié)果為:
1
2
3
8.
include<stdio.h>
main()
{intsum=10,n=1;
while(n<3){sum=sum-n;n++;}
printf(a%d,%dn,n,sum);
)
運(yùn)行結(jié)果為:3,7
9.
include<stdio.h>
main()
{intnum,c;
scanf(,,%dH,&num);
do{c=num%10;printf(',%d,',c);}while((num/=10)>0);
prlntfCXn**);
}
從鍵盤輸入23,則運(yùn)行結(jié)果為:32
10
include<stdio.h>
main()
{ints=0,a=5,n;
scanf("%d",&n);
do{s+=1;a=a-2;}while(a!=n);
printf("%d,%d\n'*,s,a);
}
若輸入的值1,運(yùn)行結(jié)果為:2,1
11.
#include"stdio.hM
main()
{charc;
c=getchar();
while(c!=*?'){putchar(c);c=getchar();}
)
如果從鍵盤輸入abcde?fgh(回車)
運(yùn)行結(jié)果為:abcde
12.
include<stdio.h>
main()
{charc;
while((c=getchar())!=,$,)
{if(,Av=c&&cv=2)putchar(c);
elseif('a'<=c&&c<='z')putchar(c-32);}
)
當(dāng)輸入為ab*AB%cd#CD$時,運(yùn)行結(jié)果為:ABABCDCD
13.
include<stdio.h>
main()
{intx,y=0;
for(x=1;x<=10;x++)
{if(y>=10)
break;
y=y+x;
}
printf(u%d%d”,y,x);
}
運(yùn)行結(jié)果為:105
14.
#include<stdio.h>
main()
{charch;
ch=getchar();
switch(ch)
{case4:printf(u%c,,,,A,);
case舊':printf(u%c,,,,B,);break;
default:printf(“%s\n",“other”);
})
當(dāng)從鍵盤輸入字母A時,運(yùn)行結(jié)果為:AB
15.
include<stdio.h>
main()
{inta=1,b=0;
scanf(“%d”,&a);
switch(a)
{case1:b=1;break;
case2:b=2;break;
default:b=10;}
printf(M%d”,b);
}
若鍵盤輸入5,運(yùn)行結(jié)果為:10
16.
#include<stdio.h>
main()_
{chargrade=,C,;
switch(grade)
{caseTV:printf(M90-100\nn);
case'B':printf(“80?90\n");
caseC:printf(“70?80\n");
caseO:printf(u60-70\nn);break;
case?E5:printf(u<60\nn);
default:printf(“error!\n");
)
}
運(yùn)行結(jié)果為:
70-80
60-70
17.
include<stdio.h>
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf(%dM,--y);
continue;
}
)
運(yùn)行結(jié)果為:
852
18.
include<stdio.h>
main()
{intl,sum=O;i=1;
do{sum=sum+i;i++;}while(i<=10);
printf(u%d,,,sum);
)
運(yùn)行結(jié)果為:55
19.
include<stdio.h>
#defineN4
main()
{inti;
intx1=1,x2=2;
printfCVn");
for(i=1;i<=N;i++)
{printf("%4d%4d,,,x1,x2);
if(i%2==0)
printf("\nM);
x1=x1+x2;
x2=x2+x1;
}
)
運(yùn)行結(jié)果為:
1235
8132134
20
#include<stdio.h>
main()
{intx,y;
for(x=30,y=0;x>=10,y<10;x-,y++)
x/=2,y+=2;
printf(ux=%d,y=%d\n,,,x,y);
)
運(yùn)行結(jié)果為:
x=0,y=12
21.
include<stdio.h>
#defineN4
main()
{inti,j;
for(i=1;i<=N;i++)
{for(j=1;j<i;j++)
printfC*M);
printf("\n");
}}
運(yùn)行結(jié)果為:
*
*
*
*
數(shù)組
1.
#include<stdio.h>
main()
{inti,a[10];
for(i=9;i>=0;i-)
a[i]=10-i;
printf(u%d%d%d,,,a[2],a[5],a[8]);
)
運(yùn)行結(jié)果為:
852
2.
include<stdio.h>
main()
{inti,a[6];
for(i=0;i<6;i++)
a[i]=i;
for(i=5;i>=0;i-)
printf("%3dM,a[i]);
}
運(yùn)行結(jié)果為:
543210
3.
include<stdio.h>
main()
{inti,k,a[10],p[3];
k=5;
for(i=0;i<10;i++)
a[i]=i;
for(i=0;i<3;i++)
p[i]=a[l*(i+1)];
for(i=0;i<3;i++)
k+=p[i]*2;
printf(''%d\n,',k);
}
運(yùn)行結(jié)果為:21
4.
include<stdio.h>
intm[3][3]={{1},{2},{3?;
intn[3][3]={1,2,3};
main()
{printf(“%d,",m[1][0]+n[0][0]);
printf(u%d\nn,m[0][1]+n[1][0]);
}
運(yùn)行結(jié)果為:
3,0
include<stdio.h>
main()
{inti;
intX[3][3]={1,2,3,4,5,6,7,8,9};
for(i=1;i<3;i++)
printf("%d",x[i][3-i]);
}
運(yùn)行結(jié)果為:
68
6.
include<stdio.h>
main()
{intn[3][3],i,J;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{n[i]U]=i+J;
printf(M%d",n[i][j]);
)
)
}
運(yùn)行結(jié)果為:
012
123
234
7.
include<stdio.h>
main()
{
chardiamondm5]={mm,”」,f
4★,999C9C,*“FC9,*,J9,*“fi9991.
{,_,_,_,h\—9,一,J51—J—JJJ,
inti,j;
for(i=0;i<5;i++)
(
for(j=0;j<5;j++)
printf(,,%c,,,diamond[i][j]);
printf(u\nn);
)
}注:代表一個空格。
運(yùn)行結(jié)果為:
*
**
**
**
*
8.
#include<stdio.h>
main()
{inti,f[10];
f[0]=f[1]=1;
for(i=2;i<10;i++)
f[l]=f[l-2]+f[l-1];
for(i=0;i<10;i++)
{if(i%4==0)
printf(<,\nn);
printf(u%d?,f[i]);
)
}
運(yùn)行結(jié)果為:
1123
581321
3455
9.
#include“stdio.h"
func(intb[])
{intj;
for(j=0;j<4;j++)
bUl=j;
)
main()
{inta[4],i;
func(a);
for(i=0;i<4;i++)
printf(<<%2d,,,a[i]);
)
運(yùn)行結(jié)果為:
0123
10.
#include<stdio.h>
main()
{floatfun(floatx[]):
floatave,a[3]={4.5,2,4};
ave=fun(a);
printf(uave=%7.2f,,,ave);
)
floatfun(floatx[])
{intJ;
floataver=1;
forG=0;j<3;j++)
aver=x[j]*aver;
return(aver);
)
運(yùn)行結(jié)果為:
ave=36.00
11.
#include<stdio.h>
main()
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
bU][i]=a[i]U];
}
for(i=0;i<=2;i++)
{for(j=0;j<=1;j++)
printfC%5d-,b[i][j]);
)
)
運(yùn)行結(jié)果為:
142536
12.
#include<stdio.h>
f(intb[],intn)
{inti,r;
r=1;
for(i=0;i<=n;i++)
r=r*b[i];
return(r);
}
main()
{intx,a0={1,2,3,4,5,6,78,9);
x=f(a,3);
printf("%d\n”,x);
)
運(yùn)行結(jié)果為:
24
13.
#include"stdio.h"
main()
{intj,k;
staticintx[4][4],y[4][4];
for(j=0;j<4;j++)
for(k=j;k<4;k++)
xD][k]=j+k;
for(j=0;j<4;j++)
for(k=j;k<4;k++)
y[k]U]=xU][k];
for(j=0;j<4;j++)
for(k=0;k<4;k++)
printfC*%d;',y[j][k]);
)
運(yùn)行結(jié)果為:
0,0,0,0,1,2,0,0,2,3,4,0,3,4,5,6
函數(shù)
1.
#include<stdio.h>
intSub(inta,intb)
{return(a-b);}
main()
{intx,y,result=0;
scanf("%d,%d",&x,&y);
result=Sub(x,y);
printfC'result=%d\nM,result);
)
當(dāng)從鍵盤輸入:6,3運(yùn)行結(jié)果為:
result=3
2.
#include<stdio.h>
intmin(intx,inty)
{intm;
if(x>y)m=x;
elsem=y;
return(m);
}
main(){
inta=3,b=5,abmin:
abmin-min(a,b);
printf(“minis%d",abmin):
)
運(yùn)行結(jié)果為:
minis5
3.
#include<stdio.h>
func(intx){
x=10;
printf(“%d,”,x);
}
main()
{intx=20;
func(x);
printf("%d”,x);
}
運(yùn)行結(jié)果為:
10,20
4.
include<stdio.h>
intm=4;
intfunc(intx,inty)
{intm=1;
return(x*y-m);
}
main()
{inta=2,b=3;
printf(',%d\n",m);
printf(',%d\nH,func(a,b)/m);
}
運(yùn)行結(jié)果為:
4
1
5.
#include<stdio.h>
intfun(inta,intb)
{if(a>b)return(a);
elsereturn(b);
}
main()
{intx=15,y=8,r;
r=fun(x,y);
printf(Hr=%d\nM,r);
)
運(yùn)行結(jié)果為:r=15
6.
#include<stdio.h>
intfac(intn)
{intf=1,i;
for(i=1;i<=n;i++)
f=f*i;
return⑴;
}
main()
{intj,s;
scanf(u%dn,&j);
s=fac(j);
printf("%d!=%d\n",j,s);
)
如果從鍵盤輸入3,運(yùn)行結(jié)果為:3!=6
7.
include<stdio.h>
unsignedfun6(unsignednum)
{unsignedk=1;
do
{k*=num%10;
num/=10;
}while(num);
returnk;
}
main()
{unsignedn=26;
printf(u%d\nH,fun6(n));
}
運(yùn)行結(jié)果為:12
8.
#include<stdio.h>
intmax(intx,inty);
main()
{inta,b,c
a=7;b=8;
c=max(a,b);
printf("Maxis%dH,c);
)
max(intx,inty)
{mtz;
z=x>y?x:y;
return(z);
)
運(yùn)行結(jié)果為:
Maxis8
指針
1.
#include<stdio.h>
main()
{intx[]={10,20,30,40,50);
int*p;
P=x;
printf("%d”,*(p+2));
}
運(yùn)行結(jié)果為:
30
2.
include<stdio.h>
main()
{chars[]=nabcdefgn;
char*p;
P=s;
printf(,,ch=%c\n,,,*(p+5));
)
運(yùn)行結(jié)果為:
ch=f
3.
#include<stdio.h>
main()
{intaD={1,2,3,4,5);
intx,y,*p;
p=a;
x=*(P+2);
printf(M%d:%d\nM,*p,x);
}
運(yùn)行結(jié)果為:
1:3
4.
#include<stdio.h>
main()
{intarr[]={30,25,20,15,10,5},*p=arr;
P++;
printf(u%d\nM,*(p+3));
}
運(yùn)行結(jié)果為:10
5.
include<stdio.h>
main()
{inta[]={1,2,3,4,5,6};
intx,y,*p;
P=&a[0];
x=*(p+2);
y=*(P+4);
printf(u*p=%d,x=%d,y=%d\nn,*p,x,y);
}
運(yùn)行結(jié)果為:
*p=1,x=3,y=5
6.
#include<stdio.h>
main()
,,,,
{staticchara[]=ProgramJ*ptr;
for(ptr=a,ptr<a+7;ptr+=2)
putchar(*ptr);
)
運(yùn)行結(jié)果為:
Prom
7.
include<stdio.h>
chars[]=''ABCD”;
main()
{char*p;
for(p=s;p<s+4;p++)
printf(u%c%s\nn,*p,p);
)
運(yùn)行結(jié)果為:
AABCD
BBCD
CCD
DD
結(jié)構(gòu)體
1.
#include<stdio.h>
structst
{intx;
inty;
}a[2]={5,7,2,9);
main()
(
printf("%d\n,,,a[O].y*a[1].x);
)
運(yùn)行結(jié)果是:
14
2.
#include<stdio.h>
main()
{structstu
{intnum;
chara[5];
floatscore;
}m={1234,nwangn,89.5};
printf(M%d,%s,%f,,,m.num,m.a,m.score);
)
運(yùn)行結(jié)果是;
1234,wang,89.5
3.
#include<stdio.h>
structcmplx
{intx;
inty;
}cnum[2]={1,3,2,7};
maln()
{
<<,,
printf(%d\nJcnum[0].y*cnum[1].x);
)
運(yùn)行結(jié)果是:6
4.
#include<stdio.h>
structabc
{inta,b,c;};
main()
{structabcs[2]={{1,2;3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
printf(M%d\nM,t);
)
運(yùn)行結(jié)果是:6
三、程序填空
1.輸入一個字符,判斷該字符是數(shù)字、字母、空格還是其他字符。
main()
{charch;
ch=getchar();
-ch>='a'&&chv='z'||ch>='A'&&chv='Z')
printf("ltisanEnglishcharacter\nH);
elseif(ch>='0'&&chv='9')
printf(Hltisadigitcharacter\n");
elseif(ch=='')
printff'ltisaspacecharacters");
else
printf("ltisothercharacter\n");}
2.下列程序的功能是從輸入的整數(shù)中,統(tǒng)計(jì)大于零的整數(shù)個數(shù)和小于零的整數(shù)個數(shù)。用
輸入0來結(jié)束輸入,用i,j來放統(tǒng)計(jì)數(shù),請?zhí)羁胀瓿沙绦颉?/p>
voidmain()
{intn,i=OJ=O;
printffinputainteger,0forend\nn);
scanf("%d”,&n):
while(n或n!=0){
if(n>0)i=i±1;
elsej=j-1;
)
printf(,,i=%4d,j=%4d\n,,,i,j);
)
3.編程計(jì)算1+3+5+……+101的值
#include<stdio.n>
voidmain()
{inti,sum=0;
for(i=1:iv=101;i++)
sum=sum+i;
printf("sum=%d\n",sum);}
4.編程計(jì)算1+3+5...+99的值
main()
{inti,sum=0;
i=1;
while(i<100)
{sum=sum+i;
i++;)
printf(wsum=%d\n,',sum);
}
5.從鍵盤輸入一個字符,判斷它是否是英文字母。
#include<stdio.h>
voidmain()
{charc;
printf(Minputacharacter:");
c=getchar();
if(c>=W&&c<=*Z'IIc>='a'&&c<='z')printf("Yes\n");
elseprintff'No");
}
6.下面程序的功能是在a數(shù)組中有找與x值相同的元素所在位置,請?zhí)羁铡?/p>
#include<stdio.h>
voidmain()
{inta[10],i,x;
printtfinput10integers:");
for(i=0;i<10;i++)
scanf(M%dw,&a[i]);
printf(Minputthenumberyouwanttofindx:");
scanf(,l%d,\&x);
for(i=0;i<W;i++)
if(x==a[i])
break;
if(i<10)
printf(Htheposofxis:%d\n",i);
elseprintf(ucannotfindx!\n*');
)
7.程序讀入20個整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個數(shù),并計(jì)算非負(fù)數(shù)之和。
#include<stdio.h>
main()
{inti,a[20],s,count;
s=count=0;
for(i=0;i<20;i++)
scanf("%d”,&a[i|);
for(i=0;i<20;i++)
{if(a[i]<0)continue;
s+=a[il;
count++;
)
,,
printf('*s=%d\tcount=%d\n)s,count'*);
}
8.輸入一個正整數(shù)n(1vnW10),再輸入n個整數(shù),用選擇法將它們從小到大排序后輸出。
include<stdio.h>
intmain(void){
inti,index,k,n,temp;
/*定義1個數(shù)組a,它有10個整型元素*/
printfC'Entern:");
printf(uEnter%dintegers:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++){/*對n個數(shù)排序*/
index=k;
for()
iff)index=i;
}
printf("Aftersorted:");
for(i=0;i<n;i++)/*輸出n個數(shù)組元素的值*/
return0;}
四、程序改錯
一、下面每個程序的劃線處有語法或邏輯錯誤,請找出并改正,使其得到符合題意的執(zhí)
行結(jié)果。
1.求1x2x3x4x...xn
main()
{longintsum;
intn,i=1;
scanf("%d,,,n);
printf(M\nn);
while(i<n)
{sum=sum*i;
i++;
}
printf("sum=%d”,sum);
}
sum應(yīng)初始化即加入sum=1
第四行改為:scanfC%d",&n);
第六行改為:while(i<=n)
第十行改為:printi(',sum=%ld",sum);
2.求一個數(shù)組中最大值及其下標(biāo)。
main()
{intmax,j,m;
inta[5];
for(j=1;j<=5;j4-4-)
scanf("%d”,a);
max=a[0];
for(j=1;j<=5;j+4-)
if(max>a[j])
{max=a[j];
m=j;
}
printf(“下標(biāo):%d\n最大值:%d”,j,max)
)
第四行改為:for(j=0;jv5;O+)
第五行改為:scanfC'%d';&aO]);
第七行改為:for(j=0;j〈5;j++)
第八行改為:計(jì)(maxva[j])
第十一行改為:printf("下標(biāo):%d\n最大值:%d”,m,max)
3.用一個函數(shù)求兩個數(shù)之和。
sum(x,y)
{floatz;
z=x+y;
return;
)
main()
{floata,b;
intc;
scanf("%f,%f",&a,&b);
c=sum(a,b);
printf("\nSumis%f",sum);
)
第一行改為:floatsum(floatx,floaty);
第四行改為:return(z);
MAff:floatc;
第H-一行:printf(^nSumis%f",c);
4.程序讀入20個整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個數(shù),并計(jì)算非負(fù)數(shù)之和.
#include“stdio.h”
main()
(
inti,s,count,n=20;
inta[nl;
s=count=1;
for(
scanf("%d”,):
for(i=0;i<20;i++)
(
if(a[i]<0)
break;
s+=a[i];
count++;
}
printf("s=%fcouut=%f\n",s,count);
)
Rrintf(“SN%cLtQuntm%d\n”,s.CQunt);
答案:inta[20]
s=count=0;
for(i=0;i<20;i-)
scanfC'%d",&a[i]);
continue;
5.從鍵盤輸入整數(shù)x的值,并輸出y的值.
main()
{floatx,v;
scanf(u%dM,&x);
y=3.5+x;
printf("v:=%d"):
)
正確的:intx;floaty;
printf("y=%f”,y);
6編程計(jì)算下面分段函數(shù),輸入x,輸出y
'x<()
y=?2x-l0<x<10
311J>1()
main()
{intx,y;
printf((<\nInputx:\nM);
scanf("%d”,x);
if(x<0)
y=x-1;
elseif(x>=0||sv=10)
V=2x-1;
else
y=3x-1;
printf(“y=%d”,&v);
}
7.求100?300間能被3整除的數(shù)的和。
main()
{intn;
longsum;
for(r?=100,nv=3U0m++)
{
if(n%3=0)
sum=sum*n;
printf(H%ldn,sum);
8.求表達(dá)式c=J群的值
#include<stdio.h>
#include<math.h>
intfun(intx,inty);
main()
{inta,b;floatf;
scanf(u%d.%dn,a,b);
if(ab>0){
fun(a,b);
printf—Theresultis:%d\n",&f)
)
elseprintf(uerror!M);)
fun(x,v)
{floatresult;
result=sqrt(a+b);
return;
}
9、通過函數(shù)調(diào)用,求兩個數(shù)之差
sub(x.v)
{floatz;
z=x-y;
return;
)
main()
{floata,b;
intc;
scanf(u%f,%fn,&a,&b);
sub(a,b);
printf(“\nSubis%f”,sub);
}
五、編程題
1.輸入2個整數(shù),求兩數(shù)的平方和并輸出。
#include<stdio.h>
intmain(void)
{intta,b,s;
printf(''pleaseinputa,b:\rT);
scanf(*%d%dM,&a,&b);
s=a*a+b*b;
printf(''theresultis%d\n”,s);
return0;
)
2.輸入一個圓半徑r,當(dāng)r〉=0時,計(jì)算并輸出圓的面積和周長,否則,輸出提示信息。
#include<stdio.h>
#definePI3.14
intmain(void)
{doubler,area,girth;
printf("pleaseinputr:\n");
scanf("%lf',&r);
if(r>=0)
{area=Pl*r*r;
girth=2*PI*r;
printf("theareais%.2f\n",area);
printf("(hegirthis%.2f\n'\girth);}
else
printf("Inputerror!\n");
return0;
I
3、已知函數(shù)尸f(x),編程實(shí)現(xiàn)輸入一個x值,輸出y值。
2x+l(x<0)
0(x=0)
{2x-l(x>0)
^include<stdio.h>
voidmain()
{intx,y;
scanf("%d",&x);
if(x<0)y=2*x+l;
elseif(x>0)y=2*x-l;
elsey=0;
printf("%d”,y);
)
4.從鍵盤上輸入一個百分制成績score,按下列原則輸出其等級:scored%,等級為A;
80^score<90,等級為B;70Wscore<80,等級為C;60Wscore<70,等級為D;score<60,
等級為E。
ttinclude<stdio.h>
voidmain(){
intdata;
chargrade;
printf("Pleaseenterthescore:");
scanf("/d”,&data);
switch(data/10)
{case10:
case9:grade=,A';break;
case8:grade='B';break;
case7:grade=,C';break;
case6:grade='I)';break;
default:grade='E';
}
printf(,zthegradeis%c”,grade);
)
5.編一程序每個月根據(jù)每個月上網(wǎng)時間計(jì)算上網(wǎng)費(fèi)用,計(jì)算方法如下:
30TL010小時
費(fèi)用=<每小時3元10-5孫時
每小時2.5元之5孫時
要求當(dāng)輸入每月上網(wǎng)小時數(shù),顯示該月總的上網(wǎng)費(fèi)用(6分)
^include<stdio.h>
voidmainO
{inthour;
floatfee;
printf("pleaseinputhour:\nn);
scanf("%d”,&hour);
if(hour<=10)
fee=30;
elseif(hour>=10&&hour<=50)
fce=3*hour;
elsefee=hour*2.5;
printf(wThetotalfeeis%fw,fee);
)
6.從鍵盤輸入10個整數(shù),統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個數(shù),并在屏幕上輸出。
ttinclude<stdio.h>
voidmain(){
inta,i,p=0,n=0.z=0;
printf('"pleaseinputnumber");
for(i=0;i<10;i++)(
scanf("%d,&a);
if(a>0)p++;
elseif(a<0)n++;
elsez++;
)
printf("正數(shù):%5d:負(fù)數(shù):%5d,零:%5d\n”,p,n,z);
)
7、編程序?qū)崿F(xiàn)求―10之間的所有數(shù)的乘積并輸出。
#include<stdio.h>
voidmain()
longsum=l;
for(i=l;i<=10;i=i+l)
sum=suir*i;
printf(uthcsumofoddis:%ldM,sum);
)
8.從鍵盤上輸入10個數(shù),求其平均值。
#include<stdio.h>
voidmain(){
inta,i,sum=0;
floatave;;
for(i=0;i<10;i++){
scanf&a);
sum+=a;
)
ave=(float)sum/10;
printf(z,avc=%f\n,,avc);
}
9、編程序?qū)崿F(xiàn)求1-1000之間的所有奇數(shù)的和并輸出。
rtinclude<stdio.h>
voidmain()
{inti,SUITFO;
for(i=l;i<1000;i=i+2)
sum=sum+i;
printf("thesumofoddis:%d^,sum);
10.有一個分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,……編程求這個序列的前20項(xiàng)之和。
ttinclude<stdio.h>
voidmain(){
inti,t,n=20;
floata=2,b=l,s=0;
for(i=l;i<=n;i++)
{s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf(*sum=%6.2f",s);
)
11.從鍵盤輸入兩個數(shù),求出其最大值(要求使用函數(shù)完成求最大值,并在主函數(shù)中調(diào)用
該函數(shù))
#include<stdio.h>
floatmax(floatx,floaty);
voidmain()
{floata,b,m;
scanf("%f,%f*?&a,&b);
m=max(a,b);
printf(z,Maxis%f\n”,m);
)
floatmax(floatx,floaty)
{
if(x>=y)
returnx;
else
returny;
)
12.編寫程序,其中自定義一函數(shù),用來判斷一個整數(shù)是否為素數(shù),主函數(shù)輸入一個數(shù),
輸出是否為素數(shù)。
#include<math.h>
#include<stdio.h>
intIsPrimeNumber(intnumber)
{inti;
if(number<=1)
return0;
for(i=2;i<sqrt(number);i++)
{if((number%i)==0)
return0;}
return1;}
voidmain()
{intn;
printf(^Pleaseinputn:");
scanf("%d",&n);
if(IsPrimeNumber(n))
printfCM\n%disaPrimeNumberv,n);
elseprintf("\n%disnotaPrimeNumber**,n);}
13、從鍵盤輸入n個數(shù)存放在數(shù)組中,將最小值與第一個數(shù)交換,輸出交換后的n個數(shù)。
include<stdio.h>
intmain(void){
inti,n,ilndex,temp;
inta[10];
printf("Entern:");
scanf("%d",&n);
printf("Enter%dintegers:\n",n);
for(i=0;i<n;i++)
scanf("%d",
ilndex=0;
for(i=1;i<10;i++){
if(a[i]<a[ilndex]|ilndex=i;
)
temp=a[O];a[O]=a[ilndex];a[ilndex]=temp;
for(i=0;i<10;i++)
printfC'%5d",a[i]);
printf("\n");
return0;
)
14.用數(shù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省大理州2025-2026學(xué)年九年級上學(xué)期物理期末統(tǒng)一測試試題(含答案)
- 2026年上海市楊浦區(qū)初三上學(xué)期一模數(shù)學(xué)試卷和參考答案
- 化工儀表知識課件
- 化工儀表安全培訓(xùn)課件
- 飛機(jī)質(zhì)量控制培訓(xùn)課件
- 城建集團(tuán)下屬公司招15人補(bǔ)充備考考試題庫及答案解析
- 2026山東聊城市市屬事業(yè)單位招聘初級綜合類崗位人員87人備考考試試題及答案解析
- 2026海南安??毓捎邢挢?zé)任公司招聘11人考試備考試題及答案解析
- 2026年池州青陽縣中醫(yī)醫(yī)院公開招聘勞務(wù)派遣工作人員1名備考考試試題及答案解析
- 2026年中國郵政儲蓄銀行股份有限公司普洱市分行招聘見習(xí)人員(10人)考試參考題庫及答案解析
- 小學(xué)三年級口算題大全1000道題及答案(A4打?。?/a>
- 建筑工程檢測設(shè)備配置清單及要求
- CAE入門資料:有限元分析
- 加工中心操作工初級工考試試卷與答案
- 新生兒圍生期感染護(hù)理查房
- 內(nèi)蒙古呼和浩特市2025-2026學(xué)年高三上學(xué)期第一次質(zhì)量監(jiān)測 化學(xué)試卷
- 丈夫出軌婚內(nèi)協(xié)議書范本
- 厚型防火涂料施工規(guī)范及操作流程
- 婚姻家庭矛盾糾紛調(diào)解
- 中性粒細(xì)胞缺乏癥診療與管理體系
- 醫(yī)院行政管理體系介紹
評論
0/150
提交評論