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/zh-tw/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

發表回復

登錄後才能評論