简单认识一下分支和循环语句,数组,函数,操作符

声明一下:我们这里是简单认识一下也就是知道这些是干什么的就好,不深入探讨,等我们到后面的文章再仔细深度剖析一下进行深入了解。


好,接下来我们进入今天的正题。


目录

分支和循环

分支

 循环

数组

数组的定义

数组的下标

数组的使用

函数

操作符


分支和循环

这里的语句对我们在c语言学习的进行中对我们是相当的重要,所以大家在看我这篇文章深度是不够的,大家可以在我后面的文章进行深度学习和了解。

分支

既然讲分支,那什么是分支呢,也就是我们每当经过一个十字路口,和我们每一次作出重要的事情都要做出重大选择,没错就是选择,我们生活处处在选择,在英语中的选择叫choice而在c语言中是if语句,还有if,else语句等等

那我们接下来举个例子

#include<stdio.h>
int main()
{
	printf("学好c++\n");
	printf("你是否能打20000行有效代码(0/1):>\n");
	int n = 0;
	scanf("%d", &n);
	if (n == 1)
	{
		printf("进入大厂,成为大佬,从此改变人生\n");
	}
	else
	{
		printf("回家种地吧,兄弟\n");
	}

	return 0;
}

这时我们就要做出判断

 那你是否想成为大佬呢哈哈

在if语句中要注意的是if后面的括号()1代表真,0代表假

奥对了,上面的代码有可能会运行不起来会提示你

 这是scanf的事,你只要加入这个就可以运行了

#define _CRT_SECURE_NO_WARNINGS 1

总结:if语句就是进行选择,在后面我们无论是刷c语言题还是实现一些小游戏都会与他见面,我相信你会把他用的炉火纯青

 循环

所谓循环,也就是来来回回,往往复复重复一件事

c语言中循环有很多比如while循环,for循环,do....while循环,switch循环等等

今天我们先给大家讲一下while循环,其他的我们在后续文章深入讲解

举个例子

int main()
{
	int n = 0;
	printf("你要进行打代码么?\n");
	scanf("%d", &n);
	int line = 0;
	if (n == 1)
	{
		while (line <= 20000)
		{
			line++;
			printf("还得加油,坚持就好\n");
			break;
		}
		if (line > 20000)
		{
			printf("恭喜你\n");
		}

	}
	else
	{
		printf("拜拜吧\n");
	}

	return 0;
}

这个例子我们就用了循环没有达到20000行代码就往日循环的练习,只要坚持,请相信自己。

数组

数组官方定义:“数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。”

数组嘛就是一组数组成在一起;

数组的定义

#include<stdio.h>
int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };


	return 0;
}

我们来解释这段代码方块([ ])里代表有多少元素,这里代表有10个元素,后面花括号{}代表数组的初始化,初始化为0-9的元素;

那我们测试一下,这个代码对不对呢?

#include<stdio.h>
int main()
{
	int arr[5] = { 5 };
	

	return 0;
}

这里显然是不对的因为数组访问的是下标是5,对应的元素应该是4

那我们可不可以有字符数组呢显然是可以的

#include<stdio.h>
int main()
{
	
	char arr[] = { 'a','b','c' };

	return 0;
}

数组的下标

我么这里要注意的是我们在访问数组元素的时候访问的是元素的下标

比如上面这段代码1的下标是0,2的下标是1,以此类推那可见我们这里下标的范围是0-9了

数组的使用

我们打印一下数组的每个元素吧,看代码

#include<stdio.h>
int main()
{

	int arr[10] = {0,1,2,3,4,5,6,7,8,9};
	printf("%d\n", arr);
	return 0;

}

这样对不对呢?

这样应该是不对的,这样打印的数组应该是打印数组的地址

应该是这样的,我们将每个数组的元素一 一打印出来


#include<stdio.h>
int main()
{
	int i = 0;
	int arr[10] = {0,1,2,3,4,5,6,7,8,9};
	for (i = 0; i <= 9; i++)
	{
		printf("%d ",  arr[i]);
	}
	return 0;

}

打印结果

 总结:数组就是一组按顺序排列的一组数

数组的访问是访问下标的

函数

我们在中学就学过函数,这个应该不会很陌生,而在c语言中函数的作用是什么呢?

其实函数的作用是简化代码,使代码清晰明了;

我们拿两个数的加和来举例子

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum = 0;
	scanf("%d %d", &num1, &num2);
	sum = num1 + num2;
	printf("%d\n", sum);


	return 0;
}

打印结果

 那我们用函数如何实现呢

int Add(int a, int b)
{
    int z = a + b;
    return z;

}
#include<stdio.h>
int main()
{
    int a = 10;
    int b = 10;
    int ret = Add(a , b);
    printf("ret = %d\n", ret);
    return 0;
}

我们接下来分析一下这个用函数将两个数的加和的代码

这里在主函数里的Add就是实现加法的函数,我们要用函数算a和b两个数的和,我们就要将a和b传到Add函数里,而此时Add函数要接收a和b的两个数值,什么数值呢,那当然是两个整形数字a和b了,接着我们将a和b的加和传到z里然后返回结果就到ret里最后打印ret得出答案,再补充一下,在Add函数后面有个()这个是一个操作符,叫做函数调用操作符,其中操作数有三个,分别是Add,a,b。

Add加上花括号{},是我们函数要执行的函数体,我们都在这个函数体里进行计算,然后返回值

操作符

操作符定义:“运算符(也叫操作符)--运算符是一个表示特定的数学或逻辑操作的符号。如'+'号,表示了一个相加运算;'&&'号表示了一个逻辑‘与’的运算。由运算符把需要进行运算的各个量(常量或变量)连接起来组成一个表达式。”

操作符也就是我们经常进行数字等一些基本运算的一个工具,这里给大家上图

(1) 算术运算符(+, -, *, /, %, ) 。

加号减号这里就不在多说

/(除号)特别注意当我们进行浮点运算的时候,两个数相除必须有一个是浮点数

%(取模)这个符号是取出余数的

这里的取模我给大家举个判断奇偶数的例子

#include<stdio.h>
int main()
{
	//判断奇偶数
	int i = 0;
	scanf("%d", &i);
	if (i % 2 == 0)
	{
		printf("偶数");

	}
	else
	{
		printf("奇数");
	}

	return 0;
}

(2) 关系运算符(<, >, <=, >=, ==) 。

这里我们就讲讲==和=的区别,==事相等,而=是赋值,我们常在判断中容易写成=,其实我们在判断语句中应该写成==而不是=

如果写错了就会给你报错

(3) 逻辑运算符(!, &&, ||) 。

!叫做逻辑反操作也就是假变真,真变假,我们常在判断中看到

&& 叫做逻辑与,跟数学中的那个逻辑命题有点相像,与嘛必须两个同时都为1才为1否则为0

||叫做逻辑或,或不就是两个只有一个就行,只要有一个为真就为真

(4) 位运算符(<<, >>, ~, |, ^, &) 。

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

<<        向左移动一个二进制位

>>        向右移动一个二进制位

& |           按位与,按位或跟上面的有点相像这里不再赘述

^           按位异或,相同为0,相异为1

(5) 赋值运算符(= , 及其双目运算符的扩展赋值运算符) 。

(6) 条件运算符(? :) 。

a>b:a?b

这里的执行方式是这样的如果a>b成立则执行a,a这个表达式为整个表达式的结果,如果表达式不成立,执行表达式b,b这个表达式为整个表达式结果

(7)逗号表达式  exp1, exp2, exp3, …expN

这个逗号表达式执行的是最后一个表达式,最后一个表达式为整个表达式的结果

(8) 指针运算符(*, &) 。

这个等我们后面讲指针的时候来讲解敬请期待

(9) 求字节数运算符(sizeof) 。

sizeof我们前面讲过一遍就是计算变量类型的大小单位是字节

(10) 强制类型转换运算符(( 类型)) 。

强制类型转换就是原本不是那个类型加上()我饿们就给它强制转换成某类型

(11)单目操作符

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

前置++ 先++在使用

后置++ 先使用后++

前置 --  先--后使用

后置--  先使用后--

我们这里先给大家讲这些(键盘要敲烂了),后期还会更新,有什么错误尽管在评论区留言,谢谢大家

好的,以下是试卷内容: ## C++试卷 ### 单选题(每题2分,共计20分) 1. 以下哪个不是单分支结构? A. if B. switch C. while D. for 2. 如果一个变量的值小于等于10,则输出“小于等于10”,否则输出“大于10”。下面哪个语句是正确的? A. if (value <= 10) { cout << "小于等于10" << endl; } else { cout << "大于10" << endl; } B. if (value <= 10) { cout << "小于等于10" << endl; } else if (value > 10) { cout << "大于10" << endl; } C. if (value <= 10) { cout << "小于等于10" << endl; } if (value > 10) { cout << "大于10" << endl; } D. if (value <= 10) { cout << "小于等于10" << endl; } if (value >= 10) { cout << "大于10" << endl; } 3. 下面哪个语句可以用来判断一个数是否为偶数? A. if (num % 2 == 0) B. if (num % 2 != 0) C. if (num / 2 == 0) D. if (num * 2 == 0) 4. 以下哪个循环结构是先判断后执行? A. while B. do-while C. for D. 以上都不是 5. 如果一个数组的长度为10,下标范围是0~9。那么下面哪个语句是正确的? A. int arr[10]; arr[10] = 1; B. int arr[10]; arr[9] = 1; C. int arr[9]; arr[10] = 1; D. int arr[10]; arr[0] = 1; 6. 以下哪个是函数的调用? A. int main() { cout << "Hello, world!" << endl; return 0; } B. void printMessage() { cout << "Hello, world!" << endl; } printMessage(); C. int value = 5; cout << value << endl; D. int add(int a, int b) { return a + b; } int result = add(3, 4); 7. 以下哪个语句可以用来输出一个整数? A. cout << "Hello, world!" << endl; B. cout << 3.14 << endl; C. cout << "5" << endl; D. cout << 5 << endl; 8. 下面哪个语句可以用来输出一个字符串? A. cout << "Hello, world!" << endl; B. cout << 3.14 << endl; C. cout << "5" << endl; D. cout << 5 << endl; 9. 如果一个字符串数组的长度为10,下标范围是0~9。那么下面哪个语句是正确的? A. string arr[10]; arr[10] = "hello"; B. string arr[10]; arr[9] = "hello"; C. string arr[9]; arr[10] = "hello"; D. string arr[10]; arr[0] = "hello"; 10. 以下哪个语句可以用来定义一个结构体? A. struct { int age; string name; } person; B. struct person { int age; string name; } p; C. struct (int age, string name) { } person; D. struct person { } ### 判断题(每题2分,共计20分) 1. 在单分支结构中,如果条件成立,就执行if语句块内的语句,否则不执行。 √ 2. 在双分支结构中,如果条件成立,就执行if语句块内的语句,否则执行else语句块内的语句。 √ 3. 在多分支结构中,可以使用switch语句来代替if-else语句。 √ 4. 在while循环中,先判断条件是否成立,如果成立,则执行循环体内的语句,否则结束循环。 √ 5. 在do-while循环中,先执行循环体内的语句,再判断条件是否成立,如果成立,则继续执行循环体内的语句,否则结束循环。 √ 6. 在for循环中,先执行初始化语句,然后判断条件是否成立,如果成立,则执行循环体内的语句,再执行迭代语句,直到条件不成立。 √ 7. 数组是一种可以存储多个相同类型数据的容器。 √ 8. 函数是一段可以重复执行的程序代码,它可以接受参数,也可以返回一个值。 √ 9. 输入操作符(>>)用于将数据从输入流中读取到变量中。 √ 10. 输出操作符(<<)用于将数据从变量中输出到输出流中。 √ ### 编程题(每题30分,共计60分) 1. 编写一个程序,输入两个整数a和b,如果a>b,则输出“a>b”,否则输出“a<=b”。 2. 编写一个程序,输入一个字符串,输出这个字符串中每个字符的ASCII码。 提示:可以使用string类的length()函数获取字符串的长度,使用string类的at()函数获取字符串中指定位置的字符。 答案如下: ```cpp #include <iostream> #include <string> using namespace std; int main() { string str; cout << "请输入一个字符串:"; cin >> str; for (int i = 0; i < str.length(); i++) { cout << (int)str.at(i) << " "; } cout << endl; return 0; } ``` 以上是本次的C++试卷,希望对你有所帮助!
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值