C语言基础

Posted louzhiyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("\n")                    //此处打印空行 在执行结果中便于分清每次外循环

上述代码执行结果:
外循环
内循环
内循环
内循环 

外循环
内循环
内循环
内循环 

外循环
内循环
内循环
内循环 

 

即每次外循环执行了三次内循环(内循环条件限制为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\n",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));      //返回字符串长度,不包括后面的\0
    //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\n",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 字符来终止字符串。
如果这个函数在读取最后一个字符之前就遇到一个换行符 ‘\n‘ 或文件的末尾 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...\n");
   fputs("This is testing for fputs...\n", 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\n", buff );
 
   fgets(buff, 255, (FILE*)fp);
   printf("2: %s\n", buff );
   
   fgets(buff, 255, (FILE*)fp);
   printf("3: %s\n", buff );
   fclose(fp);
 
读出文件

 

 

以上是关于C语言基础的主要内容,如果未能解决你的问题,请参考以下文章

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

SQL Select 语句的用法

需要示例代码片段帮助

C语言100个经典算法源码片段

JSP 基础语法