C++ 基础 (7)

  1. 复习

// 定义数组时 []内部尽量用常量

// 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其他数组名同名

// 使用数组时 []可以是常量,变量,表达式

// 定义一个数组,数组名字叫a 有10个元素 每个元素为int

// 通过下标操作元素,从0开始,0~9

int a[10]

a[0] = 1;

// 数组越界

//1、编译时错误,编译代码就能检查到(语法错误)

//2、运行时错误 运行到这个语句才可能检查到(非法操作内存)

//a[10] = 2

一维数组初始化

// 定义同时赋值叫初始化,只能在定义时才能用{}进行初始化

int a [10] = {1,2,3,4}   //剩下的会填零

int a[] = {1,2,3,4} //会自动生成长度为4的数组

//一维数组名

int a[] = {1,2,3,4,

4、冒泡排序

for(I = 0 ;i<n-1;i++

for(j=I ;j<n-1;j++

ifa(j)<a(j+1)

{ // swap

// 1、测二维数组长度 sizeof(a) 4个元素 每一个int[5] = 4*4*5 = 80

printf(“sizeof(a) = %lu\n”,sizeof(a))

// 2、 测第0个元素的大小,它还是一维数组 int[5] = 4*5 = 20

printf(“sizeof(a[0])=%lu\n”,sizeof(a[0]));

// 3、 测第0行第0列元素大小,就是一个int类型,4

printf(“sizeof(a[0][0]) = %lu\n”,sizeof(a[0][0]))

//4、 求行的数目,第一个[]的数目,元素个数

int n = sizeof(a)/sizeof(a[0])

printf(“n1=%d\n”,n)

// 5、 求列的数目,第二个[]数目

n = sizeof(a[0]/sizeof(a[0][0]);

printf(“n2=%d\n”,n)

// 6、 求行*列的总数

n = sizeof(a)/sizeof(a[0][0])

printf(“n3 = %d\n”,n)

三、多维数组

// 三维数组就是有n个二维数组

四、字符数组

1、字符串和字符数组关系

// 1、字符串是以数字0或者字符’\0’结尾

// 2、如果字符数组,以数字0或者’\0’结尾,那么这个字符数组就是字符串

char ch = 0

char ch = ‘\0’

ch = ‘0’ // err 字符0,它是普通字符,不是字符串结束字符,ascii码为48

例如

char a[] = “1230”

char a[] = “123\0”

  1. 字符数组初始化

char buf1[] = {‘c’,’ ‘, ‘p’,’r’,’e’,’g’}

// %s代表以字符串的方式打印

// 首地址,找字符串的结束符,遇到数字0或者字符’\0\结束打印

!有可能乱码

3、字符数组输入

char str[100];

scanf(“%s”,str) // 遇到空格截断

五、随机数的产生

//随机种子设置,只需设置一次,如果种子一样,随机数就一样

//srand(100)

srand((unsigned int)time(NULL))

int I = 0;

int tmp = 0;

for(i=0;i<10;i++)

{

tmp = rand() //产生随机数

printf(“tmp = %d\n”,tmp)

}

二、作业讲解

三、scanf的使用

键盘输入: hello mike回车(把内容放缓冲区

键盘输入 hello mike\n

缓冲区就是一块内存

结论:scanf以空格分开,输入一次下次也能取出来是因为放到缓冲区了

//scanf()的缺陷,不做越界检查

04 gets fgets的使用

// 这个函数已经被抛弃了 不建议使用

stdio.h里面有一个叫stdin的指针,可以直接调用标准键盘输入

fgets有个问题,会把换行符也读进去

05 字符串的输出

06 strlen的使用

strlen()

07 课堂答疑

08 字符串的拷贝

09 数组越界测试

// 可能会报段错误

10 字符串比较

11 字符串追加

12 上午知识点复习

gets  可以获得空格

fgets    stdin

puts  会自动打印\n

fputs    stdout

strlen     遇到\0结束(sizeof不会

strcpy     有一个src 有一个dst 遇到\0结束 最后自己也加一个\0

strcat      和上面一样

strncat     加一个n以后就可以指定长度了

strcmp     逐个字符比较ascii大小

strncmp

13 sprintf的使用

s开头输出到数组

f开头输出到文件

什么都不写输出到屏幕

结果:

14sscanf的使用

15 sscanf的补充

16 字符串查询

strchr()  // 查询char

strstr()  // 查询str

// strchr // strstr

17 课堂答疑

18 字符串切割

19 atoi的使用

atoi() 函数功能是把一个字符串 把字符串转换成整型 直到遇到\0

char str1[] = “-10”

int num1 = atoi(str1)

atof(转换到浮点型 atoll(转换长整型

char buf[100]

sprintf(buf,”%d”,2345)  // 把格式化的数据写入某个字符串中

20 函数的作用和分类

·系统函数,即库函数:这是由编译系统提供的,用户不必自己定义这函数,可以直接使用它们,如我们常用的打印函数printf()

·用户定义函数:用以解决用户的专门需要。

程序比作公司,函数比作部门,

21 无参无返回值函数的使用

程序比作公司,函数比作部门

1、函数的定义,就是把之前写在main 函数内部的代码换个地方

2、函数的定义,类似于厨房做好的菜,如果没有人点菜,做好的菜没有意义

函数的定义,只有在用户调用了,才起作用,函数调用类似于点菜

1、  无参无返回值函数的使用

2、  有参无返回值的使用

3、  无参有返回值函数的使用

4、  有参有返回值函数的使用

22 无参无返回值函数的补充

23 有参无返回值的函数

24 无参有返回值的函数的使用

原文地址:https://www.cnblogs.com/eret9616/p/10206628.html

时间: 01-01

C++ 基础 (7)的相关文章

Java注解(1)-注解基础

注解(Annotation)是在JAVA5中开始引入的,它为在代码中添加信息提供了一种新的方式.注解在一定程度上把元数据与源代码文件结合在一起,正如许多成熟的框架(Spring)所做的那样.那么,注解到底可以做什么呢? 1.注解的作用. 提供用来完整地描述程序所需要的信息,如编译期校验程序信息. 生成描述符文件,或生成新类的定义. 减轻编写"样板"代码(配置文件)的负担,可以使用注解自动生成. 更加干净易读的代码. 编译期类型检查. 2.Java提供的注解 Java5内置了一些原生的注

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4

NumPy基础:数组和失量计算

NumPy : Numerical Python,是高性能科学计算和数据分析的基础包. 部分功能: ndarray:一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组: 用于对整组数据进行快速运算的标准数学函数(无需编写循环): 用于读写磁盘数据的工具以及用于操作内存映射文件的工具: 线性代数.随机数生成以及傅里叶变换功能: 用于集成C.C++.Fortran等语言编写的代码工具: 大部分数据分析应用关注的功能: 用于

css基础

css绝对是一个能够写到爆炸的东西,so,机智的小北方才不会写各种css样式具体的效果,相比之下更推荐大家记一些常用的key,至于效果,每次用的时候百度下就可以了, css的作用是对符合条件的标签进行渲染,那么首先就要匹配到对应标签啦,我萌有三种基础的模式来匹配希望改变样式的标签 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8">

零基础的人该怎么学习JAVA

对于JAVA有所兴趣但又是零基础的人,该如何学习JAVA呢?对于想要学习开发技术的学子来说找到一个合适自己的培训机构是非常难的事情,在选择的过程中总是 因为这样或那样的问题让你犹豫不决,阻碍你前进的步伐,今天就让小编为您推荐培训机构新起之秀--乐橙谷Java培训机构,助力你成就好未来. 选择java培训就到乐橙谷 北京有什么好的Java培训机构?来乐橙谷北京学Java,零基础走起,乐橙谷Java基础班授课老师经验非常丰富,课程内容安排合理,适合于有一点点Java基础甚至一点都不会Java的同学学

linux+jmeter+python基础+抓包拦截

LINUX 一 配置jdk 环境 *需要获取root权限,或者切换为root用户 1.windows下载好,去 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 官方网站下载jdk(linux相应版本) 2.在usr目录下创建java路径文件夹 [root bin]cd /usr mkdir java 3.将jdk-8u60-linux-x64.tar.gz放到刚才创建的文件夹下

python基础之条件循环语句

前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python interprets non-zero values as True. None and 0 are interpreted as False. Python 判断非0的值为 True, 而None和0被认为是 False.注意这里的True和False首字母大写,Py

【转】Java基础知识总结

写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ------------------------------------------------------------------------------------

java String 类 基础笔记

字符串是一个特殊的对象. 字符串一旦初始化就不可以被改变. String s = "abc";//存放于字符串常量池,产生1个对象 String s1=new String("abc");//堆内存中new创建了一个String对象,产生2个对象 String类中的equals比较字符串中的内容. 常用方法: 一:获取 1.获取字符串中字符的个数(长度):length();方法. 2.根据位置获取字符:charAt(int index); 3.根据字符获取在字符串中