計算機C語言的學習內容是DOS命令,計算機組成原理,多媒體、資料庫操作、計算機網路、C語言程式設計、上機考試。以下是本站小編為大家編輯的計算機c語言考試題及答案,歡迎閱讀!
1.
#include
main()
{ int a=1,b=3,c=5;
if (c==a+b)
printf("yesn");
else
printf("non");
}
執行結果為:no
詳見教材p89 選擇結構
詳見教材p91關係符號
詳見附錄D p378符號的優先順序
==表示判斷符號兩邊的值是否相等;=表示將符號右邊的值賦給左邊的變數
本題考點是選擇結構3種基本形式的第二種
選擇結構三種一般形式中的“語句”皆為複合語句,複合語句要用{ }括起來,只有當複合語句中只包括一條語句時可以省略{ },此題即如此,因此兩個printf操作沒有加{ }
若c==a+b成立,則執行printf("yesn");
否則(即c==a+b不成立),執行printf("non");
+的優先順序高於==,因此先算a+b,值為4, 表示式5==4不成立,因此執行printf("non");即輸出字串no
2.
#include
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);
}
執行結果為: min=-34
詳見教材p89 選擇結構
本題考點是選擇結構3種基本形式的第一種
一共包含了兩個選擇結構(兩個if語句)
定義變數,並賦值 此時a=12, b= -34, c=56, min=0
將a中值拷貝,賦給min,覆蓋了min中的0,此時min中的值被更新為12。
若min>b成立,則執行min=b;
若min>c成立,則執行min=c;
輸出min中的值
12大於-34,第一個if語句的表示式成立,因此執行min=b; 執行後min中的值被更新為-34.
-34小於56,第二個if語句的表示式不成立,因此不執行min=c;
最後輸出min中的值,為-34.
3.
#include
main()
{ int x=2,y= -1,z=5;
if(x if(y<0)
z=0;
else
z=z+1;
printf(“%dn”,z);
}
執行結果為:5
遇到選擇結構,首先要明確條件表示式成立時執行哪些操作。本題中,第一個if語句,其後的複合語句沒有大括號{ },說明覆合語句中只包含一條語句,進而省略了{ }。內層的...是選擇結構的第二種基本形式,在結構上視為一條語句。因此內層的...作為第一個if語句的複合語句。
若表示式x 若y<0,則執行z=0;
否則(即y>=0),執行z=z+1;
輸出z
2>-1,表示式x 輸出z中的值為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 ( “%.1fn”,c ) ;
}
執行結果為:7.0
此題為...語句的巢狀,第二...作為第一個...語句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中的值
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
Copyright ©2024 才華齋 All Rights Reserved.