C語言

  • 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;
}
發佈了63 篇原創文章 · 獲贊 45 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章