Achtung"] H:\Go\src\go_dev\day3\strings> */ 如果只需要去掉前面的部分,或者只去掉末尾的部分,还有下面2个方法: strings.TrimLeft(s string now := time.Now() fmt.Println(now.Year(), now.Month(), now.Day()) } /* 运行结果 H:\Go\src\go_dev\day3\ -01-02×××5:04:05Z07:00" RFC3339Nano = "2006-01-02×××5:04:05.999999999Z07:00" Kitchen = "3: default: } go语言了,case结尾不需要加break,并且语句也不会继续匹配后面的条件。 例如6=1+2+3。编程找出1000以内的所有完数。 三、输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。
通常情况下语言入门前会讲一堆背景和特性,目的是为了能让学习者对该语言有一个大概的认识,但这里我想直接进入细节,不是因为任性,而是因为常量是编程语言最基本的组成元素,这与语言背景无关。 浮点类型的字面常量 -12 //整数类型的字面常量 true //布尔类型的字面常量 "ok" //字符串类型的字面常量 当然GO还有复数常量,如3+ const flag = false const isRead = true const str = "ok" const bookName = "Go language" const rect = 3 ---- 【编后话】: 开始接触GO,感觉它就是一个大杂烩,里面即有C语言的影子,也有Java语言的影子,也有JavaScript脚本的影子,同时还有Pascal语言的痕迹,但使用使用着感觉这符合人的正常思维 借用知乎用户的话讲:GO语言是一门看似简单实际并不简单,貌似外表丑陋实则另有考究的语言。 ----
5、指针运算 5.1指针 +- 整数 在 C语言(指针)1中,我们已经了解过了指针 +- 整数的情况,知道了指针 +- 整数的结果取决于它所指向的对象的类型,这里再来看一种指针 (3)指针指向的空间被释放。 上面的代码是一个非常典型的例子,大家觉得上面的代码有什么问题? 野指针在C语言中是非常可怕的,可能会导致内存泄漏、程序崩溃、安全漏洞、数据损坏等,我们一定要避免野指针的出现。 NULL是C语言中定义的一个标识符常量,值是0,0也是地址,但这个地址(空指针)是无法使用的,读写地址会报错,但不会构成野指针。 (3)指针变量不再使用时,及时置NULL,指针使用之前检查有效性; (4)避免返回局部变量的地址。
一、c语言中的常量 C语言中的常量分为以下几种: ·字面常量:“3.14”;“10”;“a”;"abcdef" ·const修饰的常变量:如下代码,输出结果为10,因为其已被const修饰,变为常变量 \" 只是单纯的为了输出单引号和双引号 #include<stdio.h> int main() { print("\'"); print("\""); return 0; } 3. include<stdio.h> int main() { printf("a\ta"); return 0; } 输出结果为 4.转义字符\ddd和\xdd ddd表示1~3个八进制的数字 本题答案为:14 五、注释 注释有两种风格:·C语言风格的注释/*xxxxx*/ 缺陷:不能嵌套注释 循环语句 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int coding = 0; printf("你会努力学c语言吗
"; const char *str3 = "hello bit."; const char *str4 = "hello bit. ==str4) printf("str3 and str4 are same\n"); else printf("str3 and str4 are not same\n"); return 所以str1和str2不同,str3和str4相同。 二. 数组指针变量 2.1 数组指针变量是什么 上一章我们讲解了指针数组,它是存放指针(地址)的数组,那么指针数组是指针还是数组呢? [5] = {{1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7}}; test(arr, 3, 5); return 0; } 这里的实参和形参都写成了二维数组的形式,其实还有另一种写法 [5] = { {1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7} }; test(arr, 3, 5); return 0; } arr[i] == *(arr+i)
,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的。 修饰全局变量-称为静态全局变量 3. 因为在第一段代码中,我们每次进去test函数a的值都会是2,因为每次出test函数a的值就要销毁,这跟它的生命周期有关,所以结果都是3。 3.static修饰函数 static修饰函数和修饰全局变量时的作用是一样的,大家可以参考修饰全局变量的作用。 11. 13.结构体 结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。 比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。 这里只能使用结构体来描述了。
}##a,b,m为形式参数;jimmy为函数名称;m的默认值为2;##大括号内为编写函数使用的代码;> jimmy(a = 1,b = 2)[1] 9> jimmy(1,2)[1] 9> jimmy(3,6 ,-2)[1] 0.01234568plot(iris[,1],col = iris[,5])plot(iris[,2],col = iris[,5])plot(iris[,3],col = iris[ #当一个代码需要复制粘贴三次,就应该写成函数或使用循环jimmy <- function(i){ plot(iris[,i],col=iris[,5])}jimmy(1)jimmy(2)jimmy(3)
3.着色语言 OpenGL ES 3.0新增加功能 非方矩阵,全整数支持,插值限定符号,统一变量块,局部限定符号,新的内建函数,全循环,全分支支持以及无限的着色器指令长度。 .”和数组下角标 vec3 myvec3 = vec(0,1,2); vec3 temp; temp = myvec3.xxx; //temp = {0,0,0}; 矩阵分量 矩阵被看成由一些向量组成 const float zero = 0.0; 5.结构 类似C语言的结构体。 OpenGL ES着色器语言提供特殊的限定符,定义函数是否可以修改可变参数。 ? 着色语言有意地构造为允许这种内嵌式实现,以支持没有堆栈的GPU。 9.内建函数 方便处理各种计算任务.例如dot(点积),pow(幂次) 10.控制流语句 类似C 3.0开始完全支持循环语句。
形式参数由函数作者指定,使用者输入实际参数时可省略实际参数 函数的自定义 #自定义函数 cal = function(a,b,c = 2){(a+b)*c} #c=2为函数默认值 cal(1,2) cal(1,2,3) BiocManager::install()相当于library(BiocManager)和install() R包安装常见问题 package not available R包名输入错误 安装命令使用错误 R语言版本与
#行名,列名,两者合一,加列/行名dim()colnames()rownames()#加列名即为对向量进行赋值;修改单个列名,取子集即可m <- matrix(1:12,nrow = 3);mcolnames (m) <- c("a","b","c","d") colnames(m)[1] <- "hello";m#融合函数merge(test1,test3,by.x = "name",by.y = "NAME gene",1:4), change = rep(c("up","down"),each = 2), score = c(5,3,
概述 我们将用几节来学习Go语言基础,本文结构如下: 函数 -多值返回 -可命名结果形参 -Defer 函数 函数的基本语句结构: func DoSome(a int ) string
(文中图片引用于生信技能树小洁老师PPT,仅用于自己学习,不用于商业目的,如有侵权,立即删除)Part3 数据框、矩阵和列表 vector向量 一维 matrix 新建数据框 从文件中读取3. 数据框的属性4. 数据框取子集 a. "$"取列b. R包的介绍3. R包的镜像4. R包的来源和安装方式 (1)CRAN网站 (2)Bioconductor (3)github5. XX包怎么安6. 常见的疑问学R语言要高冷,能no就no,no不行再yes;学1inx要听话,让你yes你就yes记忆卡片问是否更新,“不存在”的是依赖包
char ucPim1; unsigned char ucData0 : 1; unsigned char ucData1 : 2; unsigned char ucData2 : 3; pstPimData = (struct tagPIM*)puc; memset(puc,0,4); pstPimData->ucPim1 = 2; pstPimData->ucData0 = 3; ucData1 = 4; pstPimData->ucData2 = 5; printf("%02x %02x %02x %02x\n",puc[0], puc[1], puc[2], puc[3] return 0; } 正确答案:B 接下来画图分析一下题目: 由图分析可知,最后puc[0]里存放的是00000010,puc[1]里存放的是00101001,puc[2]里存放的是00000000,puc[3]
==str4) printf("str3 and str4 are same\n"); else printf("str3 and str4 are not same\n"); return 0; } 相反,3和4他们指向同一个常量字符串,C/C++会把常量字符串存储到单独的一个内存区域,当几个指针指向同一个字符串的时候,他们实际会指向同一块内存。所以3和4是一样的。 2. [5] = {{1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7}}; test(arr, 3, 5); return 0; } 这里实参是二维数组,形参也写成二维数组的形式,那还有什么其他的写法吗 x, int y) { return x+y; } int main() { int(*pf3)(int, int) = Add; printf("%d\n", (*pf3)(2, 3)); printf int ( * parr1[3])(); int * parr2 3 ; int ( * )() parr3[3]; 答案是parr1 parr1 先和 [ ] 结合,说明parr1是数组,数组的内容是什么呢
5. switch语句 除了 if 语句,C语言还提供了 switch 语句来实现分支结构。 switch语句是一种特殊形式的 if...else... default: 语句3; } switch语句会根据 表达式 的不同值执行相应的case分支;如果都没有对应的情况,就执行 default分支。 注意: switch 后的 表达式 必须是整型表达式 case 后的值必须是整形常量表达式 5.1 if语句和switch语句的对比 练习:输入任意⼀个整数值,计算除3之后的余数 // 使用 if语句 #include <stdio.h> int main() { int n = 0; scanf("%d", &n); if(n % 3 == 0) printf } // 使用switch语句 #include <stdio.h> int main() { int n = 0; scanf("%d", &n); switch(n % 3)
==str4) printf("str3 and str4 are same\n"); else printf("str3 and str4 are not same\n"); return 0 在看str3 str4,前面提到,它们指向的是常量字符串,常量字符串是在静态区存储的,但是这两个字符串都一样,系统就认为常量字符串反正不能被改,那就不给多个空间了,毕竟是一样的,所以str3 str4指向的地址都是一样的 void test(int arr[3][5]) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { printf ("%d ", arr[i][j]); } printf("\n"); } } int main() { int arr[3][5] = { {1,2,3,4,5},{6,7,8,9,10} ("%d ", *(*(pa + i) + j)); } printf("\n"); } } int main() { int arr[3][5] = { {1,2,3,4,5},{6,7,8,9,10
Dart语言 Dart是谷歌公司于2011年10月发布的一门全新的编程语言,已被欧洲计算机制造商协会(European Computer Manufacture Association,ECMA)认定为标准 Dart在设计之初参考了Java等面向对象的编程语言,因此Dart既有面向对象编程的特性,也有面向函数编程的特性。 3.1 编写 Hello World 和大多数编程语言一样,Dart也把main()作为程序的入口。 首先,新建一个名为hello.dart的文件,添加如下代码。 (3 * 2);//6 print(3 / 2);//1.5 print(3 ~/ 2);//1 print(-3);//-3 print(3 % 2);//1 Dart也支持自增和自减运算符。 int num = 3; print(num++);//3 print(++num);//5 print(num--);//5 print(--num);//3 3.5.2 关系运算符 ==(相等)、!
R中一些头麻的地方 对象名称中的句点(.)没有特殊意义,但美元符号($)却有着和其他语言中的句点类似的含义,即指定一个数据框或列表中的某些部分。例如,A$x是指数据框A中的变量x。 x <- x[1:3]会重新将其缩减回三个元素。 ❏ R中没有标量。标量以单元素向量的形式出现。 ❏ R中的下标不从0开始,而从1开始。在上述向量中,x[1]的值为8。 ❏ 变量无法被声明。 这些是面向开发者的R语言,很多反常规的设计 也许输入数据最简单的方式就是使用键盘了。有两种常见的方式:用R内置的文本编辑器和直接在代码中嵌入数据。我们首先考虑文本编辑器。
从读写属性上存储器分为:随机存储器RAM和只读存储器ROM 从功能和连接上分类: 随机存储器RAM 装有BIOS的ROM 接口卡上的RAM 上述的存储器物理上是独立的器件。 但是它们在一下两点上相同:
3,函数指针数组 存放函数指针的数组。 int (*pf[3])(int,int)={add,sub,div}; 这就是一个函数指针数组,在函数指针的基础上,只需加上[ ],表明他是一个数组。