C语言学习

C语言第一次培训

一、C语言初次学习

1.C语言的头文件

#include :编译预处理命令(打报告
stdio:标准的输入输出函数库(需要用到的东西
.h:头文件(head)
printf:拿需要用到的东西实现打印功能
scanf:拿需要用到的东西实现输入功能

2.主函数

int main()
{
	printf("hello world");
	return 0;
}

int:整型(1,2,3,4,5)
main:C语言里面的主函数
格式:printf(“你要在控制台输出的内容“)
\n:回车

3.检错

1.中英文混淆
2.除了头文件和函数体(大括号包起来的部分),每段程序的后面都要加分号
3.并不是标注的哪一行,错误就在哪一行(大多可能错在上下行

二、变量

1.数据类型

几种基本的类型:
char字符类型:eg:a v d c d ! @ # >…
int整型:eg:整数
short短整型:表示值小的整型
long长整型:能表示更大的整型
float单精度浮点型:eg:1.1 1.2
double双精度浮点型:更加精确,也就是说小数点后面的位数更多
bool值:在 C 语言c89标准中没有定义bool类型(true和false),(c99定义了)所以 C 语言判断真假时以 0 为假,非 0为真

2.数据类型所占位数

1.在这里插入图片描述
sizeof函数
此类型的数据占几个字节数
2.溢出
给定的数据的值超过了这个类型能表达的范围,就会发生溢出,溢出有时是会导致程序的错误

#include <stdio.h>
int main()
{
	short a;//short值小的整形
	a=-32769;
	printf("%d",a);//溢出
}

3.占位符
在这里插入图片描述

3.打印、输出、索引、赋值略

4.变量的类型

全局变量和局部变量
#include <stdio.h>
int a=10;//全局变量
void add()
a+=1;//全局变量可在函数中直接被改变
int main()
{
int b=1000;//局部变量
printf("%d %d",a,b);
}
1.局部变量和全局变量重名时,局部变量的优先级是高于全局变量的
2.全局变量能在函数中直接被改变

C语言第二次培训

二、变量(补充)

1.几种常用的数据类型表达范围

int :109
long:109
long long :1018
float:可以精确表示小数点后六位数字,六位过后就可能出现错误

#include <stdio.h>
int a=10;
int main()
{
	float = 0.123456789012345678;
	printf("%.6f",a);
}

double:可以精确到小数点后15位数字,同样十五位过后就可能出现错误

#include <stdio.h>
int a=10;
int main()
{
	double a = 0.123456789012345678;
	printf("%.15f",a);
}

另外%f默认就是%.6f

2.浮点数的运算

记住全是整数,除法则为整除去掉余数,若是其中含有浮点数,则结果准确

3.自动类型的转换

在C语言中,在一个表达式或一条语句中,允许不同类型的数据混合运算,因为它可以进行自动类型转换,较低类型将自动向较高类型转换(占的字节少的会向占字节数多的数据转换

1.操作数中没有浮点型数据时:

当 char、short 出现在表达式中参与运算时,一般将其自动转换为 int 类型。(char要加‘’)

2.操作数中有浮点型数据时:

当操作数中含有浮点型数据(float 或 double)时,所有操作数都将转换为 double 型。

3.赋值时两边变量类型不一样时:

精度改变:会将右边的类型转换为左边的类型,可能使右边的数据精度增加,也可能使精度降低(右值超出左值类型范围时,结果可能毫无意义

4.强制类型转换

格式:

#include <stdio.h>
int a=10;
int main()
{
	char  a='a';
	int sum=(int)10.2+(int)1.2+(int)5.3;
	printf("%d",sum);	
}

三、表达式运算

1.运算符

1.数学运算符、自加自减(略)

2.关系运算符(二元运算符):<、 > 、<=、 >=、 ==、 !=

运算结果为布尔类型:true(真) 或 false(假)(0为假,非0为真,通常用1表示真

3.逻辑运算符(二元运算符):&&(逻辑与)、||(逻辑或)

2.运算符的优先级

如果拿不稳的地方就加括号,因为括号的优先级是在第一梯度里面的。[添加链接描述](详细优先级总结)(https://blog.csdn.net/awhip9/article/details/53331595?ops_request_misc=&request_id=&biz_id=102&utm_term=C%E8%AF%AD%E8%A8%80%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%BC%98%E5%85%88%E7%BA%A7&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-53331595.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187)

四、 if、else、else if、switch case语句

1.如果、否则

#include <stdio.h>
int a=10;
int main()
{
	int score;
	scanf("%d",&score);
	 if(score>=60)
	 {
		printf("及格");
		}
	else(score<60)
	 {
		printf("不及格"); 
	}
}

2.if语句嵌套和else if

#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	if(a>=b)
	{
		if(b>=c or a>=c)//if语句的嵌套
		{
			printf("%d",a);
		else if(a>=c)
		}
	}
	return 0;
}

3.switch case

#include <stdio.h>
int main(void)
{
		int a;
		printf("input integer number: ");
		scanf("%d",&a);
		switch (a){
		case 1:printf("Monday\n"); break;
		case 2:printf("Tuesday\n"); break;
		case 3:printf("Wednesday\n"); break;
		case 4:printf("Thursday\n"); break;
		case 5:printf("Friday\n"); break;
		case 6:printf("Saturday\n"); break;
		case 7:printf("Sunday\n"); break;
		default:printf("error\n");
		}
		return 0;
}

五、while、do while循环

1.while循环

while ( 循环条件 ) 只要循坏条件成立(括号内值为1),就会一直执行循环内的语句
{  
    语句
}

2.do while循环

do
{
	<循环语句>
}while(<循环条件>);

区别:do while 在 循环体执行结束的时候才来判断条件。无论如何,循环都会执行至少一 遍,然后再来判断条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值