C语言快速入门系列(六)

C语言快速入门系列(五)

C语言指针加强

本节引言:

上一节我们对C语言中的指针进行了初步的了解,学习了指针的定义,与普通变量

一维数组,二维数组,字符串之间的使用!在本节中我们将会学习一些新的知识点,

函数,结构体与共用体,枚举类型以及类型定义符typedef!

本节学习路线图:

本节正文

函数

ps:空函数就是什么都不做的函数,开发过程中不需要马上实现的,先写空函数!简单的空函数:void abc(){   }

结构体

共用体:

代码示例2:

建立一个共用体类型,当输入的时学生类型时,要求输入的是学生id,当输入的是老师类型的时候,要求输入老师职称

代码如下:

<span style="font-family:Microsoft YaHei;">#include <stdio.h>
union type
{
	int cid;  //班级
	char title[20];  //职称
};

struct Person
{
	char name[10];  //姓名
	char sex;  //性别
	int age;   //年龄
	int flag;  //标志是老师还是学生
 	union type tp;
};

int main()
{
	struct Person person[10];
	int i;
	int num;
	char ch;
	printf("请输入要录入的人数:\n");
	scanf("%d",&num);
	for(i = 0;i<num;i++)
	{
		printf("请输入第%d个人员的信息:\n",i + 1);
		printf("姓名: ");scanf("%s",&person[i].name);getchar();
		printf("性别: ");scanf("%c",&person[i].sex);getchar();
		printf("年龄: ");scanf("%d",&person[i].age);
		printf("职业标识符: ");scanf("%d",&person[i].flag);
		if(person[i].flag == 0)
		{
			printf("请输入学生的班级id:   ");
			scanf("%d",&person[i].tp.cid);
		}
		else if(person[i].flag == 1)
		{
			printf("请输入老师的职称:   ");
			scanf("%s",&person[i].tp.title);
		}
		else
		{
			printf("输入有误,请重新输入!\n");
			i -= 1;
		}
	}
	printf("\n输出所有录入人员的信息:\n");

	for(i = 0;i<num;i++)
	{
		printf("输出第%d个人员的信息:\n",i + 1);
		printf("姓名: ");puts(person[i].name);
		printf("性别: ");printf("%c",person[i].sex);
		printf("\t年龄: ");printf("%d",person[i].age);
		if(person[i].flag == 0)
		{
			printf("\t学生的班级id:   ");
			printf("%d\n",person[i].tp.cid);
		}
		else if(person[i].flag == 1)
		{
			printf("\t老师的职称:   ");
			puts(person[i].tp.title);
		}
	}
	return 0;
}</span>

运行截图:

C语言枚举:

类型定义符(typedef)

小结:

1.函数

①函数的引入,分类,定义使用,函数声明

②函数的传值与传址

③函数的嵌套与递归

2.结构体

①结构体的引入,类型定义与结构体变量的定义

②结构体变量的初始化,引用(通过.)

③结构体数组的使用

3.共用体

①共用体与结构体的异同

②共用体的理解

③共用体的使用

4.枚举

①枚举的引入,使用,枚举值

5.类型定义符

typedef(定义数据类型别名)

通常用的比较多的是定义结构体的别名!

C语言快速入门系列(六),布布扣,bubuko.com

时间: 2024-08-08 01:27:52

C语言快速入门系列(六)的相关文章

C语言快速入门系列(一)

C语言快速入门系列(一)  本系列引言: 本教程的宗旨是将C语言入门的内容进行关键知识点的提纯,将一些笼统的废话去除; 再进行压缩,然后将本章的关键知识点做成路线图的,可以更加方便地掌握学习的方向; 最后提供相关的代码示例以及详细注释,可以帮助学者更快地上手C语言! 如果对本教程有什么建议和缺点纰漏的,欢迎指出,不胜感激! 本节学习路线图: 正文: 1.计算机与程序设计语言的关系: 答:计算机是由硬件与软件系统组成,硬件==>物质基础;软件==>灵魂; 如果脱离了软件,计算机就只是一台什么都做

C语言快速入门系列(五)

C语言快速入门系列(五) C语言指针初涉                                           ------转载请注明出处:coder-pig 本节引言: 上一节我们对C语言复合数据类型中的数组进行了解析,在本节中,我们会对C语言复合数据类型中的 重点,C语言的灵魂-----指针进行学习!使用指针的好处:利用指针可以表示与使用复杂的数据结构; 更加方便地使用我们的数组与字符串;可以像汇编语言一样直接处理内存单元地址;可以动态地进行内存空间 分配,C语言指针是重点,同

C语言快速入门系列(九)

C语言快速入门系列(九)                                               ---转载请注明出处:coder-pig C语言知识点拾遗 本节引言: C语言系列已经接近尾声了,在前面八节的学习中,我们学会了C的基本语法,基本数据类型, 三种程序结构(顺序,判断,循环),数组,函数,指针,结构体,共用体,位运算,文件等内容, 本节将对前面没有讲的C的遗漏知识点进行补充,当然发现有那些的遗漏的知识点也会进行更新! 谢谢大家一直以来的支持,说了这么多的理论,缺的

C语言快速入门系列(七)

C语言快速入门系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比如二级指针, 指针数组,内存分配和const修饰指针常量等!下面就请大家跟随笔者的脚步,对 C指针神秘的一面进行进一步的解析吧! 本节学习路线图: 函数与指针: ①指针作为函数的形参: ②指向函数的指针: ③指针函数: ④带参数的主函数 ps:该代码的运行:先要编译生成exe文件后,来到exe所在文件目

C语言快速入门系列(三)

C语言快速入门系列(三) 结构化的程序设计 -----------------------------------转载请注明出处:coder-pig 本节引言: 在前面的学习中,我们对C语言的基本语法进行了了解,可以暂时理解成我们学了单词; 现在要做得就是学语法,也就是算法;就是构成一个一个基本的程序! 在这一节中我们要学习的是C语言中的输入输出,以及程序的三种结构(顺序,选择,循环结构) 本节学习路线图: 正文: 1.字符输入/输出函数 2.格式输入/输出函数 跟前面的单个字符的输入输出不同,

C语言快速入门系列(二)

C语言快速入门系列(二) 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译运行! 在这一节中我们会对C语言的基本语法进行进一步的学习! C语言是一门语言,可以和英语进行类比,英语句子 = 单词 + 语法 同样C语言的代码语句,也有着一套自己的规则! 废话不多说,直接正文! 本节学习路线图: 正文: 1.基本字符集 1.1 标识符 ①何为标识符:在C语言中,符号常量,变量,数组,函数等都需要一定的名称,我们把这种名称成为标识符 ②标识符的命名规则 答:只能

C语言快速入门系列(四)

C语言快速入门系列(四) C语言数组 ---------转载请注明出处:coder-pig 贴心小提示:如果图看不清晰可右键另存为,应该就很清晰了; 注意上面的代码都要自己过一遍哦! 本节引言: 经过我们前面三个系列的学习,我们对C语言有了一定的了解; 现在要你写这样一个代码应该不难吧: 输入五个学生的成绩,然后求出总和与平均值,打印出结果! 相信大家都会先定义五个变量,用来存储五个学生的成绩,然后再进行计算吧! 但是,假如要求的学生不是5个而是20个,50个或者更多,难道你又定义一堆变量么?

C语言快速入门系列(八)

C语言快速入门系列(八) C语言位运算与文件 本章引言: 在不知不觉中我们的C快速入门系列已经慢慢地接近尾声了,而在这一节中,我们会对 C语言中的位运算和文件进行解析,相信这两章对于一些人来说是陌生的,因为很多 老师都会跳过这两个大知识点,其实这两个也是灰常重要的!比如一个问题,叫你算 变量a乘以2,怎么写效率高?直接a *2,很多人都这样写,但是如果你会位运算的话,你会a<<1; 位运算的效率可是比a*2高的哦!另一个问题,不用变量左中间值,直接交换两个变量的值? 你怎么做?也是用到位运算!

WPF快速入门系列(1)——WPF布局概览

一.引言 关于WPF早在一年前就已经看过<深入浅出WPF>这本书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,本系列将是一个WPF快速入门系列,主要介绍WPF中主要的几个不同的特性,如依赖属性.命令.路由事件等. 在正式介绍之前,我还想分享下为什么我又要重新捡起来WPF呢?之前没有记录下来的原来主要是打算走互联网方向的,后面发现互联网方向经常加班,又累,有时候忙的连自己写了什么都不知道的,所以后面机缘巧合地进了一家外企,在外企不像互联网行业那样,比较清楚,有更多的时