




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單項(xiàng)選擇題:
1.(A)是構(gòu)成C語(yǔ)言程序的基本單位。
A、函數(shù)B、過(guò)程C、子程序D、子例程
2.C語(yǔ)言程序從C開(kāi)始執(zhí)行。
A)程序中第一條可執(zhí)行語(yǔ)句B)程序中第一個(gè)函數(shù)
C)程序中的main函數(shù)D)包含文件中的第一個(gè)函數(shù)
3、以下說(shuō)法中正確的是(C)。
A、C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B、在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C、C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行
D、C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分
4.下列關(guān)于C語(yǔ)言的說(shuō)法錯(cuò)誤的是(B)o
A)C程序的工作過(guò)程是編輯、編譯、連接、運(yùn)行
B)C語(yǔ)言不區(qū)分大小寫。
C)C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)
D)C程序從main函數(shù)開(kāi)始執(zhí)行
5.下列正確的標(biāo)識(shí)符是(C)。
A.-a1B.a[i]C.a2_iD.intt
6.下列C語(yǔ)言用戶標(biāo)識(shí)符中合法的是(B)。
A)3axB)xC)caseD)-e2E)union
7.下列四組選項(xiàng)中,正確的C語(yǔ)言標(biāo)識(shí)符是(C)。
A)%xB)a+bC)a123D)123
8、下列四組字符串中都可以用作C語(yǔ)言程序中的標(biāo)識(shí)符的是(A)o
A、print_3ddb8aBcB>l\amone_halfstart$it3pai
C、str_1CpppowwhileD、PxqMy->bookline#His.age
9.C語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類型包括(D)。
A、整型、實(shí)型、邏輯型B、整型、實(shí)型、邏輯型、字符型
C、整型、字符型、邏輯型D、整型、實(shí)型、字符型
10.在C語(yǔ)言程序中,表達(dá)式5%2的結(jié)果是)_o
A)2.5B)2C)1D)3
11.如果inta=3,b=4;則條件表達(dá)式"a<b?a:b"的值是
A)3B)4C)0D)1
12.若intx=2,y=3,z=4則表達(dá)式x<z?y:z的結(jié)果是(B).
A)4B)3C)2D)0E)1
13.C語(yǔ)言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是(B)。
A)0B)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í)行下列語(yǔ)句后,浮點(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.以下對(duì)一維數(shù)組a的正確說(shuō)明是:D
A)chara(10);B)inta[];
C)intk=5,a[k];D)chara[3]={'a','b','c'};
18.以下能對(duì)一維數(shù)組a進(jìn)行初始化的語(yǔ)句是:(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語(yǔ)言中對(duì)一維整型數(shù)組的正確定義為D
A)inta(10);B}intn=10,a[n];
C)intn;a[n];D)#defineN10
inta[N];
20、已知:inta[10];則對(duì)a數(shù)組元素的正確引用是(D
A、a[10]B、a[3.5]C、a(5)D、a[0]
21.若有以下數(shù)組說(shuō)明,則i=10;a[a叩元素?cái)?shù)值是(B
inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10B.9C.6D.5
22.若有說(shuō)明:inta口網(wǎng)={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為:(B)
A.2B.3C.4D.無(wú)確定值
57D)369
23.對(duì)二維數(shù)組的正確定義是(C)
A.inta口口={123,4,5,6};B.inta[2]口={123,4,5,6};
C.inta[][3]={1,2,3,4,5,61;D.inta[2,3]={1,2,3,4,5,6};
24.已知inta[3][4];則對(duì)數(shù)組元素引用正確的是Q
A)a[2][4]B)a[1,3]C)a[2][0]D)a(2)(1)
25.C語(yǔ)言中函數(shù)返回侑的類型是由A決定的.
A)函數(shù)定義時(shí)指定的類型B)return語(yǔ)句中的表達(dá)式類型
C)調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型D)形參的數(shù)據(jù)類型
26.在C語(yǔ)言中,函數(shù)的數(shù)據(jù)類型是指(A)
A函數(shù)返回值的數(shù)據(jù)類型B.函數(shù)形參的數(shù)據(jù)類型
C調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型D.任意指定的數(shù)據(jù)類型
27.在函數(shù)調(diào)用時(shí);以下說(shuō)法正確的是(B)
A.函數(shù)調(diào)用后必須帶回返回值
B.實(shí)際參數(shù)和形式參數(shù)可以同名
C.函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量
D.主調(diào)函數(shù)和被調(diào)函數(shù)總是在同?個(gè)文件里
28.在C語(yǔ)言中,表示靜態(tài)存儲(chǔ)類別的關(guān)鍵字是:(C)
A)autoB)registerC)staticD)extern
29.未指定存儲(chǔ)類別的變量,其隱含的存儲(chǔ)類別為(A)。
A)autoB)staticC)externD)register
30.若有以下說(shuō)明語(yǔ)句:
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.若有以下說(shuō)明語(yǔ)句:
structdate
{intyear;
intmonth;
intday;
Jbrithday;
則下面的敘述不正確的是Q.
A)struct是聲明結(jié)構(gòu)體類型時(shí)用的關(guān)鍵字
B)structdate是用戶定義的結(jié)構(gòu)體類型名
C)brithday是用戶定義的結(jié)構(gòu)體類型名
D)year,day都是結(jié)構(gòu)體成員名
32.以下對(duì)結(jié)構(gòu)變量stul中成員age的非法引用是B
structstudent
{intage:
intnum;
}stu1,*p:
p=&stu1;
A)stul.ageB)student.ageC)p->ageD)(*p).age
33.設(shè)有如下定義:
strucksk
{inta;
floatb;
}data;
int*p;
若要使P指向data中的a域,正確的賦值語(yǔ)句是
A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;
34.設(shè)有以下說(shuō)明語(yǔ)句:
typedefstructstu
{inta;
floatb;
}stutype;
則下面敘述中錯(cuò)誤的是(D)。
A、struct是結(jié)構(gòu)類型的關(guān)鍵字
B、structstu是用戶定義的結(jié)構(gòu)類型
C、a和b都是結(jié)構(gòu)成員名
D、stutype是用戶定義的結(jié)構(gòu)體變量名
35.語(yǔ)句int*D:說(shuō)明了C。
A)p是指向一維數(shù)組的指針
B)p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)
C)p是指向int型數(shù)據(jù)的指針
D)p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針
36.下列不正確的定義是(A)o
A.int*p=&i,i;B.int*p,i;
C.inti,*p=&i;D.inti,*p;
37.若有說(shuō)明:intn=2,*p=&n,*q=p,則以下非法的賦值語(yǔ)句是:(D)
A)p=qB)*p=*qC)n=*qD)p=n
38.有語(yǔ)句:int則工_是對(duì)指針變量P的正確定義和初始化。
A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;
39.若有說(shuō)明語(yǔ)句“inta[5],*p=a;",則對(duì)數(shù)組元素的正確引用是(C)。
A.a[p]B.p[a]C.*(p+2)D.p+2
40.有如下程序
inta[10]={123,4,5,6,7,8,9,10},*P=a;
則數(shù)值為9的表達(dá)式是」
A)*P+9B)*(P+8)C)*P+=9D)P+8
41.在C語(yǔ)言中,以D作為字符串結(jié)束標(biāo)志
A)''n'B)''C)'O'D)''0'
42.下列數(shù)據(jù)中屬于“字符串常量”的是(A)。
A."a”B.{ABC}C.'abc\0'D.'a'
43.已知charx[]="hello",y[]={,h','e','a','b','e'};,則關(guān)于兩個(gè)數(shù)組長(zhǎng)度的正確描述是B.
A)相同B)x大于yC)x小于yD)以上答案都不對(duì)
44.下面各函數(shù)中能實(shí)現(xiàn)打開(kāi)文件功能的是
A)fopenB)fgetcC)fputcD)fclose
45.下列語(yǔ)句中,把變量fp說(shuō)明為一個(gè)文件型指針的是(A)。
A)FILE*fp;B)FILEfp;
C)file*fp;D)filefp;
46.以讀寫方式打開(kāi)一個(gè)已有的文本文件filel,并且FILE*fp,下面fopen函數(shù)正確的調(diào)用
方式是(B)。
A.fp=fopen("file1","r")
B.fp=fopen("file1",“r+”)
C.fp=fopen("file",“rb”)
D.fp=fopen("file1",“w")
讀程序
基本輸入輸出及流程控制
1.
#include<stdio.h>
main()
{inta=1,b=3,c=5;
if(c==a+b)
printf(Myes\nM);
else
printf(Mno\nM);
)
運(yùn)行結(jié)果為:no
#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(Hmin=%dM,min);
)
運(yùn)行結(jié)果為:min=-34
#include<stdio.h>
main()
{intx=2,y=-1,z=5;
if(xvy)
if(y<o)
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(H%5.2f,%5.2f,%5.2fH,a,b,c);
)
運(yùn)行結(jié)果為:LOO,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\n,,,c);
)
運(yùn)行結(jié)果為:7.0
6.
#include<stdio.h>
main()
{intm;
scanf(M%dM,&m);
if(m>=0)
{if(m%2==0)printf(M%disapositiveeven\nM,m);
elseprintf(K%disapositiveodd\nn,m);}
else
{if(m%2==0)printf(M%disanegativeeven\nM,m);
elseprintf(M%disanegativeodd\nM,m);}
)
若鍵入一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++;}
t<,,
printf(%d,%dJn,sum);
)
運(yùn)行結(jié)果為:3,7
#include<stdio.h>
main()
{intnum,c;
scanf(M%dMj&num);
do{c=num%10;printf(M%dM,c);}while((num/=10)>0);
printf(”\n");
}
從鍵盤輸入23,則運(yùn)行結(jié)果為:32
10
#include<stdio.h>
main()
{ints=0,a=5,n;
scanf(M%dM,&n);
do{s+=1;a=a-2;}while(a!=n);
printf(M%d,%d\nM,s,a);
)
若輸入的值1,運(yùn)行結(jié)果為:2,1
11.
#include"stdio.h”
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(Kv=c&&cv=2)putchar(c);
elseif("a'<=c&&c<=3)putchar(c-32);}
)
ab*AB%cd#CD$0t,運(yùn)行結(jié)果為:ABABCDCD
13.
#include<stdio.h>
main()
{intx,y=0;
for(x=1;x<=10;x++)
{if(y>=w)
break;
y=y+x;
}
printf(u%d%d,,,y,x);
)
運(yùn)行結(jié)果為:105
14.
#include<stdio.h>
main()
{charch;
ch=getchar();
switch(ch)
{caseTV:printf(“%c",'A');
case'B':printf(“%c",'B);break;
default:printf("%s\n"Jother");
))
當(dāng)從鍵盤輸入字母A時(shí),運(yùn)行結(jié)果為:AB
15.
#include<stdio.h>
main()
{inta=1,b=0;
scanf(u%dn,&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)
{case'A':printf(tt9O-1OO\n,,)5
case'B':printf(“80?90\n");
caseC9:printf(“70?80\n");
caseDJ:printf(“60?70\n");break;
caseE:printf("v60\rT);
default:printf("error!\rT);
)
)
運(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()
{inti,sum=O;i=1;
do{sum=sum+i;i++;}while(i<=10);
printf(<<%d,,,sum);
}
運(yùn)行結(jié)果為:55
19.
#include<stdio.h>
#defineN4
main()
{inti;
intx1=1,x2=2;
printf(M');
for(i=1;i<=N;i++)
{printf(M%4d%4dM,x1,x2);
if(i%2==0)
printf(M\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++)
printf("");
printf("*");
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(t<%d%d%d,,,a[2],a[5],a[8]);
}
運(yùn)行結(jié)果為:
852
#include<stdio.h>
main()
{inti,a[6];
for(i=0;i<6;i++)
a[i]=i;
for(i=5;i>=0;i-)
printf(M%3dM,a[i]);
)
運(yùn)行結(jié)果為:
543210
#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[l]=a[i*(i+1)];
for(i=0;i<3;i++)
k+=p[l]*2;
printf(M%d\nM,k);
)
運(yùn)行結(jié)果為:21
#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(%d\nJm[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(M%dH,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;
ll
printf(%d",n[i][j]);
}
)
)
運(yùn)行結(jié)果為:
012
123
234
7.
#include<stdio.h>
main()
{
chardiamond[][5]={{二二'*,},d*3
{,*,,,,,,,,*,]r?,,*,,,,*,I[,,,,,*,]1.
J—J—J—?jJi_,J—,Jn—,一,JiJ
inti,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf(li%c,,,diamond[i][j]);
printf("\n”);
)
}注:代表一個(gè)空格。
運(yùn)行結(jié)果為:
*
**
**
**
*
8.
#include<stdio.h>
main()
{inti,f[10];
f[0]=f[1]=1;
for(i=2;i<10;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<10;i++)
{if(i%4==0)
printf(<<\n,,J;
printf(u%dM,f[i]);
)
)
運(yùn)行結(jié)果為:
1123
581321
3455
9.
#include“stdio.h"
func(intb[])
{intj;
for(j=0;j<4;j++)
bU]=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;
for(j=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++)
b[j][i]=a[i]U];
}
for(i=0;i<=2;i++)
{for(j=0;j<=1;j++)
printf("%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,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3);
printf(l,%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++)
x[j][k]=j+k;
forG=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++)
printf("%d,",y[j][k]);
)
運(yùn)行結(jié)果為:
0,0,0,0,1,2,0,0,2,3,4,0,3,4,5,6
函數(shù)
#include<stdio.h>
intSub(inta,intb)
{return(a-b);}
main()
{intx,y,result=0;
scanf(M%d,%dM,&x,&y);
result=Sub(x,y);
printf("result=%d\nM,result);
)
當(dāng)從鍵盤輸入:6,3運(yùn)行結(jié)果為:
result=3
#include<stdio.h>
intmin(intx,inty)
{intm;
if(x>y)m=x;
elsem=y;
return(m);
)
main(){
inta=3,b=55abmin;
abmin=min(a,b);
printf(uminis%d",abmin);
)
運(yùn)行結(jié)果為:
minis5
#include<stdio.h>
func(intx){
x=10;
printf("%d,”,x);
)
main()
{intx=20;
func(x);
u,,
printf(%dJx);
)
運(yùn)行結(jié)果為:
10,20
#include<stdio.h>
intm=4;
intfunc(intx,inty)
{intm=1;
return(x*y-m);
)
main()
{inta=2,b=3;
printf(M%d\nM,m);
printf("%d\n",func(a,b)/m);
)
運(yùn)行結(jié)果為:
4
1
#include<stdio.h>
intfun(inta,intb)
{if(a>b)return(a);
elsereturn(b);
)
main()
{intx=15,y=8,r;
r=fun(x,y);
printf("r=%d\n",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(f);
)
main()
{intj,s;
scanf(<t%d,,,&j);
s=fac(j);
printf(H%d!=%d\nH,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\n,,,fun6(n));
)
運(yùn)行結(jié)果為:12
8.
#include<stdio.h>
intmax(intx,inty);
main()
{inta,b,c
a=7;b=8;
c=max(a5b);
printf("Maxis%dM,c);
)
max(intx,inty)
{intz;
z=x>y?x:y;
return(z);
)
運(yùn)行結(jié)果為:
Maxis8
指針
#include<stdio.h>
main()
{intx[]={10,20,30,40,50};
int*p;
P=x;
printf("%d”,*(p+2));
)
運(yùn)行結(jié)果為:
30
#include<stdio.h>
main()
{chars[]="abcdefg”;
char*p;
P=s;
printf(uch=%c\n,,,*(p+5));
)
運(yùn)行結(jié)果為:
ch=f
#include<stdio.h>
main()
{inta[]={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(<<%d\n,,,*(P+3));
)
運(yùn)行結(jié)果為:10
5.
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6};
intx,y,*p;
P=&a[O];
x=*(p+2);
y=*(p+4);
printf(ll*p=%d,x=%d,y=%d\n",*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\nM,*p,p);
)
運(yùn)行結(jié)果為:
AABCD
BBCD
CCD
DD
結(jié)構(gòu)體
#include<stdio.h>
structst
{intx;
inty;
}a[2]={5,7,2,9};
main()
(
printf(M%d\nM,a[O].y*a[1].x);
)
運(yùn)行結(jié)果是:
14
#include<stdio.h>
main()
{structstu
{intnum;
chara[5];
floatscore;
}m={1234,"wang",89.5};
tt,,
printf(%dJ%s,%f,m.num,m.a5m.score);
)
運(yùn)行結(jié)果是:
1234,wang,89.5
3.
#include<stdio.h>
structcmplx
{intx;
inty;
}cnum[2]={1,3,2,7};
main()
{
<<,,
printf(%d\n5cnum[0].y*cnum[1].x);
)
運(yùn)行結(jié)果是:6
#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("%d\n",t);
}
運(yùn)行結(jié)果是:6
二、程序填空
1.輸入一個(gè)字符,判斷該字符是數(shù)字、字母、空格還是其他字符。
main()
{charch;
ch=getchar();
if(ch>='a'&&chv='z'||ch>='A'&&chv='Z')
printf(,'ltisanEnglishcharacter\nH);
else附ch>='0'&&chv='9')
printf(nltisadigitcharacter\nn);
elseif(ch==**)
printf(nltisaspacecharacter\nH);
else
printf(nltisothercharacter\nH);}
2.下列程序的功能是從輸入的整數(shù)中,統(tǒng)計(jì)大于零的整數(shù)個(gè)數(shù)和小于零的整數(shù)個(gè)數(shù)。用
輸入0來(lái)結(jié)束輸入,用i,j來(lái)放統(tǒng)計(jì)數(shù),請(qǐng)?zhí)羁胀瓿沙绦颉?/p>
voidmain()
{intn,i=O,j=O;
printf(uinputainteger,0forend\nM);
scanf("%d”,&n);
while(n或n!=0){
if(n>0)i=i+1;
elsej=j+1;
)
,,
printfn=%4d,j=%4d\nJi,j);
)
3.編程計(jì)算1+3+5+....+101的值
#include<stdio.h>
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("sum=%d\n”,sum);
)
5.從鍵盤輸入一個(gè)字符,判斷它是否是英文字母。
#include<stdio.h>
voidmain()
{charc;
printf(“inputacharacter:");
c=getchar();
if(c>=_A_&&c<=_Z_lIc>='a'&&c<=N)printf(nYes\nH);
elseprintf("No");
)
6.下面程序的功能是在a數(shù)組中查找與x值相同的元素所在位置,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
voidmain()
{inta[10],i,x;
printf(uinput10integers:");
for(i=0;i<10;i++)
scanf("%d”,&a[i]);
printfflnputthenumberyouwanttofindx:");
scanf(u%d,,,_&x_);
for(i=0;i<10;i++)
iffx==afi1)
break;
if(i<10)
printf(utheposofxis:%d\n”,i);
elseprintf(,<cannotfindx!\nM);
)
7.程序讀入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(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[i1;
count++;
)
printf(us=%d\tcount=%d\nM,s,counf);
)
8.輸入一個(gè)正整數(shù)n(1vnW10),再輸入n個(gè)整數(shù),用選擇法將它們從小到大排序后輸出。
#include<stdio.h>
intmain(void){
inti,index,k,n,temp;
/*定義1個(gè)數(shù)組a,它有10個(gè)整型元素*/
printf("Entern:'*);
printf("Enter%dintegers:1n);
for(i=0;i<n;i++)
scanf(,,%dM,&a[i]);
for(k=0;k<n-1;k++){/*對(duì)n個(gè)數(shù)排序*/
index=k;
for()
if()index=i;
)
printf("Aftersorted:");
for(i=0;i<n;i++)/*輸出n個(gè)數(shù)組元素的值*/
return0;}
程序改錯(cuò)
一、下面每個(gè)程序的劃線處有語(yǔ)法或邏輯錯(cuò)誤,請(qǐng)找出并改正,使其得到符合題意的執(zhí)
行結(jié)果。
1.求1x2x3x4x...xn
main()
{longintsum;
intn,i=1;
scanf("%d",n);
printf("\n'');
while(i<n)
{sum=sum*i;
i++;
}
printf("sum=%d'',sum);
}一
sum應(yīng)初始化即加入sum=1
第四行改為:scanf("%d",&n);
第六行改為:while(i<=n)
第十行改為:printf("sum=%ld",sum);
2.求一個(gè)數(shù)組中最大值及其下標(biāo)。
main()
{intmax,j,m;
inta[5];
for(j=1;j<=5;j++)
scanf("%d”,a);
max=a[0];
for(j=1;j<=5;j++)
if(max>a[j])
{max=a[j];
m=j;
}
printf("下標(biāo):%d\n最大值:%d”,j,max)
}
第四行改為:for(j=0;j<5;j++)
第五行改為:scanf("%d",&a[j]);
第七行改為:for(j=0;j<5;j++)
第八行改為:許(maxva[j])
第十三行改為:prin廿("下標(biāo):%d\n最大值:%d",m,max)
3.用一個(gè)函數(shù)求兩個(gè)數(shù)之和。
sum(x,y)
{floatz;
z=x+y;
return;
}
main()
{floata,b;
intc;
scanf(M%f,%fM,&a,&b);
c=sum(a,b);
printf(M\nSumis%fM,sum);
第一行改為:floatsum(floatx,floaty);
第四行改為:retum(z);
第八行:floatc;
第H'行:printf(M\nSumis%fH,c);
4.程序讀入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和.
#include“stdio.h"
main()
{
inti,s,count,n=20;
inta[nl;
s=count=1;
for(i=1,iv20,?)
scanf("%d”,alii);
for(i=0;i<20;i++)
{
if(a[i]<0)
break;
s+=a[i];
count++;
)
printf(“s=%fcouut=%f\rT,s,count);
)
答案:inta[20]
s=count=0;
for(i=0;i<20;i-)
scanf("%d”,&a[i]);
continue;
5.從鍵盤輸入整數(shù)x的值,并輸出y的值.
main()
{floatx,v;
scanf(u%d,J,&x);
y=3.5+x;
printf("v=%d");
}
正確的:intx;floaty;
printf(uy=%r,y);
6編程計(jì)算下面分段函數(shù),輸入x,輸出y
'x-1x<0
y=<2x-l0<x<10
3x-llx>10
main()
{intx,y;
printf(u\nInputx:\n,J);
scanf("%d”,x);
if(x<0)
y=x-1;
elseif(x>=0||xv=10)
V=2x-1;
else
y=3x-1;
printf("v=%d”,&v);
}
7.求100?300間能被3整除的數(shù)的和。
main()
{intn;
Ionasum;
for(n=100,nv=300m++)
{
if(n%3=0)
sum=sum*n;
}
printf(u%ld
}
8.求表達(dá)式,=而的值
#include<stdio.h>
#include<math.h>
intfun(intx,inty);
main()
{inta,b;floatf;
scanf(tt%d,%d,,,a,b);
if(ab>0){
fun(a,b);
printfC'Theresultis:%d\n”,&f)
)
elseprintf("error!");}
fun(x,v)
{floatresult;
result=sart(a+b);
return;
}
9、通過(guò)函數(shù)調(diào)用,求兩個(gè)數(shù)之差
sub(xM
{floatz;
z=x-y;
return;
)
main()
{floata,b;
intc;
scanf("%f,%f”,&a,&b);
sub(a,b);
printf("\nSubis%f”,sub);
)
四、編程題
1.輸入2個(gè)整數(shù),求兩數(shù)的平方和并輸出。
#include<stdio.h>
intmain(void)
{intta,b,s;
printf(z/pleaseinputa,b:\n〃);
scanf,&a,&b);
s=a*a+b*b;
printf("theresultis%d\n,z,s);
return0;
)
2.輸入一個(gè)圓半徑r,當(dāng)r>=0時(shí),計(jì)算并輸出圓的面積和周長(zhǎng),否則,輸出提示信息。
#include<stdio.h>
#definePI3.14
intmain(void)
{floatr,s,1;
printf(,zpleaseinputr:\n〃);
scanf(〃%f",&r);
if(r>=0)
{s=pi*r*r;
l=2*i*r;
printf(/ztheareais%f\n〃,s);
printf(z/thecircumferenceis%f\n〃,1);}
else
printf("inputerror!\n,z);
return0;
}
3、已知函數(shù)尸f(x),編程實(shí)現(xiàn)輸入一個(gè)x值,輸出y值。
C2x+l(x<0)
y=J0(x=0)
I2x-l(x>0)
#include<stdio.h>
voidmain()
{intx,y;
scanf(“%d",&x);
if(x<0)y=2*x+l;
elseif(x>0)y=2*xT;
elsey=0;
printf("%d",y);
4.從鍵盤上輸入一個(gè)百分制成績(jī)score,按下列原則輸出其等級(jí):score290,等級(jí)為A;
80^score<90,等級(jí)為B;70^score<80,等級(jí)為C;60^score<70,等級(jí)為D;score<60,
等級(jí)為E。
#include<stdio.h>
voidmain(){
intdata;
chargrade;
priritf(^Pleaseenterthescore:z,);
scanf(〃%d”,&data);
switch(data/10)
{case10:
case9:grade='A';break;
case8:grade='B';break;
case7:grade=,C';break;
case6:grade='D';break;
default:grade='E';
)
printf("thegradeis%c,grade);
)
5.編一程序每個(gè)月根據(jù)每個(gè)月上網(wǎng)時(shí)間計(jì)算上網(wǎng)費(fèi)用,計(jì)算方法如下:
30元410小時(shí)
費(fèi)用=每小時(shí)3元10-50小時(shí)
每小時(shí)2.5元N50小時(shí)
要求當(dāng)輸入每月上網(wǎng)小時(shí)數(shù),顯示該月總的上網(wǎng)費(fèi)用(6分)
#include<stdio.h>
voidmain()
{inthour;
floatfee;
printf("pleaseinputhour:\n,?);
scanf(a%df,,&hour);
if(hour<=10)
fee=30;
elseif(hour>=10&&hour<=50)
fee=3*hour;
elsefee二hour*2.5;
printf("Thetotalfeeis%fw,fee);
)
6.從鍵盤輸入10個(gè)整數(shù),統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù),并在屏幕上輸出。
#include<stdio.h>
voidmain(){
inta,i,p=0,n=0,z=0;
printfC'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ù)的乘積并輸出。
ttinclude<stdio.h>
voidmain()
{inti;
longsum=l;
for(i=l;i<=10;i=i+l)
sum=sum*i;
printf("thesumofoddis:%ldn,sum);
)
8.從鍵盤上輸入10個(gè)數(shù),求其平均值。
#include<stdio.h>
voidmain0{
inta,i,sum=0;
floatave;;
for(i=0;i<10;i++){
scanf(〃%d〃,&a);
sum+=a;
}
ave=(float)sum/10;
printf(/zave=%f\n〃,ave);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 桂林生命與健康職業(yè)技術(shù)學(xué)院《建筑學(xué)專業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南工商學(xué)院《工程定額原理與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 股東投資合同范本:有限公司
- 制造業(yè)勞動(dòng)合同標(biāo)準(zhǔn)范本
- 城市規(guī)劃與建筑設(shè)計(jì)合同
- 度自來(lái)水采購(gòu)合同價(jià)格結(jié)算細(xì)則
- 建筑工程用新型保溫材料購(gòu)銷合同
- 機(jī)械零部件加工合同
- 探索:租賃合同糾紛處理新趨勢(shì)
- 農(nóng)村建房工程合同細(xì)則版
- 周圍靜脈輸液操作并發(fā)癥的預(yù)防及處理
- 二人合伙開(kāi)寵物店協(xié)議書(5篇)
- DB1303-T 294-2023 檢驗(yàn)檢測(cè)機(jī)構(gòu)業(yè)務(wù)窗口服務(wù)規(guī)范
- 汽車維修競(jìng)標(biāo)報(bào)價(jià)表格范本
- 《智慧物流信息技術(shù)與應(yīng)用》 教案全套
- 家庭教養(yǎng)方式對(duì)幼兒自理能力的影響 論文
- OGC網(wǎng)絡(luò)服務(wù)公共執(zhí)行規(guī)范課件
- 抖音博主在線寫電腦配置同款表格
- 品質(zhì)基礎(chǔ)及品質(zhì)意識(shí)培訓(xùn)資料
- 《金融科技學(xué)》教案全套及習(xí)題答案(李建軍版)
- 輸液泵操作評(píng)分標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論