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

必勝高考網(wǎng) > 計(jì)算機(jī)類 > 計(jì)算機(jī)等級 > 資訊 >

2015年計(jì)算機(jī)二級C語言測試題及解析(基本輸入輸出及流程控制)

時間: 家輝2 資訊

  main()

  { int a=1,b=3,c=5;

  if (c==a+b)

  printf("yes\n");

  else

  printf("no\n");

  }

  運(yùn)行結(jié)果為:no

  詳見教材p89 選擇結(jié)構(gòu)

  詳見教材p91關(guān)系符號

  詳見附錄D p378符號的優(yōu)先級

  ==表示判斷符號兩邊的值是否相等;=表示將符號右邊的值賦給左邊的變量

  本題考點(diǎn)是選擇結(jié)構(gòu)3種基本形式的第二種

  選擇結(jié)構(gòu)三種一般形式中的“語句”皆為復(fù)合語句,復(fù)合語句要用{ }括起來,只有當(dāng)復(fù)合語句中只包括一條語句時可以省略{ },此題即如此,因此兩個printf操作沒有加{ }

  若c==a+b成立,則執(zhí)行printf("yes\n");

  否則(即c==a+b不成立),執(zhí)行printf("no\n");

  +的優(yōu)先級高于==,因此先算a+b,值為4, 表達(dá)式5==4不成立,因此執(zhí)行printf("no\n");即輸出字符串no

  2.

  main()

  { int a=12, b= -34, c=56, min=0;

  min=a;

  if(min>b)

  min=b;

  if(min>c)

  min=c;

  printf("min=%d", min);

  }

  運(yùn)行結(jié)果為: min=-34

  詳見教材p89 選擇結(jié)構(gòu)

  本題考點(diǎn)是選擇結(jié)構(gòu)3種基本形式的第一種

  一共包含了兩個選擇結(jié)構(gòu)(兩個if語句)

  定義變量,并賦值 此時a=12, b= -34, c=56, min=0

  將a中值拷貝,賦給min,覆蓋了min中的0,此時min中的值被更新為12。

  若min>b成立,則執(zhí)行min=b;

  若min>c成立,則執(zhí)行min=c;

  輸出min中的值

  12大于-34,第一個if語句的表達(dá)式成立,因此執(zhí)行min=b; 執(zhí)行后min中的值被更新為-34.

  -34小于56,第二個if語句的表達(dá)式不成立,因此不執(zhí)行min=c;

  最后輸出min中的值,為-34.

  3.

  main()

  { int x=2,y= -1,z=5;

  if(x  if(y<0)

  z=0;

  else

  z=z+1;

  printf(“%d\n”,z);

  }

  運(yùn)行結(jié)果為:5

  遇到選擇結(jié)構(gòu),首先要明確條件表達(dá)式成立時執(zhí)行哪些操作。本題中,第一個if語句,其后的復(fù)合語句沒有大括號{ },說明復(fù)合語句中只包含一條語句,進(jìn)而省略了{(lán) }。內(nèi)層的if...else...是選擇結(jié)構(gòu)的第二種基本形式,在結(jié)構(gòu)上視為一條語句。因此內(nèi)層的if...else...作為第一個if語句的復(fù)合語句。

  若表達(dá)式x  若y<0,則執(zhí)行z=0;

  否則(即y>=0),執(zhí)行z=z+1;

  輸出z

  2>-1,表達(dá)式x  輸出z中的值為5

  4.

  main()

  { float a,b,c,t;

  a=3;

  b=7;

  c=1;

  if(a>b)

  {t=a;a=b;b=t;}

  if(a>c)

  {t=a;a=c;c=t;}

  if(b>c)

  {t=b;b=c;c=t;}

  printf("%5.2f,%5.2f,%5.2f",a,b,c);

  }

  運(yùn)行結(jié)果為:1.00,2.00,7.00

  詳見教材p72數(shù)據(jù)的輸出形式

  本題包含了3個if語句,每個if語句后的{ }都不可省略,因?yàn)槊總€{ }中都包含了多條語句

  若表達(dá)式a>b成立,則執(zhí)行{t=a;a=b;b=t;}

  若表達(dá)式a>c成立,則執(zhí)行{t=a;a=c;c=t;}

  若表達(dá)式b>c成立,則執(zhí)行{t=b;b=c;c=t;}

  輸出a,b,c中的值,要求輸出的每個數(shù)據(jù)寬度為5個空格,小數(shù)部分保留2位,數(shù)據(jù)右對齊

  3小于7,因此表達(dá)式a>b不成立,因此不執(zhí)行{t=a;a=b;b=t;}

  3大于1,因此表達(dá)式a>c成立,則執(zhí)行{t=a;a=b;b=t;}。第一句,將a中的3拷貝,粘貼到t中;第二句,將c中的1拷貝,粘貼到a中,覆蓋掉先前的3;第三句。將t中的3拷貝到c中,覆蓋掉c中先前的1. 執(zhí)行完復(fù)合語句后實(shí)現(xiàn)了a,c元素的值的互換,a為1,c為3,t為3,。

  7大于c中的3,因此b>c成立,執(zhí)行則執(zhí)行{t=b;b=c;c=t;},過程同上,執(zhí)行后b為3,c為7,t為7

  此時輸出a,b,c中的值為1.00,2.00,7.00

  5.

  #include< stdio .h >

  main ( )

  {floatc=3.0 , d=4.0;

  if ( c>d ) c=5.0;

  else

  if ( c==d ) c=6.0;

  elsec=7.0;

  printf ( “%.1f\n”,c ) ;

  }

  運(yùn)行結(jié)果為:7.0

  此題為if...else...語句的嵌套,第二if...else...作為第一個if...else...語句else部分的復(fù)合語句。

  若表達(dá)式c>d成立,則執(zhí)行c=5.0;

  否則(表達(dá)式c>d不成立)

  若表達(dá)式c==d成立,則執(zhí)行c=6.0;

  否則,執(zhí)行c=7.0;

  輸出c中的值

  3.0小于4.0,因此表達(dá)式c>d不成立,執(zhí)行第二個if…else…。

  3.0不等于4.0,因此表達(dá)式c==d不成立,執(zhí)行c=7.0,將7.0賦給c, 覆蓋掉c中的3.0,此時c中的值為7.0

  輸出此時的c中的值

  6.

  main()

  { int m;

  scanf("%d", &m);

  if (m >= 0)

  { if (m%2 == 0) printf("%d is a positive even\n", m);

  else printf("%d is a positive odd\n", m); }

  else

  { if (m % 2 == 0)printf("%d is a negative even\n", m);

  else printf("%d is a negative odd\n", m); }

  }

  若鍵入-9,則運(yùn)行結(jié)果為: -9 is a negative odd

  7.

  main()

  { int num=0;

  while(num<=2){ num++;printf("%d\n",num);}

  }

  運(yùn)行結(jié)果為:

  1

  2

  3

  詳見教材p115循環(huán)結(jié)構(gòu)

  當(dāng)循環(huán)條件num<=2成立的時候,執(zhí)行循環(huán)體{ num++;printf("%d\n",num);}中的語句。

  循環(huán)初值num為0;

  循環(huán)條件num<=2成立

  第1次循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為1;

  執(zhí)行printf("%d\n",num);在屏幕上輸出num中的值,即輸出1,之后換行

  此時num中的值為1,循環(huán)條件num<=2成立

  第2此循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為2;

  執(zhí)行printf("%d\n",num);在屏幕上輸出num中的值,即輸出2,之后換行

  此時num中的值為2,循環(huán)條件num<=2成立

  第3此循環(huán):執(zhí)行num++;即將num中的值加1,執(zhí)行后num為3;

  執(zhí)行printf("%d\n",num);在屏幕上輸出num中的值,即輸出3,之后換行

  此時num中的值為3,循環(huán)條件num<=2不成立,結(jié)束循環(huán)。

  8.

  main( )

  { int sum=10,n=1;

  while(n<3) {sum=sum-n;n++; }

  printf(“%d,%d”,n,sum);

  }

  運(yùn)行結(jié)果為:3,7

  當(dāng)循環(huán)條件n<3成立的時候,執(zhí)行循環(huán)體{sum=sum-n;n++; }中的語句。

  循環(huán)初值sum為10,n為1;

  循環(huán)條件n<3成立

  第1次循環(huán):執(zhí)行sum=sum-n=10-1=9;

  執(zhí)行n++,即將n中的值加1,執(zhí)行后n為2;

  此時n中的值為2,sum中的值為9,循環(huán)條件n<3成立,繼續(xù)執(zhí)行循環(huán)

  第2次循環(huán):執(zhí)行sum=sum-n=9-2=7;

  執(zhí)行n++,即將n中的值加1,執(zhí)行后n為3;

  輸出此時n,sum中的值,即為3,7。需要注意,在printf(“%d,%d”,n,sum); 中要求輸出的數(shù)據(jù)彼此間用逗號間隔,因此結(jié)果的兩個數(shù)據(jù)間一定要有逗號

  9.

  main()

  { int num,c;

  scanf("%d",&num);

  do{c=num%10;printf("%d",c);}while((num/=10)>0);

  printf("\n");

  }

  從鍵盤輸入23,則運(yùn)行結(jié)果為:32

  詳見教材p117循環(huán)結(jié)構(gòu);p60復(fù)合的賦值運(yùn)算符

  do{ }while(表達(dá)式);

  先無條件執(zhí)行循環(huán)體,再判斷循環(huán)條件。注意while(表達(dá)式)后有分號

  定義整型變量num,c;

  為num賦一個整型值;

  執(zhí)行{c=num%10;printf("%d",c);}直到循環(huán)條件(num/=10)>0不成立;

  輸出換行

  已知為num賦值23

  第1次執(zhí)行循環(huán)體

  執(zhí)行c=num%10=23%10=3;

  執(zhí)行printf("%d",c);輸出3

  判斷循環(huán)條件 num/=10等價于num=num/10; 因此num=23/10=2, 2大于0,因此循環(huán)條件(num/=10)>0成立,繼續(xù)執(zhí)行循環(huán)體。執(zhí)行完第1次循環(huán)時,num為2,c為3

  第2次執(zhí)行循環(huán)體

  執(zhí)行c=2%10=2;

  執(zhí)行printf("%d",c);再輸出2

  判斷循環(huán)條件num=2/10=0,0等于0,因此循環(huán)條件(num/=10)>0不成立。結(jié)束循環(huán)

  10

  main()

  { int s=0,a=5,n;

  scanf("%d",&n);

  do { s+=1;a=a-2; }while(a!=n);

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

  }

  若輸入的值1,運(yùn)行結(jié)果為: 2,1

  詳見教材p117循環(huán)結(jié)構(gòu);p60復(fù)合的賦值運(yùn)算符

  執(zhí)行{ s+=1;a=a-2; }直到循環(huán)條件a!=n不成立;

  已知為n賦值1,s為0,a為5

  第1次執(zhí)行循環(huán)體

  執(zhí)行s+=1;等價于s=s+1=0+1

  執(zhí)行a=a-2; a=5-2=3

  判斷循環(huán)條件,3不等于1,因此循環(huán)條件a!=n成立,繼續(xù)執(zhí)行循環(huán)體。

  執(zhí)行完第1次循環(huán)時,s為1,a為3

  第2次執(zhí)行循環(huán)體

  執(zhí)行s+=1;等價于s=s+1=1+1=2

  執(zhí)行a=a-2; a=3-2=1

  判斷循環(huán)條件,1等于1,因此循環(huán)條件a!=n不成立,結(jié)束循環(huán)。

  執(zhí)行完第2次循環(huán)時,s為2,a為1

  輸出此時s,a中的值,結(jié)果為2,1

55656 主站蜘蛛池模板: 铝合金电阻-无源谐波滤波器-上海稳达电讯设备厂 | 中式装修设计_室内中式装修_【云臻轩】中式设计机构 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 耐火浇注料-喷涂料-浇注料生产厂家_郑州市元领耐火材料有限公司 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 上海新光明泵业制造有限公司-电动隔膜泵,气动隔膜泵,卧式|立式离心泵厂家 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 深圳市源和塑胶电子有限公司-首页 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 |