av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

試題

全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言上機(jī)題庫(kù)附答案

時(shí)間:2025-02-11 03:11:26 試題 我要投稿
  • 相關(guān)推薦

2015全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言上機(jī)題庫(kù)(附答案)

  一、選擇題(每小題1分,共40小題,共40分)

  1.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35,F(xiàn)經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為( )。

  A.20

  B.0或35

  C.15

  D.16

  2.下列關(guān)于棧的敘述中,正確的是( )。

  A.棧底元素一定是最后入棧的元素

  B.棧操作遵循先進(jìn)后出的原則

  C.棧頂元素一定是最先入棧的元素

  D.以上三種說(shuō)法都不對(duì)

  3.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是( )0、

  A.雙向鏈表

  B.帶鏈的棧

  C.二叉鏈表

  D.循環(huán)鏈表

  4.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是( )。

  A.網(wǎng)狀結(jié)構(gòu)

  B.樹(shù)狀結(jié)構(gòu)

  C.屬性

  D.二維表

  5.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是( )。

  A.1:m聯(lián)系

  B.m:n聯(lián)系

  C.1:1聯(lián)系

  D.m:l聯(lián)系

  6.右兩個(gè)關(guān)系R和S如下:

  則由關(guān)系R得到關(guān)系S的操作是( )。

  A.自然連接

  B.并

  C.選擇

  D.投影

  7.數(shù)據(jù)字典(DD)所定義的對(duì)象都包含于( )。

  A.軟件結(jié)構(gòu)圖

  B.方框圖

  C.數(shù)據(jù)流圖(DFD圖)

  D.程序流程圖

  8.軟件需求規(guī)格說(shuō)明書的作用不包括( )。

  A.軟件設(shè)計(jì)的依據(jù)

  B.軟件可行性研究的依據(jù)

  C.軟件驗(yàn)收的依據(jù)

  D.用戶與開(kāi)發(fā)人員對(duì)軟件要做什么的共同理解

  9.下面屬于黑盒測(cè)試方法的是( )。

  A.邊界值分析

  B.路徑覆蓋

  C.語(yǔ)句覆蓋

  D.邏輯覆蓋

  10.下面不屬于軟件設(shè)計(jì)階段任務(wù)的是( )。

  A.制訂軟件確認(rèn)測(cè)試計(jì)劃

  B.數(shù)據(jù)庫(kù)設(shè)計(jì)

  C.軟件總體設(shè)計(jì)

  D.算法設(shè)計(jì)

  11.以下敘述中正確的是( )。

  A.在C語(yǔ)言程序中,main函數(shù)必須放在其他函數(shù)的最前面

  B.每個(gè)后綴為C的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯

  C.在C語(yǔ)言程序中,只有main函數(shù)才可單獨(dú)進(jìn)行編譯

  D.每個(gè)后綴為.C的C語(yǔ)言源程序都應(yīng)該包含一個(gè)main函數(shù)

  12.C語(yǔ)言中的標(biāo)識(shí)符分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符,以下敘述正確的是( )。

  A.預(yù)定義標(biāo)識(shí)符(如庫(kù)函數(shù)中的函數(shù)名)可用做用戶標(biāo)識(shí)符,但失去原有含義

  B.用戶標(biāo)識(shí)符可以由字母和數(shù)字任意順序組成

  C.在標(biāo)識(shí)符中大寫字母和小寫字母被認(rèn)為是相同的字符

  D.關(guān)鍵字可用做用戶標(biāo)識(shí)符,但失去原有含義

  13.以下選項(xiàng)中表示一個(gè)合法的常量是(說(shuō)明:符號(hào)口表示空格)( )。

  A.9口9口9

  B.0Xab

  C.123E0.2

  D.2.7e

  14.C語(yǔ)言主要是借助以下哪個(gè)功能來(lái)實(shí)現(xiàn)程序模塊化?( )

  A.定義函數(shù)

  B.定義常量和外部變量

  C.三種基本結(jié)構(gòu)語(yǔ)句

  D.豐富的數(shù)據(jù)類型

  15.以下敘述中錯(cuò)誤的是( )。

  A.非零的數(shù)值型常量有正值和負(fù)值的區(qū)分

  B.常量是在程序運(yùn)行過(guò)程中值不能被改變的量

  C.定義符號(hào)常量必須用類型名來(lái)設(shè)定常量的類型

  D.用符號(hào)名表示的常量叫符號(hào)常量

  16.若有定義和語(yǔ)句:int a,b;scanf("%d,%d",&a,&b);以下選項(xiàng)中的輸人數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是( )。

  A.3,5,

  B.3,5,4

  C.3,5

  D.3,5

  17.C語(yǔ)言中char類型數(shù)據(jù)占字節(jié)數(shù)為( )。

  A.3

  B.4

  C.1

  D.2

  18.下列關(guān)系表達(dá)式中,結(jié)果為“假”的是( )。

  A.(3+4)>6

  B.(3!=4)>2

  C.3<=4‖3

  D.(3<4)=1

  19.若以下選項(xiàng)中的變量全部為整型變量,且已正確定義并賦值,則語(yǔ)法正確的switch語(yǔ)句是( )。

  A.switch(a+9)

  {case cl:y=a-b;

  case c2:y=a+b;

  }

  B.switch a*b

  {case l0:x=a+b;

  default:y=a-b;

  }

  C.switch(a+b)

  {casel:case3:y=a+b;break;

  case0:case4:y=a-b;

  }

  D.switch(a*a+b*b)

  {default:break;

  case 3:y=a+b;break;

  case 2:y=a-b;break;

  }

  20.有以下程序:

  #include

  main()

  { int a=-2,b=0;

  while(a++&&++b);

  printf("%d,%d\n",a,b);

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.1,3

  B.0,2

  C.0,3

  D.1,2

  21.設(shè)有定義:int x=o,* P;,立刻執(zhí)行以下語(yǔ)句,正確的語(yǔ)句是( )。

  A.p=x;

  B.* p=x;

  C.D=NULL;

  D.* p=NULL;

  22.下列敘述中正確的是( )。

  A.可以用關(guān)系運(yùn)算符比較字符串的大小

  B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0

  C.兩個(gè)連續(xù)的單引號(hào)是合法的字符常量

  D.兩個(gè)連續(xù)的雙引號(hào)是合法的字符串常量

  23.有以下程序:

  #include

  main()

  { rhar a=’H’;

  a=(a>=’A’&&a<=’2’)?(a-’A’+’a’):a;

  printf("%c\n",a);

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.A

  B.a

  C.H

  D.h

  24.有以下程序:

  #include

  int f(int x);

  main()

  { int a,b=0;

  for(a=0;a<3;a++)

  {b=b+f(a);putchar(’A’+b);}

  }

  int f(int x)

  { return x * xl; }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.ABE B.BDI C.BCF D.BCD

  25.設(shè)有定義:int x[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是( )。

  A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組

  B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量

  C.數(shù)組X包含6個(gè)元素

  D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0

  26.設(shè)變量P是指針變量,語(yǔ)句P=NULL;是給指針變量賦NULL值,它等價(jià)于( )。

  A.p="";

  B.p="0";

  C.p=0;

  D.p=";

  27.有以下程序:

  #include

  main()

  {int a[]={10,20,30,40},*p=a,j;

  for(i=0;i<=3;i++){a[i]=*P;p++;}

  printf("oAd\n",a[2]);

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.30

  B.40

  C.10

  D.20

  28.有以下程序:

  #include

  #define N 3

  void fun(int a[][N],int b[])

  { int i,j;

  for(i=0;i

  for(j=i;j

  }

  main()

  {int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;

  fun(x,y);

  for(i=0;i

  }

  程序運(yùn)行后的輸出結(jié)果是(,)。

  A.2,4,8,

  B.3,6,9,

  C.3,5,7,

  D.1,3,5,

  29.有以下程序(strcpy為字符串復(fù)制函數(shù),strcat為字符串連接函數(shù)):

  #include

  #include

  main()

  {char a[10]="abc",b[10]="012",c[10]="xyz";

  strcpy(a+1,b+2);

  puts(strcat(a,c+1));

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.al2xyz

  B.12yz

  C.a2yz

  D.bc2yz

  30.以下選項(xiàng)中,合法的是( )。

  A.char str3[]={’d’,’e’,’b’,’u’,’g’,’\0’};

  B.char str4;str4="hello world";

  C.char name[10];name="china";

  D.char strl[5]="pass",str2[6];str2=strl;

  31.有以下程序:

  #include

  main()

  { char*s="[2]34";int k=0,a=0;

  whil(s[k+1]!=’\o’)

  { k++;

  if(k%2=o){a=a+(s[k]-’0’+1);continue; }

  a=a+(s[k]-’0’);

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

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.k=6 a=11

  B.k=3 a=14

  C.k=4 a=12

  D.k=5 a=15

  32.有以下程序:

  #include

  main()

  {char a[5][10]={"one","tw0","three","four","five"};

  int i,j;

  char t: 、

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

  for(j=i+1;j<5;j++)

  if(a[i][O]>a[j][0])

  {t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;)

  puts(a[1]);

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.fwo

  B.fix

  C.two

  D.owo

  33.有以下程序:

  #include

  int a=1,b=2:

  void funl(int a,int b)

  {printf( "%d%d",a,b); }

  void fun2()

  { a=3;b=4; }

  main()

  { funl(5,6);fun2();

  printf("%d%d\n",a,b);

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.1 2 5 6

  B.5 6 3 4

  C.5 6 1 2

  D.3 4 5 6

  34.有以下程序:

  #include

  void func(int n)

  { static int num=1);

  num=num+n;printf("%d",num);

  }

  main()

  {funo(3);func(4);printf("n"); }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.4 8

  B.3 4

  C.3 5

  D.4 5

  35.有以下程序:

  #include

  #include

  void fun(int*pl,int*p2,int*s)

  { s=(int*)malloc(sizeof(int));

  *s=*pl+*p2;

  free(s);

  }

  main()

  {int a=1,b=40,*q=&a;

  fun(&a,&b,q);

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

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.42

  B.0

  C.1

  D.41

  36.有以下程序:

  #include

  struct STU{char name[9];char sex;int score[2];};

  void f(struct STU a[])

  { struct STU b={"Zhao",’m’,85,90);

  a[1]=b;

  }

  main()

  {struct STU c[2]={{"Qian",’f’,95,92},{"Sun",’m’ 98,99}};

  f(c);

  printf(”%s,%c,%d,%d,¨,c[o].name,c[o].sex,c[o].score[o],c[o].score[1]);

  printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[o],c[1].score

  [1]);

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.Zhao,m,85,90,Sun,m,98,99

  B.Zhao,m,85,90,Qian,f,95,92

  C.Qian,f,95,92,Sun,m,98,99

  D.Qian,f,95,92,Zhao,m,85,90

  37.以下敘述中錯(cuò)誤的是( )。

  A.可以用typedef說(shuō)明的新類型名來(lái)定義變量

  B.typedef說(shuō)明的新類型名必須使用大寫字母,否則會(huì)出編譯錯(cuò)誤

  C.用typedef可以為基本數(shù)據(jù)類型說(shuō)明一個(gè)新名稱

  D.用typedef說(shuō)明新類型的作用是用一個(gè)新的標(biāo)識(shí)符來(lái)代表已存在的類型名

  38.以下敘述中錯(cuò)誤的是( )。

  A.函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡(jiǎn)單類型

  B.函數(shù)可以返回指向結(jié)構(gòu)體變量的指針

  C.可以通過(guò)指向結(jié)構(gòu)體變量的指針訪問(wèn)所指結(jié)構(gòu)體變量的任何成員

  D.只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值

  39.若有定義語(yǔ)句int b=2;,則表達(dá)式(b<<2)/(3‖b)的值是( )。

  A.4

  B.8

  C.0

  D.2

  40.有以下程序:

  #include

  main()

  { FILE*fp; int i,a[6]={1,2,3,4,5,6};

  fp=fopen("d2.dat","w+");

  for=(i=o;i<6;,i++)fpintf(fp,"%d\n",a[i]);

  rewind(fp);

  for(i=0;i%6;i++)fscanf(fp,"%d",&a[5-i]);

  fclose(fp);

  for(i=0;i%6;i++)printf("%d,",a[i]);

  }

  程序運(yùn)行后的輸出結(jié)果是( )。

  A.4,5,6,1,2,3,

  B.1,2,3,3,2,1,

  C.1,2,3,4,5,6,

  D.6,5,4,3,2,1,

  二、基本操作題(共18分)

  str是一個(gè)由數(shù)字和字母字符組成的字符串,由變量num傳人字符串長(zhǎng)度。請(qǐng)補(bǔ)充函數(shù)proc(),該函數(shù)的功能是:把字符串str中的數(shù)字字符轉(zhuǎn)換成數(shù)字并存放到整型數(shù)組bb中,函數(shù)返回?cái)?shù)組bb的長(zhǎng)度。

  例如,str="abcl23de45f967",結(jié)果為:l234567。

  注意:部分源程序給出如下。

  請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達(dá)式或語(yǔ)句。

  試題程序:

  #include

  #define M 80

  int bb[M];

  int proc(char str[],int bb[],int num)

  {

  int i,n=0;

  for(i=0;i

  if( 【1】 )

  {

  bb[n]=【2】 ;

  n++;

  }

  }

  return 【3】 ;

  }

  void main()

  {

  char str[M];

  int num=0,n,i;

  printf("Enter a string:\n");

  gets(str);

  while(str[num])

  num++:

  n=proc(str,bb,num);

  printf("\nbb=");

  for(i=0;i

  }

  三、程序改錯(cuò)題(共24分)

  下列給定程序中,函數(shù)proc()的功能是:讀入一個(gè)字符串(長(zhǎng)度<20),將該字符串中的所有字符按ASCIl碼升序排序后輸出。

  例如,輸入opdye,則應(yīng)輸出deopy。

  請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。

  注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

  試題程序:

  #include%string.h>

  #include%stdlib.h>

  #include

  #include

  //****found****

  int proc(char str[])

  {

  char C;

  unsigned i,j;

  for(i=0;i

  {

  c=str[j]:

  //****found****

  str[j]=str[i++];

  str[i]=C;

  }

  }

  void main()

  {

  char st/[81];

  system("CLS");

  printf("\nPlease enter a character

  string:");

  gets(str);

  printf("\nknBefore sorting:\n %s",str);

  proc(str);

  printf("\nAfter sorting decendingly:\n

  %S",str);

  }

  四、程序設(shè)計(jì)題(共18分)

  請(qǐng)編寫函數(shù)proc(),它的功能是計(jì)算:s=(In(1)4+ln(2)4+ln(3)+…+In(m))0.5

  在C語(yǔ)言中可調(diào)用log(n)函數(shù)求ln(n)。

  例如,若m的值為30,則proc()函數(shù)值為8.640500。

  注意:部分源程序給出如下。

  請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫的若干語(yǔ)句。

  試題程序:

  #include

  #include

  #inclllde

  #include

  double proc(int m)

  {

  }

  void main()

  {

  system("CLS");

  printf("%f\n",proc(30));

  }

  【參考答案及專家詳解】

  一、選擇題

  1.C!窘馕觥繑(shù)據(jù)的邏輯結(jié)構(gòu)是描述數(shù)據(jù)之間的關(guān)系,分兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。線性結(jié)構(gòu)是n個(gè)數(shù)據(jù)元素的有序(次序)集合,指的是數(shù)據(jù)元素之間存在著“一對(duì)一”的線性關(guān)系的數(shù)據(jù)結(jié)構(gòu)。常用的線性結(jié)構(gòu)有:線性表,棧,隊(duì)列,雙隊(duì)列,數(shù)組,串。非線性結(jié)構(gòu)的邏輯特征是一個(gè)結(jié)點(diǎn)元素可能對(duì)應(yīng)多個(gè)直接前驅(qū)和多個(gè)后驅(qū)。常見(jiàn)的非線性結(jié)構(gòu)有:樹(shù)(二叉樹(shù)等),圖(網(wǎng)等),廣義表。

  2.B。【解析】Q(1:35)則隊(duì)列的存儲(chǔ)空間為35;對(duì)空條件:front=rear(初始化時(shí):front=rear),隊(duì)滿時(shí):(rear+1)%n= =front,n為隊(duì)列長(zhǎng)度(所用數(shù)組大小),因此當(dāng)執(zhí)行一系列的出隊(duì)與入隊(duì)操作,front=rear.則隊(duì)列要么為空,要么為滿。

  3.B!窘馕觥織J窍冗M(jìn)后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的元素。

  4.D!窘馕觥繂我坏臄(shù)據(jù)結(jié)構(gòu)——關(guān)系,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示。數(shù)據(jù)的邏輯結(jié)構(gòu)——二維表,從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。但是關(guān)系模型的這種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語(yǔ)義,描述出現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種關(guān)系。

  5.A!窘馕觥坎块T到職員是一對(duì)多的,職員到部門是多對(duì)一的,因此,實(shí)體部門和職員間的聯(lián)系是l:m聯(lián)系。

  6.C。【解析】選擇:是在數(shù)據(jù)表中給予一定的條件進(jìn)行篩選數(shù)據(jù)。投影:是把表中的某幾個(gè)屬性的數(shù)據(jù)選擇出來(lái)。連接:有自然連接、外連接,內(nèi)連接等,連接主要用于多表之間的數(shù)據(jù)查詢。并:與數(shù)學(xué)中的并是一樣的。兩張表進(jìn)行并操作,要求它們的屬性個(gè)數(shù)相同并且需要相容。

  7.C!窘馕觥繑(shù)據(jù)字典(DD)是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明。

  8.B!窘馕觥俊盾浖尚行苑治鰣(bào)告》是軟件可行性研究的依據(jù)。

  9.A。【解析】黑盒測(cè)試方法主要有等價(jià)類劃分、邊界值分析、因果圖、錯(cuò)誤推測(cè)等。白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、路徑測(cè)試等,主要用于軟件驗(yàn)證。

  10.A!窘馕觥寇浖O(shè)計(jì)階段的主要任務(wù)包括丙個(gè):一是進(jìn)行軟件系統(tǒng)的可行性分析,確定軟件系統(tǒng)的建設(shè)是否值得,能否建成。二是進(jìn)行軟件的系統(tǒng)分析,了解用戶的需求,定義應(yīng)用功能,詳細(xì)估算開(kāi)發(fā)成本和開(kāi)發(fā)周期。

  11.B。【解析】C語(yǔ)言是一種成功的系統(tǒng)描述語(yǔ)言,具有良好的移植性,每個(gè)后綴為.C的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯。

  12.A!窘馕觥坑脩魳(biāo)識(shí)符不能以數(shù)字開(kāi)頭,C語(yǔ)言中標(biāo)識(shí)符是區(qū)分大小寫的,關(guān)鍵字不能用做用戶標(biāo)識(shí)符。

  13.B!窘馕觥慨(dāng)用指數(shù)形式表示浮點(diǎn)數(shù)據(jù)時(shí),E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。

  14.A!窘馕觥緾語(yǔ)言是由函數(shù)組成的,函數(shù)是C語(yǔ)言的基本單位。所以可以說(shuō)C語(yǔ)言主要是借助定義函數(shù)來(lái)實(shí)現(xiàn)程序模塊化。

  15.C!窘馕觥吭贑語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)常量,稱之為符號(hào)常量。符號(hào)常量在使用之前必須先定義,其一般形式為:#define標(biāo)識(shí)符常量。

  16.C!窘馕觥吭谳斎3和5之間除逗號(hào)外不能有其他字符。

  17.C!窘馕觥緾har類型數(shù)據(jù)占1個(gè)字節(jié)。

  18.B!窘馕觥吭谝粋(gè)表達(dá)式中,括號(hào)的優(yōu)先級(jí)高,先計(jì)算3 !=4,為真即是l,1>2為假。

  19.D。【解析】選項(xiàng)A,當(dāng)cl和c2相等時(shí),不成立;選項(xiàng)B,a*b要用括號(hào)括起來(lái);選項(xiàng)C,case與后面的數(shù)字用空格隔開(kāi)。

  20.D!窘馕觥枯敵龅慕Y(jié)果是:-1,1 0,2 1,2

  21.C。【解析】如果沒(méi)有把P指向一個(gè)指定的值,*P是不能被賦值的。定義指針變量不賦初始值時(shí)默認(rèn)為null。

  22.D!窘馕觥勘容^兩個(gè)字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個(gè)雙引號(hào)表示的是空字符串。

  23.D。【解析】多元運(yùn)算符問(wèn)號(hào)前面表達(dá)式為真,所以(a-’A’+’a’)賦值給a,括號(hào)里的運(yùn)算是把大寫字母變成小寫字母,所以答案應(yīng)為選項(xiàng)D。

  24.B!窘馕觥康谝淮窝h(huán)時(shí),b=1,輸出結(jié)果為B;

  第二次循環(huán)時(shí),b=3,輸出結(jié)果為D;

  第三次循環(huán)時(shí),b=8,輸出結(jié)果為I。

  25.D。【解析】x[0]是不能賦值的。

  26.C!窘馕觥吭贑語(yǔ)言中null等價(jià)于數(shù)字0。

  27.A!窘馕觥縁or循環(huán)結(jié)束后,數(shù)組a的值并沒(méi)有變化,由于數(shù)組是由0開(kāi)始,所以a[2]的值是30。

  28.B。【解析】Fun函數(shù)功能是把數(shù)組a的每一行的最大值賦給b,a的第一行的最大值是3,第二行的最大值是6,第三行的最大值是9,所以答案是3,6,9。

  29.C。【解析】第一次執(zhí)行字符串的復(fù)制函數(shù)a的值是a2,第二次執(zhí)行的是字符串的連接函數(shù),所以運(yùn)行結(jié)果為a2yz。

  30.A。【解析】選項(xiàng)B不能把一個(gè)字符串賦值給一個(gè)字符變量,選項(xiàng)c和D犯了同樣的錯(cuò)誤是把字符串賦給了數(shù)組名。

  31.C。【解析】輸出結(jié)果:k=1 a=2

  k=2 a=4

  k=3 a=7

  k=4 a=12

  32.A。【解析】For循環(huán)完成的功能是把二維數(shù)組a的第一列的字母按從小到大排序,其他列的字母不變。

  33.B。【解析】Funl是輸出局部變量的值,fun2是把全局變量的值改成3和4,所以輸出的結(jié)果是5634。

  34.A。【解析】第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是4 8。

  35.C!窘馕觥縁un函數(shù)功能是新開(kāi)辟內(nèi)存空間存放a和b的地址,q的地址并沒(méi)有變化,所以應(yīng)該還是指向地址a。

  36.D!窘馕觥縁函數(shù)是為結(jié)構(gòu)體數(shù)組的第二個(gè)數(shù)賦值,數(shù)組的第一個(gè)數(shù)沒(méi)有變化,所以正確答案應(yīng)選D。

  37.B。【解析】用typedef說(shuō)明的類型不是必須用大寫,而是習(xí)慣上用大寫。

  38.A!窘馕觥亢瘮(shù)返回值類型可以是簡(jiǎn)單類型和結(jié)構(gòu)體類型。

  39.B!窘馕觥2的二進(jìn)制數(shù)為010,移兩位后的二進(jìn)制數(shù)為01000,轉(zhuǎn)成十制數(shù)為8,(3||2)為真即1,8/ 1=8,所以結(jié)果為8。

  40.D!窘馕觥窟@個(gè)是對(duì)文件的操作,把數(shù)組的數(shù)寫到文件里,然后再?gòu)奈募锏剐蜃x出。所以輸出結(jié)果為6,5,4,3,2,1。

  二、基本操作題程序填空題

  【1】str[i]>=’0’&&str[i]<=’9’【2】str[i]-’O’【3】n

  【解析】題目中要求把字符串str中的數(shù)字字符轉(zhuǎn)換成數(shù)字并存放到整型數(shù)組bb中。首先,應(yīng)判斷字符串str中每個(gè)字符是否是數(shù)字字符。因此,【1】處填“str[i]>=’0’&&str[i]<=’9’”將每一個(gè)數(shù)字字符轉(zhuǎn)化為數(shù)字放在整型數(shù)組bb中,因此,【2】處填“str[i]-’0’;由函數(shù)proc()可知,變量n中存放整型數(shù)組bb中的元素個(gè)數(shù),最后要返回到主函數(shù)當(dāng)中,因此,【3】處填’n’。

  三、程序改錯(cuò)題

  (1)錯(cuò)誤:int proc(char str[])

  正確:void proc(char str[])

  (2)錯(cuò)誤:str[j]=str[i++];

  正確:str[j]=str[i];

  【解析】由主函數(shù)中的函數(shù)調(diào)用可知,函數(shù)proc()沒(méi)有返回值。因此,“int proc(char str[])”應(yīng)改為“void proc(char str[])”;由函數(shù)proc()可知,if語(yǔ)句塊完成將字符串str中的第i個(gè)元素與第j個(gè)元素相交換。因此,“str[j]=str[i++];”應(yīng)改為“str[j]=str[i];”。

  四、程序設(shè)計(jì)題

  double proc(int m)

  {

  int i;

  double s=0.0; //s是表示其和

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

  s=s+log(i); //計(jì)算s=ln(1)+ln(2)+ln(3)+…+ln(m)

  return sqrt(s); //最后將其開(kāi)平方的值返回到主函數(shù)中

  }

  【解析】由題目中所給表達(dá)式可知,表達(dá)式的值為m項(xiàng)表達(dá)式的和然后開(kāi)平方?梢允紫韧ㄟ^(guò)m次循環(huán)求得m項(xiàng)表達(dá)式的和,然后將其和開(kāi)平方并返回到主函數(shù)當(dāng)中。

【全國(guó)計(jì)算機(jī)二級(jí)c語(yǔ)言上機(jī)題庫(kù)附答案】相關(guān)文章:

2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案08-07

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言上機(jī)題庫(kù)10-28

全國(guó)計(jì)算機(jī)二級(jí)《C++》上機(jī)試題附答案09-16

2024二級(jí)c語(yǔ)言上機(jī)題庫(kù)04-18

2015計(jì)算機(jī)二級(jí)c語(yǔ)言上機(jī)題庫(kù)06-19

2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)測(cè)試題附答案10-24

2016年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)11-07

2016計(jì)算機(jī)二級(jí)C語(yǔ)言題庫(kù)及答案10-14

全國(guó)計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-15