/*继承结构体*/

#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. Drupal中hook_theme函数用法

    在开发的时候不免要使用到drupal theme 定义.举个简单的例子: 复制代码 代码如下: <?phpfunction modulename_theme() { //开始定义自己的theme ...

  2. Cloud

    Cloud = Data + Routing + Computing + Storage

  3. 使用本地计划任务定时关闭azure虚拟机

    本文包含以下内容 前提条件 如何实现定时关闭虚拟机 前提条件 Controller 机器上必须安装 Azure PowerShell,并且要在 PowerShell 里登录一次 Azure, 请参见: ...

  4. geth访问公有链

    同步以太坊,配置rpc地址 mkdir /opt/blockchain nohup geth --syncmode "fast" --cache=1024 --maxpeers 3 ...

  5. Service Broker完成实例之间的会话详细解读

    首先了解service broker是什么东西: Service Broker 是数据库引擎的组成部分,因此管理这些应用程序就成为数据库日常管理的一部分. Service Broker 为 SQL S ...

  6. ZT 困难是什么?困

    困难是什么?困难就是摆在我们面前的山峰,需要我们去翻越;困难就是摆阻碍我们前行的巨浪,需要我们扬帆劈刀斩浪航行:困难就是我们眼前所下的暴风雨,要坚信暴风雨过后会有阳光和彩虹. 其实困难并不可怕,怕的就 ...

  7. Docker入门系列之一:在一个Docker容器里运行指定的web应用

    实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然 ...

  8. SAP C4C里如何实现Sales Unit和Seller的自动determination

    先看一个效果,我录了一个视频,发布在视频网站上,大家可以先看看SAP Cloud for Customer里启用了partner 自动determination后的效果. 在SAP Cloud for ...

  9. Fiddler实现IOS手机抓取https报文

    如何设置代理访问内网进而抓取手机的Https报文进行分析定位. 准备工作: 1.PC上连接好VPN 2.管理员方式打开Fiddler工具 开搞: 一.设置Fiddler 1.打开Tools->O ...

  10. 解决Could not get lock /var/cache/apt/archives/lock

    在ubuntu apt-get upgrade的时候,遇到: E: Could not get lock /var/cache/ apt/archives/lock - open (11 Resour ...