C语言第一天

一、变量的名字

·变量的名字是一种标识符

·标识符的构造原则:只能由字母、数字、下划线组成,数字不可以出现第一个位置。C语言的关键字(保留字)不能用作标识符

#include<stdio.h> 
int main(){
	printf("请输入商品价格\n");
	int price=0;
	scanf("%d",&price);
	int change=100-price;
	printf("应找零%d元。\n",change);
	return 0;
}

二、关于scanf

#include<stdio.h> 
int main(){
	int a=0,b=0;
	scanf("%d %d",&a,&b);
	printf("%d %d\n",a,b);
	return 0;
}

引号里有什么就要输入什么,如第二个%d后面有个空格或者\n的话,那么输入b后需要随便输入一个字符填充那个空格,才可以继续运行。


 三、const

const是一个修饰符,加在变量类型前面


四、浮点数

整数运算的结果只有整数部分,不然就要用浮点数。

当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。结果就是一个浮点数。

方法一:将12改为12.0

#include<stdio.h> 
int main(){
	printf("请输入身高的英尺和尺寸\n");
	int foot;
	int inch;
	scanf("%d %d",&foot,&inch);
	printf("身高是%f。\n",((foot+inch/12.0)*0.3048));
	return 0;
}

方法二:将foot和inch类型改为double。注意输入是%lf,输出是%f。

	printf("请输入身高的英尺和尺寸\n");
	double foot;
	double inch;
	scanf("%lf %lf",&foot,&inch);
	printf("身高是%f。\n",((foot+inch/12)*0.3048));
	return 0;

数据类型

整数
int 
printf("%d",...);
scanf("%d",...);
带小数点的数
double
printf("%f",...);
scanf("%lf",...);

五、计算时间差

	int hour1,min1,hour2,min2;
	printf("请输入两个时间\n");
	scanf("%d%d%d%d",&hour1,&min1,&hour2,&min2);
	int t1=hour1*60+min1;
	int t2=hour2*60+min2;
	int t=t2-t1;
	if(t<0)
	{
		t=-t;
	}
	printf("时间差是%d时%d分\n",t/60,t%60);
	return 0;

六、求两个整数的平均值

	int a,b;
	scanf("%d%d",&a,&b);
	double c=(a+b)/2.0;
	printf("整数%d和%d的平均值是%f",a,b,c);

七、运算符的优先级

赋值:a=b=6 ——>a=(b=6)


 八、复合赋值

五个算术运算符,+-*/%,可以和赋值运算符“=”结合起来形成复合赋值运算符:“+=”,“-=”,“*=”,“/=”,“%=”。


九、递增递减运算符“++”,“--”

count++
count += 1;
count =count+1

十、前缀后缀,不同的是表达式的值,变量的值都改变了。

#include<stdio.h> 
int main(){
	int a=10;
	printf("++a =%d\n",++a); 
	printf("a=%d\n",a);	 
	printf("a++ =%d\n",a++); 
	printf("a=%d",a);	 
	return 0;
}

#include<stdio.h> 
int main(){
	int a=0;
	printf("请输入一个三位数\n");
	scanf("%d",&a);
	int b=a%10;
	a/=10;
	int c=a%10;
	int d=a/10;
	printf("%d",b*100+c*10+d);
	return 0; 	
}

十一、关系运算符,计算两个值之间的关系,关系运算的结果只有两个值:0(关系成立)或1(关系不成立) 

	printf("%d\n",5>=3);
	printf("%d",5==3);

优先级

1、所有关系运算符比算术运算符的优先级低,比赋值运算符的高。

	printf("%d\n",7>=3+4);
	int inc=5<3;
	printf("%d",inc);

2、==和!=的优先级比其他的低,而连续的关系运算是从左往右

5>3 == 4<7

6>4>2

a==b==6

a==b>0


十二、if-else

如果if,else后面没有大括号,那么其后只有第一句 “;” 是有效的。反之就能执行多个语句。

十三、判断位数

// 方法1
int main(){
	int a=0,n=0;
	printf("请输入一个不超过四位数\n");
	scanf("%d",&a);
//	if(a>999)
//	{
//		n=4;	
//	}else if(a>99)
//	{
//		n=3;
//	}else if(a>9)
//	{
//		n=2;
//	}else{
//		n=1;
//	}
	if(a<9){
		n=1;
	}else if(a<99){
		n=2;
	}else if(a<999){
		n=3;
	}else{
		n=4;
	}

	printf("a是一个%d位数。\n",n);
	return 0; 	
}
//方法2
#include<stdio.h> 
int main(){
	int a=0,n=0;
	printf("请输入一个不超过四位数\n");
	scanf("%d",&a);
	if(a>0){
		while(a>0){
		n++;
		a/=10;
	}
	}else{
		n=1;
	}
	printf("a是一个%d位数。\n",n);
	return 0; 	
}
//方法3
#include<stdio.h> 
int main(){
	int a=0,n=0;
	printf("请输入一个不超过四位数\n");
	scanf("%d",&a);
	do{
		a/=10;
		n++;
	}while(a>0);
	printf("a是一个%d位数。\n",n);
	return 0; 	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值