C与python基本命令格式区别

在学习了C和python之后或者更多语言之后,可能一段时间不使用,就会对基本的流程控制语句混淆, 但是本质都是一样的,只是形式的差别,这里总结一下几种语言基本流程控制的写法差异 .

1 条件判断

重点是为了区分写法差异,我们使用最简单的例子说明。

1.1 if else

C

int x = 5;
if(x>0){
	x = 1; 
}else if(x<0){
	x = -1;
}else{
	x = 0;
};
printf("%d",x);

python

x = 5 
if x>0:
	x = 1 
elif x<0:
	x=-1
else : 
	x = 0 
print(x)

R和C一致

x = 5 
if(x>0){
	x = 1; 
}else if(x<0){
	x = -1;
}else{
	x = 0;
};
print(x)
1.2 switch case

C , case 是定位到当前语句,并不是像if else 那样选择一条,所以后面不需要执行需要加break 。

int i = 14; 
switch(i){
	case 1: 
		printf("yi"); 
		break;
	case 2 : 
		printf("er");
		break; 
	default: 
		printf("what?");
		break;
}

python不支持switch case, 因为一直用elif也可以实现,用字典也可以

i = 1 
def switch_case(value):
	switcher = {
		1: "yi",
		2: "er"
	}
	return switcher.get(value,"what?")
print(switch_case(1))

R 中switch将i 强制转化为整数, 与之后的未位置匹配, 没有default可用, 感觉不太好用, 不如直接if else .

i <-1 
print(switch(i , "yi","er" ))
"yi"

2 循环

2.1 for

C

int i; 
for(i=0;i<5;i++){
	printf("%d\n",i);
}
return 0;

python

for i in range(5):
	print(i)

R

for( i in seq(1:5)){
    print(i);
}
2.2 while
int i; 
while(i<5){
	printf("%d\n",i);
	i++;
};
i = 0 
while i<5: 
	print(i); 
	i = i + 1

R

i <- 0
while (i < 5) {
   print(i);
   i = i + 1;
}
2.3 do while

C

int i = 0; 
do{
	printf("%d\n",i);
	i++;
}while(i<5); // 不满足条件退出

python 不支持do while ,可用 break替代 ,注意终止条件不同

i = 0 
while True:   #无限循环...     
      print(i);
      i = i+1; 
      if i>4:          
            break

R 也没有do while ,支持 repeat break;

i <- 0
repeat { 
    print(i); 
    i = i+1; 
    if(i>4) {
       break;
    }
}

3 定义函数

c是有类型的语言, 定义函数严格一点, 声明输入,输出类型。

int testfunc(int x){
	x = x+1 ; 
	return x ; 
}
printf("%d",testfunc(1)); 

python 比较简便

def testfunc(x):
	x = x+1; 
	return x; 
print(testfunc(1))

r 中return要加括号

testfunc<-function(x){
    x <- x+1;
    return(x)
}
print(testfunc(1));
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值