




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二单元 C+基本语句,C+语言程序设计,第二章 C+简单程序设计,教学要求: 1. 了解C+语言的基本概念和特点; 2. 掌握C+的基本数据类型和表达式; 3. 掌握I/O流的应用; 4. 掌握算法的基本控制结构 教学重点: 1. C+的数据结构和表达式 2. C+的流 3. C+的控制结构 教学难点: C+的控制结构,2.2.6 语句, C+语言的语句 声明语句、表达式语句、选择语句、循环语句、跳转语句、复合语句、标号语句几类。,表达式与表达式语句的区别: 表达式可以包含在其它表达式中,而语句不能。 例:if (a=b)0) t=a; 不可写成:if (a=b;)0) t=a;,注意:C+
2、语言没有赋值语句也没有函数调用语句,赋值与函数调用功能都是通过表达式来实现的。 如果在赋值表达式后面加上分号,便成了语句。 例如:a = a+3; /表达式语句,2.3 数据的输入与输出 2.3.1 I/O流, 流 在C+中,将数据从一个对象到另一个对象的流动抽象为“流” 提取操作 从流中获取数据的操作称为提取操作。 插入操作 向流中添加数据的操作称为插入操作。, printf和scantf的缺陷 非类型安全 函数原型使编译系统对它进行必要的类型检查,免除了许多错误。但对于printf( )和scantf( ),它却毫无帮助。 例: # include int j = 10 ; float f
3、 = 2.3 ; void fn( ) printf(“% d”,f); scantf(“% d”, ,不可扩充性 例:下面的函数企图输入和输出一个类的对象: class A */ */; A a; / void fn( ) printf(“ %?”,a); /?表示不知以什么格式符来识别的对象 scanf(“% ?”, ,2.3.2预定义的插入符和提取符,数据的输入和输出通过I/O流(stream)来实现 插入操作符“” 预定义的流类对象cout cout用来处理标准输出,即屏幕输出 格式 :,数据的输入与输出,cout 表达式表达式 ,例:cout “This is a program.m
4、”; 相当: printf (“This is a program.m” ); int x; cout“x=“x;,提取操作符“”,预定义的流类对象:cin cin用来处理标准输入,即键盘输入 格式 :,cin 表达式表达式 ,数据的输入与输出,例:int x,y ; cinxy; 从键盘上输入两个int型数,两数之间以空格分隔。例:5 6, I/O标准流类 标准流的设备名, cout原理 cout是iostream流类的对象,它在iostream头文件中作为全局对象定义: ostream cout(stdout); /标准设备名作为其构造时的参数,分析语句 1. cout “My name
5、is Jone”; 2. cout “this is”7;, cin原理 cin是istreamr 全局对象 除了标准输入输出设备,还有标准错误设备cerr。,例: 程序在除法操作不能进行时显示一条错误信息: /* c1_1.cpp * # include using namespace std; void fn(int a , int b) if (b=0) cout“zero encountered.” “The message cannot be redirected”; else couta/bendl; ,运行结果: Cc1_1 abc.dat 文件abc.dat的内容为:10 ze
6、ro encountered. The message cannot be redirected,void main( ) fn( 20 , 2); fn( 20, 0); ,2.3.3简单的I/O格式控制, 流的默认格式输出有时不能满足特殊要求。 例:double average = 9.400067; cout average endl; 希望显示的是9.40,即保留两位小数,可是却显示了9.40007;默认显示6位有效位。 用控制符(manipulators)可以对I/O流的格式进行控制。,数据的输入与输出,#include using namespace std; int main()
7、 double average = 9.400067; coutaverageendl; ,#include #include using namespace std; int main() double average = 9.445667; coutsetprecision(4)averageendl; ,I/O流的常用控制符,如:cout #includevoid main(void) coutsetw(5)setprecision(3)3.1415endl;,I/O流的常用控制符举例 控制浮点数值显示 例:下面的代码分别用浮点、定点和指数方式表示一个实数。 # include # in
8、clude using namespace std; /要用到格式控制符 void main( ) ,double amount = 22.0/7; cout amount endl; cout setprecision(0) amount endl; setprecision(1) amount endl; setprecision(2) amount endl; setprecision(3) amount endl; setprecision(4) amount endl; cout setiosflags(ios:fixed); cout setprecision(8) amount
9、endl ; cout setiosflags(ios:scientific) amoumt endl ;,cout setprecision(6) /重新设置成原默认设置 运行结果为: 3.14286 3 3 3.1 3.14 3.143 3.14285714 3.14285714e+00,#include #include void main(void) double amount = 22.0/7; coutamount endl; coutsetprecision(0)amountendl setprecision(1) amount endl setprecision(2)amoun
10、t endl setprecision(3)amountendl setprecision(4)amountendl; coutsetiosflags(ios:fixed); coutsetprecision(8) amount endl ; coutsetiosflags(ios:scientific)amount endl ; ,I/O流的常用控制符举例 设置值的输出宽度 除了使用空格来强行控制输出间隔外,还可以用setw(n)控制符。 如果一个值需要比setw(n)确定的字符数更多的字符,则该值将用它所需要的所有字符。 例: float amount = 3.14159; cout se
11、tw(4) amount endl; 运行结果为: 3.14159, 如果一个值的字符比setw(n)确定的字符个数少,则在数字字符前显示空白。, 使用setw设置的间隔方式并不保留其效力。 例:cout setw(8) 10 20 endl; 运行结果: _ _ _ _ _ _ 1020 运行结果中下行划线表示空格。 若要每个数值都有宽度8,则每个值都要设置例:cout setw(8) 10 setw(8) 20 endl;, 输出8进制和16进制, 3个常用的控制符是hex , oct 和dec。 这3个控制符在iostream.h头文件中定义。 例2: # include void ma
12、in() int number = 1001;,cout “decimal:” dec number endl “Hexadecimal:” hex number endl “Octal:” oct number endl; 运行结果: Decimal: 1001 Hexadecimal:3e9 Octal:1751,#include #include void main(void) int number=1001; cout “decimal:” dec number endl “Hexadecimal:” hex number endl “Octal:” oct number endl;
13、, 用头文件iomanip.h中的 setiosflags(ios:uppercase) 可控制16进制数大写输出,例:# include # include / cout “Hexadecimal:” hex setiosflags(ios:uppercase) number endl ; 运行结果: Hexadecimal: 3E9,#include #include void main(void) int number=1001; coutHexadecimal: hex setiosflags(ios:uppercase) number endl ; , 设置填充字符 用setfill
14、控制符可以确定一个非空格的别的字符 setfill在头文件iomanip.h中定义 。 例3:# include # include void main( ) ,cout setfill(*) setw(2) 21 endl setw(3) 21 endl setw(4) 21 endl ; cout setfill( ) ; /恢复默认设置 ,运行结果: 21 *21 *21,#include #include void main(void) cout setfill(*) setw(2) 21 endl setw(3) 21 endl setw(4) 21 endl ; cout setf
15、ill( ) ; , 左右对齐输出 默认时,I/O流左对齐显示的内容。 使用头文件iomanip.h中的setiosflags(ios:left)可控制输出左对齐。 使用头文件iomanip.h中的setiosflags(ios:right)可控制输出右对齐。 例4:# include # include void main( ) ,cout setiosflags (ios:right) setw(5) 1 setw(5) 2 setw(5) 3 endl ; cout setiosflags (ios:left) setw(5) 1 setw(5) 2 setw(5) 3 endl ;,运
16、行结果: 1 2 3 1 2 3,#include #include void main(void) cout setiosflags (ios:right) setw(5) 1 setw(5) 2 setw(5) 3 endl ; cout setiosflags (ios:left) setw(5) 1 setw(5) 2 setw(5) 3 endl ;, 当需要显示小数点时,可以用 ios:showpoint标志。 例5:# include # include void main( ) cout 10.0/5 endl ; cout setiosflags(ios:showpoint)
17、 10.0/5 endl ; , 强制显示小数点和符号,输出结果: 2 2.00000,#include #include void main(void) cout 10.0/5 endl ; cout setiosflags(ios:showpoint) 10.0/5 endl ; ,可用ios:showpos标志,在正数之前加正号。,例: # include # include void main( ) cout 10 “ ” -20 endl ; cout setiosflags(ios:showpos) 10 “ ” -20 endl ; ,输出结果: 10 -20 +10 -20,顺
18、序结构 分支结构 -1 (x0),2.4 算法的基本控制结构,循环结构,if (表达式) 语句 例:if (xy) couty) coutx; else couty; if (表达式) 语句; . . . ,if 语句 多种形式,算法的基本控制结构,在一对大括号 里的语句序列称为复合语句,例1:# include # include void main( ) cout “Please input the b key to hear a bell.n” ; char ch = getchar( ); if ( ch = b) cout a ; ,if 语句 举例,if 语句 举例,例2:输入一个
19、年份,判断是否闰年。 判断闰年的条件: 1.闰年的年份可以被4整除而不能被100整除; 2.或者能被400整除。 # include void main(void) int year ; bool IsLeapYear ; cout year ;,IsLeapYear = ( year % 4 = = 0 运行结果: Enter the year: 2000 2000 is a leap year,if 语句 举例,例3:比较两个数的大小 # include void main( ) int x , y ; cout x y ; if ( x!= y) if ( x y) cout y” en
20、dl ;,else cout “ x y “ endl ; else cout “ x = y “ endl ; ,运行结果 1: Enter x and y : 5 8 x y,运行结果 2: Enter x and y : 8 8 x = y,运行结果 3: Enter x and y : 12 8 x y,if 语句 空语句,编译器必须在if 条件表达式的后面找到一个作为语句结束的分号“;”,以标志if 语句的结束。 例: if ( 条件表达式 ) ; /空语句做if中的语句 语句 ; 则不管条件表达式为真为假,总是接着执行语句。,if (表达式1) 语句1else if (表达式2)
21、语句2else if (表达式3) 语句3 else 语句 n,if 语句 多种形式,算法的基本控制结构, 一般形式 if ( ) if ( ) 语句 1 else 语句 2 else if ( ) 语句 3 else 语句 4 注意: 语句 1、2、3、4 可以是复合语句,每层的 if 与 else 配对,或用 来确定层次关系。,算法的基本控制结构,switch 语句,特殊的多分支结构, 一般形式,switch (表达式) case 常量表达式 1:语句1 case 常量表达式 2:语句2 case 常量表达式 n:语句n default : 语句n+1 ,可以是整型、字符型、枚举型,每个常
22、量表达式的值不能相同,次序不影响执行结果。,可以是多个语句,但不必用 。,特殊的多分支结构, 执行顺序 以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。 例4 输入一个06的整数,转换成星期输出。,#include void main(void) int day; cin day; switch (day) case 0: cout Sunday endl; break; case 1: cout Monday endl; break; case 2: cout Tuesday endl; break;,case 3: cout Wedn
23、esday endl; break; case 4: cout Thursday endl; break; case 5: cout Friday endl; break; case 6: cout Saturday endl; break; default: cout Day out of range Sunday . Saturday endl; break; ,使用switch语句应注意的问题, case分支可包含多个语句,且不用 。 switch语句后面的表达式、可以是整型、字符型、枚举型。 各个常量表达式的值不能相同,但次序不影响执行结果。 每个case分支的最后应该加break语句
24、,用来结束整个switch结构。 当若干分支需要执行相同操作时,可以使多个case分支共用一组语句。,算法的基本控制结构,使用switch语句应注意的问题,例5-1: char grade; grade=A; switch(grade) case A: cout“85100n”; case B: cout“7084n”; case C: cout“6069n”; case D: cout“60n”; default: cout“errorn”; ,85100 7084 6069 60 error,输出结果:,#include void main(void) char grade; grade=
25、A; switch(grade) case A: cout85100n; case B: cout7084n; case C: cout6069n; case D: cout60n; default: couterrorn; ,使用switch语句应注意的问题,例5-2: char grade; grade=A; switch(grade) case A: cout“85100n”; break; case B: cout“7084n”; break; case C: cout“6069n”; break; case D: cout“60n”; break; default: cout“err
26、orn”; ,85100,输出结果:,#include void main(void) char grade; grade=A; switch(grade) case A: cout85100n;break; case B: cout7084n; break; case C: cout6069n; break; case D: cout60n; break; default: couterrorn; ,形式 while (条件表达式) 循环体,循环语句 while 语句, 执行顺序 先判断表达式的值,为 true 时,再执行循环体。,算法的基本控制结构,可以是复合语句,其中必须含有改变条件表达
27、式值的语句。, while循环的组成 while循环由四部分组成:循环变量初始化,继续条件,循环体,改变循环变量的值。,例:2-5 #include void main( ) int i(1), sum(0); while(i=10) sum+=i; i+; coutsum=sum endl; ,注意:i值的变化必须导致条件表达式值的变化(由真到假)。否则就导致死循环,/循环变量初始化,/继续条件,/循环体,/改变循环变量的值,一般形式 do 语句 while (条件表达式),循环语句 do-while 语句,执行顺序 先执行循环体语句,后判断条件。表达式为 true 时,继续执行循环体,否则
28、退出循环,算法的基本控制结构,例2-6:输入一个整数,将各位数字反转后 输出,# include Void main( void ) int n , right_digit ; cout n ; cout “The number in reverse order is” ;,do right_digit = n % 10 ; cout right_digit ; n /= 10 ; while ( n != 0 ) ; cout endl ; ,运行结果: Enter the number: 365 The number in reverse order is 563,例2-7用do-whil
29、e语句编程,求自然数110之和。 #include void main() int i(1),sum(0); do sum+=i; i+; while(i =10); cout“sum=”sumendl; ,程序2: #include void main( ) int i, sum(0); cini; do sum+=i; i+; while(i=10); coutsum=sumendl; ,while和do-while的对比,程序1: #include void main( ) int i, sum(0); cini; while(i=10) sum+=i; i+; coutsum=sume
30、ndl; ,While和do-while的对比,do-while循环在循环的底部进行继续条件的测试,所以它至少将执行一次循环体 while循环在循环的顶部进行测试,有可能永远不执行循环体 do-while循环中,while(条件表达式)后面的分号不要遗忘,算法的基本控制结构,例:do sum+=i + ; while( i =100) ; 书写格式与可读性 do sum+=i+ ; while( i = 100) ; /do while求和代码段 while ( i + 10000) ; /while时间延迟代码段 因为它们从局部看都是: while(表达式);,for 语句,语法形式 for
31、 (表达式1;表达式2;表达式3)语句,算法的基本控制结构,for 语句的几点说明, 表达式 1, 2 , 3都可以省略,分号不能省略。 例:for ( ; ; ) 语句 /相当于while(true)语句 #include void main() int sum=0,i=1; for (; ; ) /相当于while(true)语句 sum+= i+ ; if(i100) break ; coutsum=sumendl; , 表达式 1一般用于给循环变量赋初值。 表达式1可以省略。此时应在for语句之前给循环变量赋初值。若省略表达式1,其后的分号不能省略。 例:求和运算 i =1 ; for
32、 ( ; i = 100 ; i + ) / 分号不能省略 sum + = i ;,for 语句的几点说明, 表达式 2 是循环控制条件,如省略, 循环将无终止地进行下去。 例:求和运算 for ( i =1 ; ; i + ) / 分号不能省略 sum + = i ; ,if ( i =100 ) break,等价于: for ( i =1 ; 1 ; i + ) sum + = i ; if ( i =100 ) break ,for 语句的几点说明, 表达式 3一般用于改变循环控制条件的值。 如果表达式3省略或者是其他与循环条件无关的表达式,则应该在循环体中另有语句改变循环条件,以保证循
33、环能正常结束。 例:求和运算 for (i =1 ;i = 100 ;) / 分号不能省略 sum + = i + ; / 同时改变循环变量, 表达式1和表达式 3可同时省略 例:求和运算 i =1 ; for ( ;i = 100 ;) / 分号不能省略 sum + = i + ; / 同时改变循环变量 相当于: while ( i =100 ) sum + = i + ; ,for 语句的几点说明,for 语句的几点说明, 表达式1 , 表达式2和表达式 3都可以为任何表达式。 例1:求和运算中可设置sum的初值: for ( sum = 0 ; i = 100 ; i + ) sum +
34、=i ; 例2:表达式1为逗号表达式: for ( sum = 0 , i = 1 ; i = 100 ; i + ) sum +=i ;,例3:表达式1和表达式3都为逗号表达式: for ( i = 0 , j = 100,k = 0 ; i = j ; i + , j- -) k +=i * j ; 例4:表达式2和表达式3可以为赋值或算术表达式的情况,下同样完成求和运算: for ( i = 1; i = 100 ; sum+= i +); /循环为空语句 for ( i = 1; sum+= i + , i = 100 ;); /表达式3省略,循环为空语句,for 语句的几点说明,fo
35、r 语句的几点说明,算法的基本控制结构,例5:表达式1可以是循环变量定义: 求和运算 for ( int i = 1 ; i = 100 ; i +) sum + = i ;,循环结构的嵌套,# include void main( ) int i(1),a(0); for(;i=5;i+) do i+; a+; while(i3); i+; couta”,”iendl; ,算法的基本控制结构,循环结构与选择结构相互嵌套,#include void main( ) int n; for(n=100; n=200; n+) if (n%3!=0) printf(“%d”,n); ,算法的基本控制
36、结构,break 和 continue 语句,break语句: 用在while, do-while, for和switch结构中 在switch语句中,break使流程跳出switch语句,继续执行switch后的语句 在循环语句中,break用来从最近的封闭循环体中跳出。 continue 语句 结束本次循环,接着判断是否执行下一次循环。, break语句和continue 语句的区别: continue语句只结束本次循环, 而 不是终止整个循环的执行; break语句则是结束本次循环, 不再进行条件判断。在循环语句中,break用来从最近的封闭循环体中跳出。,break 和 continu
37、e 语句,算法的基本控制结构,为一个已有的数据类型另外命名 语法形式 typedef 已有类型名 新类型名表;,2.5自定义数据类型 typedef声明,自定义数据类型,例如 typedef double area,volume; typedef int natural; natural i1,i2; area a; volume v;,枚举类型enum,只要将需要的变量值一一列举出来,便构成了一个枚举类型。 枚举类型的声明形式: enum 枚举类型名 变量值列表;,自定义数据类型,例如: enum weekday sun,mon,tue,wed,thu,fri,sat;,枚举类型应用说明:
38、对枚举元素按常量处理,不能对它们赋值。 例如,不能写:sun=0; 枚举元素具有缺省值,它们依次为: 0,1,2,.。 也可以在声明时另行指定枚举元素的值,例:enum weekday sun=7,mon=1,tue,wed,thu,fri,sat; 枚举值可以进行关系运算。 定义了枚举类型后,可以定义该枚举类型的变量。变量的取值只能取枚举类型定义时规定的值。,枚举类型enum,#include enum weekday sun=7,mon=1,tue,wed,thu,fri,sat; void main() weekday day1,day2,day3,day4,day5,day6,day7
39、; day1=sun; day2=mon; day3=tue; day4=wed; day5=thu; day6=fri; day7=sat; coutsun mon tue ; coutwed thu fri; cout sat endl; ,#include enum weekday sun=7,mon,tue,wed,thu,fri,sat; void main() weekday day1,day2,day3,day4,day5,day6,day7; day1=sun; day2=mon; day3=tue; day4=wed; day5=thu; day6=fri; day7=sat
40、; coutsun mon tue ; coutwed thu fri; cout sat endl; ,#include enum weekday sun,mon,tue,wed,thu,fri,sat; void main() weekday day1,day2,day3,day4,day5,day6,day7; day1=sun; day2=mon; day3=tue; day4=wed; day5=thu; day6=fri; day7=sat; coutsun mon tue ; coutwed thu fri; cout sat endl; ,#include enum weekd
41、ay sun,mon,tue,wed,thu,fri,sat; void main() weekday day1,day2,day3,day4,day5,day6,day7; day1=sun; day2=mon; day3=tue; day4=wed; day5=thu; day6=fri; day7=sat; coutsun mon tue ; coutwed thu fri; cout sat endl; coutday1 day2 day3 ; coutday4 day5 day6; cout day7 endl; ,例:weekday day = sun ; 整数值不能直接赋给枚举变
42、量,如需要将整数赋值给枚举变量,应进行强制类型转换 例:day = 5 /错误 VC: “不能将整常量数赋给枚举变量” (cannot convert from const int to enum weekday) BC: “将整数赋给枚举变量weekday”的警告。,例: # include enum game_resultWIN,LOSE,TIE,CANCEL; Void main( ) game_result result; result = ( game_result)0; /强制类型转换, / result = 0;出错 cout result ; ,/2-11.cppp52 #in
43、clude enum game_resultWIN,LOSE,TIE,CANCEL; void main() game_result result; /声明变量时,可以不写关键字enum enum game_result omit = CANCEL; /也可以在类型名前写enum,int count; for(count=WIN;count=CANCEL; count+) result=(game_result)count; if(result=omit) coutThe game was cancelledn; ,else coutThe game was played; if(result
44、=WIN) coutand we won!; if(result=LOSE) coutand we lost.; coutn; ,结构的概念 结构是由不同数据类型的数据组成的集合体。,2.5.3结构体结构的声明,结构体结构的声明,举例: struct student /学生信息结构体 int num; /学号 char name20; /姓名 char sex; /性别 int age; /年龄 float score; /成绩 char addr30; /住址 ,自定义数据类型,例2-12结构体变量的初始化和使用 #include #include struct student /学生信息结
45、构体 int num; /学号 char name20; /姓名 char sex; /性别 int age; /年龄 stu=97001,Lin Lin, F,19; /*在定义结构体的同时,声明结构类型的变量stu。*/,void main() coutsetw(7)stu.numsetw(10) setw(3)stu.sex setw(3)stu.ageendl; ,结构体结构变量说明,变量说明形式 结构名 结构变量名;,注意: 结构变量的存储类型概念、它的寿命、可见性及使用范围与普通变量完全一致。 结构变量说明在结构类型声明之后,二者也可同时进行。 结构变量占内存大小可
46、用 sizeof 运算求出:sizeof (类型名) 说明结构变量的同时可以直接设置初值,在定义结构体类型的同时声明变量 struct student /学生信息结构体 int num; /学号 char name20; /姓名 char sex; /性别 int age; /年龄 float score; /成绩 char addr30; /住址 stu1,stu2;,直接定义变量 struct /省略结构体名称 int num; /学号 char name20; /姓名 char sex; /性别 int age; /年龄 float score; /成绩 char addr30; /住址
47、 stu1,stu2;,用typedef关键字给结构体取个别名 typedef struct student /学生信息结构体 int num; /学号 char name20; /姓名 char sex; /性别 int age; /年龄 float score; /成绩 char addr30; /住址 postgraduate;,定义2个struct student类型的变量 postgraduate stu1,stu2 可以先定义结构体类型,然后取别名 struct student /学生信息结构体 typedef struct student postgraduate; 也可以省略结
48、构体名称student typedef struct /学生信息结构体 postgraduate;,下面几种情况要分清 struct student / student是类型名 ; struct student / student是类型名 ; typedef student postgraduate; /* 都是类型名*/, typedef struct postgraduate; / 是类型名 struct stu; / stu是变量名, struct student / student是类型名 stu; / stu是变量名 struct student / student是类型名 ; st
49、ruct student stu; / stu是变量名, typedef struct student /* student是类型名*/ STUDENT; /* STUDENT 是类型名,是student的别名。*/,结构体结构变量的初始化和使用,初始化 说明结构变量的同时可以直接设置初值。 struct student stu = 97001,“李明”, M,16,92,“北京市” 但一定要注意,不能在定义结构体类型的时候,进行赋初值。,自定义数据类型,例: struct student /下面的做法是错误的 int num =97001; char name20 = “Li Lin”; c
50、har sex= “M”; int age = 16; float score = 92; char addr30 = “123 Bejing Road”; stu,使用(访问结构成员) 结构体成员的引用形式: 结构变量名.成员名,例:coutstu.num“,” “,”stu.sex “,”stu.age “,”stu.score “,”stu.addr; 下面这些写法都是错误的 (1) strcpy(student . name ,“wangli”); / student是结构体类型名,不是结构体变量,stu.book = 6 /结构体student中没有定义“book”这
51、个成员 初始化结构体部分成员 使用赋值语句对它们进行初始化了。 例如: stu . Num = 97001; strcpy(stu . name, “李明”); stu . sex = M; stu . age = 16; stu . score = 91; strcpy(stu . addr, “北京”);,当然,使用输入语句也可以实现部分结构体成员的初始化。例: cinstu . Age;,把结构体变量当作整体赋值 1) 结构体变量整体赋值 例: stu2 = stu1; /*通过这种模式,可以直接完成结构体之间的赋值*/ 2) 取结构体变量地址 例:cout stu1.addr; /输入stu1的地址 需要注意,不能把结构体变量整体输入进来。例: cin stu1; /错误,逐级访问成员 #include struct student /学生信息结构体 int num; /学号 char name20; /姓名 char sex; /性别 struct date /生日 int month ; int day; int year; birthday ; float score; /成绩 char addr30; /住址 stu;,对成员进行逐级访问 void main() stu.birthday . mo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年卫生招聘考试之卫生招聘(计算机信息管理)押题练习试卷B卷附答案
- 2025年黄山市黄山区事业单位公开招聘笔试(含加分)笔试历年典型考题及考点剖析附带答案详解
- Brand KPIs for milk:Santa Clara(desde 1912) in Brazil-英文培训课件2025
- Brand KPIs for milk:Califa Farms in the United Kingdom-英文培训课件2025
- 2025年装配式建筑部品部件标准化设计在装配式建筑中的装配式建筑施工工艺报告
- 能源与资源行业新能源储能技术报告:液流电池技术突破与应用
- 企业粮食仓储管理办法
- 云县地方债务管理办法
- 企业冬季取暖管理办法
- 会计薪酬结算管理办法
- 空气能维保合同协议
- 儒家视角下的文明交流与互鉴探讨
- 2025-2030机器人操作系统行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 农家院租赁合同8篇
- 矿物加工余热发电技术-全面剖析
- 2025时政试题及答案(100题)
- GB/T 45365-2025纺织品保湿效果的测定蒸发热板测微气候法
- 医院人力资源部门年终总结
- 急流救援IRB培训一(水域救援基础理论、艇操、船外机安装)
- 2025年宁波农商发展集团限公司招聘高频重点提升(共500题)附带答案详解
- 2024-2030年中国独立学院行业转型挑战分析发展规划研究报告
评论
0/150
提交评论