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

    計算機考試C語言筆試試題附答案

    時間:2025-01-30 23:51:39 C語言 我要投稿
    • 相關推薦

    計算機考試C語言筆試試題附答案

      吹噓自己有知識的人,等于在宣揚自己的無知。以下是小編為大家搜索整理計算機考試C語言筆試試題,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

    計算機考試C語言筆試試題附答案

      一、選擇題(1-30每小題1分,31-45每小題2分,共60分)

      下列各題 A),B),C),D)四個選項,只有一個選項是正確的,請將正確的選項在答題卡相應位置上涂黑。答在試卷上不得分。

      (1) 二進制數101110轉換為等值的八進制數是 (  ) 。

      A.45

      B.56

      C.67

      D.78

      (2) CPU是由(  )組成的。

      A.內存儲器和控制器

      B.控制器和運算器

      C.內存儲器和運算器

      D.內存儲器、控制器和運算器

      (3) DOS是為IBM PC系列微型計算機及其兼容機所配置的 (  ) 磁盤操作系統。

      A.多用戶多任務

      B.單用戶單任務

      C.分時

      D.分布式

      (4) 啟動MS-DOS操作系統后, (  ) 已駐留內存。

      A.COMMAND.COM

      B.DISKCOPY.COM

      C.FORMAT.COM

      D.CCCC.EXE

      (5) 設驅動器B中軟盤上的目錄結構如下圖所示。

      設當前目錄為F2,則把A盤根目錄下的PROG.BAS文件復制到B盤F3子目錄中的命令是 (  ) 。

      A.COPY PROG.BAS B:

      B.COPY A:PROG.BAS B:\

      C.COPY A:\PROG.BAS B:\F3

      D.COPY A:PROG.BAS B:\F3\

      (6) 下面四組DOS命令中,意義完全相同的一組是 (  ) 。

      A.COPY和DISKCOPY

      B.COMP和DISKCOMP

      C.DEL和RD

      D.RENAME和REN

      (7) 防止軟盤感染病毒的有效方法是 (  ) 。

      A.不要把軟盤和有毒軟盤放在一起

      B.在寫保護缺口上貼上膠條

      C.保持機房清潔

      D.定期對軟盤格式化

      (8) 雙面高密度5英寸軟磁盤的容量是 (  ) 。

      A.360KB

      B.720KB

      C.1.2MB

      D.1.44MB

      (9) 在FOXBASE中,可以使用的兩類變量是 (  ) 。

      A.內存變量和字段變量

      B.全局變量和局部變量

      C.字段變量和簡單變量

      D.內存變量和自動變量

      (10) 建立一個新子目錄的DOS命令是 (  ) 。

      A.CREATE

      B.RD

      C.MD

      D.CD

      (11) 在C語言中,如果下面的變量都是int類型,則輸出的結果是 (  ) 。

      sum=pad=5; pAd=sum + + ,pAd + + , + + pAd;

      printf("%d\n",pad);

      A.7

      B.6

      C.5

      D.4

      (12) 以下程序的輸出結果是 (  ) 。

      # include

      main()

      { int i=010 , j = 10;

      printf("%d,%d\n",+ +i , j - -); }

      A.11,10

      B.9,10

      C.010,9

      D.10,9

      (13) 已知在ASCII代碼中,字母A的序號為65,以下程序的輸出的結果是 (  ) 。

      # include

      main()

      { char c1=’A’, c2=’Y’;

      printf("%d,%d\n",c1,c2); }

      A.因輸出格式不合法,輸出錯誤信息

      B.65,90

      C.A,Y

      D.65,89

      (14) 指針s所指字符串的長度為 (  ) 。

      char *s="\\"Name\\Address\n";

      A.19

      B.15

      C.18

      D.說明不合法

      (15) 設有說明int(*ptr)[m];其中的標識符ptr是 (  ) 。

      A.M個指向整型變量的指針

      B.指向M個整型變量的函數指針

      C.一個指向具有M個整型元素的一維數組的指針

      D.具有M個指針元素的一維指針數組,每個元素都只能指向整型量

      (16) 語句while(!E);中的條件!E等價于 (  ) 。

      A.E = = 0

      B.E!=1

      C.E!=0

      D.~E

      (17) 以下程序的輸出結果是 (  ) 。

      # include

      main()

      { printf("%d\n",NULL); }

      A.不確定的(因變量無定義)

      B.0

      C.-1

      D.1

      (18) 以下函數調用語句中含有 (  ) 個實參。

      func((exp1,exp2),(exp3,exp4,exp5));

      A.1

      B.2

      C.4

      D.5

      (19) 設有以下語句:

      char a=3,b=6,c;

      c=a^b<<2;

      則c的二進制值是 (  ) 。

      A.00011011

      B.00010100

      C.00011100

      D.00011000

      (20) 下面的程序中 (  ) 有錯誤(每行程序前面的數字是行號)。

      1 #include

      2 main()

      3 {

      4 float a[3]={0,0};

      5 int i;

      6 for(i=0;i<3;i + + ) scanf("%d",&a[i]);

      7 for(i=1;i<3;i + + ) a[0]=a[0]+a[i];

      8 printf("%f\n",a[0]);

      9 }

      A.沒有

      B.第4行

      C.第6行

      D.第8行

      (21) 設有語句int a=3;則執行了語句a+=a-=a*a;后,變量a的值是 (  ) 。

      A.3

      B.0

      C.9

      D.-12

      (22) 以下的for循環 (  ) 。

      for(x=0,y=0; (y!=123)&&(x<4); x + + );

      A.是無限循環

      B.循環次數不定

      C.執行4次

      D.執行3次

      (23) 設有語句char a=’\72’;則變量a (  ) 。

      A.包含1個字符

      B.包含2個字符

      C.包含3個字符

      D.說明不合法

      (24) 以下程序的輸出結果是 (  ) 。

      # include

      # include

      main()

      { int a=1,b=4,c=2;

      float x=10..5 , y=4.0 , z;

      z=(a+

      B./c+sqrt((double)y)*1.2/c+x;

      pritnf("%f\n",z); }

      A.14.000000

      B.015.400000

      C.13.700000

      D.14.900000

      (25) sizeof(double)是 (  ) 。

      A.一種函數調用

      B.一個雙精度型表達式

      C.一個整型表達式

      D.一個不合法的表達式

      (26) C語言中 (  ) 。

      A.不能使用do-while語句構成的循環

      B.do-while語句構成的循環必須用break語句才能退出

      C.do-while語句構成的循環,當while語句中的表達式值為非零時結束循環

      D.do-while語句構成的循環,當while語句中的表達式值為零時結束循環

      (27) 以下程序的輸出結果是 (  ) 。

      # include

      # include

      main()

      { char str[12]={’s’,’t’,’r’,’i’,’n’,’g’};

      printf("%d\n",strlen(str)); }

      A.6

      B.7

      C.11

      D.12

      (28) 以下程序的輸出結果是 (  ) 。

      # include

      main()

      { int a=2,c=5;

      printf("a=%%d,b=%%d\n",a,

      C.; }

      A.a=%2,b=%5

      B.a=2,b=5

      C.a=%%d,b=%%d

      D.a=%d,b=%d

      (29) 以下程序的輸出結果是 (  ) 。

      # include

      main()

      { int a ,b,d=241;

      a=d/100%9;

      b=(-1)&&(-1);

      printf("%d,%d\n",a,

      B.; }

      A.6,1

      B.2,1

      C.6,0

      D.2,0

      (30) 以下程序的輸出結果是 (  ) 。

      # include

      main()

      { int i;

      for ( i=1;i<=5;i + + ) {if ( i%2 ) printf("*");

      else continue; printf("#");}

      printf("$\n"); }

      A.*#*#*#$

      B.#*#*#*$

      C.*#*#$

      D.#*#*$

      (31) 以下for語句構成的循環執行了 (  ) 次。

      # include

      # define N 2

      # define M N+1

      # define NUM (M+1)*M/2

      main()

      { int i , n=0;

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

      {n + + ; printf("%d",n); }

      printf("\n"); }

      A.5

      B.6

      C.8

      D.9

      (32) 設有以下語句,則 (  ) 不是對a數組元素的正確引用,其中0≤i<10。

      int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;

      A.a[p-a]

      B.*(&a[i])

      C.p[i]

      D.*(*(a+i))

      (33) 有以下程序:

      # include

      # define N 6

      main()

      { char c[N]; int i=0;

      for ( ;i  for ( i=0 ; i  輸入以下三行,每行輸入都是在第一列上 開始,代表一個回車符:

      a

      b

      cdef

      程序的輸出結果是 (  ) 。

      A.abcdef

      B.a

      C.a

      D.a

      b b b

      c cd cdef

      d

      e

      f

      (34) 以下程序調用findmax函數求數組中值最大的元素在數組中的下標,請選擇填空。

      # include

      findmax ( s , t , k )

      int *s , t , *k;

      { int p; for(p=0,*k=p;p   if ( s[p] > s[*k] )(  ); }

      main()

      { int a[10] , i , k ;

      for ( i=0 ; i<10 ; i + + ) scanf("%d",&a[i]);

      findmax ( a,10,&k );

      printf ( "%d,%d\n" , k , a[k] ); }

      A.k=p

      B.*k=p-s

      C.k=p-s

      D.*k=p

      (35) 有以下程序:

      #include

      union pw

      { int i; char ch[2]; } a;

      main()

      { a.ch[0]=13; a.ch[1]=0; printf("%d\n",a.i); }

      程序的輸出結果是 (  ) 。(注意: ch[0]在低字節,ch[1]在高字節。)

      A.13

      B.14

      C.208

      D.209

      (36) 有以下程序:

      # include

      main()

      { int c;

      while((c=getchar())!=’\n’)

      { switch(c-’2’)

      { case 0:

      case 1: putchar(c+4);

      case 2: putchar(c+4);break;

      case 3: putchar(c+3);

      case 4: putchar(c+2);break; } }

      printf("\n"); }

      從第一列開始輸入以下數據,代表一個回車符。

      2743

      程序的輸出結果是 (  ) 。

      A.668977

      B.668966

      C.6677877

      D.6688766

      (37) 以下程序的輸出結果為 (  ) 。

      main()

      { char *alpha[6]={"ABCD","IJKL","MNOP","QRST","UVWX"};

      char **p; int i;

      p=alpha;

      for(i=0;i<4;i + + ) printf("%s",p[i]); printf("\n"); }

      A.ABCDEFGHIJKL

      B.ABCD

      C.ABCDEFGHIJKLMNOP

      D.AEIM

      (38) 以下程序的輸出結果是 (  ) 。

      # include

      # define FUDGE(y) 2.84+y

      # define PR(

      A.printf("%d",(int)(

      A.)

      # define PRINT1(

      A.PR(

      A.;putchar(’\n’)

      main()

      {int x=2; PRINT1(FUDGE(5)*x); }

      A.11

      B.12

      C.13

      D.15

      (39) 以下程序的輸出結果是 (  ) 。

      # include

      main()

      { int i=1,j=3;

      printf("%d",i + + );

      { int i=0; i+=j*2; printf("%d,%d",i,j); }

      printf("%d,%d\n",i,j); }

      A.1,6,3,1,3

      B.1,6,3,2,3

      C.1,6,3,6,3

      D.1,7,3,2,3

      (40) 以下程序的輸出結果是 (  ) 。

      # include

      main()

      { int k=4,m=1,p;

      p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p);}

      func(a,

      B.

      int a,b;

      { static int m=0,i=2;

      i+=m+1; m=i+a+b; return(m); }

      A.8,17

      B.8,16

      C.8,20

      D.8,8

      (41) 設有以下語句:

      char str[4][12]={"aaa","bbbb","ccccc","dddddd"},

      *strp[4];

      int i;

      for(i=0;i<4;i + + )strp[i]=str[i];

      (  )不是對字符串的正確引用,其中0≤k<4。

      A.strp

      B.str[k]

      C.strp[k]

      D.*strp

      (42) 設有以下語句:

      char str1[]="string",str2[8],*str3,*str4="string";

      則 (  ) 不是對庫函數strcpy的正確調用,此庫函數用業復制字符串。

      A.strcpy(str1,"HELLO1");

      B.strcpy(str2,"HELLO2");

      C.strcpy(str3,"HELLO3");

      D.strcpy(str4,"HELLO4");

      (43) C語言中形參的缺省存儲類別是 (  ) 。

      A.自動(auto)

      B.靜態(statiC)

      C.寄存器(register)

      D.外部(extern)

      (44) 設有以下語句:

      struct st {int n; struct st *next;};

      static struct st a[3]={5,&a[1],7,&a[2],9,’\0’},*p;

      p=&a[0];

      則表達式 (  ) 的值是6。

      A.p + + ->n

      B.p->n + +

      C.(*p).n + +

      D.+ + p->n

      (45) 以下四個程序中, (  ) 不能對兩個整型變量的值進行交換。

      A.# include

      main()

      { int a=10,b=20; swap(&a,&

      B.;

      printf("%d %d\n",a,

      B.;

      }

      swap(p,q)

      int *p,*q;

      {

      int *t;

      t=(int )malloc(sizeof(int));

      t=p;*p=*q;*q=*t; }

      B.# include

      main()

      {

      int a=10,b=20;

      swap(&a,&

      B.;

      printf("%d %d\n",a,

      B.;

      }

      swap(p,q)

      int p,q;

      {

      int *t;

      t=*p;*p=*q;*q=t;

      }

      C.# include

      main()

      {

      int *a,*b;

      *a=10,*b=20;

      swap(a,

      B.;

      printf("%d %d\n",*a,*

      B.;

      }

      swap(p,q)

      int *p,*q;

      {

      int t;

      t=*p;*p=*q;*q=t;

      }

      D.# include

      main()

      {

      int a=10,b=20;

      int x=&a,y=&b;

      swap(x,y);

      printf("%d %d\n",a,

      B.;

      }

      swap(p,q)

      int *p,*q;

      {

      int t;

      t=*p;*p=*q;*q=t;

      }

      二、填空題(每空2分,共40分)

      請將每空的正確答案寫在答題卡1-20序號后的橫線上,答在試卷上不得分。

      (1) 結構化程序設計所規定的三種基本控制結構是 【1】 結構.選擇結構和循環結構。

      (2) 在七位ASCII碼中,除了表示數字、英文大小寫字母外,還有 【2】 個其它符號。

      (3) 把B盤BAS子目錄下第三個字符為A,且沒有擴展名的全部文件拷貝到C盤ABC子目錄下的命令是 【3】 。

      (4) 微機中ROM的中文意義是 【4】 存儲器。

      (5) 啟動MS-DOS系統后,能自動執行的批處理文件是 【5】 .BAT。

      (6) 設當前盤為C盤,刪除B盤FOX子目錄中擴展名為.TXT的所有文件的命令是 【6】 。

      (7) 十進制數53轉換為十六進制數為 【7】 。

      (8) 數據庫管理系統常見的數據模型有層次、網狀和 【8】 三種。

      (9) 買來一張新盤后,在存入文件前,必須進行 【9】 處理。

      (10) 在微機中,字符的比較就是對它們的 【10】 碼進行比較。

      (11) 以下C語言程序將磁盤中的一個文件復制到另一個文件中,兩個文件名在命令行中給出。

      #include

      main(argc,argv)

      int argc; char *argv[];

      { FILE *f1,*f2; char ch;

      if(argc< 【11】 )

      { printf("Parameters missing!\n"); exit(0); }

      if( ((f1=fopen(argv[1],"r")) = = NULL)||((f2=fopen(argv[2],"w")) = = NULL))

      { printf("Can not open file!\n"); exit(0);}

      while( 【12】 )fputc(fgetc(f1),f2);

      fclose(f1); fclose(f2); }

      (12) 以下程序中的trap函數是一個用梯形法求定積分的通用函數。梯形法求定積分的公式為:

      n-1 a-b

      s=((f(a)+f(b))/2+∑ f(a+i*h))*h , h=|----|

      i=1 n

      其中,n為積分小區間數。以下程序調用trap函數求定積分,被積函數是:

      f(x)=x*x+3*x+2,且n=1000,a=0,b=4。

      #include

      3include

      double trap(fun,a,b)

      double (*fun)(),a,b;

      { double t,h;

      int i,n=1000;

      t=0.5*((*fun)(a)+(*fun)(b)); h=fabs(a-b)/(double)(n);

      for(i=1;i<=n-1;i + + ) t=t+ 【13】 ;

      t=t*h; return(t); }

      double mypoly(x)

      double x;

      { return(x*x+3.0*x+2.0); }

      main()

      { double y,(*pf)(); pf= 【14】 ;

      y=trap(pf,0.0,4.0); printf("%f\n",y); }

      (13) 以下程序求a數組中的所有素數的和,函數isprime用來判斷自變量是否為素數。素數是只能被1和本身整除且大于1的自然數。

      #include

      main()

      { int i,a[10],*p=a,sum=0;

      printf("Enter 10 num:\n");

      for(i=0;i<10;i + + ) scanf("%d",&a[i]);

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

      if(isprime(*(p+ 【15】 )) = = 1){ printf("%d",*(a+i)); sum+=*(a+i); }

      printf("\nThe sum=%d\n",sum); }

      isprime(x)

      int x;

      { int i; for(i=2;i<=x/2;i + + )

      if(x%i = = 0) return (0); 【16】 ; }

      (14) 以下程序調用invert函數按逆序重新放置a數組中元素的值。a數組中的值在main函數中讀入。

      #include

      #define N 10

      invert(s,i,j)

      int *s,i,j;

      { int t; if(i  main()

      { int a[N],i;

      for(i=0;i   invert(a,0,N-1);

      for(i=0;i   printf("\n"); }

      (15) 以下程序建立了一個帶有頭結點的單向鏈表,鏈表結點中的數據通過鍵盤輸入,當輸入數據為-1時,表示輸入結束(鏈表頭結點的data 域不放數據,表空的條件是ph->next = = NULL).

      #include

      struct list { int data;struct list *next;};

      【19】 creatlist()

      { struct list *p,*q,*ph; int a;

      ph=(struct list *) malloc(sizeof(struct list));

      p=q=ph; printf("Input an integer number,enter –1 to end:\n");

      scanf("%d",&a):

      while(a!=-1)

      { p=(struct list *)malloc(sizeof(struct list));

      p->data=a; q->next=p; 【20】 =p; scanf("%d",&a); }

      p->next=’\0’; return(ph); }

      main()

      { struct list *head; head=creatlist();}

      參考答案

      選擇題([1]——[30]每個選項1分,[31]——[45]每個選項2分,共60分)

      (1)B (2)B (3)B (4)A (5)C (6)D (7)B (8)C (9)A (10)C

      (11)C (12)B (13)D (14)B (15)C (16)A (17)B (18)B (19)A (20)C

      (21)D (22)C (23)A (24)C (25)C (26)D (27)A (28)D (29)B (30)A

      (31)C (32)D (33)C (34)D (35)A (36)A (37)C (38)B (39)B (40)A

      (41)A (42)C (43)A (44)D (45)C

      二` 填空題(每空2分,共40分)

      (1)順序

      (2)66

      (3) COPY B:\BAS\??A*.C:\ABC(或COPY B:\BAS\??A*.,C:\ABC)

      (4)只讀

      (5)AUTOEXEC

      (6)DEL B:\FOX\*.TXT

      (7)35

      (8)關系

      (9)格式化(或初始化、FORMAT)

      (10)ASCII

      (11)3

      (12)!feof(f1)或feof(f1)==0

      (13)(*fun)(a+i*h)

      (14) mypoly

      (15)I

      (16)return 1 或 return (1)

      (17)i+1

      (18) I

      (19) struct list *

      (20) q

    【計算機考試C語言筆試試題附答案】相關文章:

    C語言模擬筆試題(附答案)01-21

    C語言筆試題及答案05-13

    C語言筆試試題及答案04-03

    2017年C語言考試試題附答案02-18

    c語言經典筆試題05-24

    計算機C語言筆試試題02-07

    2017年C語言筆試試題及答案05-27

    C語言考試試題及答案04-27

    最新計算機C語言測試題附答案解析04-23

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