zoukankan      html  css  js  c++  java
  • C语言基础

    数据类型:整数类型int 字符型类型char 浮点数类型float
    输入输出函数pringf(输出到终端) scanf(运行停顿,从键盘读入)

    if循环

    if 循环方式3种
    ifif(判断)    语句1
    
    if(判断)    
    语句1
    else
    语句2
    
    if(判断)
    语句1
    else if(判断)
    语句2
    else if(判断)
    语句3
    else
    语句4

    switch遍历:

    switch(变量)
    {
    case 常量B:语句1;
    case 常量A:语句2;
    case 常量C:语句3;
    default:语句4;    //如果都不符合条件执行此行
    }


    for语法结构:

    for(循环初始值;循环条件;循环变量增值)
    执行语句;
    for(i=1;i<100;i++)
    printf(i);


    while语法结构:

    while(条件)
    {
    执行语句;
    
    }
    
    //2
    do
    {
    执行语句
    }
    while(条件);

    关于循环嵌套,循环嵌套包含for while if等此处以for举例,替换为其他同理

    for(j=0;j<3;i++)                //外循环
    {
        printf("外循环")            //外循环执行语句
        for(i=0;i<3;i++)            //内循环
            {    
                printf("内循环")            //内循环执行语句
            }
        printf("
    ")                    //此处打印空行 在执行结果中便于分清每次外循环
    }
    上述代码执行结果:
    外循环
    内循环
    内循环
    内循环 
    
    外循环
    内循环
    内循环
    内循环 
    
    外循环
    内循环
    内循环
    内循环 

    即每次外循环执行了三次内循环(内循环条件限制为3,),共执行了三次外循环(外循环条件限制为3次)

    continue和break区别:前者只中断本次外循环,而执行下一次外循环;后者中断整个循环

    1.break 语句可用于跳出循环。
    2.break所在的循环体已经结束
    1.continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。
    2.continue所在的循环体并没有结束


    代码演示:

    for (i=0;i<5;i++)
    {
        if (i==3) break;
        x=x + "The number is " + i + "<br>";
    }
    //  只输出 0 , 1 , 2 , 到3就跳出循环了
    ---
    for (i=0;i<=5;i++)
    {
        if (i==3) continue;
        x=x + "The number is " + i + "<br>";
    }
    //  不输出3,因为continue跳过了,直接进入下一个迭代


    数组是基于基本数据类型的一种数据类型:
    定义类型说明符 数组名[数字]; 如int array[4];
    基于此可衍生二维数组 int array[3][4];为3*4的矩阵,一般在循环中用array[i][j]代替数字进行迭代;

    在数组学习中,涉及一些字符串(char)的常用函数
    puts gets strcat strcpy strncpy strcmp strlen strlwr strupr

     代码演示

    #include<stdio.h>
    int main()
    {
        char str1[]={"china"};  
        char str2[]={"beijing"};    
        char str3[10];
        puts(str1);                 //puts同printf gets(str)从键盘得到数组
        printf("%s
    ",strcat(str1,str2));       //strcat拼接两者
        strcpy(str3,str2);          //strcpy讲后者复制到前者去,后者可以是字符串
        printf(str3);
        // strncpy(str3,str2,2);       //将后者前n位复制到前者
        strcmp(str1,str2);              //strcmp(字符串1,字符串2),比较大小,前者大返回正整数
        printf("%d",strlen(str1));      //返回字符串长度,不包括后面的
        //strlwr转换为小写字母,strupr转换为大写字母
        
    }
    字符串内置函数

    函数使用

    /*
    定义无参数函数:
    类型名 函数名()
    {
        函数体
    }
    定义有参数函数
    类型名 函数名(形式参数)
    {
        函数体
    }
    定义空函数
    类型名 函数名()
    {}
    调用函数
    函数名字(实参列表)
    */
    //多维数组做函数参数
    #include<stdio.h>
    int main()
    {
        int max_value(int array[][4]);
        int a[3][4] = {{1,3,5,7},{2,4,6,8},{15,17,34,12}};
        printf("max value is %d
    ",max_value(a));
        return 0;
    
    }
    int max_value(int array[][4])
    {
        int i,j,max;
        max = array[0][0];
        for(i=0;i<3;i++)
            for(j=0;j<4;j++)
                if(array[i][j]>max) max = array[i][j];
        return(max);
    }
    自定义函数使用
    读写文件
    fputc() 把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,如果发生错误,则会返回 EOF。
    fputs() 把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,如果发生错误,则会返回 EOF。
    fgetc() 函数从 fp 所指向的输入文件中读取一个字符。返回值是读取的字符
    fgets() 从 fp 所指向的输入流中读取 n - 1 个字符。它会把读取的字符串复制到缓冲区 buf,并在最后追加一个 null 字符来终止字符串。
    如果这个函数在读取最后一个字符之前就遇到一个换行符 ' ' 或文件的末尾 EOF,则只会返回读取到的字符
    fscanf(FILE *fp, const char *format, ...) 函数来从文件中读取字符串,但是在遇到第一个空格字符时,它会停止读取。
    #include <stdio.h>
    int main()
    {
       FILE *fp = NULL;
     
       fp = fopen("test.txt", "w+");
       fprintf(fp, "This is testing for fprintf...
    ");
       fputs("This is testing for fputs...
    ", fp);
       fclose(fp);
    }
    写入文件
    #include <stdio.h>
     
    int main()
    {
       FILE *fp = NULL;
       char buff[255];
     
       fp = fopen("/tmp/test.txt", "r");
       fscanf(fp, "%s", buff);
       printf("1: %s
    ", buff );
     
       fgets(buff, 255, (FILE*)fp);
       printf("2: %s
    ", buff );
       
       fgets(buff, 255, (FILE*)fp);
       printf("3: %s
    ", buff );
       fclose(fp);
     
    }
    读出文件
  • 相关阅读:
    组播IP地址
    改变未来的10大科技
    知行合一之健康
    2017第47周五
    2017第47周四感恩节
    spring boot测试
    2017第47周二
    音频格式opus
    周日反思
    四种人工智能技术对五个行业的影响
  • 原文地址:https://www.cnblogs.com/louzhiyuan/p/10992935.html
Copyright © 2011-2022 走看看