亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

最新C語言考題帶答案

時(shí)間:2024-07-26 03:46:50 C語言 我要投稿
  • 相關(guān)推薦

2017年最新C語言考題帶答案

  謙虛是學(xué)習(xí)的朋友,自滿是學(xué)習(xí)的敵人。以下是小編為大家搜索整理2017年最新C語言考題及答案,希望能給大家?guī)韼椭?更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  一、選擇題((1)-(40)每小題1分, (41)-(50)每小題2分, 共60分)

  下列各題 A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。

  (1)通常所說的主機(jī)主要包括

  A.CPU

  B.CPU和內(nèi)存

  C.CPU、內(nèi)存與外存

  D.CPU、內(nèi)存與硬盤

  (2)在微機(jī)系統(tǒng)中,最基本的輸入輸出模塊BIOS存放在

  A.RAM中

  B.ROM中

  C.硬盤中

  D.寄存器中

  (3)一個(gè)24*24點(diǎn)陣的漢字字形信息所占的字節(jié)數(shù)為

  A.2

  B.24

  C.32

  D.72

  (4)bit的意思是

  A.字

  B.字長

  C.字節(jié)

  D.二進(jìn)制位

  (5)某學(xué)校的工資管理程序?qū)儆?/p>

  A.系統(tǒng)程序

  B.應(yīng)用程序

  C.工具軟件

  D.文字處理軟件

  (6)與十六進(jìn)制數(shù)BB等值的十進(jìn)制數(shù)是

  A.187

  B.188

  C.185

  D.186

  (7)設(shè)一張軟盤已染上病毒,能清除病毒的措施是

  A.刪除該軟盤上的所有文件

  B.格式化該軟盤

  C.刪除該軟盤上的所有可執(zhí)行文件

  C.刪除該軟盤上的所有批處理文件

  (8)一張3.5英寸雙面高密度軟盤片的容量為

  A.360KB

  B.720KB

  C.1.44MB

  D.1.2MB

  (9)與二進(jìn)制小數(shù)0.1等值的十六進(jìn)制小數(shù)為

  A.0.1

  B.0.2

  C.0.4

  D.0.8

  (10)DOS系統(tǒng)的熱啟動(dòng)與冷啟動(dòng)的不同之處為熱啟動(dòng)時(shí)

  A.不檢測(cè)鍵盤、處設(shè)接口與內(nèi)存

  B.不提示用戶輸入日期與時(shí)間

  C.不用裝入COMMAND.COM文件

  D.不能從軟盤啟動(dòng)

  (11)為了將磁盤上的文件K1,K2,K3,依次連接在文件K4的后面,應(yīng)使用命令

  A.COPY K1+K2+K3 K4

  B.COPY K1+K2+K3+K4

  C.COPY K1+K2+K3+K4 K4

  D.COPY K4+K1+K2+K3

  (12)下列文件名中可以作為批處理文件名的是

  A.AUTOEXC.C

  B.AUTOEXEC

  C.ATX.BAT

  D.AUTO.TXT

  (13)要打印輸出當(dāng)前盤的根目錄下所有文件與子目錄清單,應(yīng)使用命令

  A.DIR \ >PRN

  B.TYPE \ >PRN

  C.DIR >PRN

  C.TYPE >PRN

  C.DIR >PRN

  D.TYPE >PRN

  (14)設(shè)可執(zhí)行文件ABC.EXE所需要的本該由鍵盤輸入的數(shù)據(jù)已經(jīng)按格式存放在文件XYZ中,并要求執(zhí)行結(jié)果放在XYZ中輸入數(shù)據(jù)的后面。下列命令中正確的是

  A.ABCXYZ

  B.ABC>XYZ

  C.ABC  D.ABC>>XYZ

  (15)設(shè)當(dāng)前盤中某一目錄路徑為\A\B\C,當(dāng)前目錄為\A。下列命令中肯定出錯(cuò)的是

  A.MD \A\C

  B.CD..

  C.MD \A\B\A

  D.MD \A\B

  (16)設(shè)A盤的目錄結(jié)構(gòu)如下:

  根目錄

  │

  ┌────┬────┬──┴───┬─────┬────┐

  │ │ │ │ │ │

  ABC D1子目錄 DX.C Q.DAT D2子目錄 A.FOR

  │ │

  ┌────┬┴──┬───┐ ┌─────┼────┐

  │ │ │ │ │ │ │

  B.PAS D3子目錄 Y.BAS A.C A1.C D4子目錄 XYZ.C

  │

  ┌───┬──┴─┬───┐

  │ │ │ │

  QR.C NA.C A.TXT B.C

  如果當(dāng)前盤為C盤,A盤的當(dāng)前目錄為\D2,則下列對(duì)A盤上文件QR.C的指定中,合法的是

  A.\D2\D4\QR.C

  B.D4\QR.C

  C.A:D4\QR.C

  D.A:D2\D4\QR.C(17)下列DOS命令中,有錯(cuò)誤的是

  A.TYPE AAB.FOR>CON

  B.TYPE ? AB.FOR

  C.COPY *.C CON

  D.COPY CON PRN

  (18)設(shè)當(dāng)前盤為A盤,為了將當(dāng)前盤當(dāng)前目錄下的文件AB1.TXT連接在C盤根目錄下的文件XYZ.TXT的后面,正確的命令是

  A.COPY C:\XYZ.TXT+AB1.TXT

  B.COPY AB1.TXT>>C:\XYZ.TXT

  C.TYPE AB1.TXT>C:\XYZ.TXT

  D.AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT

  (19)下列命令中合法的是

  A.DISKCOPY A: A:

  B.DISKCOPY A: C:

  C.DISKCOPY C: A:

  D.DISKCOPY C: D:

  (20)設(shè)當(dāng)前盤中某一目錄路徑為\A\B\C\D\XU,當(dāng)前目錄為\A。要將根目錄下擴(kuò)展名為.C的所有文件復(fù)制到當(dāng)前目錄下,并將擴(kuò)展名改為.FOR,應(yīng)使用命令

  A.COPY \*.C *.FOR

  B.COPY *.C \A\*.FOR

  C.COPY *.FOR \*.C

  D.COPY \A\*.C *.FOR

  (21)下列不正確的轉(zhuǎn)義字符是

  A.'\\'

  B.'\"

  C.'074'

  D.'\0'

  (22)若有以下定義:

  char a; int b;

  float c; double d;

  則表達(dá)式a*b+d-c值的類型為

  A.float

  B.int

  C.char

  D.double

  (23)表示關(guān)系x<=y<=z的c語言表達(dá)式為

  A.(X<=Y)&&(Y<=Z)

  B.(X<=Y)AND(Y<=Z)

  C.(X<=Y<=Z)

  D.(X<=Y)&(Y<=Z)

  (24)設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:

  A.765.12<回車>

  B.i=100,f=765.12<回車>

  C.100<回車>765.12<回車>

  D.x=100<回車>y=765.12<回車>

  (29)設(shè)x和y均為int型變量,則執(zhí)行下的循環(huán)后,y值為

  for(y=1,x=1;y<=50;y++)

  { if(x>=10))break;

  if (x%2==1)

  { x+=5; continue;}

  x-=3;

  }

  A.2

  B.4

  C.6

  D.8

  (30)給出以下定義:

  char x[ ]="abcdefg";

  char y[ ]={'a','b','c','d','e','f','g'};

  則正確的敘述為

  A.數(shù)組X和數(shù)組Y等價(jià)

  B.數(shù)組x和數(shù)組Y的長度相同

  C.數(shù)組X的長度大于數(shù)組Y的長度

  D.數(shù)組X的長度小于數(shù)組Y的長度

  (31)以下敘述中不正確的是

  A.在不同的函數(shù)中可以使用相同名字的變量

  B.函數(shù)中的形式參數(shù)是局部變量

  C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

  D.在一個(gè)函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效

  (32)假定a和b為int型變量,則執(zhí)行以下語句后b的值為

  a=1; b=10;

  do

  { b-=a; a++; }

  while (b--<0);

  A.9

  B.-2

  C.-1

  D.8

  (33)設(shè)j為int型變量,則下面for循環(huán)語句的執(zhí)行結(jié)果是

  for( j=10;j>3;j--)

  { if(j%3)j--;

  --j; --j;

  printf("%d ",j);

  }

  A.6 3

  B.7 4

  C.6 2

  D.7 3

  (34)設(shè)有以下宏定義:

  #define N 3

  #define Y(n)( (N+1)*n)

  則執(zhí)行語句:z=2 * (N+Y(5+1));后,z的值為

  A.出錯(cuò)

  B.42

  C.48

  D.54(35)設(shè)P1和P2是指向同一個(gè)int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是

  A.k=*P1+*P2;

  B.p2=k;

  C.P1=P2;

  D.K=*P1 * (*P2);

  (36)設(shè)有如下定義:

  int arr[]={6,7,8,9,10};

  int * ptr;

  則下列程序段的輸出結(jié)果為

  ptr=arr;

  * (ptr+2)+=2;

  printf ("%d,%d\n",*ptr,*(ptr+2));

  A.8,10

  B.6,8

  C.7,9

  D.6,10

  (37)以下程序的輸出結(jié)果是

  main()

  { int i,k,a[10],p[3]:

  K=5;

  for (i=0;i<10;i++)a[i]=i;

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

  for (i=0;i<3;i++)k+=p[i]*2;

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

  }

  A.20

  B.21

  C.22

  D.23

  (38)執(zhí)行以下程序段后,m的值為

  int a[2][3]={ {1,2,3},{4,5,6} };

  int m,*p;

  p=&a[0][0];

  m=(*p)*(*(p+2))*(*(p+4));

  A)15

  B.14

  C.13

  D.12

  (39)有以下程序段

  char arr[]="ABCDE";

  char *ptr;

  for(ptr=arr;ptr

  main()

  { union

  { int k;

  char i[2];

  } *s,a;

  s=&a;

  s->i[0]=0x39; s->i[1]=0x38;

  printf("%x\n",s->k);

  }

  輸出結(jié)果是

  A.3839

  B.3938

  C.380039

  D.390038

  (42)有以下程序

  #include

  main()

  { int a,b,c=246;

  a=c/100%9;

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

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

  B.;

  }

  輸出結(jié)果是

  A.2,1

  B.3,2

  C.4,3

  D.2,-1

  (43)設(shè)有如下定義:

  int (*ptr)*();

  則以下敘述中正確的是

  A.ptr是指向一維組數(shù)的指針變量

  B.ptr是指向int型數(shù)據(jù)的指針變量

  C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

  D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針

  (44)有以下程序

  #include

  struct stu

  { int num;

  char name[10];

  int age;

  };

  void fun(struct stu *p)

  { printf("%s\n",(*p).name); }

  main()

  {

  struct stu students[3]={ {9801,"Zhang",20},

  {9802,"Wang",19},

  {9803,"Zhao",18} };

  fun(students+2);

  }

  輸出結(jié)果是

  A.Zhang

  B.Zhao

  C.Wang

  D.18(45)設(shè)有以下說明和定義:

  typedef union

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

  struct date

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

  DATE max;

  則下列語句的執(zhí)行結(jié)果是

  printf ("%d",sizeof (struct date )+sizeof(max));

  A.26

  B.30

  C.18

  D.8

  (46)有以下程序

  main()

  { char a[]="programming", b[]="language";

  char *p1,*p2;

  int i;

  p1=a; p2=b;

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

  if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));

  }

  輸出結(jié)果是

  A.gm

  B.rg

  C.or

  D.ga

  (47)有以下程序

  viod fun (int a,int b,int

  C.

  { a=456; b=567; c=678;}

  main()

  { int x=10, y=20,z=30;

  fun (x,y,z);

  printf("%d,/%d\n",c,

  D.;

  }

  輸出結(jié)果是

  A.30,20,10

  B.10,20,30

  C.456,567,678

  D.678,567,456

  (48)有以下程序

  int fun(int x,int y,int *cp,int *dp)

  { *cp=x+y; *dp=x-y; }

  main()

  { int a, b, c, d;

  a=30; b=50;

  fun(a,b,&c,&

  D.;

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

  D.;

  }

  輸出結(jié)果是

  A.50,30

  B.30,J50

  C.80,-20

  D.80,20

  (49)有以下程序

  main()

  { int i, j;

  for(j=10;j<11;j++)

  { for(i=9;i=j-1)printf("%d",j);

  }

  }

  輸出結(jié)果是

  A.11

  B.10

  C.9

  D.10 11

  (50)有以下程序

  #include "atdio.h"

  int abc(int u,intv);

  main ()

  { int a=24,b=16,c;

  c=abc(a,

  B.;

  printf('%d\n",

  C.;

  }

  nt abc(int u,int v)

  { int w;

  while(v)

  { w=u%v; u=v; v=w }

  return u;

  }

  輸出結(jié)果是

  A.6

  B.7

  C.8

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

  請(qǐng)將每空的正確答案寫在答題卡【1】-【20】序號(hào)的橫線上,答在試卷上不得分.

  (1) 自動(dòng)批自理文件名為【1】 。

  (2) DOS命令分為內(nèi)部命令與外部命令,COMP命令屬于【2】命令。

  (3) 設(shè)當(dāng)前為C盤,現(xiàn)要用一條DOS命令在打印機(jī)上輸出A盤當(dāng)前目錄下所有擴(kuò)展名為.DAT的文件內(nèi)容。這一條DOS命令應(yīng)為【3】 。

  (4) 要將當(dāng)前盤當(dāng)前目錄下的子目錄XYZ中所有擴(kuò)展名為.BAK 的文件名改成擴(kuò)展名為.FOR,應(yīng)使用的DOS命令為【4】 。

  (5) 設(shè)DOS外部命令文件所在的路徑均已用PATH命令打通,F(xiàn)要將當(dāng)前盤當(dāng)前目錄下的文件WST.TXT設(shè)置為只讀屬性,應(yīng)使用的DOS命令為【5】 。

  (6) 設(shè)x和y均為int型變量,且x=1,y=2,則以下表達(dá)式的值為【6】 。

  1.0+x/y

  (7) 設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為【7】 。

  for(i=0,j=10;i<=j;i++,j--)

  k=i+j;

  (8) 設(shè)有以下定義的語句:

  int a[3][2]={10,20,30,40,50,60}, (*p)[2];

  p=a;

  則 *(*(p+2)+1)值為【8】 。

  (9) 以下程序的輸出結(jié)果是【9】 。

  #include

  int fun(int x,int y)

  { static int m=0,i=2;

  i+=m+1;

  m=i+x+y;

  return m

  }

  main()

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

  k=fun(j,m); printf("%d,",k);

  k=fun(j,m); printf("%d\n",k);

  }

  (10) 函數(shù)fun的功能是:使一個(gè)字符串按逆序存放,請(qǐng)?zhí)羁?/p>

  void fun (char str[])

  { char m; int i,j;

  for(i=0,j=strlen(str);i<【10】;i++,j--)

  { m=str[i];

  str[i]=【11】;

  str[j-1]=m;

  }

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

  }

  (11) 以下程序的功能是:從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串,請(qǐng)?zhí)羁铡?/p>

  #include"ctype.h"

  #include"stdio.h"

  main()

  { char str[81],*sptr;

  int i;

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

  { str[i]=getchar();

  if(str[i]=='\n') break;

  }

  str[i]=【12】;

  sptr=str;

  while(*sptr) putchar(*sptr【13】);

  }

  (12) 以下程序用來對(duì)從鍵盤上輸入的兩個(gè)字符串進(jìn)行比較,然后輸出兩個(gè)字符串中第一個(gè)不相同字符的ASCII碼之差。例如:輸入的兩個(gè)字符串分別為abcdef和abceef,則輸出為-1。請(qǐng)?zhí)羁铡?/p>

  #include

  main()

  { char str[100],str2[100],c;

  int i,s;

  printf("\n input string 1:\n"); gest(str1);

  printf("\n input string 2:\n"); gest(str2);

  i=0;

  while((strl[i]==str2[i]&&(str1[i]!=【14】))

  i++;

  s=【15】;

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

  }(13) 以下程序的功能是:從鍵盤上輸入一個(gè)字符串, 把該字符串中的小寫字母轉(zhuǎn)換為大寫字母,輸出到文件test.txt中,然后從該文件讀出字符串并顯示出來。請(qǐng)?zhí)羁铡?/p>

  #include

  main()

  { FILE *fp;

  char str[100]; int i=0;

  if((fp=fopen("text.txt",【16】))==NULL)

  { printf("can't open this file.\n");exit(0);}

  printf("input astring:\n"); gest(str);

  while (str[i])

  { if(str[i]>='a'&&str[i]<='z')

  str[i]=【17】;

  fputc(str[i],fp);

  i++;

  }

  fclose(fp);

  fp=fopen("test.txt",【18】);

  fgets(str,100,fp);

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

  fclose(fp);

  }

  (14) 以下程序可以把從鍵盤上輸入的十進(jìn)制數(shù)(long型)以二到十六進(jìn)制形式輸出,請(qǐng)?zhí)羁铡?/p>

  #include.

  main()

  { char b[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C'

  ,'D','E','F'};

  int c[64],d,i=0,base;

  long n;

  printf("enter a number:\n"); scanf("%ld",&n);

  printf("enter new base:\n"); scanf("%d",&base);

  do

  { c[i]=【19】;

  i++; n=n/base;

  } while(n!=0);

  printf("transmite new base:\n");

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

  { d=c[i];

  printf("%c",b【20】;

  }

  }

  參考答案

  一、選擇題((1)-(40)題每題1分;(41)-(50)題每題2分)

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

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

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

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

  (41)A (42)A (43)C (44)B (45)B (46)D (47)A (48)C (49)B (50)C

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

  (1)至(5)題中所有字母都允許大,小寫或大小寫混合

  (1) 【1】AUTOEXEC.BAT

  (2) 【2】外部(答 外部命令不扣分)

  (3) 【3】COPY A:*.DAT PRN

  (在 COPY 后面與A:*.DAT后面都至少要有一個(gè)空格)

  (4) 【4】RENXYZ\*.BAK *.FOR 或RENAME XYZ\*.BAK*.FOR

  (在REN 或RENAME 后面與XYZ\*.BAK 后面都至少要有一個(gè)空格)

  (5) 【5】ATTRIB+R WST.TXT

  (在ATTRIB 后面與+R后面都至少有一個(gè)空格)或ATTRIB WST.TXT+R(在ATTRIB后面與WST.TXT后面都至少要有一個(gè)空格)

  (6) 【6】1.0或1

  (7) 【7】10

  (8) 【8】60

  (9) 【9】8,17

  (10) 【10】 strlen(str )/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1

  【11】 str[j-1]或*(str+j-1)

  (11) 【12】 '\0' 或0

  【13】 ++

  (12) 【14】 '\0'或0

  【15】 strl[i]-str2[i]

  (13) 【16】 "w"或"w+"或"wt"或"w+t"或"""wt+"

  【17】 str[i]-32 或str[i]-('a'-'A'或str[i]-'a'+'A'

  【18】 "r"或"r+"或"r+t"或"rt+"

  (14) 【19】 nºse

  【20】 [d]

【最新C語言考題帶答案】相關(guān)文章:

C語言程序基礎(chǔ)練習(xí)題帶答案09-26

C語言試題及答案07-26

C語言經(jīng)典例題及答案06-19

C語言新增無紙化真考題練習(xí)06-23

C語言模擬試題及答案09-19

C語言中參數(shù)的傳值問題考題08-22

最新C語言考試強(qiáng)化訓(xùn)練題及答案07-22

最新C語言知識(shí)輔導(dǎo)練習(xí)題及答案10-23

C語言測(cè)試試題及答案08-02

C語言考前練習(xí)試題及答案09-16