自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 C++指向结构体变量的指针

C++通过指向结构体变量的指针引用结构体变量中的成员C++中,一个结构体变量的指针就是该变量所占据的内存段的起始地址,指针变量也可以用来指向结构体数组中的元素。C++提供了指向结构体变量的运算符->,例如:p->num;//表示指针p当前指向的结构体变量中的成员nump->num 和(* p).num 等价,同样,p->namep->name等价于(*p).name。在C++中,以下3种形式等价:结构体变量.成员名,如stu.num。(*p).成员名,如( *

2020-12-31 08:56:06 2026 1

原创 C语言 | 输入小于1000的数,输出平方根

例49:从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。解题思路:题目要求输入的数小于1000,为了增加程序的灵活性,定义符号常量M为1000,如果题目要求输入的数小于10000,只需修改define指令即可,不必修改主函数。源代码演示:#include<stdio.h>//头文件 #include<math.h>//为了调用sqrt函数 #defin

2020-12-31 08:53:39 6979 6

原创 C语言 | 用getchar读入两个字符,分别用putchar和printf输出

例48:编写程序,用getchar函数读入两个字符给c1和c2,然后分别用putchar函数和printf函数输出这两个字符。解题思路:思考三个问题变量c1和c2应定义为字符型还是整型?要求输出c1和c2值的ASCII码,应该怎么处理?整型变量与字符变量是否存在任何情况下都可以互相替代?源代码演示:#include<stdio.h>//头文件 int main()//主函数 { char character_1,character_2;//定义字符 printf("请输

2020-12-30 21:26:10 10518 1

原创 C++结构体数组 | 结构体数组的使用

C++结构体数组C++结构体数组与以前介绍过的数值型数组的不同之处在于:每个数组元素都是一个结构体类 型的数据,它们都分别包括各个成员项。C++结构体数组定义C++结构体数组的定义和定义结构体变量的方法相仿,只需声明其为数组即可struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年龄 }; Student stu[5];//定义Student类型的结构体数组struct Stude

2020-12-30 21:23:16 24290 4

原创 C++结构体变量的引用 | 结构体变量引用

C++结构体变量的初始化C++对结构体变量可以在定义时指定初始值。struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年龄 }studeng1={1001,'M',24};C++结构体变量的引用C++在定义了结构体变量以后,可以引用这个变量。可以将一个结构体变量的值赋给另一个具有相 同结构的结构体变量。student1= student2;可以引用一个结构体变量中的一个成员的值。

2020-12-29 20:41:32 4012 3

原创 C语言 | 求圆周长 面积 圆球表面积 体积

例47:C语言编程求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。解题思路:就是简单的数学公式套用,圆周长公式=2πr,圆面积=πr²,圆球表面积=4πr²,圆球体积=4πR³ /3,圆柱体积=πr²h。源代码演示:#include<stdio.h>//头文件 #define PI 3.141526//宏定义 int main()//主函数 { float r,h;//定义半径、高 float perimeter;//圆周长 float area;//圆面积

2020-12-29 11:12:03 16898 4

原创 C++结构体类型变量

C++定义结构体类型变量的方法1、先声明结构体类型再定义变量名,在定义了结构体变量后,系统会为之分配内存单元。struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年龄 };2、在声明类型的同时定义变量一般形式为struct 结构体名{ 成员表列}变量名表列;struct Student{ //自定义结构体变量 int num;//学号 char sex;//性

2020-12-28 11:45:06 2938 3

原创 C语言 | 最大公约数最小公倍数

例45:C语言编程实现求两个数的最大公约数和最小公倍数解题思路:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个;最小公倍数是指两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。最小公倍数=两整数的乘积÷最大公约数 , 所以怎么求最大公约数是关键。源代码演示:#include<stdio.h>//头文件int main()//主函数{ int m, n, num1, num2, temp;//定义整型变

2020-12-28 11:42:11 390 3

原创 C++结构体概述 | 输出结构体变量

C++结构体概述C++提供了许多种基本的数据类型,但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。因此C++允许程序员根据需要自己声明一些类型,程序员可以自己声明的类型有结构体类型、共用体类型、枚举类型、类类型等,这些都是程序员可以自己定义的类型。在一个组合项中包含若干个类型不同的数据项,C语言和C++都允许程序员自己指定这样 一种数据类型,它称为结构体。C++声明一个结构体类型的一般形式为:struct 结构体类型名{成员表列};在声明一个结构体类

2020-12-27 20:52:10 3943 1

原创 C语言 | 最大公约数最小公倍数

例45:C语音编程实现求两个数的最大公约数和最小公倍数解题思路:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个;最小公倍数是指两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。最小公倍数=两整数的乘积÷最大公约数 , 所以怎么求最大公约数是关键。源代码演示:#include<stdio.h>//头文件 int main()//主函数 { int m, n, num1, num2, temp;//定义

2020-12-27 20:50:13 57214 38

原创 C++引用作函数参数 | 传送变量的别名

C++引用作函数参数C++之所以增加引用类型,主要是把它作为函数参数,以扩充函数传递数据的功能。小林在之前的推文中介绍过函数参数传递的两种情况。将变量名作为实参和形参,这时传给形参的是 变量的值,传递是单向的。如果在执行函数期间形 参的值发生变化,并不传回给实参。因为在调用函 数时,形参和实参不是同一个存储单元。传递变量的指针,形参是指针变量,实参是一个变量的地址,调用函数时,形参指向 实参变量单元。C++的这种虚实结合的方法仍然是值传递方式,只是实参的值是变量的地址而已,C++提供了向函数传递数

2020-12-25 21:07:47 669 1

原创 C语言 | 输入一些字符,直到输入“#”为止

例44:C语音实现从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入一个“#”为止。解题思路:用fgetc函数从键盘逐个输入字符,然后用fputc函数写到磁盘文件即可。源代码演示:#include<stdio.h>//头文件#include <stdlib.h>int main(){ FILE *fp;//定义file类型指针变量 char ch,filename[10];//定义字符和字符数组 printf("请输入所用的文件名:");//提示语句

2020-12-25 21:05:58 9039 4

原创 C语言 | 用同一表格输出若干人的数据

例43:有若干个人员的数据,其中有学生和老师,学生的数据包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职务、职业。要求用C语言编程实现同一个表格输出。解题思路:可以看出:学生和教师的数据的项目大多数是相同的,即职位不同,学生是班级,老师是职位,所以共同的部分可以用共用体。main函数之前定义了外部的结构体数组person,在结构体类型声明中包括了共用体类型category成员,在这个共用体成员中又包括两个成员。源代码演示:#include<stdio.h>//头文

2020-12-24 10:34:42 781 3

原创 C++变量的引用 | 使用变量的引用

C++变量的引用C++可以对一个数据可以使用引用,引用是C++对C语言的一个重要扩充,引用是一种新的变量类型, 它的作用是为一个变量起一个别名。比如要给变量temp起个别名change:int temp;//定义整型变量tempint &change=temp;//声明change是temp的引用上述代码声明了change是temp的引用,即change是temp的别名,经过上述声明后,change和temp的作用相同,都表示同一变量,&是引用声明符,并不代表地址,读者不要理解为

2020-12-24 10:33:03 2872 3

原创 C语言 | 建立链表,输出各结点中的数据

例42:C语言实现一个简单链表,它由3个学生数据的结点组成,要求输出各结点中的数据。解题思路:读者在学习这道例题的时候,应该首先分析三个问题。各个结点是怎么样构成链表的?没有头指针head行不行?p起什么作用,没有它行不行?源代码演示:#include<stdio.h>//头文件 struct student //定义学生结构体 { int num; //学号 float score;//成绩 struct student *next;};int main()

2020-12-23 09:09:47 2370 1

原创 C++指针运算

C++指针运算指针变量加或减 一个整数p++;p--;p+i;p-i;C++规定,一个指针变量加或减一个整数是将该指针变量的原值和它指向的变量所占用的内存单元字节数相加或相减。C++指针变量赋值将一个变量地址赋给一个指针变量。point=&array;//将变量array的地址赋给pointpoint=array;//将数组array首元素的地址赋给pointpoint=&array[1];//将数组array第1个元素的地址赋给pointpoint=min;//将

2020-12-23 09:07:45 543 1

原创 C++返回指针值的函数 | 按字母顺序由小到大输出

C++指向函数的指针作函数参数学到这里的读者应该知道在C语言中,函数指针变量常见的用途之一是作为函数的参数,将函数名传给其他函数的形参,这样可以在调用一个函数的过程中根据给定的不同实参调用不同的函数,在C++中同样如此。C++返回指针值的函数在C++中,一个函数可以带回一个整型值、字符值、实型值 等,也可以带回指针型的数据,即地址,带回的值的类型是指针类型,返回指针值的函数简称为指针函数。定义指针函数的一般形式为类型名 *函数名(参数列表);C++指针数组在C++中,如果一个数组,其元素均为

2020-12-22 10:39:27 556 1

原创 C语言 | 输出平均成绩最高学生的信息

例41:有n个结构体变量,内含学生的学号,学号,和三门成绩。要求输出平均成绩最高学生的信息(包括学号、姓名、三门课程成绩和平均成绩)解题思路:将n个学生的数据表示为结构体数组(有n个元素)。按照功能函数化的思想,小林分别用3个函数来实现不同的功能。源代码演示:#include<stdio.h>//头文件 #define N 3//宏定义 struct student //学生类结构体 { int num; //学号 char name[20];//姓名 float s

2020-12-22 10:37:21 8809 13

原创 C语言 | 指向结构体变量的指针变量

例40:C语言实现通过指向结构体变量的指针变量变量输出结构体变量中的信息。解题思路:在主函数中声明了struct student类型,然后定义了一个struct student类型的变量s_1,又定义了一个指针变量p,它指向一个struct student类型的对象,将结构体变量s_1的起始地址赋给指针变量p,也就是使p指向s_1,然后对s_1的各个成员赋值。源代码演示:#include<stdio.h>//头文件 #include<string.h>//为了引用strcpy

2020-12-21 09:11:44 835 1

原创 C语言 | 按成绩高低输出学生信息

例39:有n个学生的信息(包括学号、姓名、成绩),C语言编程实现按照成绩的高低顺序输出学生的信息。解题思路:用结构体数组存放n个学生信息,采用选择法对各元素进行排序,在定义结构体数组时进行初始化,为清晰起见,将每个学生的信息用一对花括号包起来。源代码演示:#include<stdio.h>//头文件 struct student //学生结构体 { int num; //学号 char name[20]; //姓名 float score; //成绩 } ;int

2020-12-21 09:09:52 12361 10

原创 C++函数指针变量调用函数 | 求两个数中的大数

C++函数指针变量调用函数在C++中,指针变量也可以指向一个函数,一个函数在编译时被分配给一个入口地址,这个函数入口地址就称为函数的指针,可以用一个指针变量指向函数,然后通过该指针变量调用此函数。指向函数的指针变量的一般定义形式为函数类型 (*指针变量名)(函数形参表);经典案例:C++求两个数中的大数。#include<iostream>//预处理#include<string>using namespace std;//命名空间 int main()//主函数

2020-12-21 09:07:10 1466 1

原创 C++字符数组存放字符串 | 字符指针变量

C++指向数组的指针作函数参数一维数组名可以作为函数参数传递,多维数组名也 可作函数参数传递。C++用字符数组存放一个字符串在C++中可以用多种方法访问一个字符串,第一种字符数组:#include<iostream>//预处理using namespace std;//命名空间 int main()//主函数 { char str[]="关注:C语言入门到精通"; cout<<str<<endl; return 0; //函数返回值为0;}

2020-12-18 09:08:55 3129 4

原创 C语言 | 统计投票的结果

例38:有三个候选人,每个选民只能投给一个人,要求用C语言编一个统计选票的程序,先后输入备选人的的名字,最后输出各人的得票结果。解题思路:需要设计一个结构数组,数组中包含3个元素,每个元素中的信息应包括候选人的姓名和得票数。源代码演示:#include<stdio.h>//头文件 #include<string.h>//引入strcmp struct people//定义结构体变量 { char name[20];//定义字符数组 int number;

2020-12-18 09:05:38 4824 1

原创 C语言 | 用结构体变量存储学生信息

例37:C语言实现把一个学生的信息(包括学号、姓名、姓名、地址)放在一个结构体变量中。然后输出这个学生的信息。解题思路:先在程序中自己建立一个结构体类型,包括有关学生信息的各成员。然后用他来定义结构体变量,同时赋初值。在定义结构体变量时可以对它的成员初始化。初始化列表是用花括号括起来的一些常量,这些常量依次赋给结构体变量中的各成员。源代码演示:#include<stdio.h>//头文件 int main()//主函数 { struct student_Information

2020-12-17 19:03:41 9482 3

原创 C++多维数组元素的地址 | 输出二维数组任一行任一列元素的值

C++多维数组元素的地址在C++中,用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。设有一个二维数组array,它有3行4列,如下:int array[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12};array是一个数组名,array数组包含3行,及3个元素:array[0],array[1],array[2],而每一个元素又是一个一维数组,它包含4列元素。二维数组是数组的数组,即数组array是由3个一维数组所组成的,从二维数组的角度来看,arr

2020-12-17 19:00:35 3340 1

原创 C语言 | 选择1或2输出max或min

例36:C语言实现输入两个整数,然后让用户选择1或者2,选择1是调用max,输出两者中的大数,选择2是调用min,输出两者中的小数。解题思路:定义一个函数max和函数min,实现求两个整数中的大的和小的。源代码演示:#include<stdio.h>//头文件 int main()//主函数 { int max_Number(int ,int );//函数声明 int min_Number(int x,int y);//函数声明 int (*p)(int,int);//

2020-12-16 09:19:36 3453 5

原创 C++指针变量作函数参数接收数组地址

C++指针变量作函数参数接收数组地址在C++中,用指针变量指向数组元素时要注意: 指针变量p可以指向有效的数组元素,实际上也可以指向数组 以后的内存单元。int arrya[10];//指针变量p的初值为&array[0]*p=array;cout<<*(p+10;//输出arry[10]的值在使用指针变量指向数组元素时,应切实保证指向 数组中有效的元素指向数组元素的指针的运算比较灵活。如果先使p指向数组array的首元素,则:p++,使p指向下一元素,即array[1]

2020-12-16 09:17:23 988 1

原创 C++指向数组元素的指针 | 用指针输出数组中的10个数

C++指向数组元素的指针在C++中,一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址;指针变量既然可以指向变量,也可以指向数组元素,所谓数组元素的指针就是数组元素的地址。定义一个整型数组array,它有10个元素:int array[10];定义一个基类型为整型的指针变量p:int *p;将元素array[0]的地址赋给指针变量p,使p指向array[0]:p=&array[0];和C语言一样,在C++中,数组名代表数组中第一个元素的

2020-12-15 09:23:10 8538 2

原创 C语言 | 改变指针变量的值

例35:C语言编程实现改变指针变量的值。解题思路: 指针p的值是可以变化的,printf函数输出字符串时,从指针变量p当时所指向的元素开始,逐个输出各个字符,直到遇‘\0’为止。而数组名虽然代表地址,但是它是常量,它的值是不能改变的。源代码演示:#include<stdio.h>//头文件 int main()//主函数 { char *p="I love C program language";//定义指针变量且赋值 p=p+7;//指针变量p指向字符串的第8位 pr

2020-12-15 09:20:40 3881 1

原创 C语言 | 用指针字符串a复制为b并输出

例34:C语音实现将字符串a复制为b,然后输出b,要求使用指针。解题思路:定义两个字符数组a和b,对a数组初始化。将a数组中的每一个字符逐个复制到b数组中,程序中a和b都定义为字符数组,通过地址访问其数组元素。源代码演示:#include<stdio.h>//头文件 int main()//主函数 { char a[]="I love you";//定义字符数组且赋初值 char b[20];//定义字符数组 int i;//定义整型变量 for(i=0;*(a+i

2020-12-14 09:10:39 2226 2

原创 C++指针作函数参数 指针实现由大到小

C++指针作函数参数在C++中,函数的参数不仅可以是整型、浮点型、字符型等数据,还可以是指针类型,它的作用是将一个变量的地址传送给被调用函数的形参。C++为了使在函数中改变了的变量值能被main函数所用,不能采取把要改变值的变量作为参数的办法, 而应该用指针变量作为函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化依然保留下来,这样就实现了通过调用函数使变量的值发生变化,在主调函数中使用这些改变了的值的目的。和C语言一样,C++实参变量和形参变量之间的数据传

2020-12-14 09:08:44 870 1

原创 C++定义指针变量 | 使用指针变量

C++指针变量的定义C++规定所有变量在使用前必须先定义,即指定其类型,在编译时按变量类型分配存储空间,对指针 变量必须将它定义为指针类型。//定义整型变量int i,j;//定义指针变量int *point_num;上述定义的指针变量point_num是指向整型数据的指针变量,也就是说,指针变量pointer_num只能用来指向整型数据,而 不能指向浮点型变量或字符型变量。int就是指针变量的基类型,指针变量的基类型用来指定该指针变量可以指向的变量的类型。定义指针变量的一般形式为基

2020-12-14 08:55:25 4331 2

原创 C++变量与指针 | 用string复制

C++什么是指针在C++代码中一般是通过变量名来对内存单元进行存取操作的,程序经过编译以后已经将变量名转换为变量的地址,对变量值的存取都是通过地址进行的。按变量地址存取变量值的方式称为直接存取方式,或直接访问方式。在C++中,还可以采用另一种称为间接存取的方式,可以在程序中定义这样一种特殊的变量,专门用来存放地址,由于通过地址能找到所需的变量单元,因此可以说,地址指向该变量单元。因此将地址形象化地称为指针,一个变量的地址称为该变量的指针;如果有一个变量是专门用来存放另一变量地址的,则它称为指针变量;

2020-12-14 08:54:55 514 1

原创 C++指针变量的引用 | 通过指针变量访问num1和num2

C++指针变量的引用在C++中有两个与指针变量有关的运算符:&取地址运算符*指针运算符例如:&num为变量num的地址,*point为指针变量point所指向的存储单元。经典案例:C++通过指针变量访问整型变量num1和num2。#include<iostream>//预处理using namespace std;//命名空间 int main()//主函数 { int num1,num2;//定义整型变量num1和num2 int *point_1,*po

2020-12-13 21:46:34 518 1

原创 C语言 | 用指向元素的指针变量输出二维数组元素的值

例33:有一个3*4的二维数组,要求用C语言实现指向元素的指针变量输出二维数组个元素的值。解题思路:二维数组的元素时整型的,它相当于整型变量,可以用int*型指针变量指向它。二维数组的元素在内存中是按行顺序存放的,即存放完序号为0的行中的全部元素后,接着存放序号为1的行中的全部元素,依此类推。本例是顺序输出数组中各元素之值,比较简单。如果要输出某个指定的数值元素,则应事先计算该元素在数组中的相对位置。源代码演示:#include<stdio.h>//头文件 int main()//主函

2020-12-13 21:44:45 6350 8

原创 C++字符串数组 | 字符串数组输出

C++字符串数组定义在C++中不仅可以用string定义字符串变量,也可以用string定义字符串数组。string array[3];表示定义一个字符串数组,这个数组包含3个字符串元素。C++字符串数组初始化string array[3]={{"li"},{"zhang"},{"wang"}}读者在使用字符串数组时应该注意以下几点:在一个字符串数组中包含若干个元素,每个元素相当于一个字符串变量。并不要求每个字符串元素具有相同的长度,即使对同一个元素而言,它的长度也是可以变化的,当向某一

2020-12-12 22:12:52 24748 3

原创 C++字符串变量的运算 | 使用+输出两个字符串变量

C++字符串变量的运算在上一节《C++字符串处理函数》中小林讲过:在以字符数组存放字符串时,字符串的运算要用字符串函数,如strcat strcmp、strcpy。而对string类对象,可以不用这些函数,直接用简单的运算符。C++字符串复制字符串复制可以用赋值号:string str1,str2;str1="cyuyan";str2=str1;等同于:strcpy(str1,str2);C++字符串连接在C++中可以用+连接两个字符串变量:string str1="C prog

2020-12-12 22:10:34 2539 7

原创 C++字符串类 | 使用string输出

C++字符串类C++提供了一种新的数据类型:字符串类型,它和char,int类型一样,可以用来定义变量,用一个名字代表一个字符序列,这就是字符串变量。读者需要明白string并不是C++本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象,每一个字符串变量都是string类的一个对象。C++字符串变量的定义在C++中字符串变量和其他类型变量一样,必须先定义后使用,定义字符串变量要用类名string,如:string str;//定义str为字符串变量string st

2020-12-12 22:07:58 12212 1

原创 C++字符串处理函数

C++字符串处理函数C语言和C++提供了一些字符串函数,使得用户能很方便地对字符串进行处理。这些是放在函数库中的,在string和string.h 头文件中定义。如果读者要使用这些字符串函数,应该用#include命令把string.h或string头文件包含到本文件中。C++字符串连接函数strcat函数原型为:strcat(char [],const char[]);strcat函数是有两个字符数组的参数,函数的作用是:将第二个字符数组中的字符串连接到前面字符数组的字符串的后面,第二个字符

2020-12-12 22:05:38 581 1

原创 C语言 | 计算总平均分及第n个人的成绩

例32:有一个班,3个学生,各学习4门课,C语言编程实现计算总平均分数以及第n个学生的成绩,要求使用指针。解题思路:今天这道例题分为3部分,下述求的是第3个学生,读者请思考怎么改为求第n个学生。第一步:求平均分函数:void average(float *p,int n)//自定义求平均成绩函数 { float *p_end;//定义浮点类型指针变量 float sum=0,aver;//定义浮点型变量 p_end=p+n-1;//把地址赋给指针变量 for(;p<=p_

2020-12-12 21:56:10 2873 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除