第二章对C的扩展
一、构建Hello Objective-C
建立项目后在.m结尾文件内
代码如下:
#import <foundation>
int main(int argc, const char *argv[])
{
NSlog(@"Hello, Objective-C");
return(0);
}
代码解读:
#import 使用头文件来包含元素声明,元素可以包括结构体、符号常量、函数原型
#import可以保证头文件只被包含一次,在C语言中一般使用#ifdef命令实现, Objective-C中也可使用#include实现不过一般都用#import
NSlog()和@"字符串"
NSlog()用于向控制台输出,C语言中使用printf()向控制台输出
@"字符串"表示引用的字符串将作为Cocoa的NSString来处理
必须向NSlog()传递@"字符串",否则将会报警
NSlog()格式化字符串
%d表示数字,%@表示字符串,%s表示非Cocoa规格的字符串
NSLog (@"are %d and %d different? %@", 5, 5, YES);
NSString的功能:
告知其长度
自身一其他字符串比较
将自身转换为整型值或浮点值
BOOL类型
它具有YES(1)和NO(0)值
Objective-C中提供了BOOL类型和C的bool类并存,并且年长10余年
在编写Cocoa代码中必须要使用BOOL类型
main(int argc, const char *argv[])
argv中保存用户提供的参数,argv[0]保存程序名称
argc提供参数的数组长度,为1时没有参数
调出控制台的快捷键:
Start+Shift+R 或者在菜单Run中选Console
BOOL类型示例代码
#import <foundation>
// returns NO if the two integers have the same
// value, YES otherwise
BOOL areIntsDifferent (int thing1, int thing2)
{
if (thing1 == thing2) {
return (NO);
} else {
return (YES);
}
} // areIntsDifferent
// given a YES value, return the human-readable
// string "YES". Otherwise return "NO"
NSString *boolString (BOOL yesNo)
{
if (yesNo == NO) {
return (@"NO");
} else {
return (@"YES");
}
} // boolString
int main (int argc, const char *argv[])
{
BOOL areTheyDifferent;
areTheyDifferent = areIntsDifferent (5, 5);
NSLog (@"are %d and %d different? %@",
5, 5, boolString(areTheyDifferent));
areTheyDifferent = areIntsDifferent (23, 42);
NSLog (@"are %d and %d different? %@",
23, 42, boolString(areTheyDifferent));
return (0);
} // main</foundation></foundation>
分享到:
相关推荐
用C语言扩展Python的功能
【msp430c语言扩展】是针对Texas Instruments的MSP430微控制器系列的一种C语言的增强,它允许开发者在C程序中直接嵌入汇编语言,提高程序的效率和灵活性。以下是对这些扩展的详细解释: 1. **_asm关键词**:在C程序...
尽管ERDAS IMAGINE的现有功能已经相当强大,但是用户往往对其定制扩展的能力缺乏足够的了解,甚至有些用户认为它不如其他系统好用。然而,实际上ERDAS IMAGINE在定制扩展方面有着很强的能力,主要体现在以下几个方面...
单片机C语言程序设计 用8255实现接口扩展(有源码)单片机C语言程序设计 用8255实现接口扩展(有源码)单片机C语言程序设计 用8255实现接口扩展(有源码)单片机C语言程序设计 用8255实现接口扩展(有源码)单片机C语言...
标题中的“gnu对c语言的扩展”指的是GNU项目在标准C语言的基础上添加的一系列扩展特性,以增强C语言的功能和灵活性。这些扩展通常在GCC(GNU Compiler Collection)编译器中得到支持,使得程序员能够利用更强大的...
GNU C是对标准C语言的扩展,提供了许多有用的功能,以增强标准C语言的能力。本文将对GNU C的9个扩展语法进行总结,并提供相应的示例代码。 1. 零长度和变量长度数组 GNU C允许使用零长度数组,在定义变长对象的...
C语言49-CAN总线扩展帧收发测试(STC32G-DEMO-CODE-220311kw)C语言49-CAN总线扩展帧收发测试(STC32G-DEMO-CODE-220311kw)C语言49-CAN总线扩展帧收发测试(STC32G-DEMO-CODE-220311kw)C语言49-CAN总线扩展帧收发...
以下是对GNU C语言扩展的一些详细解释: 1. **变量长度数组 (Variable Length Arrays, VLA)**:在标准C中,数组的大小必须在编译时确定。但VLA允许在运行时动态地指定数组的大小,提供了一种灵活的内存管理方式。...
通过学习和实践C语言扩展Python,你可以创建高效的库,处理底层操作,或者利用现有的C库来增强Python的功能。这个过程需要对Python的内部机制有深入的理解,但一旦掌握,你将能够解锁Python开发的更广阔天地。
在标准C语言中,结构体赋值通常遵循严格的顺序规则,但在GNU C编译器中,提供了更为灵活的赋值方式,这被称为GNU扩展。下面详细介绍几种赋值方法: 1. **使用大括号初始化成员**: - 传统上,结构体初始化需要按照...
通过这个教程,你应该对C语言开发PHP扩展有了全面的了解,包括环境配置、代码编写、扩展注册以及在Apache服务器上的部署。这不仅可以帮助你扩展PHP的功能,也为深入理解PHP的内部工作原理提供了宝贵的经验。
### 使用C语言扩展Python的功能 #### 一、引言 Python因其简洁的语法、丰富的标准库及第三方库,成为了一种流行的高级编程语言。然而,Python作为一种解释型语言,在执行速度方面不如编译型语言如C或C++。因此,在...
本篇将详细讲解在"C语言字符串处理函数扩展"这一主题中,可能涉及到的知识点。 首先,我们来看`stringAPIext.c`和`stringAPIext.h`这两个文件。`stringAPIext.c`通常包含实现这些扩展函数的代码,而`stringAPIext.h...
sdcc编译器对c语言的扩展
描述单片机c语言中Keil 对ANSI C的扩展,包括存储类型和数据类型
aes密钥扩展C语言实现 亲测可用放心下载
C扩展是将PHP功能用C语言编写,然后编译为PHP可以调用的模块,这样能够利用C语言的高效性能,减少PHP解释执行的开销。 【描述】"简单、高性能、优雅"是该框架的核心特点。简单意味着开发者可以轻松理解和使用这个...
单片机C语言程序设计 74LS148扩展中断(有源码)单片机C语言程序设计 74LS148扩展中断(有源码)单片机C语言程序设计 74LS148扩展中断(有源码)单片机C语言程序设计 74LS148扩展中断(有源码)单片机C语言程序设计 74LS...