<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言試題

    時間:2025-01-23 02:02:06 C語言 我要投稿

    C語言試題

      1.函數指針申明時可以不用確定參數類型,只需要在定義和使用時帶上參數類型即可。參考《func1.c》

    C語言試題

      main()

      {

      int f();

      int i,a,b;

      int (*p)();

      scanf("%d",&a);

      p=f;

      for(i=1;i<9;i++)

      {

      printf("Please Input The %d Number:",i);

      scanf("%d",&b);

      a=(*p)(a,b);

      }

      printf("The Max Number is:%d",a);

      }

      f(int x,int y)

      {

      int z;

      z=(x>y)?x:y;

      return z;

      }

      2.數組指針與指針數組:數組指針int (*a)[10],指向數組的指針,指針數組int *a[10],包含10個指針的數組。

      3.char *p1="I love you";和char p2[]="I love you";區別:字符串存放的位置不同,讀寫屬性不同。指針p1指向的字符串位于內存的只讀區,不可改變,數組p2的字符串位于堆棧中,可讀可寫,可以改變。

      4.C語言的extern和static是對立的關鍵字。

      5.strcpy,memcpy,strcat等str函數返回值都是char *.

      6.一般的,如果想讓if判斷一個變量的“真”、“假”,應直接使用if(var)、if(!var),表明其為“邏輯”判斷;如果用if判斷一個數值型變量(short、int、long等),應該用if(var==0),表明是與0進行“數值”上的比較;而判斷指針則適宜用if(var==NULL),這是一種很好的編程習慣。

      7.結構體數組和鏈表很相似,如果不需要中間插入元素,可以優先考慮用結構體數組。

      8.extern "C"作用:實現在C++中調用C函數。

      例如:

      /*C語言頭文件example.h*/

      #ifndef EXAMPLE_H

      #define EXAMPLE_H

      extern int add(int x,int y);

      /*C語言實現文件example.c*/

      int add(int x,int y)

      {

      return (x)+(y);

      }

      /*C++實現文件,調用add(),example.cpp*/

      9.宏實現函數功能在參數有自增自減操作時有副作用

      代碼:

      #define MIN(a,b) (a)<(b)?(a):(b)

      test10()

      {

      int x=3;

      int y=8;

      printf("MIN:%d\n",MIN(x++,y));

      }

      輸出: MIN:4

      extern "C"

      {

      #include "example.h"

      }

      int main(int argc,char *argv[])

      {

      add(2,3);

      return 0;

      }

      實際上extern "C"是表明下面的申明編譯時按照C語言的方式處理,不要做優化,如果沒有extern "C",在C++中將會對申明的函數名處理,上例中就會是add_int_int類似的函數名。

      9.static 在函數內部,表示該變量的值在各個調用間一直保持延續性;

      在函數這一級,表示該函數只對本文件可見

      10.文件存在判斷 -access

      access函數用于判斷文件權限,用F_OK模式可以判斷文件是否存在。

      If(0 == access(*filename,F_OK))

      文件存在時的操作

      11.位寬可變的printf輸出

      int i;

      printf("12345678901234567890\n");

      for(i=10;i>0;i--)

      pirntf("%*s",i,"*\n");

      12.程序在內存中的分段

      存儲態:

      代碼段:存放可執行代碼,變量和申明是不可執行的。字符串常量也存放在此。

      數據段:包含靜態初始化的數據,有初值的全局變量和static變量存放在此。

      BSS段:存放未初始化的全局變量和靜態變量。

      運行態還有stack和heap段。stack段存放局部變量、函數形參和返回值,heap段用于內存的動態分配。

      13.C語言中,僅有4種基本數據類型-整型,浮點型,指針和聚合類型(如數組和指針等).

      整型:字符,短整型,整型和長整型.每一種都有有符號和無符號兩種.

      14.指針和指針變量區別?

      變量存儲于計算機的內存中,每個變量都占據一個特定的位置.每個內存位置都由地址唯一確定并引用,就像一條街道的房子由他們的門牌號碼標識一樣.指針只是地址的另一個名字罷了.指針變量就是一個其值為另外一個(一些)內存地址的變量.

      15.指針和數組區別?

      指針使用必須賦初值,數組使用可以不用賦初值;指針的地址可以輕易改變,數組的首地址不會改變。

    【C語言試題】相關文章:

    C語言試題08-02

    C語言試題11-01

    C語言程序試題04-26

    C語言試題大全08-06

    C語言試題及答案07-26

    C語言練習試題07-01

    c語言經典筆試題10-06

    C語言試題訓練08-07

    C語言考點試題08-19

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人