初识C语言(2)

简介: 初识C语言(2)

5.选择语句

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

#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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;
}

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

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 <stdio.h>
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;


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


9.操作符

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

1.算数操作符(加,减,乘,除,取模)
+ - * / %
1. int r = 7/2;
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.单目操作符

像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;
}

++和--很类似,前置++就是先将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;
}

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

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

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

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



6.关系操作符
1. >
2. >=
3. <
4. <=
5. != 用于测试“不相等”
6. == 用于测试“相等”

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

7.逻辑操作符
1. && 逻辑与
2. || 逻辑或

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


8.条件操作符
exp1 ? exp2 : exp3

在下面代码中这两种方法求得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.

10.下标引用、函数调用和结构成员
[] () . ->

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


相关文章
|
2月前
|
C语言
初识C语言
初识C语言
27 0
|
9月前
|
Linux 编译器 C语言
C语言必知必会
C语言必知必会
59 0
|
2月前
|
Java Linux 编译器
认识C语言
认识C语言
28 0
|
11月前
|
存储 缓存 编译器
初识C语言(三)
初识C语言(三)
|
2月前
|
BI 编译器 C语言
初识C语言一
初识C语言一
41 0
|
8月前
|
自然语言处理 Java 编译器
零基础玩转C语言-初识C语言(上)
零基础玩转C语言-初识C语言(上)
102 0
|
11月前
|
存储 Java 编译器
初识c语言(一)
初识c语言(一)
96 0
初识c语言(一)
|
11月前
|
存储 编译器 C语言
初识c语言(二)
初识c语言(二)
97 0
|
11月前
|
存储 测试技术 C语言
C语言假期作业 DAY 16
C语言假期作业 DAY 16
|
11月前
|
编译器 C语言
8.4C语言小测总结
8.4C语言小测总结
74 0