C语言零碎知识

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void swap(int *x,int *y)///指针传参数
{
    int temp;
    temp=*x;
    *x=*y;
    *y=temp;
    //printf("x=%d,y=%d\n",*x,*y);
}
void break_continue_return(int x)
{
    int i,j=222,k=444;
    int x1=13,y1=45;
    swap(&x1,&y1);
    //printf("x1=%d,y1=%d\n",x1,y1);
    for ( i = 0; i < 10; i++)
    {
        if (i == 3)
        {
            break;
            // continue;//i=3的时候结束这一次的循环,继续执行i=4的循环
            j=333;
            //return 0;// 直接结束整个函数
        }
        k=555;
        printf("  %d\n",i);
    }
    printf("\n\n");
    printf(" j= %d\n",j);
    printf(" k= %d\n",k);
    printf("\n");
}
void while_and_do_while(int x)
{
    //  while循环
    int i=0;
    while(i<0)  // 每次执行循环体前都要进行判断条件
    {
        i++;
        printf("  jj  %d\n",i);
    }
    printf("j %d\n",i);
    // 执行完后 i=0;


    // do......while循环
    i=0;
    do    // 第一次不用判断条件,直接执行循环体
    {
        i++;
        printf("  gg  %d\n",i);
    }
    while(i<0);
    printf("g %d\n",i);
// 执行完后 i=0
}
void array_subscript(int x)
{
    int a[5]= {1,3,2,4,7};
    printf("%d %d\n",a[1],4[a]);
    printf("%c \n","Hello world"[1]);
}


void character_and_string(int x)
{
    int i=0;
    char a[10]= {'G','O','O','D','\0','h',' ','kl'}; //第一个ASCII码是0,对应的字符是(Null),其实就是‘\0’,即空字符.
    //计算机自动添加
    for(i=0; i<10; i++) //仅一个字符,否则取最后一个字符,取h和l
        printf("%c ",a[i]);
    printf("\n\n");


    char b[]= {'0','1','2'};
    for(i=0; i<3; i++)
        printf("b[%d]=%d\n",i,b[i]);
    printf("\n\n");


    char c=0;
    printf("c=%c \n",c+'0');
    printf("c=%d \n",c+'0');
    printf("\n");


    char d='0';
    printf("d=%c \n",d+'0');
    printf("d=%d \n",d+'0');
    printf("\n");


    char e='0';
    printf("e=%c \n",e+1);
    printf("e=%d \n",e+1);
    printf("\n");


    char f=0;
    printf("f=%c \n",f+1);
    printf("f=%d \n",f+1);
    printf("\n");
}
int main()
{
    //swap(1,1);
    //break_continue_return(2);
    //while_and_do_while(3);
    //array_subscript(4);
    character_and_string(5);
    return 0;


}
/*


1. 指针函数的调用:


2. 三者的区别:
. break :
(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。
(2).只能跳出一层循环,如果循环是嵌套循环,则需要[逐层判断,逐步跳出]
(3).当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
总的来说:就近原则,结束当前的整个循环。


. return:
(1). return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。


. continue:
(1).终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。
(2).只能结束循环中的一次过程,但不能终止循环继续进行.


3. while 与 do while 的区别
do while : 循环体内代码至少被执行一次。(肚子饿了,看到吃的先狂吃一顿,直到被发现了,就闭嘴停不吃了).
   while : 循环体内的代码有可能永远不会执行。(肚子饿了,先问一下能不能吃东西,同意了就狂吃,
直到不允许吃为止,不同意,就忍着忍着忍着不吃走了.....)


4. array and subscript:
 n[a]=*(n+a)=*(a+n)=a[n];


5. 深入理解c语言——‘\0’ ,‘0’, “0” ,0之间的区别
   ‘\0’和‘0’的区别.共同点: 它们都是字符,
在c语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节。
第一个ASCII码是0,对应的字符是(Null),其实就是‘\0’,即空字符。
判断一个字符串是否结束的标志就是看是否遇到‘\0’,若遇到‘\0’,则表示字符串结束。
而字符‘0’对应的ASCII码是48,48对应的十六进制数就是0x30, 通常我们在编程的时候,
用字符转化为数字的时候经常要用到,若要将‘8’转换为数字8,则“ 8+‘0’”即可。
这里的8就是数字。
   字符‘0’和数字0的区别:前者是字符常量,后者是整形常量,
它们的含义和在计算机中的存储方式截然不同。但是字符常量可以像整数一样在程序中参与相关运算。
例如:‘9’-3;。
   “0”和‘0’的区别。首先“0”是字符串常量,字符串常量是由一对双引号括起的字符序列。
例如:“CHINA”,“I LOVE YOU”,“123”等都是合法的字符串常量。
‘0’是字符常量,字符串常量和字符常量是不同的量。
1:字符常量由单引号括起来;字符串常量由双引号括起来。
2:字符常量只能是单个字符;字符串常量则可以含一个或多个字符。
这里先介绍表达上的主要区别,在运用中还有存储空间的不同以及赋值方式的不同等等。*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值