黑马程序员——C语言基础 char字符 数组
Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
(以下内容是对黑马苹果入学视频的个人知识点总结)
(一)char类型
1)存储细节
ASCII单字节表(双字节GBK\GB2312\GB18030\Unicode)
2)可以当整数使用
在-128~127范围内,可以当做整数来用
3)常见的错误
①char c = A;
②char c = "A";
③char c = 'ABCD';
④char c = '男';
#include <stdio.h>
/*
1.说出下面程序的输出结构
int i = 67 + '4';
char c = 'c' - 10; printf("%d - %c\n", i, i);
printf("%d - %c\n", c, c); 2.写一个函数,将小写字母转为大写 */ char upper(char c)
{
// 如果是小写字母,就转成大写
/*
if (c>='a' && c<='z') { // ['a', 'z']
return c - ('a'-'A');
} else {// 如果不是小写字母,返回字母本身
return c;
}*/ // 如果是小写字母,就转成大写
if (c>='a' && c<='z') { // ['a', 'z']
return c - ('a'-'A');
}
// 如果不是小写字母,返回字母本身
return c;
} int main()
{
char cc = upper('f'); printf("%c\n", cc);
return ;
}
4)转义字符
①\n 将当前位置移到下一行开头(回车换行)
②\t 跳到下一个TAB位置
③\\ 代表一个反斜线字符
④\" 代表一个双引号字符
⑤\0 代表空字符
(二)数组
1)数组的基本概念
1>数组,从字面上看,就是一组数据的意思,数组就是用来存储一组数据的
2>只能存放一种类型的数据,比如int类型的数组、float类型的数组,里面存放的数据称为“元素”
2)数组的定义
1>声明数组的类型
2>声明数组的元素个数
3>格式
元素类型 数组名[元素个数];
比如:int ages[3];
4>简单的使用和初始化
数组可以存放数据,可以作为函数参数,数组元素也可以作为函数参数
数组有多种初始化方式
①int ages[5] = {10 , 11, 12, 67, 56};
②int ages[5] = {10, 11};
③int ages[5] = {[3] = 10, [4] = 11};
④int ages[] = {10, 11, 14};当然只能在定义数组的同时进行初始化
#include <stdio.h> // 数组作为函数参数,可以省略元素个数
// 数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组 void change(int array[])
{
//printf("array==%p\n", array); array[] = ;
} void change2(int n)
{
n = ;
} int main()
{
int ages[] = {, , , , , }; //printf("ages==%p\n", ages); change(ages); //change2(ages[0]); printf("%d\n", ages[]);
return ;
}
5>内存分析
数组内的存储空间大小和数组的类型以及存放的数据个数有关。内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的。
二维数组和数组的内存都一样,一下是一个二维数组的存储形式

/* 设计一个函数,找出整型数组元素的最大值
*/ #include <stdio.h> int maxOfArray(int array[], int length)
{
// 数组当做函数参数传递时,会当做指针变量来使用,指针变量在64bit编译器环境下,占据8个字节 //int size = sizeof(array);
//printf("array=%d\n", size); //sizeof(array); // 1.定义一个变量存储最大值(默认就是首元素)
int max = array[]; // 2.遍历所有元素,找出最大值
for (int i = ; i<length; i++)
{
// 如果当前元素大于max,就用当前元素覆盖max
if (array[i] > max)
{
max = array[i];
}
} return max;
} int main()
{
int ages[] = {, , , , , , , , }; int ages2[] = {, , , , , , , , }; //int size = sizeof(ages); //printf("ages=%d\n", size);
int max = maxOfArray(ages, sizeof(ages)/sizeof(int)); printf("%d\n", max);
return ;
}
上面的程序是一个数组的遍历以及找出最大值
黑马程序员——C语言基础 char字符 数组的更多相关文章
- 黑马程序员—C语言的函数、数组、字符串
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.函数 定义:函数是代码复用的一种机制. 函数的基本语法: 返回类型 函数名 ( 参数类型 参 ...
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- 黑马程序员——C语言基础 指针
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...
- 黑马程序员——C语言基础 字符串
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)字符串 1>字符串是由多个字符组合在一起形成的 2>初始 ...
- 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)枚举 1)枚举类型的定义 枚举是C语言中的一种基本数据类型,并不是构 ...
- 黑马程序员——OC语言基础语法 面向对象的思想
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...
- 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1> 简单介绍一下scanf函数 这是在 ...
- 黑马程序员——C语言基础 函数
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...
- 黑马程序员——C语言基础 变量类型 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...
随机推荐
- 使用 Babel + React + Webpack 搭建 Web 应用
话不说直接上正题. 环境搭建 Babel--目前浏览器对于ES6的语法解析支持度还不高,所以要通过转码在编译,所以在使用ES6之前要安装Babel,之前安装的时候遇到了一些问题但是没有全部记录下来,现 ...
- Openfire基础
网上很多openfire相关资料,这里做下学习汇总 openfire官网:http://www.igniterealtime.org/ 可以下载openfire.spark.smack安装包及源码,安 ...
- newInstance()和new()
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法.通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态 ...
- spring 注解重复(防重复请求)
1.配置拦截器 spring-mvc.xml <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/ ...
- servlet学习笔记_3
一.路径问题如果是在浏览器端请求服务器的数据(超链接,js的src),那么加/代表在Tomcat的webapp目录,不加/的话通常不考虑,实际上不加/在浏览器端也是当前项目目录(但是开发中通常必须要写 ...
- Dubai Princess and Prince!
萨拉玛公主,生于1999年 哈曼丹王子 玛丽亚姆公主,出生于1991年
- 今天初步了解了informix的锁的概念
今天初步了解了informix的锁的概念 2005-06-12 01:07:05 分类: IT生活 在load的时候,碰到好几次"-134 ISAM Error :no more loc ...
- 遇到bug怎么办
最近第一个完整的项目的第一期快完成了.期间,我怀疑过无数次人生,给难兄难弟辣椒相互吐槽过.被我师父点播后觉得人和人差距怎么可以这么大数次. 终于!基本功能实现了. 今天不总结具体问题了,说一下调试过程 ...
- Android 判断字符串是否为空
TextUtils.isEmpty(str) 可以判断字符串是否为null或者"",当是的时候为true,否的时候为false
- F2工作流引擎Web层全新扁平化UI上线
特点:引入Bootstrap开源UI样式和fontawesome图标集 扁平化样式使用界面更舒服,按钮主题可快速定义更换,对于集成到业主系统UI图标更加丰富. 以下截取部分图片展示,更多请联系作者登录 ...