传奇sf诛仙私服变态传奇私服传奇合击私服传奇归来私服传奇连击私服热血传奇私服新开传奇私服诛仙sf诛仙2私服变态传奇sf中变传奇合击私服英雄合击私服1.85合击传奇私服1.76传奇私服发布网1.85传奇私服发布网连击传奇私服连击私服

首页上机实践题


刘甲耀、严桂兰教授新著作问世

Core Java应用程序设计教程

C++程序设计简明教程

C#程序设计

我校开展省级精品课程建设


软件系上机教学
 
 

05复习

复习

fx1
/*p12 2.1*/
#include <stdio.h>
void main()
{
printf("123456789012345\n");
printf("ab c\tde\b\101fg\n");
printf("ab c\rde\12\x41\n");
}
/*123456789012345
ab c dAfg
de c
A*/

fx2
/*键盘输入1.2345.6789,求屏幕输出*/
#include <stdio.h>
main()
{
double x,y,z;
scanf("%lf%lf%lf",&x,&y,&z);
printf("x=%f,y=%f,z=%f\n",x,y,z);
}
/*1.2345.6789
x=1.230000,y=45.600000,z=789.000000*/

fx3
#include <stdio.h>
main()
{
int x=8;
printf("%d ",--x);
printf("%d ",++x);
printf("%d ",x--);
printf("%d ",x++);
printf("%d\n",x);
}
/* 7 8 8 7 8 */

fx4
/* z32 31/p54 3.2 */
#include <stdio.h>
main()
{
int a=0,b=1;
switch(a)
{
case 0:printf("a=0 ");
switch(b)
{
case 0:printf("b=0 ");break;
case 1:printf("b=1 ");break;
case 2:printf("b=2 ");break;
}
case 1:printf("a=1 ");
default:printf("\n");
}
}

fx5
/*z30 3.2*/
#include <stdio.h>
main()
{
int a;
scanf("%d",&a);
if(a++<5)
printf("%d\n",a);
else
printf("%d\n",++a);
}

fx6
/* p67 3.2 */
#include <stdio.h>
main()
{
int a=1,b=0;
switch(a)
{
case 1:switch(b)
{
case 0:printf("**0**\n");break;
case 1:printf("**1**\n");break;
}
default:printf("**2**\n");
}
}

fx6_1
/*指向改变,内容不变*/
#include <stdio.h>
main()
{
int *p1,*p2,*p,a,b;
p1=&a; p2=&b;
scanf("%d%d",p1,p2);
if(*p1<*p2)
{
p=p1;p1=p2;p2=p;
}
printf("%d,%d\n",*p1,*p2);
}
/*说明为何指向改变,内容不变?*/

fx7
/*将键盘输入的两个整数按大到小输出*/
#include <stdio.h>
main()
{
int a,b,t;
scanf("%d%d",&a,&b);
if(a<b)
{t=a;a=b;b=t;}
printf("%d,%d\n",a,b);
}

fx8
/*分析下列结果*/
#include <stdio.h>
main()
{
char str1[]="how do you do",str2[10];
scanf("%s",str2);//HOW DO YOU DO
printf("%s %s\n",str2,str1);//HOW how do you do
}

fx9
/*字符数组*/
#define N 5
#include <stdio.h>
main()
{
char s1[N],s2[N];
int i;
for(i=0;i<N-1;i++)
scanf("%c",s1+i);
s1[N-1]='\0';
scanf("%s",s2);
printf("%s,%s\n",s1,s2);
}
/* input:ab c
ab c
output:ab c,ab*/

fx10
/*字符数组*/
#define N 10
#include <stdio.h>
#include <string.h>
main()
{
char s1[N];
int i,n;
strcpy(s1,"abc ef");
n=strlen(s1);
printf("%s\n",s1);
for(i=0;i<n;i++)
printf("%c",s1[i]);
strcpy(s1,"ABCD");
printf("\n%s\n",s1);
for(i=0;i<n;i++)
printf("%c",s1[i]);
printf("\n");
}
/*abc ef
abc ef
ABCD
ABCD f*/

fx11
/*说明下列各语句的作用及结果*/
#include <stdio.h>
void main()
{
char a1[10],a2[5];
int i,j;
scanf("%s",a1);
scanf("%s",a2);
for(i=0;a1[i]!='\0';i++)
;
for(j=0;a2[j]!='\0';j++,i++)
a1[i]=a2[j];
a1[i]='\0';
printf("%s\n",a1);
}

fx12
/*求二维数组中最小数*/
#include <stdio.h>
main()
{
int a[2][3],i,j,min;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
min=a[0][0];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(min>a[i][j]) min=a[i][j];
printf("min=%d\n",min);
}

fx13
/*z53 4.21*/
#include <stdio.h>
#include <string.h>
main()
{
struct date
{
short a;
char s[5];
}age={27,"abcd"};
age.a-=5;
strcpy(age.s,"ABCD");
printf("%d,%d,%s\n",sizeof(age),age.a,age.s);
}

fx14
/*p105 4.12*/
#include <stdio.h>
main()
{
int m[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
printf("%d\n",a[2][1]);
}

fx15
/*p105 4.13*/
#include <stdio.h>
main()
{
int m[3][3]={{1},{2},{3}};
static int n[3][3]={1,2,3};
printf("%d\n",m[2][0]+n[0][2]);
}

fx16
/*z231 21*/
#include <stdio.h>
main()
{
char a[][5]={"ABCD","1234","abcd","5678","EFGH"};
int i;
for(i=0;i<3;i++)
printf("%s",a[i]);
printf("\n");
}

fx17
/*利用一维数组将一个4位整数反向输出*/
#include <stdio.h>
void main()
{
int a,i,aa[4];
scanf("%d",&a);
for(i=0;i<4;i++)
{
aa[i]=a%10;
a/=10;
}
for(i=0;i<4;i++)
printf("%d",aa[i]);
printf("\n");
}

fx18
/*z237 5*/
#include <stdio.h>
main()
{
int j,a[]={1,3,5,7,9,11,15},*p;
for(j=3;j;j--)
{
p=&a[j];
switch(j)
{
case 1:case 2:printf("%d ",*p);break;
case 3:printf("%d ",*p);
}
}
printf("\n");
}
/*分析运行结果*/

fx19
/*p117 5.1*/
#include <stdio.h>
main()
{
int i,*p;
p=&i;
scanf("%d",p);
while(*p>=10) *p/=10;;
printf("%d\n",*p);
}
/*input:5678
output:5
解释输出5的运算过程*/

fx20
/*基本运算*/
#include <stdio.h>
main()
{
int m,n,a,b,c;
m=n=a=b=c=1;
(m=a>b)&&(n=c>b);
printf("%d,%d\n",m,n);
}

fx21
/*p148 5.11,指针与一维数组*/
#include <stdio.h>
main()
{
float y=0.0,a[]={2.0,4.0,6.0,8.0,10.0},*p;
int i;
p=&a[1];
for(i=0;i<3;i++) y+=*(p+i);
printf("%f\n",y);
}
/*分析运行结果*/

fx22
/*指针与一维数组*/
#include <stdio.h>
main()
{
int i,j,a[]={1,2,3,4,5},*p;
for(i=0;i<5;i++)
{
p=&a[i];
for(j=0;j<5-i;j++)
printf("%d",*(p+j));
printf("\n");
}
}
/*分析运行结果*/

fx23

/*p148 5.16*/
#include <stdio.h>
#include <string.h>
main()
{
char s[10],*sp="HELLO";
int i=0;
strcpy(s,sp);
s[0]='h';s[6]='!';
printf("%s\n",s);
for(;i<7;i++) printf("%c",s[i]);
printf("\n");
}
/*分析运行结果*/

fx24
/*指针变量的含义*/
#include <stdio.h>
main()
{
int i,*p,j;
p=&i;
i=3;
j=(*p)++;
printf("%d,%d,%d\n",j,*p,i);
}
/*3,4,4
为什么*p,i为4,而j为3*/

fx25
/*指针变量的含义*/
#include <stdio.h>
main()
{
char p[]="Computer!",*s=p;
while(*s)
{
if(*s=='C') (*s)++;
s++;
}
printf("%s\n",p);
}

fx26
/*指针变量-指针变量*/
#include <stdio.h>
#define N 4
main()
{
int a[]={1,3,5,7},*p,i;
void fun(int [],int);
p=a;
fun(p,N);
for(i=0;i<N;i++)
printf("%3d",a[i]);
printf("\n");
}
void fun(int *q,int n)
{
int i;
for(i=0;i<n;i++)
*(q+i)+=i;
}
/*解释运行结果*/

fx27
/*按值单向传递*/
#include <stdio.h>
void fun(int x,int y)
{
printf("原 值:x=%d,y=%d\n",x,y);
x+=5;y*=3;
printf("运算后:x=%d,y=%d\n",x,y);
}
main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("调用前:a=%d,b=%d\n",a,b);
fun(a,b);
printf("调用后:a=%d,b=%d\n",a,b);
}
/*解释运行结果*/

fx28
/*变量地址-指针变量*/
#include <stdio.h>
#define N 4
main()
{
int i=3;
void fun(int *);
fun(&i);
printf("%d\n",i);
}
void fun(int *p)
{
*p=10;
}
/*解释运行结果*/

fx29
/*数组名-指针变量*/
#include <stdio.h>
#define N 4
main()
{
int a[]={1,3,5,7},i;
void fun(int *,int);
fun(a,N);
for(i=0;i<N;i++)
printf("%3d",a[i]);
printf("\n");
}
void fun(int *p,int n)
{
int i;
for(i=0;i<n;i++)
++(*p++);
}
/*解释运行结果*/

fx30
/*数组名-数组名*/
#include <stdio.h>
#define N 4
main()
{
int a[]={1,3,5,7},i;
void fun(int []);
fun(a);
for(i=0;i<N;i++)
printf("%2d",a[i]);
printf("\n");
}
void fun(int b[])
{
b[1]=b[0]+b[2];
}
/*解释运行结果*/

fx31
/*有参有返回值*/
#include <stdio.h>
main()
{
int fun(int);
printf("%d\n",fun(10));
}
int fun(int n)
{
int i,sum=0;
for(i=0;i<=n;i++)
if(i%2!=1) sum+=i;
return sum;
}
/*改为有参无返回值、无参有返回值、无参无返回值三种形式*/

fx32
#include <stdio.h>
main()
{
int j=30;
for(;j>=0;j-=10)
if(j) printf("Good!");
else printf("Not good!");
printf("\n");
}

fx34
#include <stdio.h>
main()
{
char *s= "Computer!", *p=s;
while(*p) p++;
printf("%d\n", (p-s));
}

 

 

 
   

2006年 私立华联学院 版权所有