| |
|
开发:
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 |
目录 ?一.初识选择语句人生中会遇到很多选择,无论对应的结果是怎样,都不应该感到后悔 选择语句,如下
无论能不能拿到一个好offer,我们都应该持续扩充自身的知识储备,不然可能只能去“卖红薯”。? 😀 二.初识循环语句有些事必须一直做,一直循环下去,比如 学习 在C语言中,循环语句有? ?while语句 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for语句? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? do ... while语句 由于本文的标题是初识C语言,今天就先介绍while循环,另外两个后期再分别介绍 有如下的代码
当满足一定条件时,循环就停止了
|
int? arr [10] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
下标 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
数组的使用
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语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/19 7:14:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |