printf (―M‖,b[k]);
}
第十章 结构体与共用体 (1) struct stu
{
int num; int mid; int end; int ave; }s[3]; main() {inti;
struct stu *p;
for (p+s;p
{scanf (―%d %d %d %d‖,&(p->num),&p->mid),&9p->end}); }
for (p=s;p
printf(―%d %d %d %d\\n‖,p->num,p->mid,p->end, p->ave); }
(2) enum money {fen1=1,fen2=2,fen5,jiao1=10,jiao2=20,
jiao5=50,yuan1=100,yuan2=200,yuan5=500, yuan10=1000,yuan50=5000,yuan100=10000};
第十一章 位运算 (1) main()
{
unsigned rightrot (unsigned a, int n); unsigned int m ,b ; int n;
printf(―enter m and n:‖); scanf (―%x, %d‖,&m, &n);
printf(―m=%x,n=%d\\n‖,m,n); b=rightror (m,n); printf(―b=%x\\n‖,b); }
unsigned rightror (unsigned a,int n) { int rb;
while (n?0) {
rb =(a&1)<<(16-1); a= a>>1; a=a | rb; }
return(a); }
(2) main()
{unsigned x ; int n1,n2;
printf (―请输入一个八进制数 x:‖); scanf (―%o‖,&x);
printf(―请输入起始位n1, 结束位n2:“); scanf (―%d,%d‖,&n1,&n2); printf(―%o‖,getbits(x,n1-1,n2)); }
getbits(value,n1n2)
unsigned value ; int n1,n2; {unsigned z;
z=(z>>n1)&(z<<(16-n2)); z=z>>(16-n2); return(z); }
第十二章 文件
(1) #include ―stdio.h‖ main() {FILE *fp;
char str [100],filename[10]; int i=0;
if ((fp=fopen (―upper.txt‖,‖w‖))= =NULL) { printf(―can not open file\\n‖); exit(0); }
printf(―Enter a string :\\n‖); gets(str);
while (str[i]!=‘!‘)
{if (str[i]>=‘a‘&&str[i]<=‘z‘)
fputc (str[i],fp); i++; }
fclose(fp);
fp=fopen(―upper.txt‖, ―r‖); fgets(str,strlen(str)+1,fp); printf(―%s\\n‖,str); fclose(fp); }
(2) #include‖stdio.h‖ struct student {long int num; char name[10]; int age ; char sex;
char speciality[20]; char adder[40]; }
FILE*fp; Main()
{struct student std;
fp=fopen(―student.dat‖,‖rb‖); if (fp= =NULL)
printf(―file not found\\n‖); else
{while(! Feof(fp))
{fread (&std,sizeof (struct student),1,fp);
if (std.num>=9970101&&std.num<=970135)
printf(―%ld %s %d %c\\n‖,std.num,std.name ,std.age,std.sex); }
fclose(fp); } }