2010年上学期C语言作业
习题1
1.1 请根据自己的认识,写出C语言的主要特点。 1.2 C语言的主要用途是什么? 它和其他高级语言有什么异同?
1.3 写出一个C程序的构成。
1.4 C语言以函数为程序的基本单位,有什么好处?
习题2
2.1 请将c语言的数据类型和其他高级语言的数据类型做比较。c有哪些特点?
2.2 C语言为什么要规定对所有用到的变量要“先定义,后使用”。这样做有什么好处?
2.3 请将下面各数用八进制和十六进制数(补码)表示: (1) 10 (2) 32 (3) 75 (4) -617 (5) -111 (6) 2483 (7) -28654 (8) 21003
2.4 将以下3个整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。变量的类型 25 -2 32769 int型(16位) long型(32位) short型(16位) signed char(8位)
unsigned int型 unsigned long型 unsigned short型 unsigned char型
2.5 字符常量与字符串常量有什么区别? 2.6 写出以下程序运行的结果。 main()
{char c1='a',c2='b',c3='c',c4='\\101',c5='\\116'; printf(\,c1,c2,c3); printf(\,c4,c5); }
2.7 要将“china”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“a”后面第4个字母是“e”,用“e”代替“a”。因此,“china”应译为“glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为?c?、?h?、?i?、?n?、?a?,经过运算,使c1、c2、c3、c4、c5分别变为?g?、?l?、?m?、?r?、?e?,并输出。 2.8 例2.6能否改成如下: main()
{int c1,c2;(原为char c1,c2) c1=97;
c2=98;
printf(\,c1,c2); printf(\,c1,c2); }
分析运行时会显示什么信息?为什么? 2.9 求下面算术表达式的值。
(1) x+a%3*(int)(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 2.10 写出程序运行结果。 main()
{int i,j,m,n; i=8; j=10; m=++i; n=j++;
printf(\,%d,%d,%d\,i,j,m,n); }
2.11 写出下面表达式运算后a的值,设原来a=12。设a和n已定义为整型变量。 (1) a+=a 24 (2) a-=2 10 (3) a*=2+3 60
(4) a/=a+a 0
(5) a%=(n%=2),n的值等于5 0 (6) a+=a-=a*=a 0
习题3
3.1 C语言中的语句有哪几类?C语句与其他语言中的语句有哪些异同?
3.2 怎样区分表达式和表达式语句?C语言为什么要设表达式语句?什么时候用表达式,什么时候用表达式语句? 。
3.3 C语言为什么要把输入输出的功能作为函数,而不作为语言的基本部分?
3.4 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=?a?,c2=?b?。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 要求输出的结果如下: a= 3 b= 4 c= 5
x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 =z+x=-2.40 u= 51274 n= 128765 c1='a' or 97(ascii) c2='b' or 98(ascii)
3.5 请写出下面程序的输出结果:
main()
{int a=5,b=7;
float x=67.8564, y=-789.124; char c='a'; long n=1234567; unsigned u=65535; printf(\,a,b); printf(\,a,b); printf(\,%f\\n\,x,y);
printf(\,%-10f\\n\,x,y); printf(\, %8.2f,%.4f,%.4f,?,?\\n\,x,y,x,y,x,y);
printf(\,.2e\\n\,x,y);
printf(\,%d,%o,%x\\n\,c,c,c,c); printf(\,%lo,%x\\n\,n,n,n); printf(\,%o,%x,%d\\n\,u,u,u,u); printf(\,%5.3s\\n\,\, \ }
3.6 用下面的scanf函数输入数据,使a=10,b=20,c1='a',c2='a',x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据?