實驗二 C語言的基礎知識
【目的與要求】
1.掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型、字符型、實型變量,以及對它們賦值的方法,了解以上類型數(shù)據(jù)輸出時所用的格式轉換符。
2.學會使用C的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(—)運算符的使用。
3.進一步熟悉C程序的編輯、編譯、連接和運行的過程。
【上機內(nèi)容】
【一般示例】
【例1】輸入并運行下程序,寫出運行結果。
mian()
{
char c1 , c2;
c1=97;c2=98;
printf(“%c %c”, c1, c2);
}
在此基礎上
1)加一個printf語句,并運行之。
printf(“%d,%d”, c1, c2 );
2)再將第二行改為:
int c1, c2;
再使之運行。
3)再將第三行改為:
c1=300; c2=400;
再使之運行,分析其運行結果。
在該程序中,說明了字符型數(shù)據(jù)在特定情況下可作為整型數(shù)據(jù)處理,整型數(shù)據(jù)有時也可以作為字符型數(shù)據(jù)處理。
【例2】分析下程序,寫出運行結果,再輸入計算機運行,將得到的結果與你分析得到的結果比較對照。
main()
{
char c1=’a’,c2=’b’,c3=’c’,c4=’101’,c5=’116’;
printf(“a%c b%ctabcn”,c1,c2,c3);
printf(“tb%c %c”,c4,c5);
}
在該程序中,主要考查對轉義字符的掌握情況。
【例3】
分析下程序,寫出運行結果,再輸入計算機運行,將得到的結果與你分析得到的結果比較對照。
main()
{
int i , j , m , n ;
i=8; j=10;
m=++i; n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
分別作以下改動之后,先分析再運行:
1)將第四行改為:
m=i++; n= ++ j;
2)程序改為:
main()
{
int i , j ;
i=8; j=10;
printf(“%d,%d”, i++, j++);
}
3)在2)的基礎上,將printf語句改為:
printf(“%d,%d”, ++ i, ++ j );
4)再將printf語句改為:
printf(“%d,%d,%d,%d”,i,j,i++,j++);
5)程序改為:
main()
{
int i , j , m=0 , n=0 ;
i=8; j=10;
m+= i ++; n -= –j;
printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);
}
此程序主要考查自加、自減運算符以及復合運算符的用法。
【作業(yè)】
1.要講“China”譯成密碼,密碼規(guī)律是:用原來的字母后面第5個字母代替原來的字母。例如,字母“A”后面第5個是“F”,用“F”代替“A”。因此,“China”應譯為“Hmnsf”。請編一程序,用賦初值的方法使c1、c2、c3、c4、c5五個變量的值分別為’C’、’h’、’i’、’n’、’a’,經(jīng)過運算,使其分別變?yōu)?/span>’H’、’m’、’n’、’s’、’f’,并輸出。
2.求下面算術表達式的值。
(1)x+a%3*(x+y)%2/4
設x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x%(int)y
設a=2,b=3,x=3.5,y=2.5
先自己分析,再試著用程序求解,看得到的結果是否一致。
3.寫出下面表達式運算后a的值,設原來a=10。設a和n已定義成整型變量。
(1)a+=a (2)a-=2
(3)a*=2+3 (4)a/=a+a
(5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a
先自己分析,再試著用程序求解,看得到的結果是否一致。