初识C语言(2)

什么是C语言
   1.第一个C语言程序
   2.数据类型
   3.变量、常量
   4.字符串+转义字符+注释
   5.选择语句
   6.循环语句
   7.函数
   8.数组
   9.操作符
 10.常见关键字
 11.define 定义常量和宏
 12.指针
 13.结构体

在上一篇文章中我们将字符串和转义字符熟悉了,这一篇文章我们从选择语句开始。

5.选择语句 

选择语句给我们很多选择,当然每个选择都有不同的结果。当coding==1的时候,就会从if语句进去,而不从else进去,反之亦然。

#include 
int main()
{
int coding = 0;
printf("你会去敲代码吗?(选择1 or 0):>");
scanf("%d", &coding);
if(coding == 1)
{
prinf("坚持,你会有好offer\n");
}
else
{
printf("放弃,回家卖红薯\n");
}
return 0;
}

6.循环语句

有些事必须一直做,比如我日复一日的讲课,比如大家,日复一日的学习。

首先我们进入while语句,由于初始化line==0,我们

//while循环的实例
#include 
int main()
{
printf("努力学习\n");
int line = 0;
while(line<=20000)
{
line++;
printf("我要继续努力敲代码\n");
}
if(line>20000)
printf("好offer\n");
return 0;
}

6C语言中如何实现循环呢?
while语句-讲解
for语句(后期讲)
do ... while语句(后期讲)


 7.函数

其实我们在写代码的时候一直在使用函数,main函数就是一个函数,还有printf,scanf,strlen等等。这些叫做库函数,是可以直接用的函数,但是在写代码的时候用的最多的还是自定义函数,自己定义函数名,返回类型,参数。

像下面这段代码,我们定义一个加法函数,将两个数相加的值返回给sum,在main函数里面的num1,num2是实参,在Add加法函数里面x,y是形参,int是x和y的类型,z也是整形,所以Add前面我们也要加上int这个返回类型。

#include 
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
上述代码,写成函数如下:
#include 
int Add(int x, int y)
{
int z = x+y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = Add(num1, num2);
printf("sum = %d\n", sum);
return 0;
}

初识C语言(2)_第1张图片

函数的特点就是简化代码,代码复用。


8.数组

要存储1-10的数字,怎么存储?
C语言中给了数组的定义:一组相同类型元素的集合

8.1数组定义

数组的作用就是存放一组相同类型的数,[]里面是数组的大小,10表示这个数组可以存放10个元素,arr是数组名,int是表示这个数组是整形数组。

int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素

8.2数组的下标

C语言规定:数组的每个元素都有一个下标,下标是从0开始的。
数组可以通过下标来访问的。
比如:

int arr[10] = {0};
//如果数组10个元素,下标的范围是0-9

 第一个元素的下标是0,第二个元素的下标为1,以此类推。

8.3数组的使用

#include 
int main()
{
int i = 0;
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for(i=0; i<10; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;

初识C语言(2)_第2张图片

使用for循环产生0-9的下标,就可以访问这10个元素了。


9.操作符

先给大家简单介绍一下,后面再详细讲。

1.算数操作符(加,减,乘,除,取模)

+ - * / %
int r = 7/2;
float r = 7/2;

对于除法来说,除号的两端都是整数的话,执行的是整数除法.

除号的两端只要有一个数是小数,就执行小数除法.

取模操作符得到的是整除后的余数,%操作符左右两边只能是整数。

2.移位操作符

>> <<

移位操作符移动的是二进制的位,这个后期再讲。 

3.位操作符

& | ^

位操作符移动的也是二进制的位,后面再讲。

4.赋值操作符

= += -= *= /= &= ^= |= >>= <<=

=是赋值操作符。其他的叫做复合赋值符。

=就是单纯的给一个变量赋值。复合赋值符的作用在下面的代码可以展示出来。

int main()
{
	int a = 10;
	a = 20;//赋值
	a = 100;//赋值

	a = a + 3;       //1
	a += 3;//复合赋值 //2

	a = a - 5;
	a -= 5;

	a = a * 10;
	a *= 10;

	a = a / 3;
	a /= 3;

	return 0;
}

5.单目操作符

初识C语言(2)_第3张图片

像3+5和4/2这种叫双目操作符,因为有两个操作数。单目操作符就是只有一个操作数。

在C语言中,0表示假,非0表示真。&和*我们讲指针时再讲。·~后期讲。

!就可以把真假互换。 

sizeof可以计算类型大小。

int main()
{
	int a = 10;
	printf("%d\n", sizeof(a));  //4个字节
	printf("%d\n", sizeof a);  //4个字节
	printf("%d\n", sizeof(int));//4个字节
	return 0;
}

初识C语言(2)_第4张图片

 ++和--很类似,前置++就是先将a+1,再将a+1的值赋给b。

int main()
{
	int a = 10;
	int b = ++a;
	//前置++
	//计算口诀:前+1,后使用
	//a=a+1, b=a
	printf("a=%d b=%d\n", a, b);// 11 11

	return 0;
}

初识C语言(2)_第5张图片

 后置++就是先将a的值赋给b,再将a+1。

int main()
{
	int b = a++;
	//后置++
	//计算口诀:先使用,后+1
	printf("a=%d b=%d\n", a, b);//11 10

	return 0;
}

初识C语言(2)_第6张图片

()可以强制类型转换。我们将3.14赋给a的时候翻译器会进行报错,因为a的类型是int,但是当我们将3.14强制转换类型成int就没问题。

int main()
{
	int a = (int)3.14;
	printf("%d\n", a);
	return 0;
}

 初识C语言(2)_第7张图片

 初识C语言(2)_第8张图片

 6.关系操作符

>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”

一个=是赋值,两个==是判断相等。>=是大于等于,<=是小于等于。

7.逻辑操作符

&& 逻辑与
|| 逻辑或

&&相当于并且,||相当于或者。下面有张图可以帮助大家理解。

初识C语言(2)_第9张图片

 8.条件操作符

exp1 ? exp2 : exp3

初识C语言(2)_第10张图片

 在下面代码中这两种方法求得m的值都是3。

int main()
{
	int a = 2;
	int b = 3;
	int m = 0;
	
	if (a > b)
		m = a;
	else
		m = b;

	m = ((a > b) ? (a) : (b));
	printf("%d", m);
	return 0;
}

 9.逗号表达式

由逗号隔开的表达式就是逗号表达式。

exp1, exp2, exp3, …expN

 逗号表达式从左到右依次计算,但是整个表达式的结果是最后一个表达式的结果。所以d的结果是-1.

初识C语言(2)_第11张图片

 10.下标引用、函数调用和结构成员

[] () . ->

. 和->是结构访问操作符,后面学结构体的时候再讲。[]和()是下标引用操作符,我们以及很熟悉了。


今天的分享到这里就结束啦!感谢大家的阅读,下期我们将结束初识C语言,让我们下期再见。

你可能感兴趣的:(C语言,c语言,学习,c#)