【C语言入门】 (零基础) (二)

前言:本章是上一章的补充和完善。

上一章:【C语言入门】 (零基础) (一)_Knead face monster.的博客-CSDN博客


一、if else分支语句的补充

代码的风格很重要!很重要!很重要!(重要的事情说三遍)

如果代码风格不好的可能会出现下面问题:

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("hehe\n");
    else
        printf("haha\n");
    return 0;
}

判断一下上面的代码最终会打印出什么???????

答案:最终结果是什么都不打印

原因:因为if只会和自己最近的那个else组合,变成一个if-else语句。

            其中if(b == 2)会与else组成if-else语句,则int a = 0;不符合if(a == 1),则不会进入此if语句则不会打印。

改正后的代码:

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
   {
        if(b == 2)
       {
            printf("hehe\n");
       }
   }
    else
   {
         printf("haha\n");
   }       
    return 0;
  • 适当的使用 { } 可以使代码的逻辑更加清楚。
  • 所以,代码风格很重要!

二、for和do while循环的使用和注意事项

1、for循环

语法:

for(表达式1; 表达式2; 表达式3)

         循环语句;

表达式1是初始化部分; 表达式2是条件判断部分; 表达式3是调整部分

代码启动顺序:

for(i=1 初始化; i<=10 判断部分; i++ 调整部分) 

直到 不符合判断部分的范围,则跳出循环。

break和continue在for循环的使用

break在for中的使用和在while中使用是一样的

 continue在for使用和在while中有些许不同

 while:

continue在while中返回循环时不会回到i++,则会进入死循环

 for:

 continue在while中返回值仍然可以回到i++,则除了5不会被输出。

注意事项:

  • 不可在for 循环体内(初始化部分)修改循环变量,防止 for 循环失去控制。
  • 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。(i=1 左闭; i<=10 右开)

2、do-while循环

语法:

do

       循环语句;

while(表达式);

举一个”栗子“:

#include <stdio.h>

int main()
{
	int i = 0;
	do
	{
		printf("%d\n", i);
		i++;
	} 
	while (i < 10);
	return 0;
}

do-while循环的特点就是一进去就做”事“先打印和i++,然再来判断i是否 <10,如符合则继续循环,否则跳出循环。

注意事项:

  • 循环至少执行一次,使用的场景有限,所以不是经常使用。

三、函数

数学中我们常见到函数的概念,但C语言的函数是怎么样的呢?

在维基百科中对函数的定义:子程序

C语言中函数有两个类型:

  1. 库函数
  2. 自定义函数

库函数:

库函数是由编译程序根据一般用户的需要,编制并提供用户使用的一组程序。

常用的标准头文件有:ctype、time 、stdio、stdlib、math、string

#include<stdio.h> ------------  printf

#include<string.h> ------------ strlen

#include<math.h> -------------ouble acos(double x)、double asin(double x)、double atan(double x)等 

自定义函数:

自定义函数是根据实际情况的需要来定义使用的,例如Add(求加法)、Max(求最大值)等

举一个例子:

#include <stdio.h>

int Add(int x, int y)//自定义函数(加法)
{
	return x + y;//算出来的数放回sum
}

int main()
{
	int num1 = 10;
	int num2 = 20;
	int sum = Add(num1, num2);//调用函数
	printf("sum = %d\n", sum);
	return 0;
}

四、数组

数组是一组相同类型元素的集合。

数组的创建方式:

type_t   arr_name   [const_n];

type_t 是指数组的元素类型   const_n 是一个常量表达式,用来指定数组的大小

例如:

代码1

int arr1[10];  /* 说明整型数组a,有10个元素 */

char arr2[10];

float arr3[10];

double arr3[10];

代码2

int a = 10;

int arr[a];

注意事项:数组创建,在C99标准之前, [ ] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数 组的概念。

数组的初始化:

数组每个元素都有下标,且下标是从0开始

int arr[10] = {1, 2, 3, 4};

//当{ }中值的个数少于元素个数时,只给前面部分元素赋值,表示只给arr[0]~arr[3]4个元素赋值,而后6个元素自动赋0值。

int arr[ ] = {1, 2, 3, 4, 5}; 

//当[ ]里没有放值时,会根据{ }里的元素来定值

求元素个数:

int arr[10];

int sz = sizeof (arr) / sizeof(arr[0]);

总数/其中一个的数=元素个数


五、运算符

操作符分类:

算术操作符

关系操作符

逻辑操作符

赋值操作符

算术操作符:

 

关系操作符:

 逻辑操作符:

 赋值操作符:


六、指针

1. 指针是内存中一个最小单元的编号,也就是地址

2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量

0x2000和0x2020是地址(十六进制)

3.1415是数值

指针变量:

我们可以通过&(取地址操作符)取出变量的内存其实地址,把地址可以存放到一个变量中,这个 变量就是指针变量

#include <stdio.h>
int main()
{
    int a = 10;//变量赋值
    int* p = &a;//a的地址存在指针变量*p里
    return 0;
}

使用和改变指针:

#include <stdio.h>
int main()
{
    int a = 10;//变量赋值
    int* p = &a;//a的地址存在指针变量*p里
    *p = 20;//找到和改变指针变量的值
    printf("%d\n", a);//输出
    return 0;
}

注意事项:

  • 要避免使用未初始化的指针。. 很多运行时错误都是由未初始化的指针导致的,而且这种错误又不能被编译器检查所以很难被发现。

总结:

本章C语言入门是根据本人所知道的知识来写的(边学边分享),其中有一部分资料是在网络中获取的,本人也只是个编程小白,如果有不足或错误的地方可以给一些建议,我也会好好改进。最后,感谢您的阅读!让我们一起向着进大厂而努力吧!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值