一、基础语法和数据类型
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
微信扫一扫
支付宝扫一扫