IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言系列之初识C语言(二)2021.10.19 -> 正文阅读

[C++知识库]C语言系列之初识C语言(二)2021.10.19

接着上期的内容,对C语言的重要知识做一个概述??

目录

?一.初识选择语句

二.初识循环语句

??

三.函数

四.数组

五.操作符

六.关键字


?一.初识选择语句

人生中会遇到很多选择,无论对应的结果是怎样,都不应该感到后悔

选择语句,如下

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int input = 0;
	printf("你要好好学习吗?(1/0)");
	scanf("%d", &input);
	if(input==1)
	{
		printf("好offer");
	}
		else
    {

		printf("卖红薯\n");
    }

	return 0;
}

无论能不能拿到一个好offer,我们都应该持续扩充自身的知识储备,不然可能只能去“卖红薯”。?

😀

二.初识循环语句

有些事必须一直做,一直循环下去,比如 学习

在C语言中,循环语句有? ?while语句

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for语句?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? do ... while语句

由于本文的标题是初识C语言,今天就先介绍while循环,另外两个后期再分别介绍

有如下的代码

#include <stdio.h>
int main()
{
	int line = 0;
	while (line < 30000)
	{
		printf("继续写代码:%d\n", line);
		line++;//此处也可以用 line=line+1
	}
	if (line == 30000)
		printf("好offer\n");
	return 0;
}

当满足一定条件时,循环就停止了

?

三.函数

C语言中,一些独立的功能也能够封装成一个函数

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

?以上代码展示的第一种为普通的求和,第二种为函数求和

其中,函数一定要定义?

??

四.数组

要存储1-10的数字,怎么存储?

C语言中给了数组的定义:一组相同类型元素的集合

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

数组的下标

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

比如

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

int? arr [10]0000000000
下标0123456789

数组的使用

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int i = 0;//使用i产生下标
	while (i < 10)
	{
			printf("%d", arr[i]);
			i++;
     }
	return 0;
 }

?如果要打印一个数组?

?字符数组

char ch[5]={'a','b','c'};

这是不完全初始化,其余两个元素默认为0

char ch[6]={"hello"}

下面看一个例子?

?

这里的C选项的数组创建错误

原因是arr[]的中括号内没有数字,没有初始化列表,?编译器就不知道这个数组到底开辟多大的空间

所以在编译阶段就不知道分配多大的内存

?

?关于数组,这里暂且说这么多。

五.操作符

1.算术操作符

+? ? ? -? ? ? *? ? ? /? ? ? %

这里主要介绍 / 和%

/:除

一个例子:9/2=4

原因是“/”号两边都为整数,执行整数除法,无论是int还是float,结果都是4

解决方法: 9/2.0 或9.0/2? ?结果4.500000

2.移位操作符

>>? ? ? ? ? ? ? ? ? ? ?<<?

?此处以左移为例

运行结果是?

原因:??

?由1*2^1=2? 变为1*2^2=4

?3.位操作符

&? ? ? ? ? ? ? ?^? ? ? ? ? ? ? ? ? |

& 按位与 (对应的二进制位有0则为0,全1才为1)

|? 按位或? (有1为1,全0为0)

^? 按位异或 (相同为0,相异为1)

这里就拿&举例

?

?那么,为什么结果是1呢?

?

4.赋值操作符

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

5.单目操作符

a+b有两个操作数 ,所以+为双目操作符

! ? ? ? ? ? 逻辑反操作

- ? ? ? ? ? 负值

+ ? ? ? ? ?正值

& ? ? ? ? ? 取地址

sizeof ? ? ?操作数的类型长度(以字节为单位)

~ ? ? ? ? ? 对一个数的二进制按位取反

--? ? ? ? ? ??前置、后置?--

++ ? ? ? ? ?前置、后置?++

* ? ? ? ? ? 间接访问操作符(解引用操作符)

(类型) ? ? ? 强制类型转换

(1)--? ? ? ? ? ??前置、后置?--

? ? ? ? ?++ ? ? ? ? ?前置、后置?++

前置就是先++后使用,后置就是先使用后++

int main()
{
int a=10;
intb=a++
printf ("%d %d",a,b);

return 0;
}

结果:11,10

(2)?(类型) ? ? ? 强制类型转换

int main()
{
int n=3.14;
int n=(int)3.14
return 0;
}

6.关系操作符

>

>=

<

<=

!=? ? ? 用于测试“不相等”

== ? ? ?用于测试“相等”

?7.逻辑操作符

&&? ? ? ?逻辑与?

|| ? ? ? ? ?逻辑或

&&? ? ? ?逻辑与? (并且)

|| ? ? ? ? ?逻辑或? (或者)

8.条件操作符(三目操作符)

exp1 ? exp2 : exp3

功能:简化if语句

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int max = 0;
    scanf("%d%d",&a,&b);
    if(a>b)
    max=a;
    else
    max=b;
	printf("%d\n", max);
   return 0;
}

//使用条件操作符
#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int max = 0;
    scanf("%d%d",&a,&b);
    max=(a>b?a;b;);
	printf("%d\n", max);
   return 0;
}

?exp1 ? exp2 : exp3

表达式1结果为真,表达式2算3不算,结果为表达式2

表达式1结果为假,表达式3算2不算,结果为表达式3

9.逗号表达式(从左向右以此计算,但整个表达式的结果是最后式子的结果)

exp1, exp2, exp3, …expN

int main()
{
	int a = 3;
	int b = 5;
	int c = 10;
	int d = (a + 2, b = a - 3, c = b + 4);
	printf("%d\n", d);
return 0;
}

??

?(b=0,c=4) ——> d=0+4=4

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

[]? ? ? ()? ? ? .? ? ? ?->

六.关键字

auto ?break ? case ?char ?const ? continue ?default ?do ? double else ?enum ? extern float ?for ? goto ?if ? int ? long ?register ? ?return ? short ?signed sizeof ? static struct ?switch ?typedef union ?unsigned ? void ?volatile ?while?

auto-自动-定义自动变量

const-修饰常变量,修饰指针

?

关键字 typedef

typedef 顾名思义是类型定义,这里应该理解为类型重命名

//将unsigned int 重命名为uint_32, 所以uint_32也是一个类型名
typedef unsigned int uint_32;
int main()
{
    //观察num1和num2,这两个变量的类型是一样的
    unsigned int num1 = 0;
    uint_32 num2 = 0;
    return 0;
}

现在是10月20日的0点48分,两个多小时终于把这篇博客完成了,准备睡了。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:00:48  更:2021-10-21 12:01:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:11:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码