/*继承结构体*/

#include

// 定义子结构体

struct date{
int year;
int month;
int day;
};

//定义父结构体
struct student{
char name[20];
int age;
char sex;
struct date birthday; //父结构体包含子结构体
}; //初始化父结构体变量

int main(){
struct student student={"liupeng",18,"man",{2001,01,30}};
//主函数内分别调用子父结构体
printf("name:%s\n",student.name);
printf("year:%dmonth:%dday:%d\n",student.birthday.year,student.birthday.month,student.birthday.day);
}

/*结构体练习*/

#include

int main(){
//定义一个结构体并初始成员
struct books{
int money;
char bookname[10];
int dates;
char names;
};
struct books xiaomin={20,"浮生六记",2018,"xm"};
//对结构体成员变量值进行输出
printf("money:%d\nbookname:%s\ndates%d\nnames:%c\n",xiaomin.money,
xiaomin.bookname,xiaomin.dates,xiaomin.names
);

}

/*结构体练习2*/

#include

//定义一个结构体

struct student {
char name[10];
int age;
char sex;
};
int main(){
//定义计数器,用于遍历结构体内成员
int i;
//初始化结构体成员
struct student stu[3]={
{"liu",18,"man"},
{"zhang",20,"wom"},
{"wu",40,"man"}
};
for(i=0;i
#define N 5 //预定义常量N

//定义结构体

struct x{
int num;
int cro;
}a[10]; //初始化结构体变量

int main(){
//定义两个计数器
int i,j;
//循环遍历输入
for(i=0;i=1;i--)
for(j=i-1;j>=0;j--)
if(a[i].numint main(){
//定义一个结构体
struct student{
char name[10];
int number;
float score[30];
int avg;
}stu; //定义结构体变量
//为结构体成员赋值
printf("请输入结构体成员的值:\n");
scanf("%s%d",&stu.name,&stu.number);
scanf("%f%f%f",&stu.score[1],&stu.score[2],&stu.score[3]);
//计算平均值
stu.avg=(stu.score[1]+stu.score[2]+stu.score[3])/3;
printf("name:%s\navg:%d\n",stu.name,stu.avg);
}

/*结构体练习*/

#include

//定义结构体

struct student{
int number;
char name[10];
int score;
};

//定义求结构体最大成员函数

int main(){
//void studentmax(){
//计数器
int i,m=0;
//初始化结构体成员
struct student stu[3]={
{101,"liu",100},
{102,"zhang",101},
{103,"wang",68},
};
//初始化最大分数
float maxscore;

maxscore=stu[0].score;
//循环遍历结构体成员

for(i=0;imaxscore){
//maxscore=m;
stu[i].score=maxscore;
m=i;
}
}
//对最大分数的名字和编号进行输出
printf("name:%s\nnumber:%d\n",stu[m].name,stu[m].number);
printf("score%f\n",maxscore);
}

/*结构体练习*/

#include
#include
//定义一个结构体

void main(){
struct change{
char name[20];
int count;
};
//初始化结构体变量和成员

struct change people[20]={
{"liu",0},
{"zhang",0},
{"wu",0}};
//定义两个计数器
int i,j;
//初始化投票变量数组
char blieve[10];
//循环遍历投票数
for(i=0;i
#include //引入字符处理库文件
#define MAX 101 //预定义变量最大值
struct telstruct{
char name[10];
char tel[11];
};

//定义号码存储函数

int telFunction(struct telstruct *a){ //初始化结构体变量指针作为形参
//计数器
int i,n;
//struct telstruct *a;
//循环遍历判断
/*for(i=1;i
enum Week{Mon,Tues,Thir,Thur,Firl,Sat,Sun};
int main(){
// 定义整形变量
int x;
printf("请输入你的数字0-6:\n");
scanf("%d",&x);
//循环遍历

switch(x){
case 1:
printf("mon");
break;
case 2:
printf("tues");
break;
case 3:
printf("thir");
break;
case 4:
printf("thur");
break;
case 5:
printf("firl");
break;
case 6:
printf("sat");
break;
default:
printf("sun");
}

}

/*--------这是一个预编译文件index.h--------*/

//定义预处理指令
#define P printf
#define S scanf
#define D %d
#define O &

/*----------这是主程序--------*/
//引入系统库文件和自定义库文件
#include
#include"index.h"
int main(){
//定义整形变量
int x=1,y=2,sum;
P("请输入x的值:\n");
//S("D",Ox);
P("请输入y的值:\n");
//S("D",Oy);
sum=x+y;
P("D",sum);

}

/*宏*/
#include
#define Test "hello world" \ //续行
"welcome my world" //定义一个宏
#undef Test //终止取消宏定义

int main(){
char x[20]="Test hello world"; //定义字符变量数组
printf("%s\n%s\n",x,Test);

}

/*
int main(){
union {
int a;
int b;
}x;
//输出共用体变量的内存
printf("%d",sizeof(x));

}
*/

/*宏参数*/
/*#include*/ //库文件包含指令
#include "stdio.h" //用户自定义文件包含指令
#define MIN(a,b)((a)*(b)+(b)) //定义宏运算

int main(){
int x,y; //定义整型变量
printf("请输入x和y的值:\n");
scanf("%d%d",&x,&y);
printf("MIN:%d\n",MIN(x,y)); //调用宏运算输出
}

/*预处理条件指令作用*/
//引入库文件
#include
#define NUM "hello world" //声明预处理常量
#line 100 "project7.c" //行号预定义命令
#pragma Message "terminal"
int main(){
printf("当前的行号是:%d\n%s\n",__LINE__,__DATE__);

#ifndef NUM
printf("你的预定义指令没有定义:\n");
#else
printf(NUM"\n");

#endif
//定义计数器
/*
int i=0;
//根据预处理条件指令判断计算NUM的值
#if NUM>10
i++;
//#else //#endif
#elif NUM==10
i+=50;
#else //#endif;
//#if NUM
#define UPPERCASE 1 //预宏
int main(){
char *x="hello world"; //定义整型字符指针和字符变量
char y;
int i=0; //定义计数器
//循环
while((y=x[i])!='\0'){
i++;
#if UPPERCASE
if(y>'a'&&y'A'&&y
#define swap(a,b){int c;c=a;a=b;b=c;} //预定义交换宏
int main(){
//定义两个计数器和两个整型数组
int i ,j,a[10],b[10];
//循环对整型数组输入
printf("请输入数组a内的值:\n");
for(i=0;i
#define FALSE 0
#define TRUE 1
#define EVEN(x)(((x)%2==0)?TRUE:FALSE)//宏表达式

int main(){
//计数器
int i;
//整型变量初始化
int sum=0;
for(i=0;i
#define MIN(a,b,c)((a)>(b)?((b)>(c)?(c):(b)):((c)>(a)?(c):(a))) //宏表达式
int main(){
//定义整型变量
int x,y,z;
printf("请输入x y z的值:\n");
scanf("%d%d%d",&x,&y,&z);
//引用宏表达式
printf("MIN:%d",MIN(x,y,z));
}

/*--------------预定义文件format.h------*/

#define INTERFACE(d) printf("%4d\n",d) //预定义宏表达式

/*-------------------主程序文件project12.c------------------*/
#include
#include "format.h" //引入预定义文件
int main(){
int d; //定义整性变量
printf("请输入d的值:\n");
scanf("%d",&d);
INTERFACE(d); //应用宏表达式
}

/*预定义指令练习*/

#include
#define PWD 1

int main(){
char *p="hello world";//定义字符型指针
//引用预定义指令
#if PWD
printf("******\n");
#else
printf("%s\n",p);
#endif
}

【c学习-8】的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  10. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

随机推荐

  1. css滤镜模糊效果filter和backdrop-filter

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. php *-devel

    源码编译安装个php,缺少好多-devel的库. why devel? devel包至少包括头文件和链接库.如果你的要安装的源码依赖某个库,那肯定需要这两样东西. 让apache支持php 在编译ph ...

  3. Strom入门

    Worker.Executor.Task详解: Storm在集群上运行一个Topology时,主要通过以下3个实体来完成Topology的执行工作:1. Worker Process(工作进程)——S ...

  4. Android自定义验证码输入框

    未经允许,禁止

  5. ARM 中可用性集使用的注意事项

    Azure 目前有两种部署模型:经典部署模型 (ASM) 和资源管理器 (ARM).如果您之前使用过 ASM 模式下的可用性集,那么很可能在使用 ARM 模式下的可用性集时,会遇到一些问题或者疑惑.这 ...

  6. C# 中关于radiobutton控件的使用

    在一个Form窗口中定义了3个radiobutton,radioButton1.radioButton2和radioButton3,以及button1和button2(这里可以是其他控件) 为了实现单 ...

  7. UIRecorder安装与使用

    继vue单元测试,将进行vue的e2e测试学习. 学习点: 安装uirecorder 用工具(UI Recorder)录制测试脚本 测试脚本的回放 本文意在安装UI Recorder,并且利用该工具进 ...

  8. SpringMvc-view

    1.view视图:及springmvc返回到前端的页面,前面的所有跳转都是view的列子在此就不在举例了 2.在view界面中如何实现国际化? 2.1实现国际化有首先需要配置国际化资源文件:例如 英文 ...

  9. NO.001-2018.02.06《木兰花·拟古决绝词柬友》清代:纳兰性德

    木兰花·拟古决绝词柬友原文.翻译及赏析_纳兰性德_古诗文网   木兰花·拟古决绝词柬友 清代:纳兰性德 人生若只如初见,何事秋风悲画扇.与意中人相处应当总像刚刚相识的时候,是那样地甜蜜,那样地温馨,那 ...

  10. python 带BOM头utf-8的响应解码

    接口响应编码格式为带BOM头utf-8.直接获取响应的text出现乱码. '''dinghanhua2018-11requests text与content,指定响应的encoding''' api ...