[理学]计算机软件基础自考本科.ppt

上传人:豆**** 文档编号:33356996 上传时间:2022-08-10 格式:PPT 页数:36 大小:735KB
返回 下载 相关 举报
[理学]计算机软件基础自考本科.ppt_第1页
第1页 / 共36页
[理学]计算机软件基础自考本科.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《[理学]计算机软件基础自考本科.ppt》由会员分享,可在线阅读,更多相关《[理学]计算机软件基础自考本科.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1.结构类型结构类型 是指由用户自行定义的是指由用户自行定义的不同数据类型不同数据类型的组合体。的组合体。学生的基本数据:学生的基本数据: 学号学号 长整型长整型姓名姓名 字符型数组字符型数组年龄年龄 整形整形性别性别 字符型字符型成绩成绩 实型数组实型数组2.结构类型的构建结构类型的构建结构类型结构类型一般形式为:一般形式为:struct 结构类型名结构类型名 类型类型1 成员成员1; 类型类型2 成员成员2; 类型类型n 成员成员n; ;2.结构类型的构建结构类型的构建示例示例struct stu1 /定义一个定义一个stu1数据类型数据类型 long Num; /成员成员1:长整型:长整

2、型 学号学号 char Name; /成员成员2:字符型:字符型 姓名姓名 char Sex; /成员成员3:字符型:字符型 性别性别 int Age; /成员成员4: 整整 型型 年龄年龄 float Scorce3; /成员成员5:实型数组:实型数组 成绩成绩 ;1.结构类型变量的定义结构类型变量的定义方法方法1:先定义结构类型,再定义结构变量:先定义结构类型,再定义结构变量step1:构建结构类型:构建结构类型如:如:struct stu1 long Num; char Name; char Sex; float Score3;step2:定义相应变量:定义相应变量如:如:struct

3、stu1 a,b,c;1.结构类型变量的定义结构类型变量的定义方法方法2:定构建结构类型的同时定义相应变量:定构建结构类型的同时定义相应变量如:如:struct stu1 long Num; char Name; char Sex; float Score3; a,b,c;2.结构类型变量的引用结构类型变量的引用引用规则如下:引用规则如下:(1)结构变量和结构体中成员,都不能单独引用;)结构变量和结构体中成员,都不能单独引用;(2)只能将结构变量与结构体成员)只能将结构变量与结构体成员合起来合起来引用。引用。引用格式:结构变量引用格式:结构变量 . 结构体成员结构体成员如:如:a . age3

4、.结构类型变量的初始化结构类型变量的初始化(1)定义结构变量同时进行初始化。如:)定义结构变量同时进行初始化。如:struct student long Num; char Name20; float Score3;a=520,”WangXin”,78.5,49.5,90;(2)也可以先定义结构变量,再进行初始化。如:)也可以先定义结构变量,再进行初始化。如:struct student long Num; char Name20; float Score3;main( ) struct student a; a=520,”WangXin”,78.5,49.5,90;例例6-1 分析程序,写出

5、运行结果分析程序,写出运行结果main()struct stu1 long Num; char Name20; char sex; int age; float Score3; a=99123L,Wang Xin,F,23,78.5,49.5,90.0;int i; printf(num:%1d name:%s sex:%c age: %dn, a.Num,a.Name,a.sex,a.age); for (i=0;i3;i+) printf (%8.1f,a.Scorei);例例6-2 编写求两复数之和的程序编写求两复数之和的程序struct stu3 int x; int y; ; mai

6、n( ) struct stu3 a,b,c; scanf(%d,%d,%d,%d,&a.x,&a.y,&b.x,&b.y); c.x=a.x+b.x;c.y=a.y+b.y; printf(c=%d+%din,c.x,c.y); (3)结构变量占用的存储空间)结构变量占用的存储空间(size):是结构体中所有:是结构体中所有成员所占空间之和。如:成员所占空间之和。如:struct student long Num; char Name20; float Score3;main( ) struct student a; printf(%dn,sizeof(a);1.结构类型数组的定义结构类型数

7、组的定义(1)在构建结构类型的同时定义相应的数组。)在构建结构类型的同时定义相应的数组。一般形式一般形式示例示例struct 结构类型名结构类型名 成员表列;成员表列;数组名数组名 数组长度数组长度;struct student long Num; char Name20; float score3;No8class 45;(2)先构建结构类型,再定义相应的数组。)先构建结构类型,再定义相应的数组。一般形式一般形式示例示例在已经定义好结构类型后,在已经定义好结构类型后,使用如下形式定义结构数使用如下形式定义结构数组:组:struct 结构类型名结构类型名 数组数组名名 数组长度数组长度stru

8、ct student No8class 45;2.结构数组的初始化结构数组的初始化在构建结构类型的同时对数组初始化。如:在构建结构类型的同时对数组初始化。如:struct stu4 long Num; char Name20; float Score3;a2= 520 , “WanXin”, 78.5,49.5,90 , 240, “LiMing” , 66.5,72.5,88 ;上例中的存储关系:上例中的存储关系:a0a1NumNameScore3NumNameScore3520 WanXin78.549.590240 LiMing 66.572.588例例6-3输入输入50个学生的基本信息

9、个学生的基本信息(如图如图6-1所示所示),计算各,计算各个学生的平均分,并输出各人的学号、姓名及平均。个学生的平均分,并输出各人的学号、姓名及平均。main( )int i,j;float s;struct stu5 /*定义名为定义名为stu5的结构类型的结构类型*/long num; /*学号学号*/char name20; /*姓名姓名*/float score3; /*三门课成绩三门课成绩*/float ave; /*平均分平均分*/a50; /*50个学生个学生,各个学生具有以上信息各个学生具有以上信息*/ for(i=0;i50;i+) printf(请输入第请输入第%d个同学的

10、学号个同学的学号,姓名姓名,(i+1); scanf(%Ld,%s,&ai.num,ai.name); printf(请输入第请输入第%d个同学三门课成绩个同学三门课成绩,(i+1); for(j=0;j3;j+) scanf(%f,&ai.scorej); /*输入第输入第i个同学三门课成绩个同学三门课成绩*/ for(i=0;i50;i+) /*下面求各人三门课平均值下面求各人三门课平均值*/ s=0.0; for (j=0;j3;j+) s=s+ai.scorej; /*第第i个同学的第个同学的第j门课成绩累加门课成绩累加*/ ai.ave=s/3.0; for(i=0;inum,p-n

11、ame,p-age,p-score); printf (num:%Ld name:%s age:%2d score:%4.1fn, (*p).num,(*p).name,(*p).age,(*p).score);2.指向结构数组的指针指向结构数组的指针指针变量也可以指向结构数组,其定义方法和指向一般指针变量也可以指向结构数组,其定义方法和指向一般数组一样。如数组一样。如:struct student long Num; char Name20; float Score3;a2,*p=a;struct student long Num; char Name20; float Score3;str

12、uct student a2,*p=a;结构体成员的引用的形式:结构体成员的引用的形式:形式形式示例示例结构变量结构变量 . 成员名成员名; a . Num;(*指针变量名)指针变量名) . 成员成员;(*p) . Num;指针变量名指针变量名- 成成员名员名;P - Num ;例例6-5 指向结构数组的指针示例。指向结构数组的指针示例。main ( )struct stu7 int x; float y; char z; a3=2,1.5,x,3,4.6,y,4,7.8,z; struct stu7 *p; /*定义指向结构类型指针定义指向结构类型指针*/ int i; /*定义变量定义变量

13、i*/ p=a; /*P指针指向结构数组指针指向结构数组a*/ for(i=0;i agestruct person char name20; int age;aLi ,20,*p=&a;则对结构体变量则对结构体变量a中成员中成员age错误的引用是(错误的引用是( )。)。2.(2010.4单选)已知单选)已知:A s - num B *pp -num C (*pp) - num D (*pp).numStruct person char name15; long num; float score;s , *pp=&s;则对结构变量成员正确的引用是(则对结构变量成员正确的引用是( )。)。1.

14、 已知已知如下程如下程序代码,序代码,分析并分析并写出它写出它的运算的运算结果。结果。题题1分析分析queue_t0queue_t1 成员成员1成员成员2 成员成员1成员成员2iPiece0iPiece1iBlock0iBlock1iPiece0iPiece1iBlock0iBlock1123456782. 下列哪个是正确的结构变量的定义?下列哪个是正确的结构变量的定义?A struct AAA int a;int b; int c; int d; a , b , c;B struct BBB int a;int b; int c; int d; struct BBB a , b , c; C

15、 struct CCC int a;int b; int c; int d; struct CCC a ; b ; c;D struct DDD int a;int b; int c; int d; DDD a , b , c; 3. 已知有如下结构类型的定义:已知有如下结构类型的定义:A a=1; B a.a=2; C a.a.a=3; D a.a.a.a=4; 下列哪个是正确的对结构类型变量下列哪个是正确的对结构类型变量a的赋值?(的赋值?( )4. 下列哪个是正确的对结构类型变量的赋值(下列哪个是正确的对结构类型变量的赋值( )。)。A struct T1 int a;T1 a=1 ;

16、B struct T1 int a;T1=1 ;C struct T1 int a;struct t1 a ; a.a=1;D struct T1 int a;T1.a=1 ;5. 已知有如下定义:已知有如下定义:A 1 B 2 C 3 D 4那么那么printf(%d,sizeof(a);的输出结果是(的输出结果是( )。)。6. 已知有如下定义:已知有如下定义:A 1 B team2 C 3 D team4那么那么printf(%d,*(p+2);的输出结果是(的输出结果是( )。)。7. 下列程序的功能是将输入学生的信息打印出来,试下列程序的功能是将输入学生的信息打印出来,试填写完整代码:填写完整代码:8. 程序设计:程序设计: 利用结构类型,编写一个程序,当输入五组长方利用结构类型,编写一个程序,当输入五组长方体的长、宽、高后,可以输出体积最大的长方体的体体的长、宽、高后,可以输出体积最大的长方体的体积及其长、宽、高。积及其长、宽、高。8. 程序设计:程序设计:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁