1、 ? 面积 = s ( s ? x)( s ? y )( s ? z ) ? 其中 s = ? 2 ?math.h void main() double x,y,z,s,dime; scanf(%lf%lf%lf,&x,&y,&z); dime=sqrt(s*(s-x)*(s-y)*(s-z); 127.5 57.A 解:11010111.101 211271.56 12B9.B8 4793.71875 3scanf(%f%f%fa,&b,&c); z=a*b*c; 4s=(x+y+2)/2;%f,dim); 四、编程题 1仿照例 1.1,编程序在屏幕上显示: * Merry Christma
2、s! Happy New Year! * 解:#include void main() printf(*n Merry Christmas! 1 )10 printf(,z); 2仿照例 1.2 编程,输入一个整数,计算这个数的平方。 解:#include void main() int a,z;请输入一个整数:%da); z=a*a;%d*%d=%dn,a,a,z); *3仿照例 1.3 编程,输入两个数后,输出其中较小值。 float min(float x, float y) float m; if (xy) m=x; else m=y; return m; void main() fl
3、oat a,b,c,mindata;请输入二个数:%f %fb); mindata=min(a,b);较小数:%fn,mindata); *4仿照例 1.2 编程,输入 a、b 后,输出一元一次方程 ax+b=0 的解。 void main() float a,b,x;请输入 a、b: x=-a/b;x=%fn,x); *5仿照例 1.2 编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。 void main() float r,h,s,v;Please input r and h:r,&h); v=3.14*r*r*h;V=%fn,v); 2 习 题2 一、判断题 1任何变量都必须要定义其
4、类型。 2C 语言的 double 类型数据在其数值范围内可以表示任何实数。 3C 语言的任何类型数据在计算机内都是以二进制形式存储的。 4isdigit(5)的结果为 0。 5printf 函数中格式符“%c”对应的参数只能是字符类型。 6按格式符“%d”输出 float 类型变量时,截断小数位取整后输出。 7在 C 语言程序中,ABC 与 abc 是两个相同的变量。 8scanf 函数中的格式符“%d”不能用于输入实型数据。 9格式符“%f”不能用于输入 double 类型数据。 10当格式符中指定宽度时,输出的信息完全取决于所指定的宽度。(1)T (2)F (3)T (4)F (5)F
5、(6)F (7)F (8)T (9)T (10)F 二、指出下列各项中哪些是 C 语言中的常量,并指出其类型 10,150 007 x xo 1.414E+2 2.54 解:合法的 C 常量有: 整型常量: 007 实型常量: 1e0 字符型常量:x 0x3d 1.52e0.5 0x3d 1.414E+2 a sin(3) a+2 0xf16 1e0 0xf16 0x100h e1 a 0128 o7o8 009 10L 10L 三、指出下列各项中哪些是 C 语言中的用户标识符 x_1 X_2 High printf e2 e2 count Int sizeof IF sum_12 _123#
6、 X_2 High 解:C 的用户标识符有:x_1 next_ IF sum_12 四、单项选择题 1C 语言中,char 型数据在内存中的存储形式是( ) 。 A原码 B反码 C补码 DASCII 码 2若有定义语句“char c=72; ”则变量 c( ) 。 A包含 1 个字符 B包含 2 个字符 C包含 3 个字符 D定义不合法 3C 语言中的基本数据类型包括( ) 。 A整型、实型、逻辑型 B整型、实型、字符型 C整型、逻辑型、字符型 D整型、实型、逻辑型、字符型 4设 c1、c2 为字符型变量,执行语句“c1=getchar( );c2=getchar( ); ”时,从键盘输 入
7、A,c1 和 c2 的值分别为( ) 。 A都是A Bc1 是A ,c2 未输入 3 3DS number $23 NO1: double e2 count Int i/j next_ for number Cc1 未输入,c2 是A Dc1 是A ,c2 是n 5a、b 是整型变量,执行语句“scanf(a=%d,b=%d,&a,&b);,使 a 和 b 的值分 ” 别为 1 和 2,正确的输入是( ) 。 A1 2 B1,2 Ca=1,b=2 Da=1 b=2 6 c 为字符型变量值为 设 A a 为整型变量值为 97, , 执行语句 “putchar(c); putchar(a); ”
8、后,输出结果为( ) 。 AAa BA97 CA9 DaA 7已知字母 A 的 ASCII 码值为 65,以下语句段的输出结果是( ) 。 char c1=A,c2=Y;%d,%dn,c1,c2); A输出格式非法,输出错误信息 B65,90 CA,Y D65,89 8若要使用输入语句“scanf(%4d%4d%10fi,&j,&x);,为 i 输入10,为 j ” 输入 12,为 x 输入 345.67,则正确的输入形式是( ) 。 A1012345.67 B10 12 345.67 C10001200345.67 D10,12,345.67 9能正确地定义符号常量的是( ) 。 A#def
9、ine n=10 B#define n 10 C#define n 10; D#DEFINE N 10 10在 C 语言中,int、char、short 三种类型数据在内存中所占的字节数( ) 。 A由用户自己定义 B均为 2 个字节 C是任意的 D由机器字长决定 解:(1) D (2) A (3) B (4) D (5) C (6) A (7) D (8) B (9) B (10) D 五、填空题 1char ch=$float x=153.4523; 。 语句“printf(%c%8.2fn,ch,x); ”的输出结果是 解:$153.45 n 2int i=123;float x= 12
10、34.56789;i=%5d x=%7.3fn,i,x); ”的输出结果是 。i= 123 x=-1234.568 3char c=aint a=65; 语句“putchar(c+1);putchar(a);bA 4int a=98; 语句“printf(“%d,%c,%o,%x”,a,a+1,a+2,a+3);”的输出结果是 解:98,c,144,65 5int k; float f; 语句“scanf(“%3d%*4d%6f”,&k,&f);”执行时输入 12345678765.43 则 k= ,f= 。 f=8765.4 解:k=123 6使用 pow()函数时,程序的开头必须写一条预处
11、理命令: 5填空题。 (1)int i=123,j=45; 函数 printf(,i,j);的输出结果是 。123,45 。 4 (2)int i=123; float x=-45.678; 语句 printf(i=%5d x=%7.4fn,i,x); 的输出结果是 解:i= 123 x=-45.6780 (3)float alfa=60,pi=3 。 习 题 3 一、根据下列数学式,写出 C 的算术表达式。 2 + 10 2 tan ?1 x + 4 ? (a + b ) y 2 3 4 | sin( x ) | 3 .5 x ?e 6 5 1 ab + c + d 2 c+d a + 2b
12、 ? cd 2 2 解:-(a +b )y 的 C 表达式:-(a*a+b*b)*pow(y,4) 2 + 10 2 的 C 表达式:(sqrt(2)+10*10)/(pow(tan(x),-1)+3.141593) tan ?1 x + | sin( x) | 3.5 的 C 表达式:sqrt(pow (fabs (sin(x),3.5) x 6 ? e 5 的 C 表达式:pow(x,6)-exp(5) 1 ab + c + d 2 的 C 表达式:(1.0/2*a*b+c+d)/(a+2*b-(c+d)/c/d) c+d a + 2b ? cd 二、按照要求,写出下列 C 的表达式。 1
13、写出 int 类型变量 x 为“奇数”的表达式。x%2=1 2Int 类型变量 x、y、z,写出描述“x 或 y 中有且仅有一个小于 z”的表达式。x=z|x=z&y=0?1:-1)*(yy:-y) 5条件“-5x3”所对应的 C 逻辑表达式。-5b?a:b)c?b):c 10若字符变量 ch 为小写字母,则将其转换为对应的大写字母。ch=ch=chz?ch-32:ch 三、单项选择题 1设 int x=3,y=4,z=5; ,下列表达式中值为 0 的是( ) 。 Axy B. x=y Cx|y+z&yz D. !(x=y&By”的值是( ) 。 A0 B. 1 C “假” D “真” 3判断
14、 char 型变量 c 为数字字符的正确表达式为( ) 。0=c9 B=c&c|c=0&=9 4下列运算符中,优先级最低的是( ) 。 A?: B& C= = D*= 5若有条件表达式“x?a+:b-” ,则以下表达式中( )等价于表达式 x。 Ax=0 Bx!=0 Cx=1 Dx!=1 6有定义 int k=4,a=3,b=2,c=1; ,表达式“k后,m 和 n 的值分别 为 。m 为 0,n 为 2 。 9设 int a=2; ,表达式“a%2!=0”的值为 解:0 10设 char c= ,表达式“c| cZ”的值为 。1 x+2 11写出与代数式 (x+2)e 对应的 C 表达式 。
15、(x+2)*exp(x+2) 。 12设 int a=2;执行语句 a=3*5,a*4;后 a 的值为 解:15 五、写出下列程序的输出结果。 1 #include void main() unsigned k,n;%un); /输入数据为:69 k=n%10*10+n/10;n=%d k=%dn,n,k); 解:n=69 k=96 2 #include void main() int x=2,y=3; x*=y+4;,x,y); x/=y=5; x-=y%2;14,3 7 2,5 1,5 3 #include void main() int a, b; a=8; b=7; a=(a- =b+
16、)? a%3 : a/3;a=%d b=%dn,a,b);a=2 b=8 六、程序填空题。 1以下程序输入三个整数值给 a,b,c,程序把 b 中的值给 a,把 c 中的值给 b,把 a 中 的值给 c,交换后输出 a、b、c 的值。例如输入 1 2 3,输出 a=2 b=3 c=1。 void main() int a,b,c, ; printf(“Enter a,b,c:”); scanf(“%d%d%d”, ); ; ; a=b; b=c; printf(“a=%d b=%d c=%dn”,a,b,c); t &c t=a c=t 2以下程序不借助任何变量把 a、b 中的值进行交换。 v
17、oid main() int a,b; printf(“Input a,b: scanf(“%d%d”, ); a+= ; b=a- ; a- = ; printf(“a=%d b=%dn”,a,b); &b b b b 七、编程题。 1输入 3 个字符后,按各字符 ASCII 码从小到大的顺序输出这些字符。 void main() char c1,c2,c3,t,min,mid,max; c1=getchar(); c2=getchar(); c3=getchar(); min=(t=c1c2?c1:c2)c2) mid=c1+c2+c3-min-max; putchar(min); put
18、char(mid); putchar(max); 2输入两点坐标(x1,y1)(x2,y2) 、 ,计算并输出两点间的距离。 void main() double x1,y1,x2,y2,d; printf(“请输入两点坐标 (x1,y1),(x2,y2)n”); scanf(“(%lf,%lf),(%lf,%lf)”,&x1,&y1,&x2,&y2); d=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); printf(“两点间距离=%fn”,d); 3编写程序,计算球体积并输出它的值。要求输入半径值,计算结果保留三位小数。 #define PI 3.1415926 void main() double r,gv; printf(“请输入半径值:n”); scanf(“%lf”,&r); gv=4.0/3*PI*pow(r,3); printf(“半径为%f 的球的体积为:%.3fn”,r,gv); 4输入三角形的底和高,求三角形面积。 #define PI 3.14159 void main() double a,h,s; printf(“请输入三角形的底,高n”); scanf(“%lf,%lf”,& s=a*h/2; printf(“三角形面积=%fn”,s); 5编写程序,输入一个实数后输出该数的绝对值。 void main() doubl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1