C语言零碎笔记——温故而知新

1.逗号表达式的值是最后一个表达式的值,且逗号运算符优先级最低

2.字符输入输出:putchar(ch);ch=getchar();

3.switch语句格式:

switch(表达式)
{
  case constExpression 1:statement 1;
  case constExpression 2:statement 2;
  ...
  default: statement n;
}

switch语句执行方式:找到入口标号后不再判断,顺序执行,因此必要时要加break语句。

4.读入一行字符串的方法:

  gets函数

char str[10]; 

gets(str);

注:gets会造成缓冲区溢出,覆盖其它的正常数据,所以慎用。(用其它方法)

5.函数参数传递为值传递,数组名传递为首元素地址传递,二维数组则不可省略第二维。


6.变量的存储类别:动态存储和静态存储。

动态存储区:1形式参数2未加static的局部变量,函数调用时的现场保护和返回地址。

(1).auto:自动存储类别,动态分配存储空间,可以生省略

(2).static:静态局部变量,静态存储类别,赋初值仅第一次有效,外部程序不能引用

(3).register变量:直接放在寄存器中,(了解,没有必要使用)

(4).extern声明外部变量:

   1.在一个文件内:在全局变量定义前使用它,要用extern声明,起到拓展其作用域的作用,类似函数名声明。 (没有必要使用)

     用法:extern A;A...;int A;

   2.多个文件的程序中:一个文件中定义,其它文件中用extern声明,应当慎用。

(5).用static声明外部变量:静态外部变量,如static int A,禁止其它文件引用,避免误用。


7.内部函数和外部函数

(1).内部函数:static int func(int a,int b) 作用:使函数作用域局限于本文件。

(2).外部函数:extern int func(int a,int b) 表示其它文件可以调用,C语言默认都为外部函数,所以可以省略 extern,调用时用extern对函数声明,extern可以省略。


8.宏定义

(1).不带参数的宏定义 #define 标识符 字符串    编译是“宏展开“:将宏名替换成字符串 #undef 种植宏定义作用域 

(2).带参数的宏定义 #define 宏名(参数表) 字符串,形参外面常加括号,保证正确。


9.文件包含

 原理:编译预处理时,将所包含的文件复制到主文件中成为一个程序一次编译,不是分别编译。


10.条件编译

(1). 

# ifdef 标识符

  程序段1

# else

  程序段2

# endif

举例说明:

# ifdef DEBUG

 ......

# endif

/*define the way using 64bits interger in different OS*/
# ifdef WIN
   #define LL _int64
   #define LD "I64d"
# else
  #define LL long long
  #define LD "lld"
# endif

LL a;
scanf(LD,a);
printf(LD"\n",a);

(2).# ifndef 与上面类似

(3). 

# if 表达式

      程序段1

# else

      程序段2

# endif


11.指针









  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值