小区物业管理系统习题篇.docx
- 文档编号:10840982
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:88
- 大小:355.46KB
小区物业管理系统习题篇.docx
《小区物业管理系统习题篇.docx》由会员分享,可在线阅读,更多相关《小区物业管理系统习题篇.docx(88页珍藏版)》请在冰豆网上搜索。
小区物业管理系统习题篇
小区物业管理系统习题篇
学号:
xxxx
姓名:
xxxx
指导老师:
x
目录
第一章神奇的C语言2
1.1找出肇事者2
1.2百元百鸡问题3
第二章c语言的开发环境4
第三章输入输出4
3.1格式化标准输入\输出函数4
3.2打印一个简单的菜单5
3.3格式化输入函数scanf()5
3.4非格式化标准输入\输出函数getchar()6
3.5使用printf函数实现校区物业管理主界面7
第四章C语言的基本数据类型8
4.1数据类型的长度8
4.2ASCII8
4.3字符常量9
4.4结构体占用的字节数9
4.5结构体包含联合体占用的字节9
4.6变量的数据类型及定义10
4.7一维数组10
4.8二维数组11
4.9字符数组13
4.10字符数组13
4.11结构体14
4.12结构体数组15
第五章程序控制结构17
5.1for循环17
5.2for循环18
5.3加密问题while循环19
5.4字母大小写转换问题while循环20
5.5if-else语句21
5.6if-elseif-else语句22
5.7switch-case语句23
5.8switch-case语句25
5.9break语句27
5.10continue语句28
第六章预处理29
6.1Define29
6.2带参数的宏30
6.3条件编译31
第七章指针32
7.1指针作为函数的参数32
7.2指针应用33
7.3指针的指针35
7.4返回值是指针的函数37
7.5指针和字符串38
7.6指针和数组39
7.7指针数组41
7.8结构体数组42
7.9结构体包含联合体43
7.10结构体指针45
7.11单链表的创建、遍历、插入、修改和删除46
第八章函数51
8.1函数调用51
第九章文件53
9.1文件的创建53
9.2文件读54
9.3格式化读写文件56
9.4成块读写文件58
第一章神奇的C语言
生活中我们经常碰到以下类似的问题,本实例主要是通过C语言编程求解一个现实问题,激起读者学习的兴趣。
1.1找出肇事者
实例说明
一辆卡车违反交通规则,撞人后逃跑。
现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;乙说:
牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:
四位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
运行结果如图1-1所示。
图1-1
问题分析与算法设计
按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。
程序代码如下:
#include
#include
intmain()
{
inti,j,k,c;
for(i=1;i<=9;i++)/*i:
车号前二位的取值*/
for(j=0;j<=9;j++)/*j:
车号后二位的取值*/
if(i!
=j)/*判断二位数字是否相异*/
{
k=i*1000+i*100+j*10+j;/*计算出可能的整数*/
for(c=31;c*c if(c*c==k)printf("Lorry–No.is%d.\n",k);/*若是,打印结果*/ } } 1.2百元百鸡问题 实例说明 我国古代数学家张丘在他的《算经》中起初了一个著名的“百元百鸡问题”,鸡翁一,值钱五,母鸡一,值钱三,鸡雏三,值钱一,百元买百鸡,问翁、母、雏各几何? 程序运行结果如图1-2所示。 图1-2 问题分析与算法设计 按照题目要求对3种鸡的数量在事先确定好的范围内进行穷举并判断,对满足条件的3种鸡的数量输出,否则进行下次循环。 程序代码如下: #include intmain(intargc,char*argv[]) { intcock,hen,chick;/*定义变量为基本整型*/ for(cock=0;cock<=20;cock++)/*公鸡范围在0-20之间*/ for(hen=0;hen<=33;hen++)/*母鸡范围在0-33之间*/ for(chick=3;chick<=99;chick++)/*小鸡范围在3-99之间*/ if(5*cock+3*hen+chick/3==100)/*判断钱数是否等于100*/ if(cock+hen+chick==100)/*判断购买的鸡是否等于100*/ if(chick%3==0)/*判断小鸡数是否能被3整除*/ printf("公鸡: %d母鸡: %d小鸡: %d\n",cock,hen,chick); return0; } 第二章C语言的开发环境 略。 。 。 第三章输入输出 3.1格式化标准输入\输出函数 实例说明 是否能够成为真正的编程高手,主要在于是否有毅力坚持学习和练习,本实例要求输出名言“贵有恒,何必三更起五更睡;最有益,只怕一日曝十日寒”。 主要是想让读者激励自己,坚持学习C语言。 运行结果如图3-1所示。 图3-1 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)使用printf语句输出名言 (4)程序代码如下: #include intmain(intargc,char*argv[]) { printf("贵有恒,何必三更起五更睡;最有益,只怕一日曝十日寒\n"); return0; } 技术要点 编译器VC++6.0不仅可以支持鼠标操作,还支持中文汉字输入和输出,因此本程序使用VC++6.0开发环境,本程序无法直接使用TC2.0实现。 3.2打印一个简单的菜单 实例说明 生活中比如去餐厅或者飞机上,我们经常吃会碰到问你是喝茶还是咖啡,请编程实现这个简单的选择菜单。 运行结果如图3-2所示。 图3-2 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)使用printf语句输出名言 (4)程序代码如下: #include intmain() { printf("Doyouwanttodrinkteaorcoffee? \n"); printf("1.tea2.coffee\n"); return0; } 技术要点 参见3.1 3.3格式化输入函数scanf() 实例说明 使用格式化输入函数scanf()输入两个整数,并且打印输出输入的整数。 运行结果如图3-3所示。 图3-3 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)使用scanf("%d%d",&a,&b);接收输入的变量。 (4)程序代码如下: #include intmain() { inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); return0; } 技术要点 使用格式化函数scanf()接收用户输入的两个变量,实现定义了两个变量,用来存储用户的输入,注意,接收变量要取变量的地址&. 3.4非格式化标准输入\输出函数getchar() 实例说明 使用非格式化输入函数getchar()接收键盘的输入,并且输出,运行结果如图3-4所示。 图3-4 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include #include (3)使用ch1=getchar()接收输入的变量。 (4)程序代码如下: #include #include intmain() { charch1,ch2; ch1=getchar(); ch2=getchar(); printf("ch1=%c\n",ch1); printf("ch2=%c\n",ch2); return0; } 技术要点 可以利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法: 在主函数结尾,return0;之前加上getchar()。 3.5使用printf函数实现小区物业管理主界面 实例说明 使用printfscanf函数编写一个打印校区物业管理主菜单程序界面效果如图3-5所示。 图3-5 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)使用printf函数打印选择界面,使用scanf函数接收选择。 (4)程序代码如下: #include intmain() { intn; printf("***********欢迎进入小区物业管理系统*************\n"); printf("-----------------------------------------------\n"); printf("*********〓请选择〓(1~3)**********\n"); printf("**\n"); printf("**\n"); printf("*⒈物业信息系统;*\n"); printf("**\n"); printf("*⒉统计查询系统;*\n"); printf("**\n"); printf("*⒊退出程序。 *\n"); printf("**\n"); printf("****************************\n"); printf("请您输入选项★№: "); scanf("%d",&n); return0; } 技术要点 在printf语句有“\n”符号,但在输出显示结果中却没有显示,只是进行了换行操作,这种符号称为转义符。 第四章C语言的基本数据类型 4.1数据类型的长度 C语言中规定,不同类型的数据占用存储空间的长度是不同的(32位系统)。 下列各组数据中满足占用存储空间从小到大顺序排列的是() A)shortint,char,float,double B)float,char,int,double C)int,unsignedchar,longint,float D)char,int,float,double 答案: Dchar1个字节int4个float占4个字节double占8个字节 4.2ASCII 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97.以下不能将变量c中的大写字母转换为对应的小写字母的是() Ac=(c-’A’)%26+’a’Bc=c+32 Cc=c-’A’+’a’Dc=(‘A’+c)%26-’a’ 答案D解析AC等价大写字母的ASCII减去A的ASCII加a的ASCII即为变量c对应的小写字符的ASCII选项B大写字母的ASCII码加32即为对应的小写字母的ASCII 4.3字符常量 以下选项中不属于字符常量的是() A‘C’B“C”C‘\xCC’D‘\072’ 答案B解析B为字符串常量 4.4结构体占用的字节数 下面结构体占用多少字节内存(A) Struct { chara; shortb; intc; chard; }s; A4B8C10D12 答案D对于本例中的结构体,编译器会把它的基地址对齐到4字节边界,s.a占一个字节,s.b占用两个字节,如果s.b紧挨着数时s.a后面,他的地址就不鞥是梁子杰的整数倍了,所以编译器会在结构体中插入一个字节填充字节,使得s.b的地址也是两字节的整数倍。 S.c占用四个字节,紧挨在s.b的后面。 S.d也占用四个字节(填充3个字节),这是为了保证下一个结构体的基地址仍然对齐到4字节边界。 综上所述此结构体占用12个字节。 可以编程验证打印输出sizeof(s)。 4.5结构体包含联合体占用的字节 下面结构体占用多少字节内存(B) struct { intnum;4 charname[10]; chartp; union { intinclass; charposition[10]; }job; }person; A29B28C25D24 答案,参考上一题解析,注意联合体占用的字节数是联合体中最大成员占用的字节数。 4.6变量的数据类型及定义 实例说明 编程实现输入圆半径,求圆的周长c和面积s。 π取3.1415,运行结果如图4-1所示。 图4-1 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)使用printf函数提示用户输入,使用scanf函数接收半径,圆的周长=2*r*π,面积=π*r*r (4)程序代码如下: #include #definepi3.1415 intmain() { floatr=0,c=0,s=0; printf("pleaseinputradius\n"); scanf("%f",&r); c=2*pi*r; s=pi*r*r; printf("c=%f,s=%f\n",c,s); return0; } 技术要点 使用了宏定义。 4.7一维数组 实例说明 编程实现从键盘输入5个学生的C语言成绩(取整数)到数组中,求平均分。 运行结果如图4-2所示。 图4-2 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)使用数组存放用户输入的学生的成绩,计算和,求平均值 (4)程序代码如下: #include voidmain(void) { inti,sum=0,c[10]; floatave; printf("请输入5位学生的成绩\n"); scanf("%d",&c[0]); scanf("%d",&c[1]); scanf("%d",&c[2]); scanf("%d",&c[3]); scanf("%d",&c[4]); sum=c[0]+c[1]+c[2]+c[3]+c[4]; ave=(float)sum/5; printf("平均分: %f\n",ave); } 技术要点 使用数组存放五位学生的成绩,注意求平均值可能会出现浮点数,所以应该定义一个浮点数变量来存放最后的平均值。 4.8二维数组 实例说明 从键盘输入一个3×4矩阵,将其保存到二维数组a中,将数组的每个元素加1后,按行输出该矩阵。 (注请先学习后面章节的for循环后再来学习)运行结果如图4-3所示。 图4-3 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)定义数据类型,本实例首先定义了一个整型的二位数组。 (4)使用二重循环接收用户的输入,存放矩阵。 (5)再次使用二重for循环语句,输出矩阵。 (6)程序代码如下: #include voidmain(void) { inta[3][4],i,j; printf("输入数组各元素: "); for(i=0;i<3;i++) for(j=0;j<4;j++) { scanf("%d",&a[i][j]); a[i][j]=a[i][j]+1; } for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%6d",a[i][j]); printf("\n"); } } 技术要点 本实例使用二位数组保存了一个3行4列的数组,利用双重循环访问数组中的每一个元素,然后进行加1,最后再次使用双重循环语句输出矩阵。 4.9字符数组 实例说明 将英文china存放在字符数组中,并打印输出。 (请学完for循环后来做此练习题)。 运行结果如图4-4所示。 图4-4 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)定义数据类型,本实例首先定义了一个字符数组,存放“china”。 (4)使用for循环输出字符数组。 (5)主要代码如下: intmain(intargc,char*argv[]) { inti=0; chara[8]={'C','h','i','n','a'}; for(i=0;i<5;i++) { printf("%c",a[i]); } printf("\n"); return0; } 技术要点 和上节很相似,参加上一节内容。 4.10字符数组 实例说明 从键盘输入一个字符串,求该字符串的长度。 要求不用字符串库函数strlen()。 (请学完while循环后来做此练习题)。 运行结果如图4-5所示。 图4-5 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)定义数据类型,本实例首先定义了一个字符数组,存放用户的输入。 (4)while循环判断字符串结尾的标志。 (5)主要代码如下: #include intmain(intargc,char*argv[]) { chara[20]; inti=0; scanf("%s",a); while(a[i]! ='\0') i++; printf("%s的长度为: %d\n",a,i); return0; } 技术要点 本实例充分使用了字符串的结尾标识符\0. 4.11结构体 实例说明 从键盘输入一位学生的姓名,性别,年龄,成绩及等信息存放到结构体中,并打印输出该学生的信息。 运行结果如图4-6所示。 图4-6 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)定义数据类型,本实例首先定义了一个结构体类型,用来存放学生的姓名,性别,年龄和成绩。 (4)使用scanf函数分别输入学生的信息,最后使用printf输出学生信息。 (5)程序代码如下: #include structstudent { charname[10]; charsex[4]; intage; floatscore; }; intmain(intargc,char*argv[]) { structstudents1; printf("请输入学生的信息姓名、性别、年龄、成绩\n"); scanf("%s",s1.name); scanf("%s",s1.sex); scanf("%d",&s1.age); scanf("%f",&s1.score); printf("学生的姓名: %s、性别: %s、年龄: %d、成绩: %f\n",s1.name,s1.sex,s1.age,s1.score); return0; } 技术要点 本实例使用了结构体存放数据。 4.12结构体数组 实例说明 从键盘输入五位学生的姓名,性别,年龄,成绩及等信息存放到结构体数组中,并打印输出学生的信息。 运行结果如图4-7所示。 图4-7 实现过程 (1)打开VisualC++6.0开发环境,新建一个C源文件,并输入要创建的C源文件的名称。 (2)引用头文件,代码如下: #include (3)定义数据类型,本实例首先定义了一个结构体数组类型,用来存放多位学生的姓名,性别,年龄和成绩。 (4)使用for循环scanf函数分别输入多个学生的信息,最后使用printf输出学生信息。 (5)程序代码如下: #include structstudent { charname[10]; charsex[4]; intage; floatscore; }; intmain(intargc,char*argv[]) { inti=0; intj=0; structstudents[4]; printf("请输入学生的信息姓名、性别、年龄、成绩\n"); for(i=0;i<4;i++) { scanf("%s",s[i].name); scanf("%s",s[i].sex); scanf("%d",&s[i].age); scanf("%f",&s[i].score); } for(j=0;j<4;j++) { printf("学生%d的姓名: %s、性别: %s、年龄: %d、成绩: %f\n",j,s[j].name,s[j].sex,s[j].age,s[j].score); } return0; } 技术要点 本实例使用了结构体数组类型用来存放多位学生的信息。 第五章程序控制结构 5.1for循环 实例说明 王老师班有10位同学,请利用for循环编程帮王老师实现求学生的平均值成绩。 运行结果如图5-1所示。 图5-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小区 物业管理 系统 习题