重拾C,一天一点点_5
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的更多相关文章
- 重拾C,一天一点点_2
类型转换一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型.表达式由float类型的操作数不会自动转换为double类型.使用float类型主要是为了在使用较 ...
- 重拾C,一天一点点
数据类型及长度 char 字符型,占用一个字节 int 整型,通常代表特定机器中整数的自然长度 short 16位 int 16位或32位 ...
- 重拾C
重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...
- CSS魔法堂:重拾Border之——更广阔的遐想
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——不仅仅是圆角
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——图片作边框
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——解构Border
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 重拾Blog
上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...
- [linux]重拾linux
起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...
随机推荐
- Python笔记(一)
我是一名211高校软件工程大三学生,由于前段时间一直在找实习公司.笔试面试了很多公司,虽然有一定的基础,但是还是被某些公司面试官像虐狗一样的虐了.最后找到了一个口碑比较好的外企,主攻信息安全方面.这段 ...
- Maven-编译打包
1. 打包时忽略测试阶段 mvn clean mvn package -DskipTests
- iOS 应用程序的生命周期
iOS 应用程序的生命周期(网络资源总结) http://blog.csdn.net/totogo2010/article/details/8048652 http://www.cocoachina. ...
- 通过改变uiview的layer的frame来实现进度条
#import <UIKit/UIKit.h> @interface ProgressView : UIView @property(nonatomic,assign)CGFloat pr ...
- NSTimer定时器的用法
#import "ViewController.h" @interface ViewController () { NSTimer *countDownTimer; int cou ...
- JavaScript中的window.close在FireFox和Chrome上不能正常动作的解决方法
JS中关闭窗口的方法window.close()在IE上能够正常动作,而在FireFox和Chrome上无法动作. (当时,在Chrome35.0上的时候还是可以的,Chrome36.0上就无法动作了 ...
- SQLSERVER数据库中的 时间函数
一.sql server日期时间函数 Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返 ...
- 地图 ajax-数据库
通过数据库和ajax方法写出地图 客户端部分:html.js.css代码部分: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit ...
- Part 89 to 91 Talking about pass the parameters in thread
Part 89 ParameterizedThreadStart delegate Use ParameterizedThreadStart delegate to pass data to th ...
- php读取目录下的文件
工作需要写了一个读取指定目录下的文件,并显示列表,点击之后读取文件中的内容 高手拍砖,目录可以自由指定,我这里直接写的是获取当前文件目录下面的所有文件 <?php /** * 读取指定目录下面的 ...