C++程序学习(二)

1.C++数据类型自定义:

#include <iostream>
    int main(){
        typedef char Name[20];
		Name a,b;
		std::cout<<typeid(a).name()<<typeid(b).name();
		std::cin.get();
		return 0;
}

//typeid(变量名).方法名   =>输出变量的数据类型

另一种定义方法:

#include <iostream>
    int main(){
		typedef struct su{
			char name[10];
			int age;
		};
		su n;
		std::cout <<typeid(n).name()<<std::endl;
		std::cin.get();                                
		return 0;
}

2.定义位域

#include <iostream>
    int main(){
		struct bs{
			unsigned a :1;
			unsigned b :3;
			unsigned c :4;
		}bit,*pbit;//定义了bit和指向bit的指针pbit
		bit.a=1;
		bit.b=7;
		bit.c=15;
		printf("%d,%d,%d\n",bit.a,bit.b,bit.c);
		pbit=&bit;
		pbit->a=0;
		pbit->b&=3;
		pbit->c|=1;
		printf("%d,%d,%d\n",pbit->a,pbit->b,pbit->c);
		std::cin.get();
		return 0;
}

无名的位域是不能使用的

struct   k 
{ 
 int   a:1 
 int   :2   /*该2位不能使用*/ 
 int   b:3 
 int   c:2 
};

3.计算程序的运行时间

#include <iostream>
#include <ctime>
    int main(){
		clock_t start,end;

		start	=clock();
		struct bs{
			unsigned a :1;
			unsigned b :3;
			unsigned c :4;
		}bit,*pbit;
		bit.a=1;
		bit.b=7;
		bit.c=15;
		printf("%d,%d,%d\n",bit.a,bit.b,bit.c);
		pbit=&bit;
		pbit->a=0;
		pbit->b&=3;
		pbit->c|=1;
		printf("%d,%d,%d\n",pbit->a,pbit->b,pbit->c);
		end=clock();
		//std::cout<<(double)(end-start)/ CLOCKS_PER_SEC;
		std::cout <<start;
		std::cout <<end;
		std::cin.get();
		return 0;
}

C++程序学习(二)

时间: 2024-12-16 14:21:46

C++程序学习(二)的相关文章

Duilib学习二 第一个程序 Hello World

Duilib学习二  第一个程序 Hello World #pragma once #include <UIlib.h> using namespace DuiLib; #ifdef _DEBUG # ifdef _UNICODE # pragma comment(lib, "DuiLib_ud.lib") # else # pragma comment(lib, "DuiLib_d.lib") # endif #else # ifdef _UNICOD

三年程序学习之二:(对web初认识)

接着上一篇讲,之后第二天我就来公司上班了,主要是前端,CSS+DIV,table,网站维护之类的,这样的日子过了将近3个星期,一直没什么进展,自己也学不到什么技术,不过我觉得CSS+DIV我算是基础的会了,经常去w3c去学校,程序也接触了一些,小公司吗,能接触到的只有ASP,ACCESS之类的学习了.也还算一般吧,自己的发展目标也是以WEB为职业发展的,既然这样前端这些必须都得了解.这三个星期过后,然后给我的是一些有关服务器的工作内容了,终于有机会接触了服务器相关工作,每天在万网上主持域名,然后

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,

nodejs学习二 深入了解console

上一篇我们用console.log编写了第一个程序,虽然如此简单.那么我就从它来说说Node.js中的对象. 对于学过Java .net 的人来说,对象这个词应该都很亲切,如果不觉得亲切,还是先学习一下面向对象. 我们编程中,一切皆对象.你可以把任何一个东西当做对象. 然而,Node.js中也存在对象,而console也是一种对象.既然是对象,他应该有公有的方法.正如你所看到的,log就是它的方法,貌似还是静态的. 那么console中有哪些方法呢,那我们就让他输出一下吧. 噢,原来consol

u-boot学习(二):u-boot简要分析

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 看到不错的文章,不要添加收藏夹,想着以后有时间再看,因为很有可能你以后再也不会看它们了. 想写总结的文章,不要想着等到以后有时间了再总结,因为很有可能你以后更没有时间总结它们了. --送给自己 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

准零基础搞懂FFT快速傅里叶变换及其实现程序(二)

上一篇文章我们了解了DFT的原理,FFT是基于DFT的更适合计算机运算的算法,本文我们就正式开始学习FFT的原理. 首先我么先来宏观的看一下FFT.如果我们把整个FFT的算法看成一个黑盒子的话,那么它的输入就是时间波形信号,比如声音波形(横轴为时间,纵轴为振幅).外什么FFT要比DFT速度更快呢?下面(图1)解释了FFT和DFT的(对于计算机的)算法复杂度 图1 从上面的数学表达式可以看出,一个1024采样点的FFT比DFT块了102.4倍.如果傅里叶变换的数量级更大,FFT的速度优势会更明显.

MongoDB入门学习(二):MongoDB的基本概念和数据类型

上一篇讲了MongoDB的安装和管理,其中涉及到了一些概念,数据结构还有一些API的调用,不知道的没关系,其实很简单,这篇会简单介绍一下. 1.文档 文档是MongoDB的核心概念,多个键值对有序的放在一起就是一个文档,文档是MongoDB存储数据最基本的数据结构.对MongoDB都是以文档的形式来操作的,使用了一种类似JSON的二进制BSON数据格式,对API的调用都是传的文档参数.每种编程语言都有标示文档的数据结构,比如java的map,lua的table,python的dict等等,但是都

程序猿二三事之Java基础--Java SE 5增加的特性--语法篇(一)

程序猿二三事之Java基础–Java SE 5增加的特性–语法篇(一) [ TOC ] 为什么是Java SE 5? 目前已经到了JDK-8u74了,JDK7的主版本已经于2015年4月停止公开更新. 那为什么还要来说Java/JDK5呢? Java SE在1.4(2002)趋于成熟,随着越来越多应用于开发企业应用,许多框架诞生于这个时期或走向成熟. Java SE 5.0的发布(2004)在语法层面增加了很多特性,让开发更高效,代码更整洁. 自动装箱/拆箱.泛型.注解.for循环增强.枚举.可