if(isTheFineNumber(i))
printf("%d\n",i);
}
第7章预处理命令
CBBBDDDBC
第8章指针
一、选择题:
1、D
2、A
3、D
4、A
5、D
6、B
7、C
8、D
9、B
10、D
11、D
二、程序阅读题:
1、C
2、A
3、B
4、C
5、A
三、程序设计题:
1
#include
voidmain()
{voidswap(int*pointer1,int*pointer2);
int*p1,*p2;
inta=1,b=2;
p1=&a;
p2=&b;
swap(p1,p2);
printf("%d\n%d",a,b);
}
voidswap(int*p1,int*p2)
{
inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
2
#include
voidmain()
{inta[10],*p1,i,j,temp;
p1=a;
for(i=0;i<10;i++)
scanf("%d",p1+i);
for(i=0;i<10;i++)
{p1=a;
for(j=0;j<10-i;j++,p1++)
if(*p1>*(p1+1))
{
temp=*p1;
*p1=*(p1+1);
*(p1+1)=temp;
}
}
p1=a;
for(i=0;i<10;i++,p1++)
printf("%d",*p1);
}
3
#include
voidmain()
{
intupper=0,lower=0,digit=0,space=0,other=0,i=0;
char*p,s[20];
printf("inputstring:
");
while((s[i]=getchar())!
='\n')i++;
p=&s[0];
while(*p!
='\n')
{if(('A'<=*p)&&(*p<='Z'))
++upper;
elseif(('a'<=*p)&&(*p<='z'))
++lower;
elseif(*p=='')
++space;
elseif(('0'<=*p)&&(*p<='9'))
++digit;
else++other;
p++;
}
printf("uppercaseis:
%dlowercase:
%d",upper,lower);
printf("space:
%ddigit:
%dother:
%d",space,digit,other);
}
4
strmcpy(chars[],chart[],intm)
{char*p1,*p2,i;
p1=s;
p2=t+m;
while(*p2!
='\0')
{
*p1=*p2;
p1++;
p2++;
}
}
5
#include
voidmain()
{
ints[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int*p,i,j,t;
p=&s[0][0];
for(i=0;i<4;i++)
for(j=i;j<4;j++)
{t=*(p+4*i+j);
*(p+4*i+j)=*(p+4*j+i);
*(p+4*j+i)=t;
}
}
第9章结构体共用体
一、选择题:
1.D、D、D、D、C
2.D
3.A
4.BC(选项B改为(*p).pk,结果为C)
5.D
二、选择填空题:
1.B
2.C
三、编程题:
1
#include
struct
{
intyear;
intmonth;
intday;
}date;
voidmain()
{intdays;
printf("inputyear,month,day:
\n");
scanf("%d%d%d",&date.year,&date.month,&date.day);
switch(date.month)
{
case1:
days=date.day;break;
case2:
days=date.day+31;break;
case3:
days=date.day+59;break;
case4:
days=date.day+90;break;
case5:
days=date.day+120;break;
case6:
days=date.day+151;break;
case7:
days=date.day+181;break;
case8:
days=date.day+212;break;
case9:
days=date.day+243;break;
case10:
days=date.day+273;break;
case11:
days=date.day+304;break;
case12:
days=date.day+334;break;
}
if((date.year%4==0&&date.year%100!
=0||date.year%400==0)
&&date.month>=3)days+=1;
printf("%d/%disthe%dthdayin%d\n",date.month,date.day,days,date.year);
}
2
#include
struct
{
inthour;
intmin;
intsec;
}time1,time2,time3;
voidmain()
{
printf("inputthefirsttimehour,min,sec:
\n");
scanf("%d%d%d",&time1.hour,&time1.min,&time1.sec);
printf("inputthesecondtimehour,min,sec:
\n");
scanf("%d%d%d",&time2.hour,&time2.min,&time2.sec);
time3.sec=time2.sec-time1.sec;
if(time3.sec<0)
{time3.sec+=60;
time2.sec--;
}
time3.min=time2.min-time1.min;
if(time3.min<0)
{time3.min+=60;
time2.min--;
}
time3.hour=time2.hour-time1.hour;
printf("timelagishour:
%dmin:
%dsec:
%d",time3.hour,time3.min,time3.sec);
}
3
#include
#defineN5
structstudent
{
charnum[6];
charname[6];
intscore[4];
}stu[N];
voidmain()
{voidprint(structstudentstu[6]);
inti,j;
for(i=0;i{
printf("ninputscoreofstudent%d:
\n",i+1);
printf("No.:
");
scanf("%s",stu[i].num);
printf("name:
");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{
printf("score%d:
",j+1);
scanf("%d",&stu[i].score[j]);
}
printf("\n");
print(stu);
}
}
voidprint(structstudentstu[6])
{inti,j;
printf("\nNo.namescore1score2score3\n");
for(i=0;i{
printf("%5s%10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%9d",stu[i].score[j]);
printf("\n");
}
}
第10章文件
一、选择题
CCBBACCDDCDDD
二、编程
1.
#include
#include
voidmain()
{
FILE*fp;
charstr[80];
if((fp=fopen("test.txt","r"))==NULL)
printf("error\n");
while(!
feof(fp))
{
fscanf(fp,"%s\n",str);
if(strstr(str,"for")!
=NULL)
printf("%s\n",str);
}
fclose(fp);
}
2.
#include
#include
voidmain()
{
FILE*fp;
intn,sum=0;
if((fp=fopen("in.txt","a+"))==NULL)
printf("error\n");
while(!
feof(fp))
{
fscanf(fp,"%d\n",&n);
sum+=n;
}
fprintf(fp,"\nsum=%d\n",sum);
fclose(fp);
}
3.
#include
#include
voidmain(intargc,char*argv[])
{
FILE*in,*out;
charch;
if(argc!
=3)
{
printf("Youforgottoenterafilename\n");
exit(0);
}
if((in=fopen(argv[1],"r"))==NULL)
{
printf("cannotopeninfile\n");
exit(0);
}
if((out=fopen(argv[2],"w"))==NULL)
{
printf("cannotopenoutfile\n");
exit(0);
}
while(!
feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
4.
#include
#include
voidmain()
{
FILE*fp;
intn,a=0,b=0,c=0