C語言還可以直接訪問內存的物理地址,進行位(bit)一級的操作。下面是小編整理的關於計算機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( )
{char ch;
ch=getchar( );
switch(ch)
{case‘A’ : printf(“%c”,’A’);
case‘B’ : printf(“%c”,’B’); break;
default: printf(“%sn”,”other”);
} }
當從鍵盤輸入字母A時,運行結果爲:AB
詳見教材p103,switch語句
switch(表達式)
{ case常量1 :語句1
case常量2 :語句2
┇┇ ┇
case常量n :語句n
default :語句n+1
}
其中表達式,常量1,…,常量n都爲整型或字符型
case相當於給出執行程序的入口和起始位置,若找到匹配的常量,則從此處開始往下執行程序,不再匹配常量,直至遇到break或switch結束
本題過程:
首先從鍵盤接收一個字符’A’並將其放在變量ch中。
執行switch語句。Switch後面的條件表達式爲ch,因此表達式的值即爲字符’A’. 用字符’A’依次與下面的 case中的常量匹配。
與第1個case後的`常量匹配,則從其後的語句開始往下執行程序(在執行過程中不再進行匹配。)因此先執行printf(“%c”,’A’),屏幕上輸出A;再往下繼續執行printf(“%c”,’B’),屏幕上輸出B;再繼續執行break, 此時跳出switch語句。
5.
#include
main( )
{ int a=1,b=0;
scanf(“%d”,&a);
switch(a)
{case 1: b=1;break;
case 2: b=2;break;
default : b=10;}
printf("%d ", b);
}
若鍵盤輸入5,運行結果爲:10
本題過程:
首先用scanf函數爲變量a賦值爲5。
執行switch語句。switch後面的條件表達式爲a,因此表達式的值即爲5. 用5依次與下面 case中的常量匹配。沒有找到匹配的常量,因此兩個case後的語句都不執行。執行default後面的語句b=10;將10賦給變量b。
輸出變量b,結果爲10
6.
#include
main()_
{ char grade=’C’;
switch(grade)
{
case ‘A’: printf(“90-100n”);
case ‘B’: printf(“80-90n”);
case ‘C’: printf(“70-80n”);
case ‘D’: printf(“60-70n”); break;
case ‘E’: printf(“<60n”);
default : printf(“error!n”);
}
}
運行結果爲:
70-80
60-70
本題過程:
首先從鍵盤接收一個字符’C’並將其放在變量grade中。
執行switch語句。switch後面的條件表達式爲grade,因此表達式的值即爲字符’C’. 用字符’C’依次與下面的 case中的常量匹配。
與第3個case後的常量匹配,則從其後的語句開始往下執行程序(在執行過程中不再進行匹配。)因此先執行printf(“70-80n”);,屏幕上輸出70-80,並換行;再往下繼續執行printf(“60-70n”),屏幕上輸出60-70,並換行;再繼續執行break, 此時跳出switch語句。