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++知识库]学C的第三课

目录

选择语句

循环语句

函数

1.函数的引用

2.函数的写法

数组

1.数组的定义

2.数组的下标

?3.数组的使用

操作符

1.算数操作符

(1)/ 和 %的基本使用

(2)怎么让 / 带小数,%不能带小数

2.移位操作符

3.位操作符

4.赋值操作符

5.单目操作符

(1)!操作符

?(2)+ -

?(3)&,*,~

?(4)sizeof

(5)++? ? ?--

(6)? (类型)

6.关系操作符

7.逻辑操作符

8.条件操作符

9.逗号表达式

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

(1) [? ]?

? (2)? ?(? )

(3). ->

结束语


选择语句

人生处处面临选择,c语言中也一样拥有选择语句,可以通过一些选择来达成一些需求。选择语句在此处仅仅简单介绍一下if else选择语句的基本应用,后续文章将专门详细介绍。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int input = 0;
	printf("请问你是否要坚持好好学习吗?(1/0)");
	scanf("%d", &input);
	if (input == 1)
	{
		printf("好offer\n");
	}
	else if (input == 0)
	{
		printf("回家卖红薯");
	}
	else 
	{
		printf("选错了");
	}
	return 0;
}

if ? else 选择语句,多个选择的时候 else if继续进行选择,他俩后面可以直接跟赋值,最后一块打印,或者直接打印也可以。

这就是一个最简单的选择语句了,其中if后面的括号是判断是否成立的,如果成立则执行大括号里面的语句,如果不成立就依次往下判断,直到判断完毕。

循环语句

c语言中常用的循环语句一共有三种

while循环

do while循环

for循环

这三种循环我们暂时只浅浅的了解一下while循环,在后续的文章中,我将详细介绍这三种循环

int main()
{
	int line = 0;
 
	while (line <= 20000)
	{
		printf("敲代码: %d\n", line);
		line++;
	}
	if (line > 20000)
		printf("好offer\n");
	else
		printf("好好学习,天天编程\n");
 
	return 0;
}
 

这是一个最简单的while循环语句,进入循环语句以后,先判断line是否小于20000,如果小于,这执行完大括号的语句后重新判断一次条件,就这样一直重复下去,直到打破循环。

特别的

这里也可以把输入的直接放在判断里,用scanf的返回值进行判断

? #include <stdio.h>

?int main() {
?? ? int iq = 0;
?? ? //输入
?? ? while (scanf("%d", &iq) == 1)
?? ? {
?? ? //输出,所以这里这里直接放scanf看返回是不是1,是1就是读到一个整数
?? ? while (scanf("%d", &iq) != EOF)
?? ? //这个写法是非EOF,就是能读取到整数
?? ??? ? if (iq >= 140)
?? ??? ??? ? printf("Genius\n");
?? ? }

?? ? return 0;
?}

?scanf ?函数返回的是:实际读到的数据的个数,读到一个整数返回1,然后再循环
?scanf ?函数读取失败的时候,返回的是EOF
?EOF - end of file 文件结束标志

函数

1.函数的引用

为什么要有函数呢,函数就是帮助我们简便计算的,很庞大一个工程里面,可能需要很多次去进行相同的计算和步骤,那我们引用函数,在函数里面进行运算,我们在写代码的时候,需要用了,只需要一句代码来引用函数就可以,非常方便。

来看一个简单的例子

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int c = a + b;
	printf("%d", c);
	return 0;
}

2.函数的写法

 int Add(int x, int y)      //int 是定义是整型 Add 是其名称,求和的意思
 {
	 int z = 0;
	 z = x + y;             //写你需要的操作,在下面直接引用z就好了
	 return z;              //这是返回值,你把你的值导进来给 x , y 然后给你计算
 }                          //算好之后你下面引用的时候,return 就是给你返回去

 int Add(int x, int y)
 {
	 return (x + y);        //简化的写法,直接返回的 x,y 下面直接引用就行
 }

 int main()
 {
	 int num1 = 0;
	 int num2 = 0;
	 int sum = 0;

	 //输入                  //把 num1 给 x ,num2 给 y ,算好的 z 返回来

	 scanf("%d %d", &num1, &num2);

	 //求和

	 sum = Add(num1, num2);
       
	 //输出                  //引用的时候,把你的 num1 ,num2 导进去函数,加上名称

	 printf("%d\n", sum);

	 return 0;
 }

详细的讲解都在代码注释里,后续还会针对展开来说。

数组

1.数组的定义

数组的定义:一组相同类型元素的集合。可以是整数,字符,看你的定义的是什么数据类型。

int arr[10] = {1,2,3,4,5,6,7,8,9,10}; 
//定义一个整形数组,最多放10个元素
int arr[10] = { 1,2,3,4,5 };
//不完全初始化,剩余默认为0
char arr[5] = { 'a','b','c' };
//不完全初始化,剩余默认为\0

2.数组的下标

切记从下标0开始

int a[10]12345678910
下标数0123456789

?3.数组的使用

简单的引用一下,这是打印数组里的元素,用下标数来引用,看对应的元素。


#include<stdio.h>
int main()
{
	int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };  
    //定义一个数组[]里是内存,看看这个数组有多大,放多少个元素
    int i = 0;
    while (i < 10)        //想打印数组全部元素是,用到循环,i是下标数
     {                    //从0开始循环,这个时候数组里面放的是变量
						  //以前说过只能放常量,但是这里是需要引用下标数的变量
	     printf("%d ", arr1[i]);
         printf("%d\n", arr1[6]);
                          //这个 6 就是下标数,结果是对于的元素,就是 7
  	     i = i + 1;
      }
 
	      return 0;
}


操作符

1.算数操作符

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

对应:加? 减? ?乘? ? ?除? ? 取余

(1)/ 和 %的基本使用

/ 代表的是两个数相除后的商,也就是整数部分

%代表的是两个数相除后的模,也就是余数部分

#include<stdio.h>
int main()
{
	int a = 5 / 4;
	int b = 5 % 4;
	printf("%d %d", a, b);
	return 0;              //所以结果都是  1
}
 

(2)怎么让 / 带小数,%不能带小数

我们来用浮点型来打印试试,结果发现不行,打印出来还是不对。

#include<stdio.h>
int main()
{
	float a = 5 / 4;
	int b = 5 % 4;
	printf("%f %d", a, b);
	return 0;
}
 

这里总结一下/的处理小数中的问题

1.除号两端如果都是整数,则执行的是整数除法

2.除号两段至少有一个是浮点数,才能执行浮点数的除法

对于%

%是取模(取余),%操作的两个操作数必须都是整数

2.移位操作符

>>? ??? <<

?与二进制有关,暂时不讲。

3.位操作符

&?? ^ ?? |

?与二进制有关,暂时不讲。

4.赋值操作符

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

#include<stdio.h>
int main()
{
	int a = 0;//初始化,创建变量的同时给一个值,这叫初始化
	a = 20;//赋值
 
	a = a + 5;
	a += 5;//与前一行等价
 
	a = a * 10;
	a *= 10;//与前一行等价
 
	return 0;
}

其他的相同含义,后面几个以后讲到。

5.单目操作符

! ? ? ? ? ? ? ?逻辑反操作
- ? ? ? ? ? ? ?负值
+ ? ? ? ? ? ? 正值
& ? ? ? ? ? ? 取地址
sizeof ? ? 操作数的类型长度(以字节为单位)
~ ? ? ? ? ? ? 对一个数的二进制按位取反
-- ? ? ? ? ? ? 前置、后置--
++ ? ? ? ? ? 前置、后置++
* ? ? ? ? ? ? ?间接访问操作符(解引用操作符)
(类型) ? ? 强制类型转换

(1)!操作符

C语言中,0 是假,非 0 就是真。!就是非的含义,加上后就是反义。

 int main()             // !的作用
 {
	 int flag = 5;

	 //如果flag为真,就打印hehe
	 if (flag)
	 {
		 printf("hehe\n");
	 }
	 //如果flag为假,就打印haha    flag假,!flag就是真
	 if (!flag)
	 {
		 printf("haha\n");
	 }
	 return 0;
 }

?(2)+ -

关于这两个操作符,-有一个作用就是取相反数,+基本上就是一种可有可无的状态。

?(3)&,*,~

与二进制有关,暂时不讲。

?(4)sizeof

sizeof是操作符,用于计算变量所占内存空间的大小,单位是字节

strlen是库函数,是计算字符串的长度的,统计的是字符串中\0之前出现的字符个数

#include<stdio.h>
int main()
{
	int a = 10;
	float f = 5.5f;
 
	printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(int));
 
	printf("%d\n", sizeof(f));
	printf("%d\n", sizeof(float));
 
	return 0;
}

打印出来都是占4个字节。

(5)++? ? ?--

对于代码中主要区分前置++,与后置++的区别

即前置是先++,后引用,等价于a=a+1,b=a

后置++是先引用后++,等价于b=a,a=a+1

 int main()
 {
	 int a = 100;
	 //int b = (a++);//后置++,先使用,后++         a = 101 b = 100
	 //int b=a,a=a+1;

	 //int b = ++a;//前置++,先++,后使用           a = 101 b = 101
	 //a=a+1,b=a;

	 //int b = a--;                                 a = 99 b = 100
	 //int b = a,a=a-1;

	 int b = --a;                                   a = 99 b = 99
	 //a=a-1,b=a;
	 printf("a=%d b=%d\n", a, b);

	 return 0;
 

(6)? (类型)

这个操作意思是强制类型转换,如下面代码一样,将3.14强制类型转化为int类型,就变成了3

 int main()
 {
	 //(类型) - 强制类型转换
	 int a = (int)3.14;//这里只取整数部分    (int)使其强制只要整数的部分
	 printf("%d\n", a);

	 return 0;
 }

6.关系操作符

>??? >=???? < ?? <= ? ? != ? ? ==

这几个都是用于判断的,如果判断为真,则返回1,否则返回0

7.逻辑操作符

&&? ||

这两个操作符的区别就是

a&&b,两边同时为真,结果为真

a||b,两边同时为假,结果为假,跟数学里的交并一样。

 int main()
 {
	 int a = 3;
	 int b = 5;
	 if (a && b)             这个时候 a b 都是真,与的时候也是真,所以打印hehe
	 if (a || b)             这个时候 a b 都是真,或的时候也是真,所以打印hehe
							 或者ab其中有假的时候,会出现打印不了,就看是或还是与
							 就跟数学里的交并一样道理
								 && || 只关注真假
								 && 两边同时为真,才为真
								 || 两边同时为假,才为假
	 {
		 printf("hehe\n");
	 }

	 return 0;
 }

还有一种用法就是判断取范围时,可能是两端范围,不能直接写,需要用 && || 来写

 int main()
 {
	 //年龄18~36 青年
	 int age = 2;
	 if (18 <= age <= 36)            //这样写是错的
		 printf("青年\n");

	 if (age >= 18 && age <= 36)       //需要这样来写
        //好习惯把变量放前面
		 printf("青年\n");

8.条件操作符

exp1 ? exp2 :exp3

这里用例子来反映,求出ab里最大值。

 int main()
 {
	 int a = 0;
	 int b = 0;
	 int m = 0;
	 scanf("%d %d", &a, &b);
	 if (a > b)
		 m = a;
	 else
		 m = b;

 //麻烦的时候用条件操作符, expl1 ? expl2 : expl3
	 m = (a > b ? a : b);
	 表达式1: a > b  第一个表达式真的话就到第二个表达式 a 去等于 m  即 m = a
	 表达式2: a      第一个表达式假的话就到第三个表达式 b 去等于 m  即 m = b
	 表达式3: b      就是第一个真的话到第二个表达式,第一个假的话到第三个表达式
					  应用于简单的逻辑

	 printf("%d\n", m);
	 return 0;
 }

9.逗号表达式

exp1,exp2,……,expn;

后续讲到?

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

[]? ()? .? ->

(1) [? ]?

这是数组下标引用操作符,先看一段代码

int main()
{
	int arr[10] = {1,2,3,4,5,6,7,8,9,0};
	printf("%d\n", arr[4]);//[]下标引用操作符
 
	return 0;
}

? (2)? ?(? )

这是函数调用操作符,我们先看一段代码

int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum = 0;
	//输入
	scanf("%d %d", &num1, &num2);
	//求和
	sum = Add(num1, num2);//()函数调用操作符
 
	//输出
	printf("%d\n", sum);
 
	return 0;
}

(3). ->

结构体成员操作符,暂时不讲

结束语

本节主要讲述了,注释,选择,循环,函数,数组,以及操作符的简单基本使用,暂时只需了解最基本的概念即可。希望能对读者有很大的帮助。不要忘记留下你免费的赞赞和关注哦。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 20:56:54  更:2022-10-22 20:59:55 
 
开发: 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年5日历 -2024/5/19 2:49:17-

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