ios之c语言学习笔记

C语言笔记

1.Printf输出函数语法
printf的语法 输出语句
(1)printf("你想输出的内容");
(2)printf("格式字符串",...);占位符%d整形数 %f小数 %s字符串 %c单个字符
printf("\n");换行    
2.常量与变量
定义变量  语法:数据类型 变量名

C语言中数据类型:
       字符char,短整型short
       整型int,长整型long
       单精度浮点:float
       长精度浮点:double
       要想使用变量,必须先定义它。变量通过赋值语句保存东西。

3.scanf输入函数语法
scanf("数据类型的占位符",地址)%d %f %s %c
%ld %lf

inta,b;
printf("请输入第一个数")
scanf("%d",&a)
printf("请输入第二个数")
scanf("%d",&b)
printf("%d+%d=%d\n",a,b,a+b);

4.运算符
(1)特殊运算符:() .-> []
(2)算术运算符:+—×/%++--
(3)关系运算符:> >= < <= ==  !=
(4)位操作运算符:&∧/<< >>
(5)逻辑运算符:&&\\!
(6)条件运算符:?:
(7)赋值运算符:= += -= ×= /= %=
5.无条件转向之goto语句goto标签

goto l;
l:```
**条件转向语句if语句**
if(条件)
{
条件成立时要做的事(一行或多行代码)
}
举例:

int a;
scanf(“%d”,&a);
if(a%2==0)
{
Pintf(“%d是偶数!\n”,a);
}
if(a%2!=0)
{
Pintf(“%d是奇数!\n”,a);
}```
6.条件判断之if else语句

if(条件1)
{
条件1成立时要做的事(一行或多行代码)
}
else if(条件2)
{
条件2成立时要做的事(一行或多行代码)
}..................
else
{
以上条件都不成立时的代码
}```
举例1:

int a;
scanf(“%d”,&a);
if(a%2==0)
{
Pintf(“%d是偶数!\n”,a);
}
else
{
Pintf(“%d是奇数!\n”,a);
}```
举例2:

int a=0;
printf(“请输入一个有效的分数(0-100):”);
scanf(“%d”,&a);
if(a<60)
{
  Printf(“%d是不及格!\n”,a);
}
else if(a<80)
{
  Printf(“%d是及格!\n”,a);
}
else if(a<90)
{
  Printf(“%d是优良!\n”,a);
}
else
{
  Printf(“%d是优秀!\n”,a);
}```
**7.条件判断之switch开关语句**

Swith(表达式)
{
case值1:
做是值1的事
break;
case值2:
做是值2的事
break;
...........
default:
如果前面的值都不是的事
}```
举例1:

int a;
scanf(“%d”,&a);
if (a==0)
{
  printf(“零\n”);
}
else If (a==1)
{
  printf(“壹\n”);
}
else If (a==2)
{
  printf(“贰\n”);
}
else If (a==3)
{
  printf(“叁\n”);
}
else  If (a==4)
{
  printf(“肆\n”);
}
else If (a==5)
{
Printf(“伍\n”);
}
else  If (a==6)
{
  printf(“陆\n”);
}
else If (a==7)
{
  printf(“柒\n”);
}
else If (a==8)
{
  printf(“捌\n”);
}
else If (a==9)
{
  printf(“玖\n”);
}
else
{
  printf(“对不起,无法转换!”);
}```
举例2:

switch(a)
{
case 0:
printf(“零\n”);
break;
case 1:
printf(“壹\n”);
break;
case 2:
printf(“贰\n”);
break;
case 3:
printf(“叁\n”);
break;
case 4:
printf(“肆\n”);
break;
case 5:
printf(“伍\n”);
break;
case 6:
printf(“陆\n”);
break;
case 7:
printf(“柒\n”);
break;
case 8:
printf(“捌\n”);
break;
case 9:
printf(“玖\n”);
break;
default:
printf(“对不起,无法转换\n”);
break;
}```
8.循环之for语句
从某一处开始,连续不断的做一件事,就叫循环。

for(表达式1(赋值语句 初值);表达式2(条件);表达式3(增值的赋值语句))
{
  循环要做的事(一行或多行代码)
}```
举例1:

for(int i=0;i<8;i++)
{
printf(“1\n”);(输出8个1)
}```
举例2:

for(int i=1;i<101;i++)
{
  printf(“%d\n”,i);(输出1到100的数)
}```
举例3:

for(int i=11;i<=55;i=i+3)
{
printf(“%d\n”,i);(输出11、14、17.。。。。。。53)
}```
举例4:

for(int i=9;i>0;i--)
{
  printf(“%d\n”,i);(输出987654321)
}```
Continue:结束本次循环,开始下一次循环
Break:跳出循环
For循环的嵌套:外面的for循环一次,里面的for循环一圈,再循环到外面的for。
举例5:

int a=9;
scanf(“%d”,&a);
for(int i=a;i>0;i--)
{
for(int j=1;j<=3;j++)
{
printf(“%d\n”,j)
}
}
(当输入5时,输出5个123)```
9.循环之while语句

while(条件)
{
  循环体
}```
举例1:

int sum=0,i;
for(i=1;i<=100;i++)
{
sum=sum+i
}
printf(“sum=%d\n”,sum);(5050)```
举例2:

int sum=0,i;
for(i=1;i<=100;i++)
{
  sum=sum+i
  if(sum=3003)
  {
    break;
  }
}
printf(“i=%d\n”,i);(77)```
举例3:

int i=0;
while(i<100)
{
i++;
Printf(“%d\n”,i);
}
(输出1-100)```
举例4:

int i=0,sum=0;
while(sum!=3003)
{
  i++;
 sum+=i
}
printf(“i=%d\n”,i);(77)```
**10.循环之do while语句**

do
{
循环体
}while(条件);```
举例1:

int i=0,sum=0;
do
{
  i++;
 sum+=i
}while(sum!=3003);
printf(“i=%d\n”,i);(77)```
当知道循环次数的时候,用for循环,当不知道循环次数的时候,用while或do while循环。
举例:

int n;(保存总人数)
int score;(成绩)
int sum=0;(总分)
printf(“请输入你班级总人数”)
scanf(“%d”,&n)
for(int i=1;i<=n;i++)
{
printf(“请输入第%d名同学成绩”,i);
scanf(“%d”,&score);
sum+=score;
}
printf(“平均分是%g\n,sum*1.0/n”);```
举例:

int n=0;(计数器)
int sum=0;(累加器)
int temp;(每一名同学成绩)
printf(“请输入第%d名同学成绩”,n+1);
scanf(“%d”,&temp);
while(temp>0)
{
  n++;
  sum+=temp;
  printf(“请输入第%d名同学成绩”,n+1);
  scanf(“%d”,&temp);
}
printf(“平均分是%g\n,sum*1.0/n”);```
**11.函数**
1.在程序的不同地方出现了相同的代码
2.把大的应用改成几个小的部分
定义(函数的主体部分,代表函数)
声明(告诉下面的代码这个函数存在,你可以使用它)
调用(使用函数)
返回值 函数的名字(参数的列表)——函数头
{
函数体
}
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2641649-e2513328610eebc4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Printf(“11”);相同时,就用函数,例如:
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2641649-8497a76252f11882.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**12.自定义函数**
举例1.
![](http://upload-images.jianshu.io/upload_images/2641649-c923fa9b76bdbca1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
举例2.
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2641649-8a4a12fca36f7726.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**13.函数的调用**
点右键-——add file to-——add.c/add.h文件
Add.c文件:{
float add(float a,float b,float c,)定义
Return a+b+c;
}
Add.h文件:float add(float a,float b,float c,);声明
![](http://upload-images.jianshu.io/upload_images/2641649-7cec7d9c8a62cdd9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
全局变量(定义在所有函数外面的变量叫全局变量)
局部变量(定义在大括弧里面的变量)
变量的作用域,就是变量的生命周期:在大括号外面使用不了里面的变量,里面能够使用外面的变量(里面能够看到外面)
**14.数组**
要想使用数组,就必须先定义它。
语法:  数据类型 数组名称[整型常量]
举例:```Int cj[6]```

(1).逐一赋值Int cj[0]=44;Int cj[1]=55;..........Int cj[5]=99;
(2).在定义时赋值Int cj[6]={44,55,66,77,88,99};
(3).for循环赋值
for(int i=0,i<6,i++)
{
cj[i]=60+i
}
printf(“cj[%d]=%d”,i,cj[i]);```
15.二维数组
在c语言中,字符串就是使用字符数组来保存的
(1)

        char chh[]={‘a’,’a’,’a’,’a’,’\0’};
        Printf(“%s”,chh);(输出的是aaaa)```
(2)

char chh[]=”hello”;相当于char chh[6]={‘h’,’e’,’l’,’l’,’o’,’\0’};```
(3)

int n[3][3]={{0,1,2},{3,4,5},{6,7,8}};```
**16.指针**
(1)
int a;
a=123;
printf(“%d”,*&a)```
&变量   取地址的符号
*地址   得到地址里面的内容```
(2)

{
int a;
a=123;
printf(“a=%d\n”,a);
int * p;
p=&a;
*p=250;
printf(“a=%d\n”,a);
return 0;
}第一次输出123,第二次输出250.```
(3)指针使用的情况:
1.在一个函数里面想访问另一个函数里的变量
2.动态内存申请



17.数组与指针
数组名就是一个指针

{
  int a[10];
  for(int i=0;i<10;i++)
  {
    a[i]=i+1
  }
  int * p=a ;
  printf(“a[9]=%d\n”,*(p+9))
}```

输出数组
{
int a[10];
for(int i=0;i<10;i++)
{
a[i]=i+1
}
int * p=a ;
for(int i=0;i<10;i++)
{
printf(“a[%d]=%d\n”,i,*(p+i)) ;
}
}```
18.字符串

#include<string.h>
Strlen计算字符串的长度
Strcat字符串相连
Strcmp字符串的比较0代表相等
Strcpy字符串的赋值```
**19.结构体**

语法: Struct结构名称
{
结构的数据
};```
举例1.:


举例2:

20.结构体的使用
结构是可以嵌套的,结构中还可以有结构。

别名typedef```
![](http://upload-images.jianshu.io/upload_images/2641649-9a7664c72fd96292.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**21.联合和枚举**

联合union```
结构中的成员都有自己单独的内存,联合中的成员是共同使用内存。对于联合,在同一时间只能使用一个成员。



联合在程序中的运用:


枚举enum(罗列值)```
**22.文件**
1.打开文件fopen
2.对文件进行操作(读r或写w)
  写文件有3个函数:fputc写一个字符;fputs写一个字符串;fprintf用格式化的写。
  读文件的函数:fscanf
3.关闭文件fclose
![](http://upload-images.jianshu.io/upload_images/2641649-5d16cbbfb190df4b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
举例:

{
FILE * fp=NULL;
fp=fopen(“abc.txt”,”w”);第一个参数是要打开的文件;第二个参数是操作的类型w r
if(fp==NULL)
{
printf(“打开文件失败!”);
return 0;
}
for(int i=’a’;i<=’z’;i++)
{
fputc(i,fp);输出a到z的26个字母
}
fclose(fp);
return 0;
}```
23.二进制文件
写文件:fwrite


读文件:fread

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容