
C语言
文章平均质量分 69
幻想无极
IOS开发
展开
-
C语言链表的创建
//// main.c// -C-9//// Created by lanqs on 14/12/16.// Copyright (c) 2014年 . All rights reserved.//#include #include typedef struct Student{ int num; char name[20]; struct St原创 2014-12-16 10:09:09 · 731 阅读 · 3 评论 -
各种排序方法总结
各种排序方法总结选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂转载 2014-12-09 10:53:21 · 703 阅读 · 0 评论 -
超简单画出菱形
for (int i = -3; i <= 3; i++) { //三目运算 int temp = i > 0 ? i : -i; for (int j = 0; j < temp; j++) { printf(" "); } //减去-的就是+正的了,要对称 for (int原创 2014-12-09 19:45:28 · 3004 阅读 · 0 评论 -
C语言数组作为函数参数
数组可以作为函数的参数使用,进行数据传送。数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用;另一种是把数组名作为函数的形参和实参使用。数组元素作函数实参数组元素就是下标变量,它与普通变量并无区别。 因此它作为函数实参使用与普通变量是完全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值传送。【例5-4】说明了这种情况。【例8-转载 2014-12-09 20:06:44 · 1692 阅读 · 0 评论 -
C语言中数组的定义和使用
数组的定义与使用一、1.一维数组的定义:类型说明符 数组名[常量表达式]; 注意:常量表达式包括常量与符号常量,不能包含变量。2.一维数组的引用:数组名[下标];3.一维数组的初始化:a.在定义数组时对数组元素赋以初值;b.可以只给一部分元素赋值;c.想使一个数组中全部元素值为0,可以写成:a[10]={0};转载 2014-12-09 08:35:30 · 46410 阅读 · 0 评论 -
C语言中的数组
一维数组数据类型数组名[] = { };在标准C语言环境下,数组大小只能用常量int array[1000]={}; for (int i =0 ; i < 1000; i++) { printf("%d ", array[i]); } //打印出来是随机数,只是大部分是0第一种:直接初始化赋值: int arra原创 2014-12-09 13:21:57 · 1406 阅读 · 1 评论 -
变量的作用域
作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。一、全局变量: 全局变量是在所有函数体的外部定义的,程序的所在部分(甚至其它文件中的代码)都可以使用。全局变量不受作用域的影响,问题可以使用的(也就转载 2014-12-09 20:00:28 · 718 阅读 · 0 评论 -
C,OC开发中的随机数获取
今天在iPhone开发过程中,遇到一个需要生成随机数的问题。很快rand()和arc4random()都进入了考虑范围,但选择的时候感觉有点为难。之前的时候可能没有思索就随便挑一个用了,不过这次良心发现不能太随便了。rand() 和arc4random()到底应该如何取舍呢?调查了下,发现下文很好地解答了这个问题。在iPhone中有几个内嵌的随机数发生器,很多人的第一反应可能就是在调用如下函数转载 2014-12-09 14:47:04 · 1144 阅读 · 0 评论 -
正则表达式
1. 什么是正则表达式基本说来,正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express。本文将用>来表示一段具体的正则表达式。一段文本就是最基本的模式,简单的匹配相同的文本。 2. 不同的正则表达式引擎正则表达式引擎是一种可以处理正则表达式的软件。通常,引擎是更大的应用程序的一部分。在软件世界,不同的正则转载 2014-12-10 17:29:11 · 493 阅读 · 0 评论 -
C语言中指针和字符串中的一些小结
void a_A(char *str){ for (int i =0; *(str+i) != '\0'; i++) { if (*(str+i) >= 'a' && *(str+i) <= 'z') { *(str+i) -= 32; } }这是一个把字符串中的字符转化为大写的函数学指针的时候,我这样定义: char *str ="hello wrold";结果运行原创 2014-12-11 13:26:33 · 854 阅读 · 0 评论 -
动态内存分配
前言1.数组的元素存储于内存中连续的位置上。当一个数组被声明时,它所需要的内存在编译时就被分配。2.但是我们也可以使用动态内存分配在运行时为它分配内存。3.为什么使用动态内存分配1>当使用数组时,必须用一个常量来指定数组的长度。但是,有时候,数组的长度常常在运行时才知道。因此,在某些情况下,我们通常采取声明一个较大的数组,它可以容纳可能出现的最多元素。2>该转载 2014-12-10 17:33:25 · 553 阅读 · 0 评论 -
C语言(五)
//// main.c// --C-5//// Created by lanqs on 14/12/10.// Copyright (c) 2014年 . All rights reserved.//#include #include #include "haha.h"int main(int argc, const char * argv[]) {#pragma原创 2014-12-10 15:44:09 · 841 阅读 · 3 评论 -
C语言字符串操作
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长转载 2014-12-13 14:14:09 · 501 阅读 · 0 评论 -
递归
用三角数字问题说明递归Int triangle(int n){ if(n ==1) //基值条件 return 1; else return(n + triangle(n-1)); //递归调用自身}说明:导致递归的方法转载 2014-12-12 10:47:29 · 540 阅读 · 0 评论 -
itoa/aoti
itoa功 能:把一整数转换为字符串用 法:char *itoa(int value, char *string, int radix);详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.其中value为要转化的整数, radix是基数的意思,即先将value转化为radix进制的数,之后在保存在str转载 2014-12-12 10:49:10 · 867 阅读 · 0 评论 -
C语言枚举类型
#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6#define SUN 7 在此,我们定义一种新的数据类型,希望它能完成同样的工作。这种新的数据类型叫枚举型。 1. 定义一种新的数据类型 - 枚举型转载 2014-12-06 21:08:45 · 484 阅读 · 0 评论 -
C语言中结构体的简单使用
struct Birthday{ int year; int month; int day;};//声明结构体类型//typedef:定义新类型,为类型取别名//typedef 原有类型,新类型typedef struct Student{ char *name; int age; int code; double score[3]原创 2014-12-06 18:20:01 · 603 阅读 · 0 评论 -
C语言中的const
CONST是一个C语言的关键字,它限定一个变量不允许被改变。 const int a= 10; //int a=11; (错)//只允许读 int const b = 12; //int b = 11;(错) //const放在类型前后是一样的// const double c=10.0;// c=11.0; const int *p原创 2014-12-16 11:51:54 · 512 阅读 · 0 评论 -
C语言的指针函数(小测)
char * test(){return "hello";}char * test2(){ ///Users/lanqs/Desktop/c语言学习/谭启宏-C-9/谭启宏-C-9/main.c:23:12: Address of stack memory associated with local variable 'string' returned// char stri原创 2014-12-16 12:52:22 · 980 阅读 · 0 评论 -
C语言宏定义
#pragma mark - define 宏定义 //define 和 const 区别 //1.define 预处理阶段 const 编译中 //2.define 不考虑数据类型 const;需要readonly //3.define 不分配内存,使用的时候要分配;const:数据类型,分配 //4.分配次数:使用次数原创 2014-12-17 11:55:31 · 557 阅读 · 0 评论 -
指针函数和函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函转载 2014-12-17 08:47:25 · 443 阅读 · 0 评论 -
c 语言中无符号整型(unsigned)的溢出
(unsigned)的溢出原创 2014-12-04 13:24:08 · 4573 阅读 · 0 评论 -
C语言中的逗号运算符
int a,b,c,x,y; printf("输入a,b c\n"); scanf("%d%d%d",&a,&b,&c); y=((x=a+b),(b+c)); //y的值就是逗号后面那个的值(b+c) printf("x=%d y=%d\n",x,y);输出: 输入a,b c 2 4 6原创 2014-12-04 14:00:50 · 721 阅读 · 0 评论 -
C语言常用库函数(含详细用法)
C语言常用库函数(含详细用法) (2011-12-03 10:22:37)转载▼标签: c语言库函数分类: c语言一、数学函数调用数学函数时,要求在源文件中包下以下命令行:#include 函数原型说明功能返回值说明转载 2014-12-04 17:24:57 · 1835 阅读 · 0 评论 -
c语言详解sizeof
c语言详解sizeof 转载▼一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储大小由操作数的类型决定。 二、sizeof转载 2014-12-04 15:39:33 · 482 阅读 · 0 评论 -
C语言标准输入输出函数
一、格式化输入输出函数 Turbo C2.0 标准库提供了两个控制台格式化输入、 输出函数printf( ) 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。下面详细介绍这两个函数的用法。 1. printf()函转载 2014-12-04 18:51:12 · 1719 阅读 · 1 评论 -
C语言 if语句详解
用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。语句的三种形式1) 第一种形式为基本形式:if if(表达式) 语句其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。【例5-3】#include int main(void){ int a,转载 2014-12-04 19:05:14 · 12204 阅读 · 5 评论 -
switch-case语句用法
if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且理解也比较困难.因此,C语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为:引用switch(表达式){ case 常量表达式1转载 2014-12-04 19:12:18 · 1380 阅读 · 0 评论 -
C语言中continue和break的用法
break和continue语句都可以用在循环中,用来跳出循环(结束循环);break语句还可以用在switch语句中,用来跳出switch语句。 int a; while (1) { a++; printf("%d\n",a); if(a==5){ continue; }原创 2014-12-04 19:32:19 · 14032 阅读 · 0 评论 -
求两个数的最大公约数和最小公倍数
#include int Greatest_commom_divisor(int a,int b);int The_least_common_mutiple(int a,int b);int main(int argc, const char * argv[]) { int a=10,b=8,max,min; max=Greatest_commom_divisor(a原创 2014-12-04 20:14:35 · 598 阅读 · 0 评论 -
C语言中的三目运算符
三目运算符:一般格式 x?y:z以前我就是经常看到这个东西就头大,不知道从什么地方入手,现在介绍下它的基本运算思路: int x, y,z,max; scanf("%d%d%d",&x,&y,&z); max=x?y:z; printf("%d\n",max);定义4个变量x,y,z,max.输入3个数,赋值给x,y,z.然后就是三目运算了原创 2014-12-04 13:46:28 · 2055 阅读 · 0 评论 -
耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找
用一维数组:#include int main(int argc, const char * argv[]){ int s[13]={0,0,0,0,0,0,0,0,0,0,0,0,0}; int count=1,i,n; n=6; while(n--) {for(i=0;i<13;i++) if(s[i]==0&&count+转载 2014-12-13 15:37:53 · 1367 阅读 · 0 评论