【c学习-8】
/*继承结构体*/
#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】的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
随机推荐
- win环境下jdk7与jdk8共存问题
1.jdk安装包 安装步骤略 2.jdk等配置文件修改 在安装JDK1.8时(本机先安装jdk1.7再安装的jdk1.8),会将java.exe.javaw.exe.javaws.exe三个文件cop ...
- 删除排序数组中的重复数字 - C++
class Solution { public: /** * @param A: a list of integers * @return : return an integer */ int rem ...
- maven学习(二)maven常用的命令
参考博客:(http://blog.csdn.net/keda8997110/article/details/20925449) 以下命令都是基于命令行的操作,也可以直接在eclipse等IDE上ma ...
- Ruby在Windows上安装
Ruby在Windows下安装windows下的rails2.02环境搭建 ROR本地安装的技术含量比较高的 一.安装Ruby1.下载Ruby()安装包双击安装,安装过程中注意选中"Enab ...
- python加解密
from Crypto.Cipher import AES import base64 secret_key = '1234567890123456' # 密匙 msg_text = 'test so ...
- Facebook 新开源了 2 个东西,一个语音识别系统(wav2letter++)和一个机器学习库(flashlight)
Open sourcing wav2letter++, the fastest state-of-the-art speech system, and flashlight, an ML librar ...
- The content of element type "bean" must match "(description?,(constructor-arg|property|lookup-method|replaced-method)*)".
开发中,总有一下奇奇怪怪的问题 完整的错误就不贴了,异常提示: hibernate.xml] is invalid; nested exception is org.xml.sax.SAXParseE ...
- Android(java)学习笔记49:通过反射获取私有构造方法并且使用
1. 反射获取私有构造方法并且使用: (1)获取字节码文件.class对象: Class c = Class.forName("cn.itcast_01.Person&qu ...
- 【LOJ6060】「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set(线性基)
点此看题面 大致题意: 让你把\(n\)个数分成两部分,使得在两部分异或和之和最大的前提下,两个异或和中较小的那个尽量小.输出最优的较小异或和. 线性基 关于线性基,可以看一下这篇博客:线性基入门. ...
- gluon 实现多层感知机MLP分类FashionMNIST
from mxnet import gluon,init from mxnet.gluon import loss as gloss, nn from mxnet.gluon import data ...