C语言基础复习1

  • strlen()
    和sizeof()的区别

    1. sizeof()是操作符,可以计算任意类型的大小(包括函数类型)。

2.strlen()是函数, 需要引入头文件<string.h>,只能计算char* 类型以 ‘\0‘ 结束的字符串的大小。

3. 数组做sizeof()的参数不退化 , 但是传递给strlen() 就退化为指针。

4. strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。

5. sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。

  • memset()
     memcpy()   memcmp()   memmove(),memchr()实现
    内存覆盖问题

    1. memcpy()

函数原型:void *memcpy(
void *dest, void const *src,  size_t
length );

它的功能是从src的起始位置复制length个字节到dest中;

它可以复制任何类型的值;

dest,src内存有重叠,则结果不可预计。

2 .memmove()

函数原型:void *memmove(
void *dest,
void const *src,  size_t
length );

与memcpy类似,只是他们的dest,src内存可以有重叠。因为在实现时是先将src中的内容复制到一个临时位置。因此其速度比memcpy要慢一些。

3.memcmp()

函数原型:int memcmp(
void const *a,
void const *b,  size_t
length );

函数功能是比较两段内存,比较的长度为length字节。函数的返回类型和strcmp一样;

比较是按无符号的字节进行比较的。

4.memset()

函数原型:void *memset(
void *a, int ch, size_t length
);

函数功能即从内存a的首地址开始共length字节设置成字符ch。

5.memchr()

函数原型:void *memchr( void const *a,
 int ch,
 size_t length );

函数功能是从a的起始位置开始查找字符ch第一次出现的位置,并返回一个指向该位置的指针,它

共查找length个字节,如果在这个范围内没找到,就返回NULL。

  • atoi()
     atol   atof ()实现

头文件 #include<stdlib.h>

1. atoi函数(将字符串转换成整型数)

定义函数: int atoi(const  char *  ptr);

函数说明:atoi()会扫描参数ptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始

做转换,而再遇到非数字或字符串结束时(‘\0‘)才结束转换,并将结果返回

2.  itoa函数(把一整数转换为字符串 )

定义函数:char* itoa(int value,char*string,int radix);

函数说明:int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制

数,如2,8,10,16 进制等。

注意,atoi是标准库函数,itoa不是,用到itoa的时候可以用sprintf()a函数代替。

3. atof函数 (把字符串转换成浮点类型)

定义函数:double atof(const char* ptr);

函数说明:atof()会扫描参数ptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开

始做转换,而再遇到非数字或字符串结束时(‘\0‘)才结束转换。参数ptr字符串可包含正负号、小数点E(e)

来表示指数部分,如123.456或123e-2。返回值 返回转换后的浮点型数。

4 . atol(将字符串转换成长整型数)

定义函数:long atol(const char* ptr);

函数说明:atol()会扫描参数ptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开

始做转换,而再遇到非数字或字符串结束时(‘\0‘)才结束转换,并将结果返回。

5. gcvt(将浮点型数转换为字符串,取四舍五入)

定义函数:char *gcvt(double number,size_tndigits,char *buf);

函数说明:gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示
的位数。

gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转

换后的字符串会放
在参数buf指针所指的空间。

时间: 2024-10-06 04:29:13

C语言基础复习1的相关文章

MySQL学习笔记_8_SQL语言基础复习

 SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 3)以"/*"开始,以"*/"结束的所有内容都是注释,可用于注释多行 二.数据库操作 1.创建数据库 create database db_name; db_name命名规则: 1)名称可由任意字母,数字,"_"或"$"组

2018.6.13 Java语言基础复习总结

Java语言基础与面向对象编程实践 第一章 初识Java 1.1机器语言 机器语言是指一台计算机全部的指令集合.机器语言室友0和1组成的二进制数,是一串串由0和1组成的指令序列,可将这些指令序列交给计算机执行. 1.2汇编语言 负责把汇编语言翻译成二进制的机器语言,这种翻译程序就是汇编程序. 1.3高级语言 1954年第一个完全脱离机器硬件的高级语言FORTRAN诞生 1.3.1C语言 是一种计算机程序设计语言,它既有高级语言的特点,又具有汇编语言的特点. 1.3.2 C++语言 是具有面向对象

c语言基础复习(持续)

开始了ios的学了了由于oc,所以就有一定必要学习下c的一些基本概念了.东西有点多. 基本上都是一些程序设计的问题了. 0.什么叫编程 通过编写代码,让计算机实现人的想法.(编写代码--->编译代码--->运行程序) 1.程序三要素,顺序,选择,循环. 2.语句构成程序,语句以;结束. 3.在linux平台使用gcc编译c语言.gcc可以编译多种语言.在mac上面使用gcc  文件.c   -o 文件.out或者直接gcc   他会编译一个a.out文件 4.使用./文件   运行编译后的文件

C语言基础复习:有关字符型

1. 概述2. 字符的符号和大小3. 字符(数组)的声明,定义,初始化,引用3.1 字符的声明定义初始化引用3.2 字符数组的定义初始化引用 1. 概述 字符类型在C语言编程中占据着很大作用,尤其是Linux系统中一切皆文件,包括字符设备和块设备等. 掌握字符类型的全部知识点,能够数量掌握Linux下的C语言编程. 本篇主要介绍C语言基本数据类型-字符,以及与字符相关的知识点,包括: 字符的符号和大小 字符(数组)的声明,定义,初始化,引用 字符的计算 字符(二维)数组 字符串 字符指针 2.

一:C语言基础复习--控制结构

一:分支语句 if(逻辑表达式)//只有两种:0或非0 { //语句1 } else if(逻辑表达式) { //语句2 } else { //语句3 } switch(变量或表达式)//可以为整形或枚举类型 { case 数值://数值必须为常量表达式 语句1: break; case 数值: 语句2; break; case 数值: 语句3; break; default: 默认语句 } 二:循环语句(使用continue和break,跳出循环) while(逻辑表达式或变量)//只有0和非

C#语言和数据库技术基础复习

整理了下C#语言和数据库技术基础,作为复习资料 第一章 一.c#和JAVA对比:1.c#用命名空间(namespace)java用包(package) 2.引入命名空间或包的关键字C#用using,JAVA用import 3.程序入口:C#的Main()有四种形式static void Main(string[] args) static int Main(string[] args) static void Main() static int Main() JAVA的MAIN()有一种形式 4

C++基础复习

一. C++与C的比较: C语言是一个结构化语言,它的重点在于算法和数据结构,C语言的设计首先要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到的输出(或实现过程(事物)控制). C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制. 所以C语言和C++的最大区别在于它们解决问题的思想不同,一个面向过程一个面向对象. C++对C的"增强",表现在六个方面: 1.类型检测更为严格. 2.

C语言基础课程 第三课 ADB(Android Debug Bridge)的使用

?? C语言基础课程 第三课 ADB(Android Debug Bridge)的使用 由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能安装软件  卸载软件与pc传数据 目  录 1       将android设备通过USB连接到PC. 3 2       查看当前设备... 3 3       进入设备shell. 4 4       执行shel

JS基础 复习: Javascript的书写位置

爱创课堂JS基础 复习: Javascript的书写位置 复习 js书写位置: body标签的最底部. 实际工作中使用书写在head标签内一对script标签里. alert()弹出框. console.log() 字面量: 数字字面量:整数,浮点数,特殊字符(Infinity,NaN). 字符串字面量:所有的语言, 语言中的数字,特殊字符串. 变量: 定义变量 标识符的规则:第一个字符是字母(a-z,A-Z),下划线,$.其他字符可以是字母(a-z,A-Z),下划线,$,数字.(还不能使用js