必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

2015年計算機二級《C語言》考前押題密卷(2)

時間: 家輝2 資訊

  27有以下程序:

  main()

  {int a=0,b=10,c=0,d=0;

  if(a=1)b=1;c=2;

  else d=3:

  printf(”%d,%d,%d,%d\n”,a,b,c,d);

  }

  程序輸出(  )。

  A.0,1,2,0B.0,0,0,3C.1,1,2,0D.編譯有錯

  參考答案:D

  參考解析:語法錯誤。else與if之間不應再用其他語句,如果滿足if條件,則繼續執行if后面的語句;不滿足就執行else語句。

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

  #include%stdio.h>

  main()

  {char aE3一{'a','b','c','d','e','f','\o');

  int i,j;

  A.7,7B.7,6C.6,6D.6.7

  參考解析:本題要注意sizeof()和strlen()的區別,sizeof()函數的功能是返回字符串所占的字節數,strlen()函數的功能是返回字符串長度,'\o'是一個轉義符,它占存儲空間,但不計入串的長度。

  29有以下程序

  #include

  int a=1:

  int f(int c)

  { static int a=2;

  c=c+1.

  return(a++)+c;

  }

  main()

  { int i,k=0;

  for(i=0;i<2;i++){int a=3;k+=f(a);)

  k+=a;

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

  程序運行結果是(  )。

  A.14B.15C.16D.17

  參考答案:A

  參考解析:在主函數中,k的初值為0,首先調用函數f(3),返回值為6,k的值變為6,而函數intfun(intc)中的局部靜態變量a等于3。第二次調用函數f(3)時,返回值為7,所以k-6+7—13。退出循環語句,k再加上全局變量a的值1,其最終的值為14。

  30按照“先進后出”原則組織數據的結構是(  )。

  A.隊列B.棧C.雙向鏈表D.二叉樹

  參考解析:棧是線性表的一種,其插入和刪除運算都只在表的一端進行。進行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素按先進后出的原則組織數據,它是最后被插入的元素,不是最后被刪除的元素。

  31若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達式a

  A.1B.2C.3D.4

  參考答案:C

  32若有定義:“int*P,x=0,*P,P=&x;”,則語句“printf(”%d\n”,*p);”的輸出結果是(  )。

  A.隨機值B.0C.x的地址D.P的地址

  參考解析:*P的意思是取其指向地址的內容,P是指向x地址的指針,因此輸出*P也就是輸出X的內容,即0,故選擇B選項。

  33下列程序中C的二進制值是( )。

  char a=2,b=4,c;

  c=a^b>>2;

  A.00000011B.00010100C.00011100D.00011000

  參考答案:A

  參考解析:本題主要考查右移運算和按位異或。把b化為二進制數為00000100,右移兩位后為00000001,a的二進制為00000010,兩者異或為00000011。

  34有下列程序:

  main()

  {char*p[]={¨3697”.”2584”);

  int i,j;long ntlm=0;

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

  { j=0;

  while(p[i][j]!='\0')

  {if((p[i][j]-'\0')%2)num=10*num+p

  [j][j]-'0';

  j+=2;

  }

  }

  print[(“%d\n”,num);

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

  A.35B.37C.39D.3975

  參考答案:D

  參考解析:執行第一次for循環時,用表達式p[i][j]!=’\o=來判斷字符串數組指針P是否到達字符串的結尾,如果沒有到達,繼續執行while中的語句。if語句表示(p[i][i]-\o’)除2的余數不為0時,即字符串所有奇數執行后面的語句。所以退出第l次for的循環體時,輸出為397,執行第2次循環體。對字符串“2584”進行處理,輸出結果為5,因而最后輸出結果為3975。

  35有下列二叉樹,對此二叉樹前序遍歷的結果為(  )。

  A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ

  參考答案:D

  參考解析:所謂二叉樹的前序遍歷是指先訪問根結點,訪問左子樹,最后訪問右子樹,可知選項D正確。本題中序為DYBEAFCZX,后序為YDEBFZXCA。

  36設有如下關系表:

  則下列操作中正確的是(  )。

  A.T=RnSB.T=RUSC.T—R×SD.T—R/s

  參考解析:關系代數中的集合運算分4種:并、差、交和笛卡爾。①并(U);②差(一),R和S的差是由屬于R但不屬于s的元組構成的集合;③交(n):由既屬于R又屬于S的元組構成的集合;④笛卡爾積(×):對兩個關系R和S進行合并操作,產生的關系中元組個數為兩個關系中元組個數之積。根據關系T中的元組可知,T關系是關系R和關系S進行合并操作所得到的。

  37若有定義:“int a[2][3];”,則對a數組的第i行第j列元素的正確引用為(  )。

  A.*(*(a+i)+j)B.(a+i)[j]C.*(a+j+j)D.*(a+i)+j

  參考答案:A

  參考解析:通過地址來引用數組元素的方法有下列5種:①a[i][j];②*(a[i]+J);③*(*(a+i)+j);④*(aEiJEj]);⑤(&a[o]EoJ+3*i十j)。故A正確。

  38設有以下語句:

  int a=1,b=2,c;

  c=a^(b<<2);

  執行后,c的值為( )。

  A.6B.7C.8D.9

  參考答案:D

  參考解析:本題考查兩個知識點,按位異或左移把b左移2位化成二進制c=a^(b<<2)=a^(oooolo<<2)=a^o01000=0000001^001000=9,故選擇D。

  39若二維數組a有m列,則在a[i][j]前的元素個數為(  )。

  A.i*m+j-1B.i*m+jC.j*m+iD.i*m+j+1

  參考解析:二維數組的元素可以看成是按矩陣形式存放的,數組第一維的下標是i,說明它前面還有i行,有i*m個元素,數組第二維的下標是j,說明它前面還有j列,有j個元素,所以共有i*m+j個元素。

  40已知大寫字母A的ASCIl碼是65,小寫字母a的ACSII碼是97。下列能將變量C中的大寫字母轉換為對應小寫字母的語句是(  )。

  A.c=(c-'A')%26+'A'

  B.C=c+32

  C.c=c-'A'+'A'

  D.c=('A'+C)%26—'a'

  參考解析:根據ASCIl碼選項可知大寫字符A與小寫字符a的ASCIl碼相差32,而選項D中應該是加上'a’,選項A和C左側的表達式都是大寫字符c與大寫字符A的差與…a的ASCIl代碼的和就是小寫字符c的ASCIl代碼。

  二、程序填空題

  41str是一個由數字和字母字符組成的字符串,由變量num傳入字符串長度。請補充函數proc(),該函數的功能是:把字符串str中的數字字符轉換成數字并存放到整型數組1,b中,函數返回數組bh的長度。

  例如.str=”abc123de45f967”.結果為:1234567。

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

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

  試題程序:

  #include

  #define M 80

  int bb[M];

  int proc(char str[].int bh[],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++o

  n=proc(str,bb,num);

  prinlf(”\nbb=”);

  for(i=0;i

  printf(”%d”,bb[i]);

  )

  參考解析:

  【1】str[i]:>='0’&&str[i]<=79’【2】str[i]-'0’ 【3】n

  【解析】題目中要求把字符串str中的數字字符轉換成數字并存放到整型數組bb中。首先,應判斷字符串str中每個字符是否是數字字符。因此,【l】處填“str[i]>='0’&&str[i]<='9“’;將每一個數字字符轉化為數字放在整型數組bb中,因此,[21處填“str[i]-'0”’;由函數proc()可知,變量n存放整型數組bb中的元素個數,最后要返回到主函數當中,因此,[31處填“n”。第41題 筆記記錄我的筆記(0) | 精選筆記(2)選擇筆記標簽:試題內容(2)答案解析(0)

  三、程序改錯題

  42下列給定程序中函數proc的功能是:取出長整型變量s中偶數位上的數,依次構成一個新數放在t中。例如,當s中的數為123456789時,t中的數為2468。請修改程序中的錯誤,使它能得出正確的結果。

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

  試題程序:

  #include

  #include

  #include

  //****found****

  void proc(1ong s,long t)

  {long s1=10;

  s/=10:

  *t=s;

  //****found****

  while(s<0)

  { s=s/100;

  *t=s*s1+*t;

  s1=s1*10:

  }

  void main()

  {long S,t;

  system(”CLs”);

  printf(”\nPlease enter s:”);

  scanf(”%ld”,&s);

  proc(s,&t):

  printf(”The result is:%ld\\n”,t);

  }

  參考解析:

  (1)錯誤:voidproc(10ngS,longt)正確:voidproc(10ngS,lon9“t)(2)錯誤:while(s<0)

  正確:while(s>O)

  【解析】從主函數中實參可知,形參的第二個變量是長整型的指針變量。因此“voidproc(10ngS,longt)”應改為“voidproc(10ngS,long*t)”;要從低位開始取出長整型變量s中偶數位上的數,每次變量S要除以100,然后判斷其是否大于0來決定是否要繼續,因此“while(S<0)”應改為“while(s>0)”。第42題 筆記記錄我的筆記(0) | 精選筆記(3)選擇筆記標簽:試題內容(3)答案解析(0)

  四、程序設計題

  43請編寫函數proc(),其功能是:將str所指字符串中除下標為偶數,同時ASCII碼值為奇數的字符外,其余的字符都刪除,串中剩余字符所形成的一個新串放在t所指的數組中。例如,若str所指字符串中的內容為ABCDEFGl2345,其中字符8的ASCII碼值為偶數,所在元素的下標為奇數,因此必須刪除;而字符A的ASCII碼值為奇數,所在數組中的下標為偶數,因此不應當刪除。依次類推,最后t所指的數組中的內容應是ACEG。

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

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

  試題程序:

  #include

  #include

  #include

  #include

  void proc(char*str,char t[])

  {

  )

  void main()

  (

  char str[100],t[100];

  system(”CLS”);

  printf(”\nPlease enter string str:");

  scanf(”%s”,str);

  proc(str,t);

  printf(”\nThe result is:%s\n”,t):

  )

  參考解析:

  voidproc(char*sir。chart[])1

  inti,j=0;

  for(i=0;slr[,i]!=’\0’;i++)//從數組的第一個元素開始,到其最后一個

  {if(i%2==0&.&str[i]!=o)//下標為偶數、同時ASCIl碼值為奇數的字符

  t[j++]=str[i];}//如果成立,則把它放到t數組中

  t[j]=’\0’;//字符串結束標志為’\0’}

  【解析】題目中要求將字符串sir中下標為偶數,同時ASCIl碼值為奇數的字符放在數組t中。首先,需要檢查字符串str中下標為偶數的字符的ASCIl碼值是否為奇數,將符合要求的字符放在數組t中。最后,為新的字符串數組添加結束符。

55647 主站蜘蛛池模板: 压装机-卧式轴承轮轴数控伺服压装机厂家[铭泽机械] | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 结晶点测定仪-润滑脂滴点测定仪-大连煜烁 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 海水晶,海水素,海水晶价格-潍坊滨海经济开发区强隆海水晶厂 | 运动木地板价格,篮球馆体育运动木地板生产厂家_欧氏地板 | 液压油缸-液压站生产厂家-洛阳泰诺液压科技有限公司 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 杭州荣奥家具有限公司-浙江办公家具,杭州办公家具厂 | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | 济南保安公司加盟挂靠-亮剑国际安保服务集团总部-山东保安公司|济南保安培训学校 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家 | 浙江宝泉阀门有限公司| 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 电磁流量计_智能防腐防爆管道式计量表-金湖凯铭仪表有限公司 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 爆炸冲击传感器-无线遥测传感器-航天星百科| 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 |