奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

C語言

計算機二級C語言上機沖刺試題及答案

時間:2024-08-29 10:53:34 C語言 我要投稿
  • 相關推薦

計算機二級C語言上機沖刺試題及答案

  下面是應屆畢業生考試網小編為大家整理的計算機二級C語言考試上機沖刺試題及答案,希望對大家有所幫助,祝大家考試成功。。

計算機二級C語言上機沖刺試題及答案

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

  1.下列鏈表中,其邏輯結構屬于非線性結構的是( )0、

  A.雙向鏈表

  B.帶鏈的棧

  C.二叉鏈表

  D.循環鏈表

  2.設循環隊列的存儲空間為Q(1:35),初始狀態為front=rear=35。現經過一系列入隊與退隊運算后,front=15,rear=15,則循環隊列中的元素個數為( )。

  A.20

  B.0或35

  C.15

  D.16

  3.下列關于棧的敘述中,正確的是( )。

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

  B.棧操作遵循先進后出的原則

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

  D.以上三種說法都不對

  4.在關系數據庫中,用來表示實體間聯系的是( )。

  A.網狀結構

  B.樹狀結構

  C.屬性

  D.二維表

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

  A.1:m聯系

  B.m:n聯系

  C.1:1聯系

  D.m:l聯系

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

  A.軟件結構圖

  B.方框圖

  C.數據流圖(DFD圖)

  D.程序流程圖

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

  A.軟件設計的依據

  B.軟件可行性研究的依據

  C.軟件驗收的依據

  D.用戶與開發人員對軟件要做什么的共同理解

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

  A.邊界值分析

  B.路徑覆蓋

  C.語句覆蓋

  D.邏輯覆蓋

  10.下面不屬于軟件設計階段任務的是( )。

  A.制訂軟件確認測試計劃

  B.數據庫設計

  C.軟件總體設計

  D.算法設計

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

  A.在C語言程序中,main函數必須放在其他函數的最前面

  B.每個后綴為C的C語言源程序都可以單獨進行編譯

  C.在C語言程序中,只有main函數才可單獨進行編譯

  D.每個后綴為.C的C語言源程序都應該包含一個main函數

  12.C語言中的標識符分為關鍵字、預定義標識符和用戶標識符,以下敘述正確的是( )。

  A.預定義標識符(如庫函數中的函數名)可用做用戶標識符,但失去原有含義

  B.用戶標識符可以由字母和數字任意順序組成

  C.在標識符中大寫字母和小寫字母被認為是相同的字符

  D.關鍵字可用做用戶標識符,但失去原有含義

  13.以下選項中表示一個合法的常量是(說明:符號口表示空格)( )。

  A.9口9口9

  B.0Xab

  C.123E0.2

  D.2.7e

  14.C語言主要是借助以下哪個功能來實現程序模塊化?( )

  A.定義函數

  B.定義常量和外部變量

  C.三種基本結構語句

  D.豐富的數據類型

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

  A.非零的數值型常量有正值和負值的區分

  B.常量是在程序運行過程中值不能被改變的量

  C.定義符號常量必須用類型名來設定常量的類型

  D.用符號名表示的常量叫符號常量

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

  A.3,5,

  B.3,5,4

  C.3,5

  D.3,5

  17.C語言中char類型數據占字節數為( )。

  A.3

  B.4

  C.1

  D.2

  18.下列關系表達式中,結果為“假”的是( )。

  A.(3+4)>6

  B.(3!=4)>2

  C.3<=4‖3

  D.(3<4)=1

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

  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);

  }

  程序運行后的輸出結果是( )。

  A.1,3

  B.0,2

  C.0,3

  D.1,2

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

  A.p=x;

  B.* p=x;

  C.D=NULL;

  D.* p=NULL;

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

  A.可以用關系運算符比較字符串的大小

  B.空字符串不占用內存,其內存空間大小是0

  C.兩個連續的單引號是合法的字符常量

  D.兩個連續的雙引號是合法的字符串常量

  23.有以下程序:

  #include

  main()

  { rhar a=’H’;

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

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

  }

  程序運行后的輸出結果是( )。

  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; }

  程序運行后的輸出結果是( )。

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

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

  A.x[0]可看做是由3個整型元素組成的一維數組

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

  C.數組X包含6個元素

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

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

  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]);

  }

  程序運行后的輸出結果是( )。

  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 { b[i]=a[i][0];

  for(j=i;j if(b[i] }

  }

  main()

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

  fun(x,y);

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

  }

  程序運行后的輸出結果是(,)。

  A.2,4,8,

  B.3,6,9,

  C.3,5,7,

  D.1,3,5,

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

  #include

  #include

  main()

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

  strcpy(a+1,b+2);

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

  }

  程序運行后的輸出結果是( )。

  A.al2xyz

  B.12yz

  C.a2yz

  D.bc2yz

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

  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);

  }

  程序運行后的輸出結果是( )。

  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]);

  }

  程序運行后的輸出結果是( )。

  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);

  }

  程序運行后的輸出結果是( )。

  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"); }

  程序運行后的輸出結果是( )。

  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);

  }

  程序運行后的輸出結果是( )。

  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]);

  }

  程序運行后的輸出結果是( )。

  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.以下敘述中錯誤的是( )。

  A.可以用typedef說明的新類型名來定義變量

  B.typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤

  C.用typedef可以為基本數據類型說明一個新名稱

  D.用typedef說明新類型的作用是用一個新的標識符來代表已存在的類型名

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

  A.函數的返回值類型不能是結構體類型,只能是簡單類型

  B.函數可以返回指向結構體變量的指針

  C.可以通過指向結構體變量的指針訪問所指結構體變量的任何成員

  D.只要類型相同,結構體變量之間可以整體賦值

  39.若有定義語句int b=2;,則表達式(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]);

  }

  程序運行后的輸出結果是( )。

  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是一個由數字和字母字符組成的字符串,由變量num傳人字符串長度。請補充函數proc(),該函數的功能是:把字符串str中的數字字符轉換成數字并存放到整型數組bb中,函數返回數組bb的長度。

  例如,str="abcl23de45f967",結果為:l234567。

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

  請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。

  試題程序:

  #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 printf("%d",bb[i]);

  }

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

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

  例如,輸入opdye,則應輸出deopy。

  請修改程序中的錯誤,使它能得到正確結果。

  注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

  試題程序:

  #include%string.h>

  #include%stdlib.h>

  #include

  #include

  //****found****

  int proc(char str[])

  {

  char C;

  unsigned i,j;

  for(i=0;i for(j=i+1;j if(str[i]>str[j])

  {

  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);

  }

  四、程序設計題(共18分)

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

  在C語言中可調用log(n)函數求ln(n)。

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

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

  請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的若干語句。

  試題程序:

  #include

  #include

  #inclllde

  #include

  double proc(int m)

  {

  }

  void main()

  {

  system("CLS");

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

  }

  參考答案及專家詳解

  一、選擇題

  1.C。【解析】數據的邏輯結構是描述數據之間的關系,分兩大類:線性結構和非線性結構。線性結構是n個數據元素的有序(次序)集合,指的是數據元素之間存在著“一對一”的線性關系的數據結構。常用的線性結構有:線性表,棧,隊列,雙隊列,數組,串。非線性結構的邏輯特征是一個結點元素可能對應多個直接前驅和多個后驅。常見的非線性結構有:樹(二叉樹等),圖(網等),廣義表。

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

  3.B。【解析】棧是先進后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的元素。

  4.D。【解析】單一的數據結構——關系,現實世界的實體以及實體間的各種聯系均用關系來表示。數據的邏輯結構——二維表,從用戶角度,關系模型中數據的邏輯結構是一張二維表。但是關系模型的這種簡單的數據結構能夠表達豐富的語義,描述出現實世界的實體以及實體間的各種關系。

  5.A。【解析】部門到職員是一對多的,職員到部門是多對一的,因此,實體部門和職員間的聯系是l:m聯系。

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

  7.C。【解析】數據字典(DD)是指對數據的數據項、數據結構、數據流、數據存儲、處理邏輯、外部實體等進行定義和描述,其目的是對數據流程圖中的各個元素做出詳細的說明。

  8.B。【解析】《軟件可行性分析報告》是軟件可行性研究的依據。

  9.A。【解析】黑盒測試方法主要有等價類劃分、邊界值分析、因果圖、錯誤推測等。白盒測試的主要方法有邏輯驅動、路徑測試等,主要用于軟件驗證。

  10.A。【解析】軟件設計階段的主要任務包括丙個:一是進行軟件系統的可行性分析,確定軟件系統的建設是否值得,能否建成。二是進行軟件的系統分析,了解用戶的需求,定義應用功能,詳細估算開發成本和開發周期。

  11.B。【解析】C語言是一種成功的系統描述語言,具有良好的移植性,每個后綴為.C的C語言源程序都可以單獨進行編譯。

  12.A。【解析】用戶標識符不能以數字開頭,C語言中標識符是區分大小寫的,關鍵字不能用做用戶標識符。

  13.B。【解析】當用指數形式表示浮點數據時,E的前后都要有數據,并且E的后面數要為整數。

  14.A。【解析】C語言是由函數組成的,函數是C語言的基本單位。所以可以說C語言主要是借助定義函數來實現程序模塊化。

  15.C。【解析】在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define標識符常量。

  16.C。【解析】在輸入3和5之間除逗號外不能有其他字符。

  17.C。【解析】Char類型數據占1個字節。

  18.B。【解析】在一個表達式中,括號的優先級高,先計算3 !=4,為真即是l,1>2為假。

  19.D。【解析】選項A,當cl和c2相等時,不成立;選項B,a*b要用括號括起來;選項C,case與后面的數字用空格隔開。

  20.D。【解析】輸出的結果是:-1,1 0,2 1,2

  21.C。【解析】如果沒有把P指向一個指定的值,*P是不能被賦值的。定義指針變量不賦初始值時默認為null。

  22.D。【解析】比較兩個字符串大小用函數strcomp(S,t),空字符串有結束符,所以也要占用字節,兩個雙引號表示的是空字符串。

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

  24.B。【解析】第一次循環時,b=1,輸出結果為B;

  第二次循環時,b=3,輸出結果為D;

  第三次循環時,b=8,輸出結果為I。

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

  26.C。【解析】在C語言中null等價于數字0。

  27.A。【解析】For循環結束后,數組a的值并沒有變化,由于數組是由0開始,所以a[2]的值是30。

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

  29.C。【解析】第一次執行字符串的復制函數a的值是a2,第二次執行的是字符串的連接函數,所以運行結果為a2yz。

  30.A。【解析】選項B不能把一個字符串賦值給一個字符變量,選項c和D犯了同樣的錯誤是把字符串賦給了數組名。

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

  k=2 a=4

  k=3 a=7

  k=4 a=12

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

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

  34.A。【解析】第一調用func函數時輸出4,第二次調用func函數時num的值并不會釋放,仍然是上次修改后的值4,第二次調用結果為8,所以輸出結果是4 8。

  35.C。【解析】Fun函數功能是新開辟內存空間存放a和b的地址,q的地址并沒有變化,所以應該還是指向地址a。

  36.D。【解析】F函數是為結構體數組的第二個數賦值,數組的第一個數沒有變化,所以正確答案應選D。

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

  38.A。【解析】函數返回值類型可以是簡單類型和結構體類型。

  39.B。【解析】2的二進制數為010,移兩位后的二進制數為01000,轉成十制數為8,(3||2)為真即1,8/ 1=8,所以結果為8。

  40.D。【解析】這個是對文件的操作,把數組的數寫到文件里,然后再從文件里倒序讀出。所以輸出結果為6,5,4,3,2,1。

【計算機二級C語言上機沖刺試題及答案】相關文章:

2017計算機二級C語言上機測試題附答案10-24

計算機二級C語言考試上機考試題及答案10-29

計算機二級《C語言》考試沖刺試題及答案202410-30

全國計算機二級《C++》上機試題及答案08-15

2024年9月計算機二級《C語言》上機試題及答案10-30

2024計算機二級C上機考試試題及答案10-23

計算機二級《C語言》試題及答案201610-30

計算機二級C語言模擬試題及答案07-04

計算機二級《C語言》操作試題與答案11-01

計算機二級《Java》上機試題及答案11-01

主站蜘蛛池模板: 和政县| 桑日县| 凉城县| 枣庄市| 宜州市| 庆安县| 绥中县| 手机| 专栏| 庆安县| 三明市| 卢湾区| 临朐县| 鄂托克前旗| 彭阳县| 内丘县| 许昌县| 福鼎市| 英吉沙县| 玉田县| 原阳县| 永登县| 怀仁县| 托克托县| 莱阳市| 北海市| 大姚县| 保山市| 鄯善县| 手游| 莱西市| 桃源县| 纳雍县| 新龙县| 青冈县| 沁阳市| 垫江县| 阿图什市| 南通市| 乐亭县| 饶阳县|