《(精品)C语言程序设计(习题课)》由会员分享,可在线阅读,更多相关《(精品)C语言程序设计(习题课)(67页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计语言程序设计复习、习题课复习、习题课数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式标识符标识符用于标识变量名、符号常量名、数组名、函数用于标识变量名、符号常量名、数组名、函数名、名、 类型名、文件名的有效字符序列。类型名、文件名的有效字符序列。标识符的组成:由字母、数字和下划线组成。标识符的组成:由字母、数字和下划线组成。须由字母或下划线中任一字符开头。须由字母或下划线中任一字符开头。C语言区分语言区分大小写字母。大小写字母。关键字:关键字:又称保留字,指具有特定含义、专门又称保留字,指具有特定含义、专门用作系统的特定成分的一类标
2、识符。用作系统的特定成分的一类标识符。标准语言中共有个关键字,标准语言中共有个关键字,数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式C C语言提供的数据结语言提供的数据结构是以构是以数据类型数据类型的的形式出现的形式出现的 整型整型整型整型 字符型字符型字符型字符型 实型实型实型实型( (浮点型浮点型浮点型浮点型) ) 枚举类型枚举类型枚举类型枚举类型单精度型单精度型单精度型单精度型 双精度型双精度型双精度型双精度型数组类型数组类型数组类型数组类型 结构体类型结构体类型结构体类型结构体类型 共用体类型共用体类型共用体类型共用体类型基本类型基本类
3、型构造类型构造类型指针类型指针类型空类型空类型(void)数据类型数据类型无符号整型无符号整型无符号整型无符号整型基本整型基本整型基本整型基本整型长整型长整型长整型长整型短整型短整型短整型短整型Data TypeData Type数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式常量常量u整型常量:整型常量:十进制整数:如十进制整数:如123123、-456-456、0 0等;等;八进制整数:如八进制整数:如01230123、-011-011等;等;十六进制整数:如十六进制整数:如0x1230x123、0x2ef0x2ef; 后缀:后缀:后缀:后缀
4、:l L U ul L U uu实型常量实型常量: :小数形式和指数形式,例如小数形式和指数形式,例如123. .123 .123e+3 123. .123 .123e+3 字符常量字符常量 和字符串常量:和字符串常量:u字符常量:字符常量:1 t 23u字符串常量:字符串常量:“123”u字符串常量:系统自动添加结束标记字符串常量:系统自动添加结束标记0。转义字符常量(也称控制字符常量)转义字符常量(也称控制字符常量) 用用开头的特殊形式的字符常量。开头的特殊形式的字符常量。数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达
5、式数据类型、运算符和表达式转义字符常量转义字符常量变量:变量:u变量先声明,后使用变量先声明,后使用数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式变量类型变量类型 定义定义整型整型整型整型 int a, b; int a, b; 短短短短整型整型整型整型 short x, y; short x, y; 长长长长整型整型整型整型 long l; long l; 单精度单精度单精度单精度实型实型实型实型 float f; float f; 双精度双精度双精度双精度实型实型实型实型 double d; double d; 字符型字符型字符型字符型 c
6、har c1, char c1, c2c2运算符与表达式:运算符与表达式:数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式运算符的运算规则(特别注意结合性,例如运算符的运算规则(特别注意结合性,例如+ - =等运算规则)等运算规则)表达式的书写规则(合法性)表达式的书写规则(合法性)表达式结果类型表达式结果类型表达式计算结果表达式计算结果数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式算术运算符算术运算符u/ 10/3 10/3.0u% (求余)(求余) %运算结果的符号只取决于第一个运算数的符号运
7、算结果的符号只取决于第一个运算数的符号 -7%4 7%4 -7%-4 7%-4u+ +(自增、自(自增、自减减)x+ 计算时先参与其它运算,再改变变量的值计算时先参与其它运算,再改变变量的值+x 计算时先改变变量的值,再参与其它运算计算时先改变变量的值,再参与其它运算 x- 计算时先参与其它运算,再改变变量的值计算时先参与其它运算,再改变变量的值 -x 计算时先改变变量的值,再参与其它运算计算时先改变变量的值,再参与其它运算 +与与-运算符的的结合性为右结运算符的的结合性为右结合合数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式赋值运算符赋值运算
8、符 uX=Y X要求有左值要求有左值u右结合性右结合性 int a=12;int a=12; a+=a-=a*aa+=a-=a*au复合赋值符复合赋值符x/=y+3 x/=y+3 等价于等价于 x=x/(y+3)x=x/(y+3)数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式关系运算符关系运算符 u 、=的优先级相同,而的优先级相同,而=、!=!=优先级优先级相同,且前者高于后者;相同,且前者高于后者;u关系表达式结果取值关系表达式结果取值1 1(表达式成立)或者(表达式成立)或者0 0(表达式不成立)(表达式不成立)u当当x=100x=100
9、时,时,0x100x=0)|(n+0) 后,后,m,n的值是的值是数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式条件运算符条件运算符(表达式表达式1?表达式?表达式2:表达式:表达式3)u运算规则运算规则u右结合性右结合性数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式其他运算符其他运算符u&u*u强制类型转换强制类型转换(数据(数据类型)表达式型)表达式usizeof( ) 长度运算符长度运算符u u, 顺序(逗号)运算符顺序(逗号)运算符 逗号表达式:逗号表达式:( (表达式表达式1 , 1
10、, 表达式表达式2 , . , 2 , . , 表达式表达式n)n)数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式例例1:设a、b和和c都是都是int型型变量,且量,且a=3,b=4,c=5,请计算下列表算下列表达式的达式的值。A)abcB)a=bC)a|b+c&b-cD)!(ab)&!c|1)例例2:如果:如果int a=1,b=2,c=3,d=4;int a=1,b=2,c=3,d=4;则条件表达式则条件表达式 ab? a:cd? c:d ab? a:cd? c:d 的值是【的值是【 】。】。(1)(1)1 (2) 2 (3) 3 (4)1
11、 (2) 2 (3) 3 (4)16数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式例例3 3:已已知知 int int a=14, a=14, b=15,x; b=15,x; 且且char char c=A;c=A; 则则执执行行x=(ab)&(ca);x=(ab)&(cy?+x:+y;则z的的值为【 】。】。(1)1(2)2(1)1(2)2(3)3(4)4(3)3(4)4例例7:若若a a和和b b为为intint型变量,则以下语句组的功能是型变量,则以下语句组的功能是【 】。】。 a+=b;b=a-b;a-=ba+=b;b=a-b;a-=b
12、; ;23顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计例例8:执行下述程序片段行下述程序片段时的的输出出结果。果。1)inta=13,b=5;printf(%d,a%=(b/=2);printf(%dn,(+b*3/2);结果:1,42)若若x和和y都都是是double型型变量量,且且x的的初初值为3.0,3.0,y的的初初值为2.02.0,则执行行语句句printf(%f,pow(y,fabs(x)的的结果果结果:果:8.000000输出出单精度、精度、双精度数据,双精度数据,隐含含6 6位小数位小数24顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计例例
13、9:按要求回答:按要求回答:1 1)若)若输入字符入字符A,在以下在以下while语句句执行后行后ch的的值为【】while(ch=getchar()=A);2)若若floata,b,c;要要通通过语句句:scanf(%f%f%f,&a,&b,&c);分分别为a,b,c输入入10,22,33,10,22,33,以下不正确的以下不正确的输入形式是【入形式是【 】。】。(1)10.02233(1)10.02233(2)10.0,22.0,33.0(2)10.0,22.0,33.0(3)10.022.033.0(3)10.022.033.0(4)102233(4)102233125程序的控制结构设计
14、程序的控制结构设计程序的控制结构设计程序的控制结构设计1:选择结构构2:循:循环结构构条件表达式条件表达式if语句句switch语句句while语句句dowhile语句句for语句句 break和和continue的使用的使用注意:根据需注意:根据需要决定是否使要决定是否使用用break语句。句。262)intx; for(x=10;x3;x-)if(x%3)x-;-x;-x;printf(%d,x);结果:果:74结果:果:53)执行行语句句for(i=1;i+4;);后后变量量i的的值 程序的控制结构设计程序的控制结构设计程序的控制结构设计程序的控制结构设计例例10:执行下述程序片段行下述
15、程序片段时的的输出出结果。果。 1)intx=0,s=0;while(!x!=0)s=+x;printf(%d,s);结果:127例例11:下面循下面循环语句的运行句的运行结果是【果是【 】x=2;doprintf(*);x-;while(!x=0); 参考答案:参考答案: *程序的控制结构设计程序的控制结构设计程序的控制结构设计程序的控制结构设计28例例12:voidmain()intj;for(j=1;j=4;j+)switch(j)case1:case2:printf(%d,j);case3:printf(%d,j);break; default:printf(China);11223C
16、hina程序的控制结构设计程序的控制结构设计程序的控制结构设计程序的控制结构设计29例例13:# #includevoidmain()intk=1,num=263;dok*=num%10;num/=10;printf(%d,k);while(num);3,18,36程序的控制结构设计程序的控制结构设计程序的控制结构设计程序的控制结构设计30例例14:# #includevoidmain()intj;for(j=3;j=0;j-)if(j%2)printf(#);elsecontinue;printf(!);printf(!n);结果?果?#!#!程序的控制结构设计程序的控制结构设计程序的控制结
17、构设计程序的控制结构设计31例例15:有以下程序段,程序运行后,有以下程序段,程序运行后,输入入5,输出出结果果为:c=getchar();switch(c-2)case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+2);break;结果果:87程序的控制结构设计程序的控制结构设计程序的控制结构设计程序的控制结构设计32常用算法,如常用算法,如常用算法,如常用算法,如累加、累乘、统计累加、累乘、统计累加、累乘、统计累加、累乘、统计、递推、迭代、枚举等、递推、迭代、枚举等、递推、迭
18、代、枚举等、递推、迭代、枚举等素数的各种处理方法、最大公约数、最小公倍数、特定数列等素数的各种处理方法、最大公约数、最小公倍数、特定数列等素数的各种处理方法、最大公约数、最小公倍数、特定数列等素数的各种处理方法、最大公约数、最小公倍数、特定数列等程序的控制结构设计程序的控制结构设计程序的控制结构设计程序的控制结构设计33函数函数函数函数1.1.函函函函数数数数的的的的定定定定义义义义、函函函函数数数数说说说说明明明明、形形形形参参参参、实实实实参参参参、函函函函数数数数的的的的调用与返回、参数的传递等;调用与返回、参数的传递等;调用与返回、参数的传递等;调用与返回、参数的传递等; 注注注注意意
19、意意:若若若若用用用用数数数数组组组组名名名名做做做做函函函函数数数数调调调调用用用用的的的的实实实实参参参参,则则则则传传传传递递递递给给给给形参的是数组的起始地址形参的是数组的起始地址形参的是数组的起始地址形参的是数组的起始地址 若若若若用用用用普普普普通通通通变变变变量量量量、数数数数组组组组元元元元素素素素、指指指指针针针针变变变变量量量量做做做做实实实实参参参参,则传递给形参的是值则传递给形参的是值则传递给形参的是值则传递给形参的是值 2.2.变变变变量量量量的的的的作作作作用用用用域域域域、存存存存储储储储类类类类型型型型( (省省省省略略略略时时时时为为为为自自自自动动动动 或或
20、或或autoauto)、类型标识符、初始化、类型标识符、初始化、类型标识符、初始化、类型标识符、初始化等等等等3.3.编译预处理编译预处理编译预处理编译预处理4 4 . .递归函数递归函数递归函数递归函数34函数函数函数函数例例16:下面程序运行下面程序运行结果果输出如下出如下图形。形。#includevoidprintstar(int);voidmain()inti;for(i=1;i=4;i+)【】voidprintstar(inti)intj,k;charspace=;for(j=1;j=5-i;j+)printf(%c,space);for(k=1;【】;k+)printf(%c,*)
21、;【】 * * * * * * * *printstar(i);k=2*i-1printf(n);35函数函数函数函数例例17: # #includeinttest(intx)inta=0;staticintb=0;b=b+a+x;returnb;voidmain()inta10,j;for(j=0;j10;j+)aj=test(j);for(j=0;j=9;j+)printf(%8d,aj);013610152128364536函数函数函数函数例例19 9:执行下面的程序,行下面的程序,输出出结果是:【果是:【 】intf(intn) if(n=1) return1;elsereturnf(
22、n-1)+1;voidmain()() inti,j=0;for(i=1;i3;i+) j+=f(i);printf(%dn,j);37函数函数函数函数例例20:执行下面的程序,行下面的程序,输出出结果是:【果是:【 】# #definePI1(X,Y)X*Y#definePI2(X,Y)(X)*(Y)inta=1,b=2; printf(%d,PI1(a+,b+);printf(%dn,PI2(a+,b+);参考答案:参考答案:2,638数组数组数组数组一维数组的定义、内部表示。一维数组的定义、内部表示。掌握数组的下标表示、初始化。掌握数组的下标表示、初始化。数组名是地址常量,注意数组下标形
23、式和指数组名是地址常量,注意数组下标形式和指针形式的等价以及地址运算。针形式的等价以及地址运算。二二维数组的定义、初始化、存储方式维数组的定义、初始化、存储方式数组做函数参数数组做函数参数字符数组的存储形式、结束标记、常用字符字符数组的存储形式、结束标记、常用字符串处理的库函数。串处理的库函数。39数组数组数组数组例例2121:下下面面程程序序的的功功能能是是计计算算二二维维数数组组中中最最小小值值所所在在列列的的平平均均值。请填空值。请填空#include#includefloat fun(float a45)float fun(float a45) float sum=0;int floa
24、t sum=0;int i i,j,n=0,min=a00;,j,n=0,min=a00; for( i = 1; i 4 ; i+) for( i = 1; i 4 ; i+) for( j = 0; j5; j+) for( j = 0; j5; j+) if( if(【】【】) ) min=aij; n=j; min=aij; n=j; for(i=0;i4;i+) sum=sum+ for(i=0;i4;i+) sum=sum+【】【】; ; return return 【】【】; ; aijmin; ain; sum/4;40数组数组数组数组voidmain()floata45=2,
25、3,6,4,1,25,54,23,68,26,7,9,15,20,35,67,18,30,17,38,ave;inti,j;printf(“输出原矩出原矩阵:n”);for(i=0;【】【】;i+)for(j=0;j5;j+)printf(“%6.1f”,aij);printf(“n”);ave=fun(【】【】);printf(最小元素所在列的元素之平均最小元素所在列的元素之平均值为:%6.2f,ave);fun(a);i441例例22: 以下以下对二二维数数组a的正确的正确说明是【明是【 】。】。(1)(1)inta3;(2)floata(3,4);(3)doublea14;(4)floa
26、ta(3)(4); 例例23:若若定定义数数组inta=1,2,3,4,5,6;,则数数组元元素素aa3的的值为【】。】。数组数组数组数组542数组数组数组数组例例24:执行下面的程序,行下面的程序,输入入ABC,运行运行结果果为:# #includestdio.h#includestring.hvoidmain()charss10=12345;strcat(ss,6789);gets(ss);printf(%sn,ss);43数组数组数组数组例例25:执行下面的程序,行下面的程序,输出出结果是:果是:#includevoidmain()inti,f5=1,2;for(i=2;i5;i+)fi
27、=fi-2*fi-1;for(i=0;i5;i+)printf(%d,fi);结果果:1,2,2,4,8,44数组数组数组数组例例26:执行下面的程序,行下面的程序,输出出结果是:果是:intmain()inti,s=0;intaa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;for(i=0;i4;i+)s+=aai1;printf(%dn,s);45数组数组数组数组例例27:执行下面的程序,行下面的程序,输出出结果是:果是:#include#includeintmain()chararr24;strcpy(arr0,you);strcpy(arr1,me);arr0
28、3=&;printf(%sn,arr);46数组数组数组数组1)用用选择、冒泡法、冒泡法对n个数个数由小到大排序由小到大排序。2)线性性查找、折半找、折半查找找3)在一)在一维、二、二维数数组中找最大中找最大值、最小、最小值及位置及位置4)应用二用二维数数组解决矩解决矩阵计算算5)字符串)字符串处理的常理的常见应用用47指指指指 针针针针1.指指针的概念、指的概念、指针变量的定量的定义;2.如何通如何通过指向指向变量的指量的指针变量引用量引用变量的量的值;3.如何通如何通过指向一指向一维数数组的指的指针变量引用数量引用数组元素元素; ;4.如何通如何通过指向字符串的指指向字符串的指针变量量进行
29、字符串的行字符串的处理等等;理等等;5.指指针做函数参数做函数参数6 6.指向函数的指指向函数的指针变量的概念、定量的概念、定义,一般的,一般的应用;用;7.返回指返回指针值的函数的概念、定的函数的概念、定义。8.行指行指针48指指指指 针针针针例例2828:请读程序片段:程序片段:charstr=ABCD,*p=str;printf(%dn,*(p+4);上面程序片段的上面程序片段的输出出结果是【果是【 】 参考答案:参考答案:0例例29:有有说明明char*s1=Abcdef,取取出出其其中中字字符符d的的方方法法是是【 】 参考答案:参考答案:*(s1+3)49例例3 30:# #inc
30、lude#includevoidmain()chara=VC+6.0,b20,*p1,*p2;intk,n;n=strlen(a);p1=a+n-1;p2=b;for(k=0;kn;k+)*p2=*p1;p1-;p2+;*p2=0;puts(b);结果?果?0.6+CV指指指指 针针针针50例例31:执行下面的程序,行下面的程序,输出出结果是:果是:#includevoidfun1(char*p)char*q;q=p;while(*q!=0)(*q)+;q+;voidmain()chara=Program,*p;p=&a3;fun1(p);printf(%sn,a);结果果:Prohsbn指指
31、指指 针针针针51例例32: 已知:已知:chars6,*ps=s;则正确的正确的赋值语句是【句是【 】。】。(1)*(1)*s=12345;(2)ps=12345;(3)*ps=12345;(4)s=12345;指指指指 针针针针52例例3333:已已有有定定义义char char x10=n016019 x10=n016019 ; ;则则strlen(x)strlen(x)的的值值为为【 4 】。 例例34: :有有说明明ints80=1,2,3,4,5,6,7,8,9,10;int*p=s;则:执行行printf(%d,(p+=5)2);后的后的结果是【果是【 】8指指指指 针针针针53
32、例例35:若若有有以以下下定定义和和语句句: int a4=1,3,5,7,*p; p=&a2;则*-*-p的的值是【是【 】 若若有有定定义:inta5=1,2,3,4,5,*p=&a1;顺序序执行行下下面面两个两个语句,句,printf(%d,*p+);结果:果:printf(%d,*p);结果:果:例例 36: :有有 说 明明 char s80=abcd,*p=s;, 执 行行 p+;后后 ,puts(strcat(p,ABCD);的的结果是【果是【 】结果:结果:bcdABCD323指指指指 针针针针54例例37:若有定若有定义:inta=100,*p=&a;则执行行语句句a=*p+
33、10;后后a的的值是【是【】例例38:定定义指指向向有有两两个个整整型型形形参参、返返回回值为整整数数的的函函数数的的指指针变量量p的的语句是【句是【 】。】。 110int(*p)(int,int);注意:注意:1 1)返回)返回值为指指针的函数与指向函数的指的函数与指向函数的指针变量有什么不同?量有什么不同?分分别应该如何定如何定义?2 2)数)数组名和指向数名和指向数组的指的指针变量都可以引用数量都可以引用数组元素,但性元素,但性质不同,有些操作不同,有些操作对数数组名是非法的。如名是非法的。如a+,&a0等等指指指指 针针针针551.构造构造结构体构体类型和定型和定义结构体数据构体数据
34、类型型变量及初始化量及初始化 2.结构体构体类型型变量的量的应用用 3.结构数构数组4.结构指构指针5.链表的表的创建、插入、建、插入、删除、除、输出出结构体结构体结构体结构体56结构体结构体结构体结构体例例3 39:# #includestructstdcharname20;floats3;floatave;sd3=li,70,80,90,0,wang,83,94,75,0,zhang,92,86,98,0;voidmain()intj;for(j=0;jn/*引用引用p指向的指向的结构体构体变量中的成量中的成员n的的值*/*/B)p-n+/*引用引用p指向的指向的结构体构体变量中的成量中的
35、成员n的的值,n+*/C)+p-n/*先使先使p指向的指向的结构体构体变量中的成量中的成员n值加加1 1,然后,然后引用引用n值*/*/注意注意:结构体变量.成员名 (*变量).成员名 指针变量成员名1 1 3结构体结构体结构体结构体58例例41:下面程序的:下面程序的输出出结果:果:intmain()structstruinta,b;charc6;printf(%dn,sizeof(stru);16结构体结构体结构体结构体59例例42:下面程序的:下面程序的输出出结果:果:#includestructst intx;int*y;*p;intdt4=10,20,30,40;structstaa
36、4=50,&dt0,60,&dt1,70,&dt2,80,&dt3;intmain() p=aa;printf(%dn,+p-x);printf(%dn,(+p)-x);printf(%dn,+(*p-y);51 6021结构体结构体结构体结构体60例例43:阅读下列程序段,则程序段实现的功能是 【11】#include#includestructnodechardata;structnode*next;*head;voidfun(structnode*q)if(head=NULL)q-next=NULL;head=q;elseq-next=head;head=q;结构体结构体结构体结构体61
37、例例43:阅读下列程序段,则程序段实现的功能是 【11】voidmain()charch;structnode*p;head=NULL;while(ch=getchar()!=n)p=(structnode*)malloc(sizeof(structnode);p-data=ch;fun(p);p=head;while(p!=NULL)printf(%c,p-data);p=p-next;结构体结构体结构体结构体62文件的基本概念文件的基本概念文件的基本概念文件的基本概念u文件文件的概念(文件的的概念(文件的组织形式、存形式、存储方式等)方式等) ;u 文件文件指指针的使用(如何定的使用(如何
38、定义,如何,如何赋值等)等);u文文件件的的打打开开与与关关闭(fopen和和fclose函函数数的的正正确确用用法法,操操作作成功与失成功与失败时各自的返回各自的返回值等等)u文件文件读写写操作。操作。63例例4 44:fscanf函数的正确的函数的正确的调用形式是【用形式是【 】。】。(1)(1)fscanf(文件指文件指针,格式字符串,格式字符串,输出列表);出列表);(2)(2)fscanf(格式字符串,格式字符串,输出列表,文件列表);出列表,文件列表);(3)(3)fscanf(格式字符串,文件列表,格式字符串,文件列表,输出列表);出列表);(4)(4)fscanf(文件指文件指
39、针,格式字符串,格式字符串,输入列表);入列表); 例例4 45:在在C程程序序中中, ,数数据据可可以以用用【 】和和二二进制制两两种种代代码形形式存放。式存放。参考答案:文本文件参考答案:文本文件 或或ASCII码 文件的基本概念(续)文件的基本概念(续)文件的基本概念(续)文件的基本概念(续)64参考答案:参考答案:bi.dat&jfp例例4 46:下下面面程程序序的的功功能能是是将将从从终端端上上读入入的的1010个个整整数数以以二二进制制方式写入名方式写入名为bi.dat的新文件中。的新文件中。# #includeFILE*fp;main()intm,j;if(fp=fopen(【1
40、】,wb)=NULL)exit(0);for(m=0;m10;m+)scanf(%d,&j);fwrite(【2】,sizeof(int),1,【3】);fclose(fp);写盘数据的写盘数据的起始地址起始地址数据数据块的的字字节数数所写的数所写的数据据块数数文件指针文件指针文件的基本概念(续)文件的基本概念(续)文件的基本概念(续)文件的基本概念(续)65结构化程序设计(续)结构化程序设计(续)结构化程序设计(续)结构化程序设计(续)例例47:从从文文本本文文件件in.txt中中读入入一一个个字字符符串串,然然后后将将每每一一个个字字母母变成它后面的字母成它后面的字母输出到出到out.tx
41、t中中。#include#includeFILE *fp1,*fp2; char x;int j; if(fp1=fopen(in.txt,r)=NULL) exit(1); if(fp2=fopen(out.txt,w)=NULL) exit (1); while(x=fgetc(fp1)!=-1) if(x=a& x=A& xZ) x+; else if(x=z|x=Z)x=x-25; fputc(x,fp2); fclose(fp1); fclose(fp2);66考试安排考试安排考试安排考试安排(1)(1)星期四星期四星期四星期四下午下午下午下午 星期五星期五星期五星期五全天全天全天全天(2) (2) 地点:逸夫楼基础教研室(地点:逸夫楼基础教研室(地点:逸夫楼基础教研室(地点:逸夫楼基础教研室(1 1)答答答答疑疑疑疑安安安安排排排排 考试形式:笔试考试形式:笔试 考试分值:考试分值:100100分分分分 考试日期:考试日期:1212月月月月2323日晚日晚日晚日晚19:00-21:0019:00-21:00 考试地点考试地点:X X*67高级语言程序设计课程到 此 全 部 结 束