- C語言佔位符:(cdsfg)
%c:單個字符
%d:整形數
%s:字符串
%f:小數(帶0)
%g:小數(不帶0)
printf("%d\n",1/2); //0
printf("%f\n",1/(double)2); //0.500000
printf("%g\n",1/(double)2); //0.5
C語言數據類型:(1字2精3整)
char : 字符
float : 單精度浮點
double : 雙精度浮點
int : 整形
short : 短整形
long : 長整形輸入、輸出
int a,b;
printf("請輸入第一個數:");
scanf("%d",&a); //%d %ld %f %lf %s %c
printf("請輸入第二個數:");
scanf("%d",&b);
printf("%d+%d=%d\n",a,b,a+b);
運算符
優先級:特算關位邏條賦(上圖中從上到下遞減);
關係運算符:返回結果只有0(false),1(true);
條件運算符:a>b ? a : b
(如果a>b,返回a,否則返回b);
//運算符
int c=5;
int b,d;
b=c++;
d=++c;
printf("c的值是%d\n",c); //7
printf("b的值是%d\n",b); //5
printf("d的值是%d\n",d); //7
- 條件語句
無條件語句:goto;
條件判斷語句:if;
switch語句;
//條件判斷語句if
int a;
printf("請輸入一個數:");
scanf("%d",&a);
if (a%2==0) {
printf("您剛輸入的%d是偶數!\n",a);
printf("1\n");
goto four; //無條件執行語句
printf("2\n");
printf("3\n");
four: //label後面是冒號
printf("4\n");
printf("5\n");
}else if{
printf("您剛輸入的%d是奇數!\n",a);
}
//switch語句
int a;
printf("請輸入1~3的數值:");
scanf("%d",&a);
switch(a)
{
case 1:
printf("one\n");
break;
case 2:
printf("two\n");
break;
case 3:
printf("three\n");
default:
printf("輸入有誤!\n");
break;
}
- 循環語句
//for循環
for (int i=0; i<=10; i++) {
printf("%d\n",i);
}
//for循環變體
int i;
printf("請輸入一個數值:");
scanf("%d",&i);
for (; i<=10; i=i+2) {
printf("%d\n",i);
}
//for循環求0~x的和是3003
int sum=0,i;
for (i=1; i<=3003; i++) {
sum=sum+i;
if (sum==3003) {
break;
}
}
printf("0~%d的和是3003!\n",i);
//檢測上例循環
int j=0;
for (int i=1; i<=77; i++) {
j=j+i;
}
printf("1~10的和是:%d\n",j); //j=3003
//while循環求0~x的和是3003
int sum,i=0;
while (sum!=3003) {
i++;
sum+=i;
}
printf("0~%d的和是3003!\n",i); //i=77
- 函數
函數的要素:函數聲明、函數定義、函數調用、函數參數
//用函數求和(帶參數函數)
#include <stdio.h>
int show(int m); //函數聲明
int main(int argc, const char * argv[]) {
int a=show(100); //函數調用
printf("1~100的和是%d\n",a);
return 0;
}
//函數定義
int show(int m){
int s=0;
for (int i=1;i<=m; i++) {
s+=i;
}
return s;
}
C語言函數和Javascript內的函數區別:
(1)函數聲明(當函數定義在主函數main的後面時,函數必須先聲明);
(2)函數類型,是否有return返回值。void(無返回值)、int(有返回值);
(3)變量聲明沒有var關鍵字,但必須嚴格指明變量類型,參數函數也不例外;
#include <stdio.h>
int show(int m); //(帶參)函數聲明
void sum(); //(無參)函數聲明
int main(int argc, const char * argv[]) {
int a=show(100); //(帶參)函數調用
printf("帶參運算1~100的和是%d\n",a);
sum(); //(無參)函數調用
return 0;
}
//(帶參)函數定義
int show(int m){
int s=0;
for (int i=1;i<=m; i++) {
s+=i;
}
return s;
}
//(無參)函數定義
void sum(){
int s=0;
for (int i=1; i<=100; i++) {
s+=i;
}
printf("無參運算1~100的和是%d\n",s);
};
- 數組
數組是保存多個類型相同的值的最佳變量;
(1)數組的定義:(數組下標從0開始)
//定義並賦值
int arr[5]={1,2,3,4,5}
int arr[5]={0} //{0,0,0,0,0}
int arr[]={1,2,3,4,5}
//先定義,再賦值
int arr[5]; //定義
//直接賦值
arr[0]=1;
arr[1]=2;
arr[2]=3;
arr[3]=4;
arr[4]=5;
//for循環賦值
for(int i=0;i<5;i++){
arr[i]=i+1;
printf("arr[%d]=%d\n",i,arr[i]); //{1,2,3,4,5}
}
- Objective C類的聲明、實現、使用
//類聲明(.h文件)
#import <Foundation/Foundation.h>
@interface SGsum : NSObject
{
int endNum;
}
-(void)setN:(int)n;
-(int)sum;
@end
//類實現(.m文件)
#import "SGsum.h"
@implementation SGsum
-(void)setN:(int)n
{
endNum=n;
}
-(int)sum
{
int s;
for (int i=1; i<=endNum; i++) {
s+=i;
}
return s;
}
@end
//類使用(main.m)
#import <Foundation/Foundation.h>
#import "SGsum.h"
int main(int argc, const char * argv[]) {
@autoreleasepool { //自動釋放池
SGsum * s = [[SGsum alloc]init]; //初始化
[s setN:100]; //設置參數值
int sum = [s sum];
NSLog(@"1到100的和是:%d",sum);
}
return 0;
}
- Objective C類繼承
//父聲明
#import <Foundation/Foundation.h>
@interface SGArea : NSObject
{
int width;
int height;
}
-(id)initWithWidth:(int)_width andWithHeight:(int)_height;
-(int)area;
@end
//父實現
#import "SGArea.h"
@implementation SGArea
-(id)initWithWidth:(int)_width andWithHeight:(int)_height
{
self=[super init];
if (self) {
width=_width;
height=_height;
}
return self;
}
-(int)area
{
return width*height;
}
@end
//子聲明
#import "SGArea.h"
@interface SGYuan : SGArea
-(id)initWithRad:(int)_Rad;
-(double)area;
@end
//子實現
#import "SGYuan.h"
@implementation SGYuan
-(id)initWithRad:(int)_Rad
{
self=[self initWithWidth:_Rad andWithHeight:_Rad];
return self;
}
-(double)area
{
return [super area]*3.14;
}
@end
//main.m
#import <Foundation/Foundation.h>
#import "SGArea.h"
#import "SGYuan.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 長方形
SGArea * s = [[SGArea alloc]initWithWidth:9 andWithHeight:6];
NSLog(@"長方形面積是:%d",[s area]); //54
//圓形
SGYuan * y =[[SGYuan alloc]initWithRad:6];
NSLog(@"圓形的面積是:%g",[y area]); //113.04
}
return 0;
}