亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • C語言筆試題及答案

    時(shí)間:2024-10-19 00:47:50 面試筆試 我要投稿
    • 相關(guān)推薦

    2015C語言筆試題及答案

      1、局部變量能否和全局變量重名?

    2015C語言筆試題及答案

      答:能,局部會(huì)屏蔽全局。要用全局變量,需要使用 ":: "

      局部變量可以與全局變量同名,在函數(shù)內(nèi)引用這個(gè)變量時(shí),會(huì)用到同名的局部變量,而不會(huì)用到全局變量。對(duì)于有些編譯器而言,在同一個(gè)函數(shù)內(nèi)可以定義多個(gè)同名的局部變量,比如在兩個(gè)循環(huán)體內(nèi)都定義一個(gè)同名的局部變量,而那個(gè)局部變量的作用域就在那個(gè)循環(huán)體內(nèi)。

      2、如何引用一個(gè)已經(jīng)定義過的全局變量?

      答:extern

      可以用引用頭文件的方式,也可以用extern關(guān)鍵字,如果用引用頭文件方式來引用某個(gè)在頭文件中聲明的全局變理,假定你將那個(gè)變寫錯(cuò)了,那么在編譯期間會(huì)報(bào)錯(cuò),如果你用extern方式引用時(shí),假定你犯了同樣的錯(cuò)誤,那么在編譯期間不會(huì)報(bào)錯(cuò),而在連接期間報(bào)錯(cuò)。

      3、全局變量可不可以定義在可被多個(gè).C文件包含的頭文件中?為什么?

      答:可以,在不同的C文件中以static形式來聲明同名全局變量。

      可以在不同的C文件中聲明同名的全局變量,前提是其中只能有一個(gè)C文件中對(duì)此變量賦初值,此時(shí)連接不會(huì)出錯(cuò)

      4、語句for( ;1 ;)有什么問題?它是什么意思?

      答:和while(1)相同。

      5、do……while和while……do有什么區(qū)別?

      答:前一個(gè)循環(huán)一遍再判斷,后一個(gè)判斷以后再循環(huán)

      6、請(qǐng)寫出下列代碼的輸出內(nèi)容

      #include

      main()

      {

      inta,b,c,d;

      a=10;

      b=a++;

      c=++a;

      d=10*a++;

      printf("b,c,d:%d,%d,%d ",b,c,d);

      return 0;

      }

      答:10,12,120

      7、static全局變量與普通的全局變量有什么區(qū)別?static局部變量和普通局部變量有什么區(qū)別?static函數(shù)與普通函數(shù)有什么區(qū)別?

      全局變量(外部變量)的說明之前再冠以static 就構(gòu)成了靜態(tài)的全局變量。全局變量本身就是靜態(tài)存儲(chǔ)方式,靜態(tài)全局變量當(dāng)然也是靜態(tài)存儲(chǔ)方式。 這兩者在存儲(chǔ)方式上并無不同。這兩者的區(qū)別雖在于非靜態(tài)全局變量的作用域是整個(gè)源程序,當(dāng)一個(gè)源程序由多個(gè)源文件組成時(shí),非靜態(tài)的全局變量在各個(gè)源文件中都是有效的。 而靜態(tài)全局變量則限制了其作用域, 即只在定義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它。由于靜態(tài)全局變量的作用域局限于一個(gè)源文件內(nèi),只能為該源文件內(nèi)的函數(shù)公用,因此可以避免在其它源文件中引起錯(cuò)誤。

      從以上分析可以看出, 把局部變量改變?yōu)殪o態(tài)變量后是改變了它的存儲(chǔ)方式即改變了它的生存期。把全局變量改變?yōu)殪o態(tài)變量后是改變了它的作用域,限制了它的使用范圍。

      static函數(shù)與普通函數(shù)作用域不同。僅在本文件。只在當(dāng)前源文件中使用的函數(shù)應(yīng)該說明為內(nèi)部函數(shù)(static),內(nèi)部函數(shù)應(yīng)該在當(dāng)前源文件中說明和定義。對(duì)于可在當(dāng)前源文件以外使用的函數(shù),應(yīng)該在一個(gè)頭文件中說明,要使用這些函數(shù)的源文件要包含這個(gè)頭文件

      static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被引用;

      static局部變量和普通局部變量有什么區(qū)別:static局部變量只被初始化一次,下一次依據(jù)上一次結(jié)果值;

      static函數(shù)與普通函數(shù)有什么區(qū)別:static函數(shù)在內(nèi)存中只有一份,普通函數(shù)在每個(gè)被調(diào)用中維持一份拷貝

      8、程序的局部變量存在于(堆棧)中,全局變量存在于(靜態(tài)區(qū))中,動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存在于( 堆)中。

      9、設(shè)有以下說明和定義:

      typedefunion {long i; int k[5]; char c;} DATE;

      struct data{ int cat; DATE cow; double dog;} too;

      DATE max;

      則語句 printf("%d ",sizeof(struct date)+sizeof(max));的執(zhí)行結(jié)果是:___52____

      答:DATE是一個(gè)union, 變量公用空間. 里面最大的變量類型是int[5], 占用20個(gè)字節(jié). 所以它的大小是20

      data是一個(gè)struct, 每個(gè)變量分開占用空間. 依次為int4 +DATE20 + double8 = 32.

      所以結(jié)果是 20 + 32= 52.

      當(dāng)然...在某些16位編輯器下, int可能是2字節(jié),那么結(jié)果是 int2 + DATE10 + double8 = 20

      10、隊(duì)列和棧有什么區(qū)別?

      隊(duì)列先進(jìn)先出,棧后進(jìn)先出

      11、寫出下列代碼的輸出內(nèi)容

      #include

      int inc(inta)

      {

      return(++a);

      }

      intmulti(int*a,int*b,int*c)

      {

      return(*c=*a**b);

      }

      typedefint(FUNC1)(int in);

      typedefint(FUNC2) (int*,int*,int*);

      voidshow(FUNC2 fun,int arg1, int*arg2)

      {

      INCp=&inc;

      int temp =p(arg1);

      fun(&temp,&arg1, arg2);

      printf("%d\n ",*arg2);

      }

      main()

      {

      int a;

      show(multi,10, &a);

      return 0;

      }

      答:110

      11、請(qǐng)找出下面代碼中的所以錯(cuò)誤

      說明:以下代碼是把一個(gè)字符串倒序,如“abcd”倒序后變?yōu)椤癲cba”

      1、#include "string.h "

      2、main()

      3、{

      4、 char*src= "hello,world";

      5、 char* dest=NULL;

      6、 int len=strlen(src);

      7、 dest=(char*)malloc(len);

      8、 char* d=dest;

      9、 char* s=src[len];

      10、 while(len--!=0)

      11、 d++=s--;

      12、 printf( "%s ",dest);

      13、 return 0;

      14、}

      答:

      方法1:

      int main()

      {

      char* src= "hello,world ";

      int len =strlen(src);

      char* dest= (char*)malloc(len+1);//要為\0分配一個(gè)空間

      char* d =dest;

      char* s =&src[len-1];//指向最后一個(gè)字符

      while(len-- != 0 )

      *d++=*s--;

      *d = 0;//尾部要加\0

      printf("%s\n ",dest);

      free(dest);// 使用完,應(yīng)當(dāng)釋放空間,以免造成內(nèi)存匯泄露

      return 0;

      }

      方法2:

      #include

      #include

      main()

      {

      charstr[]= "hello,world ";

      intlen=strlen(str);

      char t;

      for(int i=0;i {

      t=str[i];

      str[i]=str[len-i-1]; str[len-i-1]=t;

      }

      printf("%s ",str);

      return 0;

      }

      12。對(duì)于一個(gè)頻繁使用的短小函數(shù),在C語言中應(yīng)用什么實(shí)現(xiàn),在C++中應(yīng)用什么實(shí)現(xiàn)?

      答案:c用宏定義,c++用inline

      13。軟件測試都有那些種類?

      答案:黑盒:針對(duì)系統(tǒng)功能的測試 白合:測試函數(shù)功能,各函數(shù)接口

      14。確定模塊的功能和模塊的接口是在軟件設(shè)計(jì)的那個(gè)隊(duì)段完成的?

      答案:概要設(shè)計(jì)階段

      15。enum string

      {

      x1,

      x2,

      x3=10,

      x4,

      x5,

      }x;

      問x;

      答案:取值在0。1。10。11。12中的一個(gè)

      16。unsigned char *p1;

      unsigned long *p2;

      p1=(unsigned char *)0x801000;

      p2=(unsigned long *)0x810000;

      請(qǐng)問p1+5= ;

      p2+20= ;

      答案:801005; 810014。不要忘記了這個(gè)是16進(jìn)制的數(shù)字,p2要加20變?yōu)?6進(jìn)制就是14

      選擇題:

      1.Ethternet鏈接到Internet用到以下那個(gè)協(xié)議?

      A.HDLC;B.ARP;C.UDP;D.TCP;E.ID

      2.屬于網(wǎng)絡(luò)層協(xié)議的是:

      A.TCP;B.IP;C.ICMP;D.X.25

      3.Windows消息調(diào)度機(jī)制是:

      A.指令隊(duì)列;B.指令堆棧;C.消息隊(duì)列;D.消息堆棧;

      答案:b,a,c

      二找錯(cuò)題:

      1.請(qǐng)問下面程序有什么錯(cuò)誤?

      int a[60][250][1000],i,j,k;

      for(k=0;k<=1000;k++)

      for(j=0;j<250;j++)

      for(i=0;i<60;i++)

      a[i][j][k]=0;

      答案:把循環(huán)語句內(nèi)外換一下

      2。以下是求一個(gè)數(shù)的平方的程序,請(qǐng)找出錯(cuò)誤:

      #define SQUARE(a) ((a)*(a))

      int a=5;

      int b;

      b=SQUARE(a++);

      答案:這個(gè)沒有問題,s(a++),就是((a++)×(a++))唯一要注意的就是計(jì)算后a=7了

      3。typedef unsigned char BYTE

      int examply_fun(BYTE gt_len; BYTE *gt_code)

      {

      BYTE *gt_buf;

      gt_buf=(BYTE *)MALLOC(Max_GT_Length);

      ......

      if(gt_len>Max_GT_Length)

      {

      return GT_Length_ERROR;

      }

      .......}答案:要釋放內(nèi)存


    【C語言筆試題及答案】相關(guān)文章:

    基礎(chǔ)C++/C語言筆試題分享11-21

    2017年c語言面試筆試題11-22

    普天C++筆試題02-18

    群碩筆試題Java和C++、C#11-21

    java筆試題及答案08-20

    C++工程師筆試題目11-25

    英語面試試題及答案02-18

    外企面試的經(jīng)典試題及答案02-18

    經(jīng)典java筆試題及答案分享02-25

    報(bào)社筆試題目及答案03-23