苏嵌学习第五天
上午
解决昨天遇到的问题 型参数组还是指针 C语言的数组的数组名是指针常量
暂时不要多花时间在shell上 到要用的时候再看
型参数组第二位要写出来
()函数标志 []数组标志
一元运算符 运算符属性: 结合性 优先级
?:右向左
指针的+±-表示指针的移动(移动时与指针变量指向的变量类型有关)
中文字符转换为无标区位码加8080H 二进制时最高位为1
int *p; 表示指针 int表示指针变量的基类型(指针变量所指向变量的类型)
如果指针变量不是指向数组的,那么该指针变量所有的算术运算都是无意义的
p+2 表示指针偏移多少个元素
p1-p2 (两个指针变量必须指向同一个数组)表示两个指针变量中间差多少个元素 +/无意义
atoi a123b456 表示将字符子串中的一个字符串转换成数值 (将字符123转换成123(一百二十三))
itoa 相反 小数点也要带上
a=a/10
a%10
交换ab方法目前三种:
t=a; a=a+b; a=a^b;
a=b; b=a-b; b=a^b;
b=t; a=a-b; a=a^b;
下午
C语言通过输入输出函数来输入输出
%s中不能有空格 gets可以输入带空格的字符串 只认回车
%[^\n]可以输入带空格的字符串 输入数据会产生输入垃圾
输入缓冲区 消除输入缓冲区的垃圾
getchar 只读入一个字符
getch 从标准输入读入一个字符,当你用键盘输入的时候,屏幕不显示你所输入的字符。也就是,不带回显。包含在头文件conio.h中,不是C标准库中的头文件 建议不要用getch
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
getch()是非缓冲输入函数,就是不能用getch()来接受缓冲区已存在的字符
gets(字符指针)gets()函数用来从标准输入设备(键盘)读取字符口中直到回车结果,但回车不属于这个字符串,系统自动用’\0’代替最后的换行符。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s:",&s)相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到回车为止。需要注意的是,在执行过之前的读入操作后,gets函数会将行末的回车符当作一个空行读入,因此有必要时可以写两句。
getc
创建静态动态库开始
gdb调试器 查功能错误
三个方面功能:
1.启动被调试程序
2.让被调试的程序在指定位置停住
3.当程序被停住时,检查程序状态
l 列表 列代码 查看源代码 默认一次10行 l+行号 从行号处往下列10行
break b