一、基础语法和数据类型
1、变量和常量的定义和使用
#include<stdio.h> int main() { int a=10; //定义一个整型变量a并初始化为10 const int b=20; //定义一个常量b(值不能改变)并初始化为20 printf("a=%d\n",a); //输出a的值 printf("b=%d\n",b); //输出b的值 a=30; //修改a的值为30 printf("a=%d\n",a); //输出a新的值 return 0; //程序结束 }
2、运算符号的使用
#include<stdio.h> int main() { int a=10,b=3; printf("a+b=%d\n",a+b); //加法运算 printf("a-b=%d\n",a-b); //减法运算 printf("a*b=%d\n",a*b); //乘法运算 printf("a/b=%d\n",a/b); //除法运算 printf("a%%b=%d\n",a%b); //取模运算(余数) printf("a++=%d\n",a++); //后置自增 printf("a=%d\n",a); //输出a的新值 printf("--a=%d\n",--a); //前置自减 printf("a=%d\n",a); //输出a的新值 return 0; }
3、条件判断语句的使用
#include<stdio.h> int main() { int a=10,b=20; if(a>b) //如果a>b成立 printf("a>b\n"); //输出a>b else //否则 printf("a<=b\n"); //输出a<=b return 0; }
4、循环语句的使用
#include<stdio.h> int main() { int i=0; while(i<10) //只要i小于10 { printf("%d ",i); //输出i的值 i++; //i自增1 } return 0; //程序结束 }
二、数组和字符串
1、数组的定义和使用
#include<stdio.h> int main() { int a[5]={1,2,3,4,5}; //定义并初始化一个整型数组 for(int i=0;i<5;i++) //依次输出数组中的每个元素 printf("%d ",a[i]); return 0; }
2、字符串的使用
#include<stdio.h> int main() { char str[100]; //定义一个字符数组 printf("please enter a string:\n"); gets(str); //输入字符串 printf("your string is: %s\n",str); //输出字符串 int len=0; //计算字符串长度 while(str[len]!='\0') len++; printf("string length is: %d\n",len); int cnt=0; //计算空格数量 for(int i=0;str[i]!='\0';i++) if(str[i]==' ') cnt++; printf("space count is: %d\n",cnt); return 0; }
3、数组和字符串的转换
#include<stdio.h> #include<string.h> int main() { char str1[]="hello", str2[]="world"; char str3[100]; strcpy(str3,str1); //将str1复制到str3中 strcat(str3,str2); //将str2连接到str3的末尾 printf("str3=%s\n",str3); //输出str3 return 0; }
三、函数和指针
1、函数的定义和使用
#include<stdio.h> void hello() //定义一个无参数无返回值的函数 { printf("hello, world!\n"); } int sum(int a, int b) //定义一个带参数有返回值的函数 { return a+b; } int main() { hello(); //调用hello函数 printf("sum=%d\n",sum(1,2)); //调用sum函数 return 0; }
2、指针的定义和使用
#include<stdio.h> int main() { int a=10, *p=&a; //定义一个整型变量a和一个指向a的指针p printf("a=%d, &a=%p\n",a,&a); //输出a和a的地址 printf("*p=%d, p=%p, &p=%p\n",*p,p,&p); //输出*p、p、p的地址 *p=20; //修改p指向的变量a的值为20 printf("a=%d, *p=%d\n",a,*p); //输出a和*p的值 return 0; }
3、动态内存分配
#include<stdio.h> #include<stdlib.h> int main() { int n=5; int *p=NULL; p=(int*)malloc(n*sizeof(int)); //动态分配内存 if(p==NULL) //检查内存是否分配成功 printf("memory allocation failed\n"); else { for(int i=0;i<n;i++) //输入数据到动态分配的数组中 scanf("%d",p+i); for(int i=0;i<n;i++) //输出动态分配的数组中的数据 printf("%d ",*(p+i)); } free(p); //释放分配的内存 return 0; }
四、文件操作
1、文件的读取和写入
#include<stdio.h> int main() { FILE *fp=NULL; char str[100]; fp=fopen("test.txt","w"); //打开一个文件,以便写入数据 if(fp==NULL) //打开失败 printf("file open failed\n"); else { printf("please input a string:\n"); gets(str); //输入字符串 fprintf(fp,"%s\n",str); //将字符串写入文件中 fclose(fp); //关闭文件 } fp=fopen("test.txt","r"); //打开同一文件,以便读取数据 if(fp==NULL) //打开失败 printf("file open failed\n"); else { fgets(str,100,fp); //从文件中读取一行 printf("string is: %s",str); //输出读到的字符串 fclose(fp); //关闭文件 } return 0; }
2、二进制文件的读取和写入
#include<stdio.h> int main() { int a[10]={0,1,2,3,4,5,6,7,8,9}; FILE *fp=NULL; fp=fopen("test.bin","wb"); //以二进制方式创建可写文件 if(fp==NULL) //打开失败 printf("file open failed\n"); else { fwrite(a,sizeof(int),10,fp); //将数组a写入文件中 fclose(fp); //关闭文件 } fp=fopen("test.bin","rb"); //以二进制方式打开同一文件,以便读取数据 if(fp==NULL) //打开失败 printf("file open failed\n"); else { int b[10]; fread(b,sizeof(int),10,fp); //从文件中读取数据到数组b中 for(int i=0;i<10;i++) //输出读到的数组 printf("%d ",b[i]); fclose(fp); //关闭文件 } return 0; }
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/231452.html