- 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;
}