- 相關推薦
2017下半年計算機2級c語言題庫
C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別。下面是小編收集的計算機2級c語言題庫,希望大家認真練習!
1.
#include "stdio.h"
main()
{char c;
c=getchar();
while(c!='?') {putchar(c);c=getchar(); }
}
如果從鍵盤輸入abcde?fgh(回車)
運行結果為:abcde
2.
#include
main()
{ char c;
while((c=getchar())!=’$’)
{ if(‘A’<=c&&c<=‘Z’)putchar(c);
else if(‘a’<=c&&c<=‘z’)putchar(c-32);}
}
當輸入為ab*AB%cd#CD$時,運行結果為:ABABCDCD
3.
#include
main()
{ int x, y =0;
for(x=1;x<=10;x++)
{ if(y>=10)
break;
y=y+x;
}
printf(“%d %d”,y,x);
}
運行結果為:10 5
詳見教材p120for語句
詳見教材p126~128break,continue語句
for( 表達式1;表達式2;表達式3)
{
}
(1) 先求解表達式1
(2) 求解表達式2,若其值為真,執行循環體,然后執行 (3). 若為假,則結束循環,轉到(5)
(3) 求解表達式3
(4) 轉回上面 (2)繼續執行
(5) 循環結束,執行for語句下面的一個語句
break ,跳出循環體;continue,結束本次循環(第i次循環),繼續執行下一次循環(第i+1次循環)
此題 表達式1為x=1,表達式2(循環條件)為x<=10,表達式3為x++
初值x為1,y為0,循環條件(即表達式2)x<=10成立,進入循環體
第1次循環
執行if語句。0小于10,if語句的條件表達式不成立,不執行break;
執行y=y+x; y=0+1=1
轉向表達式3,執行x++,x=x+1=1+1=2。循環條件x<=10成立,進入第2次循環
第2次循環
執行if語句。1小于10,if語句的條件表達式不成立,不執行break;
執行y=y+x; y=1+2=3
轉向表達式3,執行x++,x=x+1=2+1=3。循環條件x<=10成立,進入第3次循環
第3次循環
執行if語句。3小于10,if語句的條件表達式不成立,不執行break;
執行y=y+x; y=3+3=6
轉向表達式3,執行x++,x=x+1=3+1=4。循環條件x<=10成立,進入第4次循環
第4次循環
執行if語句。6小于10,if語句的條件表達式不成立,不執行break;
執行y=y+x; y=6+4=10
轉向表達式3,執行x++,x=x+1=4+1=5。循環條件x<=10成立,進入第5次循環
第5次循環
執行if語句。10等于10,if語句的條件表達式成立,執行break,跳出循環。
從break跳出至for語句的下一條語句。執行printf(“%d %d”,y,x);
輸出當前的y與x.結果為10 5
4.
#include
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);
}
運行結果為:1.00,2.00,7.00
詳見教材p72數據的輸出形式
本題包含了3個if語句,每個if語句后的{ }都不可省略,因為每個{ }中都包含了多條語句
若表達式a>b成立,則執行{t=a;a=b;b=t;}
若表達式a>c成立,則執行{t=a;a=c;c=t;}
若表達式b>c成立,則執行{t=b;b=c;c=t;}
輸出a,b,c中的值,要求輸出的每個數據寬度為5個空格,小數部分保留2位,數據右對齊
3小于7,因此表達式a>b不成立,因此不執行{t=a;a=b;b=t;}
3大于1,因此表達式a>c成立,則執行{t=a;a=b;b=t;}。第一句,將a中的3拷貝,粘貼到t中;第二句,將c中的1拷貝,粘貼到a中,覆蓋掉先前的3;第三句。將t中的3拷貝到c中,覆蓋掉c中先前的1. 執行完復合語句后實現了a,c元素的值的互換,a為1,c為3,t為3,。
7大于c中的3,因此b>c成立,執行則執行{t=b;b=c;c=t;},過程同上,執行后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 ) ;
}
運行結果為:7.0
此題為if...else...語句的嵌套,第二if...else...作為第一個if...else...語句else部分的復合語句。
若表達式c>d成立,則執行c=5.0;
否則(表達式c>d不成立)
若表達式c==d成立,則執行c=6.0;
否則,執行c=7.0;
輸出c中的值
3.0小于4.0,因此表達式c>d不成立,執行第二個if…else…。
3.0不等于4.0,因此表達式c==d不成立,執行c=7.0,將7.0賦給c, 覆蓋掉c中的3.0,此時c中的值為7.0
輸出此時的c中的值
【下半年計算機2級c語言題庫】相關文章:
2017計算機二c語言題庫試題及答案06-22
計算機二級c語言題庫及答案09-25
計算機二級C語言題庫2016最新07-27
2017計算機二級c語言題庫及答案08-27
計算機二級c語言題庫(精選4套)11-15
二級c語言上機題庫11-15
2017年計算機二級c語言題庫09-20
全國計算機c語言程序設計題庫201710-01
國家計算機二級c語言題庫及答案08-05