C语言编程题经典100例详解

一、基础语法和数据类型

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-11 01:04
下一篇 2024-12-11 01:05

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • 《Python数据分析》经典书

    这本经典书可以帮助各位数据科学家快速上手 Python 进行数据分析和处理,下面我们从多个方面阐述一下这本书的亮点和有趣之处。 一、数据科学简介 《Python数据分析》一书旨在帮…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28

发表回复

登录后才能评论