湖北民族学院c语言试卷,C实验参考答案(湖北民族学院计算机c语言课后习题答案).doc...
實驗二 基本數據類型、運算符及表達式
1. 分析以下程序,判斷輸出結果,然后上機運行程序驗證結果。
(1)
# include
main( )
{ int sum = 1 ;
sum = sum +100 ;
printf("SUM = %d\n", sum);
}
輸出結果為:101
(2) 改正后的程序為:
# include
main( )
{ char ch1 , ch2 ;
ch1 = 'b' ;//不能把字符串"b"賦給字符變量
ch2 = ch1 - 32 ;
printf("%c %d %c %d\n", ch2,ch2,ch1,ch1);
}
(3)
# include
main( )
{ int a = 10 , b =3 ;
printf("%d\n", (a = a - 1 , b + a , b + 2));
}
輸出結果為5,(a = a - 1 , b + a , b + 2)作為一個逗號表達式。
(4)
# include
main( )
{
int a = 5 , b = 3 , c = 4 ;
a *= a += 3;
b = ++c ;
c = b++ ;
a = b +++ c ;
printf("\n%d,%d,%d", a , b , c);
}
輸出結果為:11,7,5
(5)程序改正為:
# include
main( )
{
int a = 1 , b = 2 , c = 3 , logic ;
logic = a + b > c && b <= c ;
printf("logic = %d\n", logic);
logic = a >= b + c || b == c;
printf("logic = %d\n", logic);
logic =!(a < c) +b!=1 && (a + c)/2 ;
printf("logic = %d\n", logic);
}
輸出結果為:
logic = 0
logic = 0
logic = 1
2. 以下程序可能有多處錯誤,請改正并調試運行程序。
(1)
# include
# include HIGH 10//改為:#include HIGH 10
main( )
{int a = 5 ; //可再定義一個變量b
HIGH *= HIGH ; //HIGH是宏名,不能被賦值,可改為:b=HIGH*HIGH;
printf("\n%d,%d", a , HIGH); //輸出a,b的值
}
改正后的程序為:
# include
# define HIGH 10
main( )
{int a = 5 ,b;
b = HIGH*HIGH ;
printf("\n%d,%d", a , b);
}
輸出結果為:5,100
(2)此程序功能為將輸入的華氏溫度轉換成攝氏溫度,公式為c = 5 / 9 ·(f–32 )。
# include
main( )
{ float c , f?;
scanf("%f", f)?;//輸入時,變量要用&取地址
c = (5 / 9)· (F – 32)?; //5/9是為0的,要變成實數。F沒有定義,定義的是f
printf((" F= %f , C = % f\n", f , c)?;//多了一個左括號
}
改正后的程序為:
# include
void main( )
{
float c,f;
scanf("%f", &f);
c=(5.0/9)*(f-32);
printf("F= %f,C = %f\n",f,c);
}
(3)此程序功能是求:y = 。
# include
# include
main( )
{ int a ;
double x , y ;
Scanf("%d%f", &a , &x)?;//scanf不能大寫,x的類型是double,格式化字符應該用%ld
y = SIN(sqr(ax) + LN(a + x)?;//sin函數不能大寫,sqr應該為sqrt,ax應為a*a,LN不是有效的函數名,要求自然對數用的是log(),另外括號不匹配
printf(" Y= %f \n", y)?;//y的類型是double,格式化字符應該用%ld
}
程序改正后為:
# include
總結
以上是生活随笔為你收集整理的湖北民族学院c语言试卷,C实验参考答案(湖北民族学院计算机c语言课后习题答案).doc...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中removeDir的相反函数,C
- 下一篇: c语言键盘回调函数键盘的码,深入浅出剖析