实验十六位运算与文件 班级 姓名 指导老师 成绩 第 机房 号机器时间: 实验目的:1.掌握位运算符的运算规则。 2.学会计算位运算表达式的结果 3.掌握文件的打开与关闭函数的使用 4.学习文件的读函数与写函数的使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果 实验内容 、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 #include a=0x13 b=0x17 C= a s b printf(”影x\n”,c) 分析结果 运行结果 main( b 0xa5 printf(wx\n”,a&b printf(”xn”,a|b);
实验十六 位运算与文件 班级______________姓名___________指导老师_____________成绩___________ 第_____________机房___________号机器 时间:________________________ 实验目的:1. 掌握位运算符的运算规则。 2. 学会计算位运算表达式的结果。 3. 掌握文件的打开与关闭函数的使用。 4. 学习文件的读函数与写函数的使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果。 实 验 内 容 一、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 1. #include main( ) { int a , b , c; a=0x13 ; b=0x17 ; c= a & b; printf(“ %x \n” , c ); } 分析结果 运行结果 2. main( ) { unsigned char a , b ; a = 0x9d; b = 0xa5; printf(“%x \n”, a & b ); printf(“%x \n”, a | b );
C语言程序设计上机指导与同步训练 p #include unsigned a=0112,x,y,zi X=a>>3 printf("x=旨o\n (~0 printf("y=旨o\n 分析结果 运行结果 4.下面的程序执行后,文件 test. txt中的内容是 void fun(char *fname, char *st for(i=0; i 分析结果 5.已有文本文件 test. txt,其中的内容为: Hello, everyone!。以下程序中,文件 test. txt 已正确为“读”而打开,由文件指针f指向该文件,则程序的输出结果是什么? ★fY fgets(str, 5, fr)i printf("s\n", str)i fclose(fr) 分析结果
·94· C 语言程序设计上机指导与同步训练 ·94· printf(“%x \n”, a ^ b ); } 分析结果 运行结果 3. #include main() { unsigned a = 0112 , x , y , z ; x = a >> 3 ; printf ( “ x = % o\n “ , x ) ; y = ~ ( ~ 0 void fun(char *fname,char *st) { FILE *myf; int i; myf=fopen(fname,“w” ); for(i=0;i main() { FILE *fr; char str[40]; … fgets(str,5,fr); printf("%s\n",str); fclose(fr); } 分析结果 运行结果
第一部分c语言程序设计上机指导 完成程序 要求:根据要求,分析给出的上下语句,填写程序。 1.以下程序输出结果为:-1,17777请在 上填写正确位运算符 main() printf 2.以下程序能够实现x,y的值得交换,请在上填写正确内容 main() in printf(”%d,d\n”,x,y) printf("旨d,器d\n”,x 3.下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为 bi dat的 新文件中。请填空 FILE *fpi if( (fp=fopen ))= NULL)exit(0) hile((ch=getchar( ))1='@')fputc (ch, Ep) 4.以下程序用来统计文件中字符个数。请填空。 if((fp=fopen(fname. dat ","r"))==NULL) i pirntf("Open error\n"); exit(0);] fgetc(fp)
第一部分 C 语言程序设计上机指导 ·95· ·95· 二、完成程序 要求:根据要求,分析给出的上下语句,填写程序。 1. 以下程序输出结果为:-1,177777,请在_______上填写正确位运算符 # include main() { int a = -1 ; a = a _____ 0377 ; printf(” %d , % O ” , a , a ); } 2. 以下程序能够实现 x,y 的值得交换,请在_______上填写正确内容。 main() { int x=1, y=2 ; printf(“%d , %d \n”, x , y ); x = x^y ; ______________ ; ______________ ; printf(“%d , %d \n”, x , y ); } 3. 下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为 bi.dat 的 新文件中。请填空。 #include “stdio.h” main () FILE *fp; { char ch; if( (fp=fopen ( _____________ ) )= = NULL)exit(0); while( (ch=getchar( )) !=’@’) fputc (ch,fp); fclose(fp); } 4. 以下程序用来统计文件中字符个数。请填空。 #include "stdio.h" main() { FILE *fp; long num=0L; if((fp=fopen("fname.dat","r"))==NULL) { pirntf("Open error\n"); exit(0);} while( _____________________ ) {fgetc(fp); num++;} printf("num=%1d\n",num-1); fclose(fp); }