switch(表达式){
    case 整型常量表达式:语句序列
    case 整型常量表达式:语句序列
    default:语句序列
}

while(表达式)
    语句

for(表达式1; 表达式2; 表达式3)
    语句
表达式1与表达式3通常是赋值表达式或函数调用;表达式2是关系表达式。这3个组成部分任意部分都可省略,但分号必须保留。如果在for语句中省略表达式1与表达式3,它就退化成了while循环语句。如再省略表达式2,则认为其值永远为真,即成了死循环。
for(;;){
}

 #include <stdio.h>
#include <ctype.h>
int atoi1(char s[]);
int atoi2(char s[]); main(){
printf("%d\n", atoi2("+111")); //
printf("%d\n", atoi2("-111")); //-111
printf("%d\n", atoi2(" -111")); //-111 printf("%d\n", atoi1("")); //
printf("%d\n", atoi1("-999")); //
return ;
} /***将s转换为整数 版本1***/
int atoi1(char s[]){
int i;
int n = ;
for(i=; s[i]!='\0'; i++){
if((s[i] >= '') && (s[i] <= ''))
n = n * + s[i] - '';
}
return n;
} /***将s转换为整数 版本1的升级版***/
int atoi2(char s[]){
int i, n, sign;
//跳过空白符
for(i=; isspace(s[i]); i++)
;
sign = (s[i] == '-') ? - : ;
//跳过符号
if(s[i] == '+' || s[i] == '-')
i++;
for(n=; isdigit(s[i]); i++){
n = * n + (s[i] - '');
}
return sign * n;
}

//shell排序算法

 #include <stdio.h>
void shellsort(int v[], int n); main(){
int arr[] = {,,,,,,,,,,,};
shellsort(arr,); int k;
for(k=; k<; k++){
printf("%d,", arr[k]); //0,1,1,2,4,5,6,7,8,9,10,99
}
return ;
} /*****shellsort,按递增顺序对v[0]...v[n-1]排序*****/
void shellsort(int v[], int n){
int gap, i, j, temp;
for(gap=n/; gap>; gap/=){
for(i=gap; i<n; i++){
for(j=i-gap; j>=&&v[j]>v[j+gap]; j-=gap){
temp = v[j];
v[j] = v[j+gap];
v[j+gap] = temp;
}
}
}
}

//反转字符串,不产生新串

 #include <stdio.h>
#include <string.h>
void reverse(char s[]); main(){
char s[] = "abcdefg";
reverse(s);
printf("%s", s); //gfedcba
return ;
}
/*******反转字符串*********/
void reverse(char s[]){
int c,i,l;
for(i=, l=strlen(s)-; i<l; i++,l--){
c = s[i];
s[i] = s[l];
s[l] = c;
}
}

do
    语句
while(表达式);

 #include <stdio.h>
main(){
int i = ;
do{
printf("%i\n",i);
}while((--i) > );    //注意后面的分号
return ;
}

重拾C,一天一点点_5的更多相关文章

  1. 重拾C,一天一点点_2

    类型转换一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型.表达式由float类型的操作数不会自动转换为double类型.使用float类型主要是为了在使用较 ...

  2. 重拾C,一天一点点

    数据类型及长度 char        字符型,占用一个字节 int          整型,通常代表特定机器中整数的自然长度 short       16位 int         16位或32位 ...

  3. 重拾C

    重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...

  4. CSS魔法堂:重拾Border之——更广阔的遐想

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  5. CSS魔法堂:重拾Border之——不仅仅是圆角

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  6. CSS魔法堂:重拾Border之——图片作边框

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  7. CSS魔法堂:重拾Border之——解构Border

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  8. 重拾Blog

    上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...

  9. [linux]重拾linux

    起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...

随机推荐

  1. Free download SKP900 update tool & activation tool

    One of the SKP900 key programmer user failed to get the SKP900 upgraded and add free tokens online u ...

  2. CSS3: border-radius边框圆角详解

    border-radius 基本语法: border-radius : none | <length>{1,4} [/ <length>{1,4} ]? 取值范围: <l ...

  3. DNS resolving 占用大量日志

    公司内部DNS配置好后,测试解析正常,只是几乎每秒都有无法解析的日志产生.但分析日志时发现,每天的日志都有2G左右.日志中几乎全是类似network unreachable resolving 'ww ...

  4. CF 335B - Palindrome 区间DP

    335B - Palindrome 题目: 给出一个字符串(均有小写字母组成),如果有长度为100的回文子串,输出该子串.否则输出最长的回文子串. 分析: 虽然输入串的长度比较长,但是如果存在单个字母 ...

  5. JS/jQuery宽高的理解和应用

    1.widows:窗口.window对象可省略 2.document对象是window对象的一部分 浏览器的Html文档成为Document对象 window.location===document. ...

  6. part 2 Angular modules and controllers

    What is a module in AngularJS? A module is a container for different parts of your application i.e c ...

  7. 小知识点 LINQ中延时求值和主动求值的区别

    先看个简单的例子: List<, , , , , , }; select c; select c).ToList<int>(); list.Add(); Console.WriteL ...

  8. ubuntu笔记1

    修改grub启动项顺序 在/etc/grub.d/ 目录下 文件前序号越小 在启动界面顺序越靠前, 用sudo mv修改文件名, sudo update-grub更新

  9. iOS - 网络语线程(OC)

    1. 检测网络状态 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the vi ...

  10. 【学习笔记】【C语言】注释

    1. 什么是注释 1) 注释是在所有计算机语言中都非常重要的一个概念,从字面上看,就是注解.解释的意思 2) 注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流.假如我写完一行代 ...