您的位置:首页 > 编程语言 > C语言/C++

C语言基础知识第一章总结

2020-02-05 18:47 211 查看

一:小知识点:对于数据类型,无符号类型不可省略,省略则表示有符号
八进制表示:以0开头
十六进制表示:以0x开头
打印双引号“”,需要用转义字符"
预编译指令均是在程序运行之前进行,即程序运行不从预编译指令开始
变量的初始化:给定一个有意义的初始值
逗号表达式(顺序求值运算符):可以把表达式连接起来,从左到右进行计算,整个逗号运算符的值为最后一个表达式的值
sizeof()运算符,括号内可以有数据类型,常量和变量。(不可用于函数类型,不完全类型)
二:分支语句:
if(条件语句一)
语句一;
else if(条件语句二)
语句二;
……
else
语句n;
上述语句将为多选一,即挨个判断,当有一个符合条件就跳出else if语句
switch(表达式):表达式只能为整型,字符型,枚举类型,并且此语句的{}不可以省略
case代表情况(后面可以为一个明确的表达式),挨个判断,并从符合情况的case处进入依次执行直到break或是switch语句结束
default可以省略
三:类型转换:
隐式转换:由编译器完成,c语言规定由低级向高级转换
显式类型转换:显式类型转换即为强制类型转换
直接在要转换的数据前用括号加需要强制转换的类型
只是取转换后的数据,对原变量无影响,即只是暂时性进行数据运算
四:循环语句: while do~while for(初值;终值;增值)
死循环:没有循环变量增值,可用break,return 进行终止 一般在进行密码输入时进行应用
五:辅助控制语句:break:直接跳出当前循环或是switch语句,后面的语句将不再执行
contiune:只用于结束本次循环,直接进行下次循环的判断
(只可以在循环体中)
六:const:只能在定义变量时被初始化(必须初始化,否则没有意义),他可以将一块内存区域变为只读
七:数组:同一类型数据的集合
多维数组可以看作为上一级数组的嵌套,直至递归到一维数组,一维数组又可以看为多个同类型数据的结合
数组极端部分初始化:int array[3] [4] = {没有任何值}:所有元素则会被赋值为零
对于多维数组的排序问题,可以通过数组的内存空间总是呈线性的,利用指针将多维数组排序:eg:int arr[1] [2];///已经被赋值
int *parr = arr;///指向二维数组的首地址
然后便可以将其看作为一种一维数组的排序问题
八:字符串: 小知识点:
int a = ‘a’;///合法
使用sizeof()函数计算字符数组个数时,返回值类型为long;
可以把一个字符常量赋值给一个字符变量,但是不能将一个字符串变量赋值给一个字符串常量;
c语言没有字符串变量,所以需要用字符数组进行字符串的存储

字符串的输入与输出:
用scanf()函数输入字符串 (格式化输出字符为%s)时,遇到空格与回车停止字符串的读入,其余字符留在键盘的缓冲区(可以自己用scanf函数的返回值进行检验,或是仅需输出)
字符串函数:函数一:字符串初始化函数:memset(数组名,要清理内存使用的数据,清理的字节数) eg:
char str[10] = “china”;IDEA
memset(str,‘a’,10);//将字符数组str 10个均初始化为‘a’;
函数二:字符串比较函数:strcmp(const char *s1,const char *s2);
比较的两个参数可以是字符串常量,也可以是字符数组(以’\0’结束的字符数列);
如果s1<s2,返回值<0;
如果s1>s2,返回值>0;
如果s1 == s2,返回值 == 0;
判断规则:两个字符串自左向右逐个字符相比(按ASCLL值),直到出现不同字符或遇到’\0’
warning:此函数只能比较字符串,不能比较数字其他形式的参数
函数三:字符串复制函数:strcpy(char *s1,const char *s2)
此函数为逐个拷贝并且覆盖s1,直到遇见s2的’\0’为停
升级版:strncpy(char *s1,const char *s2,size_t):size_t代表要拷贝的个数
函数四:字符串长度函数:strlen(char *s1);
此函数将会返回字符串的长度(\0不计入长度之中),在此函数之中从输入的首地址开始直到一 个’\0’为止停止计数
函数五:字符串连接函数:strcat(char *s1,char *s2);
调用函数后将会将字符串s2连接到s1的末尾(改变后以s1为首地址的字符串改变成新的字符串);
函数六:字符查找函数::char *strstr( char *str, char * substr );
在字符串str中查找字符字串substr;
返回子串在str中首次出现的位置,如果没有找到,则返回NULL,如果子串为空串,函数返回str值

函数七:字符查找函数:char * strchr (const char *str, int c);
返回字符在字符串中首次出现的位置;
没有找到则返回NULL

备注:字符串处理函数什么丰富,在此只列出部分常用函数,其余可以点击查询:
https://www.cnblogs.com/lidabo/p/5225868.html
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
成都犀牛 发布了21 篇原创文章 · 获赞 1 · 访问量 819 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: