iOS开发视频教程《C语言基础》

iOS开发视频教程《C语言基础》

3 (1人评价)
  • 课时:(35)

  • 学员:(174)

  • 浏览:(10378)

  • 加入课程
  • 千锋3G学院-C语言基础视频教程-第03讲-流程控制语句(2)的笔记

    goto 跳转语句#include<stdio.h>{printf("1\n");goto ABC;//改变程序人运行顺序,跳转到标号的位置继续执行printf("13\n")ABC://标号(标号什么都不做)printf("14\n")return 0;}switch跳转语句(逻辑选择)switch(表达式){//表达式的值为几,就跳到case几继续往下执行case 1:语句1;case 2:语句2;case 3:语句3;}若在里面加:default://若表达式的值上面都没有,就执行default语句然后往下执行 break;(switch语句若有break就会跳出switch语句,然后往下执行)

  • 千锋3G学院-C语言基础视频教程-第03讲-流程控制语句(3)的笔记

    循环语句while(表达式){语句;}//表达式的值为真,执行语句,再计算表达式,为真,继续执行语句,再计算表达式……,循环返覆,直到表达式的值为假,跳出while语句。break只会跳出循环和switchcontinue//跳回表达式计算do {语句;//先执行语句}while(表达式);

  • 千锋3G学院-C语言基础视频教程-第03讲-流程控制语句(4)的笔记

    循环语句for(语句1;表达式;语句3;){          语句2 }//先执行语句1,计算表达式(真)语句2,语句3,计算表达式(真)语句2,语句3,表达式(语句1只在循环第一次执行,就不再执行)表达式假跳出循环 

  • 千锋3G学院-C语言基础视频教程-第01讲-数字的进制转换(2)的笔记

    直接写10代表10进制10(十进制)0b10(二进制)010(八进制)0x10(16进制)

  • 千锋3G学院-C语言基础视频教程-第04讲-数组(2)的笔记

    数组完全初始化:a[3]={1,2,3}没有被初始化的变量元素为零;数组部分初始化:a[10]={1,2,3}; int a[5]; 其中a是数组,不能说a[5]是数组;可以说,a是int 5类型的数组;数组不能整体赋值;int a[5];a[0]=1,a[1]=2;//这样写对int b[5];b=a;//这样写是错的,数组不能整体赋值;a[4],内存中是这样存储的:a[0]占4位地址,a[1]占4位地址,a[2]占4位地址,a[3]占4位地址!!!当我们访问数组某个元素的时候,内存会自动找到相应的4位,如果要打印,会把首位地址打印出来;首位地址代表该元素的地址;

  • 千锋3G学院-C语言基础视频教程-第05讲-指针(1)的笔记

    指针(pointer)是变量;int *p;p代表指针变量名;在64位系统下占8个字节;指针是用来装地址的;int a;int *p=&a;&是取地址符;把a的地址放到p里面;*p代表a; *代表地址的取值符;内存中的地址是以十六进制写的;这只是地址的编号,实际上要加地址偏移量;十六进制编号是为了方便阅读和编写;地址是常量,指针是变量;只有变量有地址; 常量不是空间,所以没有地址; 

  • 千锋3G学院-C语言基础视频教程-第02讲-变量、运算符和表达式(1)的笔记

    #include <stdio,h>int main (void){                           固定格式   return θ;} 

  • 千锋3G学院-C语言基础视频教程-第05讲-指针(2)的笔记

    指针通常和数组一起使用;//单独的数组名,如a相当于第一个元素的地址,即&a[0];数组名是数组的首元素地址。指针变量+1,其结果相当于加1个其指向的字节数;int *p=(int *)5;p++;最后p==9;//int类型占4个字节;char *q=(char *)5;q++;p==6;  int a[10]={};int *p = a;int i;for(i=0;i<10;i++){scanf("%d",a[i]);//这里的a[i]可以换成p+i;因为p+1的地址就是a[1]的地址...    换成p+i,只是把每个元素的地址取出来,如果要取元素,就要写成*(p+i);}return 0;每次都用*(p+i);取值!特别麻烦,这时人们就就发明了一个代替+i取* 的运算符;就是中括号运算符;*(p+3)=0;代表p[3]=0;*(p+n)==p[n]; 数组中也一样适用:a[3]=9;     相当于*[&(a[0])+3]=9;即*(p+3)=9; int main(){int a[4]={1,3,4,5};printf("%d",a[3]);printf("%d",3[a]);//两者相等;因为中括号运算符;//a[3]==*(a+3);//3[a]==*(3+a);}指针是地址变量;数组名是地址常量;它就代表着a[0]的地址,这也就解释了,数组为什么不能整体赋值;int main(){int a[10]={1,2,3,4,5};int *p=a;a[1]=2;*(a+1)=2;*(p+1)=2;p[1]=2;}上边四个式子都一样,因为 方括号运算符本身就是+i取*    

  • 千锋3G学院-C语言基础视频教程-第05讲-指针(3)的笔记

    const关键字修饰指针变量;char a='A';const char *p=&a;char const *q=&a;1.*星前const:表示p可以改变,*p不可以改变,因为const修饰*p;char b='B';p=&b;这时可以编译,完全没问题,p可以改变,但是*p不可以改变;如果再把*p='C';这时会报错;read-only只读;但是b还是可以改变的;b = 'C'//这样是完全可以的;a='D'//这样也是完全可以的;2.*后const;char a = 'W';char b;char * const p=&a;*p='X';这样是可以的;p = &b;这样就不行了;const char * const q = &a;这样无论是*q还是q均不可改变;修饰哪个哪个不可改变;修饰*P那么*P不可改变;修饰p,那么p不可改变;

  • 千锋3G学院-C语言基础视频教程-第06讲-函数(1)的笔记

    函数;将一些繁琐的,反复的,重复使用的代码,封装成一个函数,调用函数;

  • 千锋3G学院-C语言基础视频教程-第06讲-函数(2)的笔记

    返回值;就是函数调用表达式的值;每个函数都可以调用其他函数;只用main可以调用其他,其他不能调用main;每个大括号都是一个单独的作用域;一个函数里面所有的成员变量,都会随着这个函数的消失而消失;//不能返回一个函数内的局部变量的地址;当内存开辟一个main函数空间时,我们称之为main函数的栈;当开辟一个其他函数的空间时,也就是其他函数的栈。其他函数栈中的变量会随着栈的消失而消失;参数写成void就是没有参数的函数;void func(int a)//a为形参;{printf("%d",a);}int main(){func(5);//5是实参;//传参就是用实参给形参赋值;} 

  • 千锋3G学院-C语言基础视频教程-第06讲-函数(3)的笔记

    要修改一个变量,传参传变量的地址;分清值传递和址传递;传参如同赋值;

  • 千锋3G学院-C语言基础视频教程-第06讲-函数(4)的笔记

    a[5]={1,2,3,4,5};数组名a就代表a[0]的地址;传参数时,如果看到数组名a,那就代表a[0]的地址;a[0]==*(a+0)==*a;a[i]==*(a+i);取*之后,是可以改变main函数的值的;只要加上const便不可修改值;

  • 千锋3G学院-C语言基础视频教程-第07讲-复杂类型的确认的笔记

    复杂类型:由已知的拼凑出的类型;int *p[10];printf("%ld,%ld",sizeof(p),sizeof(int *p[10]));   //80  ,   80int *p[10]; //*和[]平级,又结合,从优先级上看,p离[]最近,所以说这是一个数组;它有10个元素,每个元素是指向整型变量的指针;int a,b,c;p[0]=&a;p[1]=&b;.......*p[0]=-1;p[0]就是指向a的指针,取*之后,就是a的值; int (*p)[10]printf("%ld,%ld\n",sizeof(p),sizeof(int (*)[10]));     //8  ,8这是一个指针;指针都是8字节;它指向10个整型元素的数组;int **p;二级指针;这是一个指针,它指向另一种指针,该指针指向整型;二级指针可以改变指针的指向;int *p(int);这是一个函数,它的参数是一个整型,返回值是一个指向整型的指针;int (*p)(int);这是一个指针,它指向参数是int返回值是int的函数;这种指针称之为:函数指针;int((*p[10])(int))(int);这是一个数组,10个元素;每个元素是某种指针,这种指针指向函数,该函数参数,参数一个int,返回值是另一种指针,该指针指向参数int 返回值int的函数;这样一个数组(应该有80个字节;)因为它有10个元素;每个元素是指针;    

  • 千锋3G学院-C语言基础视频教程-第04讲-数组(1)的笔记

    int a[20]//一次性声明了20个int型变量 //称a为20个元素了数组, // 是a[0]……a[19];a[0]a[1](a[0+1])下标不一定是一个数字,也可以是表达式数组是相同类型变量了集合

  • 千锋3G学院-C语言基础视频教程-第08讲-字符串(1)的笔记

    当我们写"hello"时,就是告诉编译器,在只读数据段存在6个字符;只读数据段:在内存中调一个函数时,会存在一个栈内,但是字符串是存在于一个离栈很远的只读数据段中,专门存储只读数据;它和栈是并列关系;"hello"表达式的值,表示字符串第一个字符的地址;write(i,j,k)这个函数:代表将j,打印到终端上,打印k个字节;"hello",在只读数据段中,存储了6个字节的6个字符地址为h的一个字符串;只读数据段的数据不可修改;有效字符:不包括/0的字符串;查看有效字符用 strlen()这个函数来计算,打印用 %ld 来打印;严格上来讲应该用%u来打!strlen遇到/0就结束计算了; 

  • 千锋3G学院-C语言基础视频教程-第05讲-指针(1)的笔记

    指针是一个变量 64位系统环境下,所有指针都是8字节#include<stdio.h>int main(void)     }

  • 千锋3G学院-C语言基础视频教程-第08讲-字符串(2)的笔记

    atoi 函数;传参 字符的地址(字符串首字符地址)碰到一个不是数字的字符就停下来,如果遇到负数,能识别出第一个负号,不能识别后边的符号;strcmp 字符串比较函数 ;比较字符串:传入两个字符串,参数1比较大,返回正数;参数2比较大 返回负数;相等则返回0;strcmp(参数1,参数2);比较的方法:比较首字符的ascll码;如果相同,则比较第二个字符...... 

你感兴趣的课程

5万+浏览/ 1756学员/ 3.8评分
免费
5万+浏览/ 926学员/ 4.5评分
免费