//
// main.m
// 05-NSLog函数使用方法
//
// Created by apple on 15/1/15.
// Copyright (c) 2015年 itcast. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
//NSLog和printf使用的差异
//1、NSLog 会自动换行 而printf不会自动换行
//2、NSLog 会自动输出时间等项目信息,printf不会输出调试信息
//3、NSLog 函数的参数是一个NSString 对象
// printf是一个字符串常量指针
NSLog(@"Hello, World!");
printf("Hello, World!
");
//2、NSLog格式化输出的问题
int a = 5;
float f1 = 2.3f;
double d1 = 3.14;
char ch = 'X';
char *str="张三丰";
//如果能够运行,说明OC向下兼容C
printf("%d,%.2f,%.2f,%c
",a,f1,d1,ch);
printf("%s
",str);
//NSLog格式化输出
NSLog(@"%d,%.2f,%.2f,%c",a,f1,d1,ch);
NSLog(@"---->%s",str); //不能这么写
//OC中自己特有的字符串表示方法
//用%@输出字符串
NSString *str1 = @"张三丰";
NSLog(@"%@",str1);
//使用printf能够打印str1?
//不能,NSString 是OC特有的,C不支持
printf("===>%@
",str1);
}
return 0;
}
//
// main.m
// 07-访问OC源文件、C源文件中的函数
//
// Created by apple on 15/1/15.
// Copyright (c) 2015年 itcast. All rights reserved.
//
#import <Foundation/Foundation.h>
#include "a.h"
/**
* 定义C语言函数
*/
void test(){
printf("main.m test!
");
}
//全局声明
//void test2();
int main(int argc, const char * argv[]) {
@autoreleasepool {
printf("xxxxxx
");
test(); //在main.m原文件中,定义C语言函数
void test2();
test2();
//调用 a.c中定义的函数
test3();
}
return 0;
}
void test2(){
printf("main.m test2!
");
}
/*
OC 和 C对比学习
1)文件的差异
2)数据类型差异
3)关键字差异
4)流程控制语句
OC中并没有增加新的流程控制
OC中提供一种增强型的for循环
NSArray *arr=@[@"one",@"two",@"three"];
for(NSString *str in arr){
NSLog(@"%@",str);
}
5)OC中函数的定义和声明的差异
C语言中的函数
int max(int x,int y);
int max(int x,int y){
return x>y?x:y;
}
OC中把函数称之为方法
+(void) test;
-(void) test;
-(int)max:(int)x andY:(int) y;
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *arr=@[@"one",@"two",@"three"];
//OC中的增强型for循环
for(NSString *str in arr){
NSLog(@"%@",str);
}
}
return 0;
}
/*
OC和C对比学习第二部分
1)OC中新增加的数据类型
(1)Boolean (布林)
作用:用来存放逻辑值 (1、真(非0) 2、假(0))
用来做判断
存储的值:true(真 1) false(假 0)
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
(2)BOOL
作用:也是用来保存逻辑值
取值:YES(真 1) NO(假 0)
BOOL flag2 = YES;
if(flag2){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
2) OC中的异常捕捉机制
异常: 程序运行的时候有bug
捕捉机制:排除错误
@try {
//如果有异常
1/0
< #statements#>
。。。。。。。
}
@catch (NSException *exception) {
//捕捉最具体的异常类型
< #handler#>
}
@catch (NSException *ne) {
//捕获一个比较重要的异常类型。
}
@catch (id ue) { //再次掷出捕获的异常。
}
@finally { //不管有没有异常finally内的代码都会执行。
< #statements#>
}
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//Boolean的使用
//true 1 false 0
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
//BOOL类型
BOOL flag2 = YES;
if(flag2){
NSLog(@"BOOL YES 真 %d",flag2);
}else{
NSLog(@"BOOL NO 假 %d",flag2);
}
}
return 0;
}