C语言的初步学习

计算机的语言有三大类,分别为机器语言,汇编语言以及高级语言。而学习的C语言则为高级语言,作为高级语言,C语言更加贴近我们日常生活的思维方式,使人们能用更易理解的方式编程。

1.优先等级:

强制类型转换>算术运算(自左向右)>关系运算符>赋值运算符(自右向左)

强制类型转换如:

int a=5;
int b=6;
double d=(double)(a/b);//先计算再转换double类型
double d=(double)a/b;//先转换成double类型再计算

连续关系运算符从左向右

如:6>5>4,先运算6>5,结果为1,再运算1>4,结果为0.

if注意事项:

if只不加大括号时只对应下一句,回车空格无关,有;即为一条语句

if,do while,while和for的区别:

if条件判断,条件满足则运行后离开,不满足即刻离开。

if(a>0){
 printf("hello")
}

do while循环先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。

do while循环的语法为do{循环体}while(表达式);

int i=0;
do {
   printf("hello");
}while(i==0);

while循环当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出(而不是立即跳出循环)。

while循环的表达式为:while(表达式){循环体}。

while循环的语法为:while (<条件>) {需执行的代码 }。

while(a>0){
   printf("hello");
}

for循环先判断后执行执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

for循环的表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。

for循环的语法为:for (变量 = 开始值;变量 <= 结束值;变量 = 变量 + 步进值) {需执行的代码 }。

for(初始条件;循环继续的条件;循环每轮最后做的动作)

#include<stdio.h>

int main()
{
	int n=2;
	int i;
	int fact=1;
	
	for(i=2;i<=n;i++){//i++是在一轮循环结束后再进行的 
		fact*=i;
	}
	printf("%d",fact);
	
	return 0;
} 


 

算术运算符:

算术运算符含义算术运算符含义
+ 加法运算      %(10%3=1)   求余运算     
- 减法运算^ (3^2=9)   乘幂运算
* 乘法运算!   (3!=3*2*1=6)   阶乘运算
/ 除法运算| |       绝对值

判断符号==(等于),!=(不等于),<=(小于),>=(大于)

复合赋值运算:/=    +=     -=       *=       

例如x/=10,即将x/10,再将其结果赋值于x,等效于x=x/10.

#include<stdio.h>

int main()
{
	int x;
	int n=0;
	
	scanf("%d",&x);
	
	n++;
	x/=10;//令x/10,再对x赋值结果 
	while(x>0){//重复运算,直到不符合x>0这个条件 
		n++;
		x=x/10;//算术运算优先于赋值运算,先计算x/10,再将x=计算结果 
	}
	printf("%d\n",n);
}

多路分支:switch case和else if

switch case的使用:直接跳到符合条件的case

#include<stdio.h>

int main()
{
	int type;
	
	scanf("%d",&type);
	
	switch(type){
		//()内输入控制表达式 (只能是整数值) 
		case 1://常量 可以是常数,也可以是常数的表达式如a,b 
			printf("你好");
			break;//离开switch语句 ,若无break,将一直运行下一条指令,直到break离开。 
		case 2:
		    printf("早上好");
			break;
		default:
		    printf("这什么啊");	
		    break;
				
	}
	return 0;
}

若没有break做结尾,则程序会一直运行下去,例如下面的a为1时,进入case1,输出hello,但是没有break做结尾,则接着输出world,直到遇到break才退出switch语句。

#include<stdio.h>

int main()
{ 
     int a;
     switch(a):
            case 1:
           printf("hello");
            case 2:
           printf("world");
           break;
}

级联else if:一步一步地确认是否符合条件

#include<stdio.h>

int main()
{
	int f;
	int x=0;
	
	scanf("%d",&x);
	
	if(x<0){
		f=-1;
	}else if(x==0){
		f=0;
	}else if(x>5){
		f=2*x;
	}else{
		f=3*x;
	}
	
	printf("%d\n",f);
	
	return 0;
} 

单双精度浮点数:

单精度浮点数最多有7位十进制有效数字,如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。float    %f

双精度浮点数可以表示十进制的15或16位有效数字,超出的部分也会自动四舍五入。double  %lf

#include<stdio.h>

int main()
{
	printf("输入两个数字:");
	
	double a;
	double b;
	
	scanf("%lf %lf",&a,&b);
	
	printf("%f\n",a+b);
	
	int F;
	scanf("%d",&F);
}

if嵌套:

#include<stdio.h>

int main()
{
	const int ready=24;
	int code=0;
	int count=0;
	
	scanf("%d %d",&code,&count);
	if(code==ready)
	   if(count<20)
	       printf("一切正常\n");
	   else//对应的是最近的if,若需要对应第一个if,需要一个大括号 
	       printf("继续等待\n");
	else//对应第一个if 
	    printf("lalala"); 
	return 0;	   
		       
}

!!!以后的if语句都要加大括号,以便于观察

#include<stdio.h>

int main()
{
	const int ready=24;
	int code=0;
	int count=0;
	
	scanf("%d %d",&code,&count);
	if(code==ready)
{
	   if(count<20){
	       printf("一切正常\n");
	                }else//对应的是最近的if,若需要对应第一个if,需要一个大括号 
	                      {
                           printf("继续等待\n");
                           }
}	else//对应第一个if 
	    printf("lalala"); 
	return 0;	   
		       
}

随机数:

#include<stdio.h>
#include<stdlib.h>
#include<time.h> 

int main()
{
	srand(time(0));
	int a=rand()%100+1;// %100可以使a的取值在100以内,因为%100是除以100求余 
//2,3,7条都是为了rand随机指令做准备	
	printf("%d\n",a);
	
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值