char

MySQL 中的数据类型介绍

无人久伴 提交于 2020-03-19 00:50:12
1、MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 2、数值类型(12) 2.1、整数类型(6) 一张图就能解释清楚了: INTEGER同INT。 2.2、定点数(2) DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值。 使用方式如下: salary DECIMAL ( 5 , 2 ) 下面的介绍将基于上面这个例子。 我们看到其中有两个参数,即DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99。 如果存储时,整数部分超出了范围(如上面的例子中,添加数值为1000.01),MySql就会报错,不允许存这样的值。 如果存储时,小数点部分若超出范围,就分以下情况: 若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存。如999.994实际被保存为999.99。 若四舍五入后,整数部分超出范围,则MySql报错,并拒绝处理。如999.995和-999.995都会报错。 M的默认取值为10,D默认取值为0。如果创建表时,某字段定义为decimal类型不带任何参数,等同于decimal(10,0)。带一个参数时

c++动态链接库及静态链接库的生成与使用

核能气质少年 提交于 2020-03-18 19:48:21
1,新建控制台工程xdltest,改属性-配置属性-常规-配置类型为 动态库.dll或静态库.lib 2,打开工程后添加 dltest.h, dltest.cpp,其中.h与.cpp名字没必要一样 3,编写代码 ---------------------------------------------- --dltest.h #pragma once _declspec(dllexport) void Print(const char* str); ---------------------------------------------- --dltest.cpp #include<iostream> #include"dltest.h" void Print(const char* str) { std::cout << "dltest>> " << str << std::endl; } 4,编译,生成 <库的名字是根据工程名生成的> 若是静态库,则会生成 xdltest.lib. 若是动态链接库则生成 xdltest.lib 和 xdltest.dll 5,使用 (1)将xdltest.lib添加到 <属性-配置属性-链接器-输入-附加依赖项> (2)在<属性-配置属性-链接器-常规-附加库目录>中指定xdltest.lib的目录 (3)在<属性-配置属性-c/c++-常规

#define 定义与 typedef

风格不统一 提交于 2020-03-18 18:30:31
#define #define 宏用于定义预处理的替换规则 简单来说,#define 就是最简单的字符串替换 #define ll long long 就会把程序中所有的 ll 替换成 long long 而程序在运行时根本不会出现过 ll 他把 ll 默认理解为 long long 在一些c语言考试中可能会出一些 #define b a*5 #define a 2+3 问你输出b的值为多少,不要擅自把a理解为2+3=5,而是把他全都替换掉b=2+3*5=17,到这里,你可能就能理解替换的概念了 代码在正式编译前的预处理阶段,预处理器会根据代码中所有"#define"宏定义进行严格的替换,从该宏定义开始的地方起到文件结束或遇到对应的"#undef"指令为止 如果代码中有跟宏定义相关错误,则会在预处理阶段报错 typedef=type+def "typedef"操作基于现有数据类型定义一个新的数据类型,原有数据类型依然存在,其会在编译阶段由编译器识别并处理。typedef int INT 这时INT就是一个int型的数据类型 typedef语句=typedef + 变量定义语句 去掉typedef,这个语句定义了一个变量 加上typedef,这个变量是什么类型,那它就变成了这个类型的别名 另外 typedef在定义指针的时候 typedef char *ch; ch a,b;

常用类

依然范特西╮ 提交于 2020-03-18 17:16:46
# 基本数据类 基本数据类型都在java.lang包中有Byte、Integer、Short、Long、Float、Double、Character 构造 直接将对应类型的付给对象即可用数据类型+Value获得值 Character 类 public static boolean isDigit(char ch) 如果ch是数字字符方法返回 true,否则返回false。 public static boolean isLetter(char ch) 如果ch是字母方法返回 true,否则返回false。 public static boolean isLetterOrDigit(char ch) 如果ch是数字字符或字母方法返回 true,否则返回false。 public static boolean isLowerCase(char ch) 如果ch是小写字母方法返回 true,否则返回false。 public static boolean isUpperCase(char ch) 如果ch是大写字母方法返回 true,否则返回false。 public static char toLowerCase(char ch) 返回ch的小写形式。 public static char toUpperCase(char ch) 返回ch的大写形式。 public static

1161 字符串长度(指针专题)

爱⌒轻易说出口 提交于 2020-03-18 15:15:25
题目来源: https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1161 Description 编写一函数len,求一个字符串的长度,注意该长度不计空格。要求用字符指针实现。在主函数中输入字符串,调用该len函数后输出其长度。 int len(char *sp) { //实现sp所指串的长度,不计空格。 } Input 输入一个字符串,以回车结束,长度不超过100。 Output 输出一个整数,单独占一行。 Sample Input What day is today? Sample Output 15 题意描述: 输入一个字符串(长度不超过100) 调用len函数计算该字符串的长度,不计空格 解题思路: 在len函数中判断是否空格,不是计数变量加一,最后返回即可 程序代码: 1 #include<stdio.h> 2 #include<string.h> 3 int len(char *str); 4 int main() 5 { 6 char str[110]; 7 gets(str); 8 printf("%d\n",len(str)); 9 } 10 int len(char *str) 11 { 12 int i,l,count=0;//注意计数变量的初始化 13 l=strlen(str); 14 for(i=0;i<l

【C】——strtok()和strtok_r()

时间秒杀一切 提交于 2020-03-18 07:21:19
下面的说明摘自于最新的Linux内核2.6.29,说明了strtok()这个函数已经不再使用,由速度更快的strsep()代替 /* * linux/lib/string.c * * Copyright (C) 1991, 1992 Linus Torvalds */ /* * stupid library routines.. The optimized versions should generally be found * as inline code in <asm-xx/string.h> * * These are buggy as well.. * * * Fri Jun 25 1999, Ingo Oeser <ioe@informatik.tu-chemnitz.de> * - Added strsep() which will replace strtok() soon (because strsep() is * reentrant and should be faster). Use only strsep() in new code, please. * * * Sat Feb 09 2002, Jason Thomas <jason@topic.com.au>, * Matthew Hawkins <matt@mh.dropbear.id.au> * -

18、Linux下编程风格

不问归期 提交于 2020-03-18 07:17:08
在前面曾总结过微软环境下编程的规范【1】,但是在linux下,没有自动补起,以及没有像VS那样高级好用的可视化开发工具,如果变量,函数定义太复杂,敲的也累,下面总结linux下编程风格,资料来源于网络。 一、GNU风格 1.函数返回类型说明和函数名分两行放置,函数起始字符和函数开头左花括号放到最左边, 例如: static char * main (argc, argv) int argc; char *argv[]; { ...... } 或者是用标准C: static char * main (int argc, char *argv[]) { ...... } 如果参数太长不能放到一行,请在每行参数开头处对齐: int net_connect (struct sockaddr_in *cs, char *server, unsigned short int port, char *sourceip, unsigned short int sourceport, int sec) 对于函数体,我们应该按照如何方式排版: 在左括号之前、逗号之后,以及运算符号前后添加空格使程序便于阅读 ,例如: if (x < foo (y, z)) haha = bar[4] + 5; else { while (z) { haha += foo (z, z); z--; } return +

grub参数console=

邮差的信 提交于 2020-03-18 07:13:52
本文主要分析Linux内核如何处理grub参数中的console=ttyS0,115200n8部分,中间还会穿插一些 include/linux/init.h 的内容。 grub参数中的console=有多种形式,根据 Documentation/kernel-parameters.txt 文件, console= [KNL] Output console device and options. tty Use the virtual console device . ttyS [,options] ttyUSB0[,options] Use the specified serial port. The options are of the form "bbbbpnf", where "bbbb" is the baud rate, "p" is parity ("n", "o", or "e"), "n" is number of bits, and "f" is flow control ("r" for RTS or omit it). Default is "9600n8". uart[8250],io, [,options] uart[8250],mmio, [,options] Start an early, polled-mode console on the

sizeof()与内存对齐问题小探讨

强颜欢笑 提交于 2020-03-18 05:08:25
关于sizeof输出问题 看下面一个例子: int main() {   char *ss1 = "0123456789";   char ss2[] = "0123456789";    char ss3[100] = "0123456789";   //内存对齐问题   struct { int a; char b; int c; char d; }st1;   struct { int a[10]; char b; char c; }st2;   printf("length1: %d;length2: %d; length3: %d, length4: %d, length5: %d\n",sizeof(ss1),sizeof(ss2), \   sizeof(ss3), sizeof(st1),sizeof(st2));   return 0; } 结果为4,11,100,16,48. 因为ss1首先是一个指针变量,它指向一个字符串,而sizeof输出的是给它传递的变量的长度,因此结果是4; 而对ss2来说,它是一个数组,它的长度未定义,因此要根据字符串的长度来算,再加上一个结束'\0',因此是11; 对于ss3它是一个有固定长度100的字符串,因此输出100; 对于结构体变量st1,与st2来说,默认情况下,为了便于对结构体内元素的访问与管理

c++ Primer 第五版习题答案 第三章

给你一囗甜甜゛ 提交于 2020-03-18 04:43:17
3.2 编写程序,从标准输入中一次读入一整行,然后修改该程序使其一次读入一个词。 void readByLine () { string line; while (getline (cin, line)) { cout << line << endl; } } void readByWord () { string word; while (cin >> word) { cout << word << endl; } } 3.3 说明string类的输入运算符和getline函数分别是如何处理空白字符的。 输入运算符会自动忽略字符串前的空白(空格、制表符、换行等),从第一个真正的字符到下一个空白。 getline函数会保存字符串中的空白,读入数据直到遇见换行符。 3.4 编写程序,读入两个字符串,比较其是否相等并输出结果。如果不相等,输出较大的那个字符串。改写上述程序,比较输入的两个字符串是否等长,如果不等长,输出长度较大的那个字符串。 void compareString () { string s1, s2; cin >> s1 >> s2; if (s1 == s2) { cout << "equal" << endl; } else if (s1 > s2){ cout << s1 << endl; } else { cout << s2 << endl; } } void