收藏 分享(赏)

C语言程序设计(龙昭华主编)习题集.doc

上传人:dreamzhangning 文档编号:2769639 上传时间:2018-09-27 格式:DOC 页数:30 大小:566.50KB
下载 相关 举报
C语言程序设计(龙昭华主编)习题集.doc_第1页
第1页 / 共30页
C语言程序设计(龙昭华主编)习题集.doc_第2页
第2页 / 共30页
C语言程序设计(龙昭华主编)习题集.doc_第3页
第3页 / 共30页
C语言程序设计(龙昭华主编)习题集.doc_第4页
第4页 / 共30页
C语言程序设计(龙昭华主编)习题集.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、C 语言程序设计(龙昭华主编) 习题集第 1 章 计算机语言程序设计与软件开发基础概述习 题 11.简述计算机的组成及计算机中数值的表示方法。2什么是程序?它由什么组成?3程序设计过程的一般步骤是什么?4算法有些什么特性,它在程序设计中的作用?5描述软件的概念,简述它的分类。6结构化程序设计有哪些基本结构,以及它们采用什么设计方法?7什么是软件工程,它的出现有何意义?8软件生命周期及各阶段的主要任务9什么软件开发模型,有哪几种常见模型?10C 语言常用哪些开发工具,你平常用是哪个?11语言中有哪些关键字、标识符,应用它们时应该注意些什么?12什么是函数,它在程序中的作用?13C 语言的特点有些

2、什么?它和其他你所知道的语言有什么不同?补充题:1.14 分别使用自然语言、流程图、NS 图、伪代码写出求的根的算法。分别考虑有两个不等的实根;有两个相等的实根;无实根。 1.15 分别使用 NS 图、伪代码写出求 n! 的算法。要求:如果 n200,则打印“n 值太大,请重新输入 n 值”;否则打印出 n 的值和 n! 的值。1.16 请参照本章例题,编写一个 C 程序,输出以下信息:*Very Good !*1.17 编写一个 C 程序,输入 a,b,c 三个值,输出其中最小者。(该题请事先使用 NS 图、伪代码将其算法表示出来。)第 2 章 C 语言的数据类型、运算符及其表达式习题 2一

3、、选择题1 下列表达式的值,哪一个等于 0? A 2%5 B 7/5|x+ C 1/2.0 D sizeof(float) sizeof(int) sizeof(char)2int a,*p=是合法的。5. 若变量 j 已被赋值为 8,则执行完语句 1|j+后,j 值为 9。6. printf(“%d“,sizeof(1234);其结果是 4。7. int a=4,b=0; 则表达式ay=z=x;x=y= =z;printf(“%d”,x); 2 main()char a;int b,e;float c; double d;e=sizeof(a*b+c-d);printf(“%d”,e);3

4、main()double x;x=(int)8.4;printf(“f”,x);4 main()unsigned x=65535;printf(“%d”,x); 5 main()int k;double j=6.4;k=k+2;k=j+=1;printf(“%d”,k); 6 main()int a,b,c;a=(b=(c=3)*5)*2-3;printf(“a=%d,b=%d,c=%d”,a,b,c); 补充题:2.5 将以下 3 个整数分别赋给不同类型的变量,请画出数据在内存中的存储形式。 2.6 要将“China” 译成密码,密码规律是:用原来的字母后面第 4 个字母代替原来的字母。如:

5、字母A 用E代替。因此“China”应译为“Glmre”。请编一程序,用赋初值的方法使 c1、c2、c3、c4、c5 五个变量的值分别为C 、 h、 I、 n、 a,经过运算,使变量的类型 25 -2 32769int型(16位)long型(32 位)short型(16 位)signed char型(8位)unsigned int型unsigned long型unsigned short型unsigned char型c1、c2、c3、c4、c5 分别变成G 、 l、 m、 r、 e,并输出。第 3 章 结构化程序设计习 题 3一、 选择题3-1. 若 int x,y,z;则为它们输入数据的正确

6、语句是_。A). scanf(“%D%D%D“,B). scanf(“%d%d%d“,C). scanf(“%d%d%d“,a,b,c); D). scanf(“%d%d%dn“,3-2. 若 int a;a=68;则执行下面语句后的输出结果是_。printf(“%d,%o,%x,%cn“,a,a,a,a);A). 68,104,44,D B). 104,68,44,DC). 68,104,D,44 D). 68,44,104,D3-3. 若 int x ,y; double z;,则不合法的 scanf 函数调用语句是_。A). scanf(“ %d%lx,%le“, B). scanf(“

7、%2d * %d%lf“ C). scanf(“%x %* d%o“, D). scanf(“%x%o%6.2f“, 3-4. 若 float x,y;用下面的语句使 x,y 均为 1.5,正确的输入是_。scanf(“x=%f,y=%f“,A). 1.25,1.25 B). 1.25_1.25 C). x=1.25,y=1.25 D). x=1.25_y=1.253-5. if 语句的控制条件_。A). 只能用关系表达式 B). 只能用逻辑表达式 C). 只能用关系表达式或逻辑表达式 D). 可以是任意表达式3-6. 若 int x,y;,则执行下面的循环后,y 的值是_。for (y=1,

8、x=1;y=10) break;if(x%2=1) x+=5;continue; x3;A). 2 B). 4 C). 6 D). 83-7. 设有下面的程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是_A). while 循环执行 10 次 B). 循环是无限循环C). 循环体语句一次也不执行 D). 循环体语句执行一次3-8. 若 int x,y,则以下的 for 循环_。for(x=0,y=0;(y!=123)printf(“y=%-8ldn“,y); printf(“y=%-08ldn“,y);printf(“y=%08ldn“,y); printf(“y

9、=%+8ldn“,y); 3-15. 若有下面的程序#includevoid main()int m, n, x, y, c;scanf(“%d%d“,while(m x=m0? m:-m; y =n0? n:-n;while(x=y) x-=y; c+; printf (“(%d,%d)= %d.%dn“,m, n, c, x);scanf(“%d%d“,运行时分别输入: 100 -15 ,-20 30,其中“”表示回车符。运行结果是_。3-16. 下面程序运行时的输出结果是_。#includevoid main() int s=1;while(svoid main()int x=18,i;

10、for(i=2;is2) B) if(strcmp(s1,s2)C) if(strcmp(s1,s2)0) D) if(strcmp(s2,s1)0)8. 执行下列语句后,其输出结果为 ( )#includemain() int *k, *j, i=100;j= k=printf(“%dn“, *k);A) 运行错误 B) 100 C) i 的地址 D) j 的地址9.以下程序的输出结果是 ( )main() char cf35=“AAAA“,“BBB“,“CC“; printf(“%s“n“,cf1); A) “AAAA“ B) “BBB“ C) “BBBCC“ D) “CC“ 10. 设有

11、如下的程序段:char str =“Hello“;char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为( )A) o B) 0 C) 不确定的值 D) o的地址二、填空题1指针包括两部分 及 ,在指针的概念中, “*”表示的含义是 ,而“ int s118;for( ; ; j+) ;s= 18;4下面程序段的功能是删除字符串 s 中出现的与字符 c 相同的字符;请补充完整下面的语句。int i,j; char s100,c;for( i=0; ; i+) if(si=c)for( ) sj=sj+1;5 统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标

12、志,请填空。#include #include main( ) int num26,i; char c;for(i=0; imain( ) int a,b,c;int x=4,y=6,z=8;int *p1=a=p1= =b=3*(-*p1)/(*p2)+7;c=*(p3=printf(“%d,%d,%dn“,a,b,c);5 #include main( ) int k=0,sign,m;char s =“-12345”;if(sk= =+| sk= =-)sign=sk+=+?1:-1;for(m=0;sk=0 /*函数说明*/main() void f(int n); /*函数说明*/f

13、(5);void f(int n) printf(“%dn“,n); A) 若只在主函数中对函数 f 进行说明,则只能在主函数中正确调用函数 fB) 要求函数 f 无返回值,所以可用 void 将其类型定义为无值型C) 在主函数前对函数 f 进行说明,则在主函数和其后的其它函数中都可以正确调用函数 fD) 对于上面程序的说明,编译时系统会提示出错信息:提示对 f 函数重复说明8. 下面函数的功能是( )sss(s, t)char *s, *t; while(*s) return(*s-*t);A) 求字符串的长度 B) 比较两个字符串的大小C) 将字符串 s 复制到字符串 t 中 D) 将字符

14、串 s 接续到字符串 t 中9以下程序的输出结果是long fun( int n) long s;if(n=1 | n=2) s=2;else s=n-fun(n-1); return s;main() printf(“%ldn“, fun(3); A) 1 B) 2 C) 3 D) 410请选出以下程序的输出结果( )#includesub(x,y,z)int x, y, *z; *z=y-x; main() int a, b, c;sub(10,5, sub(7,a, sub(a,b,printf(“%d,%d,%dn“, a,b,c);A) 5,2,3 B) -5,-12,-7 C) -

15、5,-12,-17 D) 5,-2,-7二、填空题1在 C 语言中,除主函数外,其函数分为 、 两类。2变量在程序使用中,其作用域可分为 变量和 变量。3以下程序调用 findmax 函数求数组中值最大的元素在数组中的下标,请补充填空。# include findmax ( s , t , k )int *s , t , *k; int p; for(p=0,*k=p;p s*k )_; main() int a10 , i , k ;for ( i=0 ; imain()int i,a10,*p=a,sum=0;printf(“Enter 10 num:n“);for(i=0;ichar *

16、 ( char *s, char *t) char *ss=s, *tt=t;while(*ss) tt+; if (*tt) return( );else return( );main( ) char a20,b10,*p,*q;int i;gets( a);gets( b);printf(“%sn“,fun (a, b );三、程序分析综合题1下面程序的输出结果是什么?如何把该功能改写成一个函数,如何调用该函数。#includemain() char *p=“BOOL“,OPK“,“H“,“SP“;int i;for(i=3;i=0;i-,i-) printf(“%c“, *pi ); 2

17、若有 5 门课程的成绩是:92.5,86, 70, 71.5, 50,则程序运行结果是多少,其函数执行什么功能。#include float fun ( float *a , int n ) int i; float sum=0;for(i=0; i#include long fun ( char *p) long nn=0; int ss=1;if(*p)=-) p+; ss=-1;if(*p)=+) p+;while(*p)nn=nn*10-48+(*p+);return(nn*ss);main() /* 主函数 */ char s6;long n;printf(“Enter a stri

18、ng:n“) ;gets(s);n = fun(s);printf(“%ldn“,n);4下列程序功能是将长整型数中每一位上为偶数的数依次取出,构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:87653142 时,t 中的数为:8642。请改正程序中的错误,使它能得出正确的结果。#include void fun (long s, long *t) int d; long sl=1; *t = 0;while ( s 0) d = s%10;if (d/2=0) *t=d* sl+ *t; sl *= 10; s = 10; main() long s, t;sc

19、anf(“%ld“, fun(s, printf(“The result is: %ldn“, t);5下列程序功能是对 M 行 M 列整数方阵求两条对角线上各元素之和。请改正程序中的错误,使它能得出正确的结果。#include #define M 5int fun(int n, int x ) int i, j, sum=0;for( i = 1 ; i (b)?(a):(b)下面的表达式将展开成什么?max(a,max(b,max(c,d) 2用宏定义求 x 的平方,下面哪种写法最好?为什么?(1)#define POWER(x) x*x(2)#define POWER(x) (x)*(x

20、)(3)#define POWER(x) (x*x)(4)#define POWER(x) (x)*(x)3如有下列宏定义#define x 5#define y x+1#define z y*x/2 则执行下面语句后的输出是什么?int a;a=y;printf(“%dn“,z);printf(“%dn“,-a);4定义一个宏,将小写字母变成大写字母。5输入两个整数,求它们相除的余数,用带参的宏实现。6分别用带参数的宏和函数,从 5 个整数中找出最小值。7有一个变量,可能是整型或实型中的一种类型,试用条件编译检查其类型。二、二级考试模拟题1单项选择题(1)以下有关宏替换的叙述不正确的是( )

21、。A宏替换不占用运行时间 B宏名无类型C宏替换只是字符串替换 D宏替换是在运行时进行的(2)有下列程序#define A(x,y) x*y+3*y+x/yvoid main() int a,b;a=4;b=3;printf(“%x“,A(b,a) ;运行后的输出结果是( )。A15 B 24 C18 D0x18(3)如果有#define f(x,y) x+y 及 int a=2,b=3;,则执行printf(“%d“,f(a,b)*f(a,b);后的值为( )。A 36 B 25 C11 D13 (4)如果程序中有#include “文件名“ 则意味着( )。A.将“文件名“所指的那个文件的全

22、部内容,在此命令行出现的这一点上,插入源程序。B指定标准输入输出。C宏定义一个函数。D条件编译说明。(5)以下程序段输出 sum 的值为( ) 。#define ADD(x) x+xmain()int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%dn“,sum);A.sum=9 B.sum=10 C.sum=12 D.sum=18(6)有如下宏定义#define N 2#define Y(n) (N+1)*n)则执行语句 z=2*(N+Y(5);后的结果是( ) 。A语句有错误 BZ=34 CZ=70 DZ 无定值2判断题(1)C 语言中的宏定义允许

23、嵌套定义,也允许带参数。 ( )(2)若有宏定义:#define M(x,y,z) x*y+z 则宏引用 M(2+3,4+5,6+7)通过宏展开后的表达式应为(2+3)*(4+5)+(6+7)。 ( )(3)C 语言的编译系统对宏命令的处理是在 C 源程序编译阶段完成的。 ( )3读程序写出结果(1)下列程序的运行结果是( )#include #define MIN(x,y) (x)b?a:b)+1main()int i=10,j=15;printf(“%dn“,MAX(i,j);(4)指出下面程序中的输出( )define S(a,b) a*b#include main()int i=4,j

24、=6,k;k=S(i+6,j+4);printf(“k=%dn“,k); (5)下面程序的输出是( )define PR(r) printf(“%d“,r);#include main()int j,a=1,3,5,7,9,11,13,15,*p;p=a+5;for(j=3; j0; j-)switch(j)case 1:case 2:PR(*p+); break;case 3:PR(*(-p);第 7 章 结构体、共用体、枚举类型习 题 7一、基本知识题 1使用两个结构体变量分别存取用户输入的两个日期(包括年、月、日) ,计算两个日期之间相隔的天数。2有一高考成绩表:包括准考证号码(字符串)

25、 、考生姓名、考生类别、高考总分等信息。按准考证号码编一查分程序,输出该考生的相关信息。要求能给用户以提示信息(按键盘某一键后)实现循环查询。3输入一串整数,以 0 结束。把这些整数(不含 0)放入一单链表中,再按由大到小的次序排列,最后将排好序的链表输出。4. 将一个链表按反序输出,即将原表头当链表尾,原链表尾当链表头。5口袋中有红、黄、蓝、白、黑 5 种颜色的球若干个。每次从口袋内取出三个球,问得到三种不同颜色的球的可能取法的总数,并打印出每种组合的三种颜色各是什么。二、二级考试模拟题1.单项选择题(1) 已知 int 类型占 2 个字节,若有说明语句:struct stint num;c

26、har name10;double gz; 则 sizeof(struct st)的值为( )A18 B20 C8 D20(2)使用共用(联合)体 union 的目的是( )。A将一组数据作为一个整体,以便于其中的成员共享同一存储空间 B将一组具有相同数据类型的数据作为一个整体,以便其成员共享同一存储空间C将一组数据作为一个整体,以便程序使用D将一组具有相同数据类型的数据作为一个整体,以便程序使用(3)若有以下的定义、说明和语句,则值为 101 的表达式是( )。struct cw int a;int *b;*p;int x0=11,12,xl=31,32;static struct cw x

27、2=100,x0,300,x1;p=x;A*p-b Bp-a C+(p-a) D(p+)-a(4)设有如下程序:main()union unsigned int n;unsigned char c;u1;u1.c=A;printf(“d“,u1.n);A产生语法错 B随机值 CA D65(5)若要说明一个类型名 STP,使得定义语句 STP s;等价于 char *s;以下选项中正确的是( )Atypedef STP char *s; Btypedef *char STP;Ctypedef STP *char Dtypedef char* STP;(6)以下枚举类型名的定义中正确的是( )Ae

28、num a=sun,mon,tue; Benum asum=5,mon=2,tue;Cenum a=“sun“,“mon“,“tue“; Denum a“sun“,“mon“,“tue“;(7)下列关于链表的叙述中不正确的是( )A通过链表可以实现内存的动态分配B单链表要求在逻辑上相邻的两个元素在物理存储上也是相邻的C在单链表中除尾结点外,每一个结点的指针域存储的是下一个结点的地址D每个单链表必须用一个指向链表的指针来表示2多项选择题(1)有说明语句:unionint i;char c;float f;x,y,z; 对共用变量正确引用的是( )。Ax.i By.c Cprintf(“d“,x)

29、 Dprintf(“f“,z.f); Ez.i=5;(2)如有说明 structint day;int month;int year;d,*pd;,则下列哪些引用是正确的( )A pd-year B(*pd).year C d.year D *pd.year E *(pd-year)(3)C 语言规定,如下说法是正确的( )。A不能对结构体作为整体来进行存取B结构体是若干变量的集合,这些变量的类型可以相同C共用体(联合)允许不同数据类型的数据使用共同的存储区域D不能用 char c; float f;a,b;A变量 a 所占内存的长度等于成员 f 的长度B变量 a 的地址值和它的各成员地址值都

30、是相同的C地址表达式float score;struct stud *next;void print(struct stud *head) struct stud *p;p=headif(head!=NULL)do printf(“%ld,%5.1fn“,p-num,p-score);_;while(p!=NULL); (2)有一个描述零件加工的数据结构为:零件号 pn;工序号 wn;指针 next下列程序建立一个包含 10 个零件加工数据的单向链表,请填空。#include#define LEN sizeof(struct parts)struct partschar pn10;int wn

31、;_;void main()struct parts *head,*p;int i;head=NULL;for(i=0;ipn);scanf(“%d“,p-next=head;head=p;(3)以下函数 creatlist 用来建立一个带头节点的单项链表,新产生的节点总是插在链表的末尾。单项链表的头指针作为函数值返回。函数中以换行符作为链表建立的结束标志。请填空。#include struct nodechar data;struct node *next;struct node *creatlist()struct list *h,*p,*q;char ch;h=(struct node*

32、)malloc(sizeof(struct node);p=q=h;ch=getchar();while(_ )p=(struct node*)malloc(sizeof(struct node);p-data=ch;p-next=p;q=p;ch=getchar();p-next=0;return h;5读程序写出结果(1)下列程序的执行结果是( )#include union ss int i;char c2;void main()uniom ss x;x.c0=10;x.c1=1;printf(“%d“,x.i);(2) 下列程序执行后其输出结果是 ( )#include struct

33、bb int x;char *y;struct bb *tp;a=1,“pascal“,NULL,3,“debug“,NULL;void main()struct bb *p=a;char c,*s;s=+p-y; printf(“sn“,s); c=*p+-y; prinf(“%cn“,c); s=p-y+; printf(“%sn“,s); c=(*p-y)+; printf(“%cn“,c); (3)下列程序执行后其输出结果是( )#include union eeint a;int b;*p,s4;void main() int n=1,i;for(i=0;ia); printf(“%

34、d“,+p-a);(4)给出下面程序的运行结果。#include static struct stl char name10;char *addr;static struct st2 char *pname;struct stl s1;s2=“England“,“Ann“,“London“;void main() printf(“ s,sn“,+s2.s1.addr, 第 8 章 文件习 题 8一、基本知识题(1)一般来说,操作系统对外部介质上的数据的管理是以 为单位的。并且,将所有的与主机相连的输入输出设备都看作 。(2)在 C 程序中,数据可以用 和 两种代码形式存放。(3)C 语言中对文

35、件的存取是以_ _为单位的。这种文件被称为流式文件。(4)fread 函数的一般调用形式为 ,其中各个参数的意义是_ _。 fwrite 函数的一般调用形式为 ,其中各个参数的意义是_ _ 。fseek 函数的一般调用形式为 ,其中各个参数的意义是_ _。(5)文件使用完毕后必须关闭,否则的严重后果是 。二、二级考试模拟题1单选题(1)以下叙述不正确的是( )AC 语言中的文本文件以 ASCII 形式存储数据BC 语言对二进制文件的访问速度比文本文件快CC 语言中,随机读写方式不适用于文本文件 DC 语言中,顺序读写方式不适用于二进制文件(2)函数 fscanf 的功能是( )。A将信息从文件

36、输入 B将信息输出到文件 C将信息从控制台输入 D将信息输出到控制台终端上(3)如果程序中有语句 FILE *fp;fp=fopen(“abc.txt“,“w“);则程序准备做( )。A对文件读写操作 B对文件读操作 C对文件写操作 D对文件不操作(4)使用 fopen()以文本方式打开或建立可读可写文件,要求:若指定的文件不存在,则新建一个,并使文件指针指向其开头;若指定的文件存在,打开它,将文件指针指向其结尾。正确的“文件使用方式”是( ) A “r+“ B“w+“ C“a+“ D. “a“ (5)若定义:int a5;,fp 是指向某一已经正确打开了的文件的指针,下面的函数调用形式中不正

37、确的是( ) Afread(a0,sizeof(int),5,fp); Bfread(Cfread(a,sizeof(int),5,fp); Dfread(a,5*sizeof(int),1,fp);(6)以下程序企图从终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符#号时结束输入输出操作,但程序有错。#includemain() FILE *fout;char ch;fout=fopen(abc.txt,w);ch=fgetc(stdin);while(ch!=#) fputc(ch,fout);ch=fgetc(stdin);fclose(fout);出错的原因是(

38、)A函数 fopen 函数调用形式错误 B输入文件没有关闭C函数 fgetc 调用形式错误 D文件指针 stdin 没有定义2多选题(1)在 C 语言中,系统指定的标准设备文件有( )Afopen Bstdin C stdout Dstderr Efclose(2)在 C 语言中,如下说法是正确的 ( )。A在读文件之前,必须用 fopen()函数把文件打开。B在使用 fopen()函数时必须先定义一个类型为 FILE 的文件指针。Cstdin、stdout、stderr 分别是标准输入文件、标准输出文件、标准错误输出文件。DFILE 是一个由 typedef 所定义的数据类型,其头部在 st

39、dio.h 中。Efeof() 返回 0 值表示当前的位置是文件尾,否则返回 1 值。(3)下列关于文件的结论中正确的是( )A对文件操作必须先关闭文件 B对文件操作必须先打开文件 C对文本文件只能顺序操作D对 C 语言不能操作二进制文件E对文件操作结束后必须关闭文件(4)C 语言对文件的存取方式是( )A只能顺序存取 B只能随机存取C可以顺序存取,也可以随机存取D只能从文件的开头进行读取E可以指定方式从文件的任意位置进行读取3判断题(1)对文件进行操作的一般步骤包括:打开建立要操作的文件;对文件进行读写等操作;关闭被操作的文件。 ( )(2)函数 fseek(fp,10L,1)的作用是将 f

40、p 所指向的文件内部指针从当前位置后移 10个字节的位置。 ( )(3)feof 函数只能对二进制文件进行判定。 ( )4程序填空题(1)从键盘输入一些字符,逐个把它们写到文件中去,直到输入一个“#”为止。#include void main()FILE *fp;char ch,filename10;scanf(“%s“,filename);if(_)=NULL) printf(“cannot open filen“);return;while(ch=getchar()!=#)fputc(ch,fp);putchar(ch);fclose(fp);(2)下述程序将磁盘中的一个文件复制到另一个文

41、件中,文件名来自命令行。请填空把程序补充完整。 #include void main(int argc,char *argv) FILE *fin,*fout;if(argc void main(int argc,char *argv) FILE *fp;int n=1;char w82; if(fp=fopen(argv1,“ “)=NULL) puts(“无法打开文件! “); return;while(_) fgets(_,81,fp); printf(“%s“,w);if( )getch();fclose(fp); (4)下面程序求 dd.c 文件中的最长行和它的位置#include

42、“stdio.h“main()int line,i,j=0,k=0;char c;FILE *fp;fp=fopen(“dd.c“,“r“);rewind(fp);while(fgetc(fp)!=EOF)i=1;while( )i+;if(i=k) k=i; printf(“n%dt%dn“,k,line);fclose(fp);(5)输入 10 个用户的用户名和密码,用户名为 15 个字符以内的字符串,密码为6 个字符的定长字符串。新建一个文件将用户名和密码以结构体的形式存入,要求密码存放时将每个字符的 ASCII 码加 1。请完善下面的程序。#include “stdio.h“main(

43、)struct personchar name16;char code7;per;int k,j;char fname20;scanf(“%s“,fname);if(fp=fopen( ,“wb“)=NULL)printf(“file create failed!n“); return;for(k=0;kmain() FILE *fr;char str40;fgets(str,5,fr);printf(“%sn“,str); fclose(fr);6编写程序(1)有一个文件 aa.txt 中存放了 20 个由小到大排列的整数,现在从键盘输入一个数,要求把该数插入此文件中,保持文件特性不变。(2

44、)编程序求 11000 之间的素数,将所求的素数存入磁盘文件(prime.dat)并显示。(3)编一程序实现对一文本文件反向显示。(4)文件 test.dat 中存放了一组整数。分别统计并输出文件中正数、零和负数个数,将统计结果显示在屏幕上,同时输出到文件 test1.dat 中。(5)在磁盘文件中存放了 10 个学生的数据,要求将 1、3、5、7、9 个学生数据输入计算机,并在屏幕上显示出来。第 9 章 编程技巧习 题 91 上机调试利用 BIOS 中断显示汉字的程序。2 修改设计立体投影窗口的程序在屏幕上显示红、黄、蓝三个立体投影窗口。3 找一段熟悉的音乐,按照本章介绍的规则将其修改成 C 语言的程序。4 利用本节介绍的知识开发一段动画。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报