C语言基础语义

本文介绍了C语言的一些基本概念,包括#define与const的区别,自动类型转换与强制类型转换的细节,continue和break在循环控制中的作用,形参与实参的匹配规则,变量的存储类型详解,以及指针的操作和用途。同时,还提到了如何判断路径是文件还是文件夹,以及一个简单的奇偶数判断逻辑和C语言处理时间的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.#define和const的区别

    #define宏是在预处理阶段展开               const是在编译运行阶段使用

   #define宏没有类型定义,不做检查        const有类型定义,编译阶段会检查类型

   宏定义不分配内存                                   变量定义分配内存

   #define可以防止头文件重复                   const不行   

 

#ifndef xxx

def  xxx

endif

 

2.自动类型转换 && 强制类型转换

    自动 char -> int ->double

    强制 数据类型表达式都必须加括号,只在本次运算中临时性转换,不改变原数据类型及变量值,不遵循四舍五入

3.continue和break

   break是跳出当前整个循环,continue是结束当前这一次循环,开始下一次循环

4.形参与实参

   实参赋值给形参,参数传递时,数据类型与数量应保持一致

   形参只有在被调用时分配内存单元,调用结束后释放内存;实参在进行函数调用时,必须有确定的值

5.变量的存储类型

 每个变量和函数都有两个属性,类型和存储类型,存储类型分别是自动(auto),外部(extern),寄存器(register),静态(static)

auto:函数体中定义的变量缺省是auto,局部变量

extern:在函数体外部声明变量,就为变量永久的分配存储

register:关系运行速度时,把经常使用的变量存储在高速的内存寄存器中

static:允许局部变量保存它的原有值

6.指针

类型关键字 *指针变量名     取地址符&  间接寻址运算符*用来得到指针变量指向的变量的值

变量的地址是一个常量,不能对其进行赋值,变量的指针是一个变量,其值可以改变

int (*compare)(int a,int b)
//compare是一个指针变量,指向一个有两个整型参数,返回值为整型的函数,称为函数指针

int *compare(int a,int b)
//函数的返回值是一个整型指针

7.判断是文件还是文件夹

    if(File.Exists(path)){
                                 // 是文件
                                  }

   else if(Directory.Exists(path))

                                  {
                                     // 是文件夹
                                  }else

                                  {
                                    // 都不是
                                   }

8.关于一个简单的判断参数的定义

static bool od=true; 

flag = !flag;

奇数时flag为true,偶数时为false

9.关于C语言处理时间的函数  

   获取系统时间,距离1970年的毫秒数,并转换为正常的时间来显示

	time_t lt;
	lt = time(NULL); //当前系统时间距离1970年1月1日的毫秒数值
	struct tm *tmp;
	tmp = localtime(&lt);
	char* format = "%Y-%m-%d %H:%M:S%";
	char strTime[100];
	strftime(strTime, sizeof(strTime), format, tmp);
    //strTime字符串的格式如下
    //2015-10-07 20:46:01

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值