第一篇:华中科技大学C语言期末考试题库试题及答案汇总
华中科技大学C语言期末考试题库试题及答案汇总
1.设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____。A、552 B、264 C、144 D、-264 知识点:算术表达式
2.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。
A、x/y*z B、x*(1/(y*z))C、x/y*1/z D、x/y/z 知识点:算术表达式
3.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。A、1.4 B、1 C、2.0 D、2 知识点:算术表达式 4.有如下程序 main(){ int a;char c=10;float f=100.0;double x;a=f/=c*=(x=6.5);printf(“%d %d %3.1f%3.1fn”,a,c,f,x);} 程序运行后输出结果是___B___。
A、1 65 1 6.5B、1 65 1.5 6.5C、1 65 1.0 6.5D、2 65 1.5 6.5 知识点:赋值表达式
5.若变量a、i已正确定义,且i已正确赋值,合法的语句是___B___。A、a==1 B、++i;C、a=a++=5;D、a=int(i);知识点:赋值表达式
6.若变量已正确定义并赋值,下面符合C语言语法的表达式是__B____。A、a:=b+1 B、a=b=c+2C、int 18.5%3 D、a=a+7=c+b 知识点:赋值表达式
7.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是__C____。
A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0 C、x=(int)(x*100+0.5)/100.0???D、x=(x/100+0.5)*100.0 知识点:赋值表达式
8.在一个C程序中___B___。
A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现 C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置 知识点:简单C语言程序的构成和格式 9.以下说法中正确的是__D____。
A、#define和printf都是C语句B、#define是C语句,而printf不是 C、printf是C语句,但#define不是D、#define和printf都不是C语句 知识点:简单C语言程序的构成和格式 10.若k是int型变量,且有下面的程序片段 k=-3 if(k<=0)printf(“####”)else printf(“&&&&”);上面程序片段的输出结果是___D___。
A、#### B、&&&&C、####&&&&D、有语法错误,无输出结果 知识点:简单C语言程序的构成和格式
11.以下4个选项中,不能看作一条语句的是___D___。
A、{;} B、a=0,b=0,c=0;C、if(a>0);D、if(b==0)m=1;n=2;??? 知识点:简单C语言程序的构成和格式 12. 有以下程序 main(){ int a=0,b=0;a=10;/* 给a赋值 */ b=20;/* 给b赋值 */ printf(“a+b=%dn”,a+b);} 程序运行后的输出结果是___B___。A、a+b=10 B、a+b=30 C、30 D、出错 知识点:简单C语言程序的构成和格式
13.以下选项中,不能作为合法常量的是__B____。A、1.234e04 B、1.234e0.4C、1.234e+4 D、1.234e0 知识点:实型数据
14.以下符合C语言语法的实型常量是___C___。A、1.2E0.5 B、3.14159E C、.5E-3 D、E15 知识点:实型数据
15.表达式3.6-5/2+1.2+5%2的值是__D____。A、4.3 B、4.8 C、3.3 D、3.8 知识点:算术表达式
16.下列定义变量的语句中错误的是__D____。A、int _int B、double int_C、char For D、float US$ 知识点:常量、变量和标识符
17.以下不合法的用户标识符是__C____。A、j2_KEY B、DoubleC、4d D、_8_ 知识点:常量、变量和标识符
18.以下4组用户定义标识符中,全部合法的一组是__A____。A、_main enclude sinB、If-max turbo C、txt REAL 3COMD、int k_2 _001 ??? 知识点:常量、变量和标识符
19.以下定义语句中正确的是__C____。
A、char a='A' b='B';B、float a=b=10.0;(正解a=10.0 b=10.0)C、int a=10,*b=&a;D、float *a,b=&a;??? 知识点:常量、变量和标识符
20.以下不能定义为用户标识符的是__D____。A、scanf B、VoidC、_3com_ D、int 知识点:常量、变量和标识符
21.以下有4组用户标识符,其中合法的一组是___C___。
A、For-sub CaseB、4d DO SizeC、f2_G3 IF abcD、WORD Void define 知识点:常量、变量和标识符
22.C语言中最简单的数据类型包括_B_____。A、整型、实型、逻辑型B、整型、实型、字符型
C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型 知识点:常量、变量和标识符
23.下列选项中,合法的C语言关键字是__D____。A、VAR B、cher C、integer D、default 知识点:常量、变量和标识符
24.以下不能定义为用户标识符的是__D____。A、MainB、_0 C、_int D、sizeof 知识点:常量、变量和标识符 25.下列叙述中正确的是_D_____。
A、C语言中既有逻辑类型也有集合类型B、C语言中没有逻辑类型但有集合类型 C、C语言中有逻辑类型但没有集合类型D、C语言中既没有逻辑类型也没有集合类型 知识点:常量、变量和标识符
26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是____C__。A、c=b=a;B、(a=c)‖(b=c);C、(a=c)&&(b=c);D、a=c=b;知识点:赋值表达式
27.以下选项中非法的表达式是___D___。
A、0<=x<100 B、i=j==0 C、(char)(65+3)D、x+1=x+1 知识点:赋值表达式
28.以下程序的输出结果是___B___。#include
29.以下循环体的执行次数是___C___。main(){ int i,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(“%d n”,i);} A、3 B、2 C、1 D、0 答案:C 知识点:赋值表达式 30.有以下定义语句 double a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是___C___。A、a=a+b=b++B、w%((int)a+b)C、(c+w)%(int)aD、w=a=b;知识点:赋值表达式
31.设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____。A、552 B、264 C、144 D、-264 知识点:算术表达式
32.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。
A、x/y*z B、x*(1/(y*z))C、x/y*1/z D、x/y/z 知识点:算术表达式
33.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。A、1.4 B、1 C、2.0 D、2 知识点:算术表达式
34.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2((a+b)h)计算结果不相符的是___B___。
A、(a+b)*h/2 B、(1/2)*(a+b)*hC、(a+b)*h*1/2 D、h/2*(a+b)知识点:算术表达式
35.假定x和y为double型,表达式x=2,y=x+3/2的值是___D___。A、3.500000 B、3 C、2.000000 D、3.000000 知识点:算术表达式
36.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是___C___。A、1 B、2 C、2.000000 D、2.500000 知识点:算术表达式 37.若有以下程序段 int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是___A___。A、0 B、0.5 C、1 D、2 知识点:算术表达式
38.设有int x=11;则表达式(x++ * 1/3)的值是___A___。?? A、3 B、4 C、11 D、12 知识点:算术表达式
39.下列程序的输出结果是___C___。main(){ double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d n”,d*y);} A、3 B、3.2 C、0 D、3.07 知识点:算术表达式 40.请读程序片段: int i=65536;printf(“%dn”,i);上面程序片段的输出结果是___B___。
A、65536 B、0C、有语法错误,无输出结果D、-1 知识点:整型数据 41.若有以下定义和语句: int u=010,v=0x10,w=10;printf(“%d,%d,%dn”,u,v,w);则输出结果是: __A____。
A、8,16,10 B、10,10,10C、8,8,10 D、8,10,10 知识点:整型数据
42.在C语言中,不正确的int类型的常数是___A___。A、32768 B、0 C、037 D、0xAF 知识点:整型数据
43.以下程序的输出结果是__D____。main(){ int k=17;printf(“%d,%o,%x n”,k,k,k);} A、17,021,0x11 B、17,17,17C、17,0x11,021 D、17,21,11 知识点:整型数据
44.下面程序的输出是__C____。main(){ unsigned a=32768;printf(“a=%dn”,a);} A、a=32768 B、a=32767C、a=-32768D、a=-1 知识点:整型数据
45.在C语言中,合法的长整型常数是___A___。A、0L B、4962710C、324562& D、216D 知识点:整型数据 46.C语言中运算对象必须是整型的运算符是__A____。A、%= B、/ C、= D、<= 知识点:整型数据
47.以下选项中不属于C语言的类型名称是___D___。
A、signed short intB、unsigned long intC、unsigned intD、long short 知识点:整型数据 48.有以下程序 main(){ int m=0256,n=256;printf(“%o %on”,m,n);} 程序运行后的输出结果是___C___。
A、0256 0400 B、0256 256C、256 400 D、400 400 知识点:整型数据
49.若执下面程序时从键盘上输入5,main(){ int x;scanf(“%d”,&x);if(x++>5)printf(“%dn”,x);else printf(“%dn”,x--);} 则输出是__B____。A、7 B、6 C、5 D、4 知识点:自加、自减运算符和逗号运算符 50.有以下程序 main(){ char a1='M', a2='m';printf(“%cn”,(a1,a2));} 以下叙述中正确的是___B___。
A、程序输出大写字母MB、程序输出小写字母m C、格式说明符不足,编译出错D、程序运行时产生出错信息 知识点:自加、自减运算符和逗号运算符 51.以下程序的输出结果是 __B____。main(){ int a;printf(“%dn”,(a=3*5,a*4,a+5));} A、65 B、20 C、15 D、10 知识点:自加、自减运算符和逗号运算符 53.设有如下程序段 int x=2002,y=2003;printf(“%dn”,(x,y));则以下叙述中正确的是__D____。
A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B、运行时产生错误信息 C、输出值为2002 D、输出值为2003 知识点:自加、自减运算符和逗号运算符 54.有以下程序 main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%dn”,x,y,z);} 程序运行后的输出结果是___C___。A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,1 知识点:自加、自减运算符和逗号运算符 55.设有以下定义 int a=0;double b=1.25;char c='A';#define d 2 则下面语句中错误的是__D____。A、a++;B、b++;C、c++;D、d++;知识点:自加、自减运算符和逗号运算符 56.以下程序的输出结果是___D___。main(){ int x=10,y=10;printf(“%d %dn”,x--,--y);} A、10 10 B、99 C、9 10 D、10 9 知识点:自加、自减运算符和逗号运算符
57.若x和y都是int型变量,x=100、y=200,且有下面的程序片段 printf(“%d”,(x,y));上面程序片段的输出结果是___A___。
A、200 B、100 C、100 200D、输则格式符不够, 输出不确定的值 知识点:自加、自减运算符和逗号运算符 58.设有如下定义: int x=10,y=3,z;则语句
printf(“%dn”,z=(x%y,x/y));的输出结果是___D___。A、1 B、0 C、4 D、3 知识点:自加、自减运算符和逗号运算符
59.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是___A___。main(){ int x;scanf(“%d”,&x);if(x++ > 5)printf(“%d”,x);else printf(“%dn”,x--);} A、7和5 B、6和3 C、7和 D、6和4 知识点:自加、自减运算符和逗号运算符 60.若t为double类型,表达式t=1,t+5,t++的值是___D___。A、1 B、6.0 C、2.0 D、1.0 知识点:自加、自减运算符和逗号运算符 61.以下程序的输出结果是__A____。#include
A、y=0 B、y=-1 C、y=1D、while构成无限循环 知识点:自加、自减运算符和逗号运算符 63.以下叙述中正确的是__B____。
A、全局变量的作用域一定比局部变量的作用域范围大 B、静态(static)类别变量的生存期贯穿于整个程序的运行期间 C、函数的形参都属于全局变量 D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值 知识点:局部变量及其作用域和生存期 64.下面程序的输出是___C___。fun3(int x){ static int a=3;a+=x;return(a);} main(){ int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(“%dn”,n);} A、3 B、4 C、6 D、9 知识点:局部变量及其作用域和生存期 65.以下叙述中正确的是___A___。
A、局部变量说明为static 存储类,其生存期将得到延长 B、全局变量说明为static 存储类,其作用域将被扩大 C、任何存储类的变量在未赋初值时,其值都是不确定的 D、形参可以使用的存储类说明符与局部变量完全相同 知识点:局部变量及其作用域和生存期 66.有以下程序 int fun(int x[],int n){ static int sum=0,i;for(i=0;i
A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,1 知识点:调用函数和被调用函数之间的数据传递 74.有以下程序 void f(int x,int y){ int t;if(x A、3,4,5B、5,3,4C、5,4,3D、4,3,5 知识点:调用函数和被调用函数之间的数据传递 75.有以下程序 int fun1(double a){ return a*=a;} int fun2(double x,double y){ double a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);} main(){ double w;w=fun2(1.1,2.0);} 程序执行后变量w中的值是___C___。A、5.21 B、5 C、5.0 D、0.0 知识点:调用函数和被调用函数之间的数据传递 80.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是___B___。A、地址传递B、单向值传递C、由实参传给形参D、再由形参传回实参 知识点:函数的调用 81.当执行下面的程序时,如果输入ABC,则输出结果是___A___。#include “stdio.h” #include “string.h” main(){ char ss[10]=“12345”;gets(ss);strcat(ss,“6789”);printf(“%sn”,ss);} A、ABC6789 B、ABC67C、12345ABC6 D、ABC456789 知识点:函数的调用 82.有如下程序 long fib(int n){ if(n>2)return(fib(n-1)+fib(n-2));else return(2);} main(){ printf(“%ldn”,fib(3));} 该程序的输出结果是___B___。A、2 B、4 C、6 D、8 知识点:函数的调用 83.设函数fun的定义形式为 void fun(char ch,float x){……} 则以下对函数fun的调用语句中,正确的是__D____。 A、fun(“abc”,3.0);B、t=fun('D',16.5);C、fun('65',2.8);D、fun(32,32);知识点:函数的调用 84.有以下程序 char fun(char x,char y){ if(x 程序的执行结果是___D___。A、函数调用出错 B、8 C、9 D、7 知识点:函数的调用 85.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是___D___。A、函数调用可以作为独立的语句存在B、函数调用可以作为一个函数的实参 C、函数调用可以出现在表达式中D、函数调用可以作为一个函数的形参 知识点:函数的调用 86.有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是__A____。A、3 B、4 C、5 D、有语法错 知识点:函数的调用 92.以下函数值的类型是___A___。fun(float x){ float y;y=3*x-4;return y;} A、int B、不确定 C、void D、float 知识点:函数的定义和返回值 93.在C语言中,形参的缺省存储类是___A___。A、auto B、register C、static D、extern 知识点:函数的定义和返回值 94.有以下程序 int f(int a){ return a%2;} main(){ int s[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];printf(“%dn”,d);} 程序运行后的输出结果是__A____。A、9 B、11 C、19 D、21 知识点:函数的定义和返回值 95.在C语言中,函数的隐含存储类别是___C___。A、auto B、static C、extern D、无存储类别 知识点:函数的定义和返回值 97.若程序中定义了以下函数 double myadd(double a,double b){ return(a+b);} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是__A____。 A、double myadd(double a,b);B、double myadd(double,double);C、double myadd(double b,double a);D、double myadd(double x,double y);知识点:函数的定义和返回值 98.若有以下程序 #include A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B、若在主函数前对函数f进行说明,则在主函数和其它函数中都可以正确调用函数f C、对于以上程序,编译时系统会出提示出错信息:提示对f函数重复说明 D、函数f无返回值,所以可用void将其类型定义为无值型 知识点:函数的说明 99.下列叙述中正确的是___D___。 A、C语言编译时不检查语法B、C语言的子程序有过程和函数两种 C、C语言的函数可以嵌套定义D、C语言所有函数都是外部函数 知识点:库函数 101.以下不能正确定义二维数组的选项是__D____。A、int a[2][2]={{1},{2}};B、int a[][2]={1,2,3,4};C、int a[2][2]={{1},2,3};D、int a[2][]={{1,2},{3,4}};知识点:二维数组的定义和二维数组元素的引用 102.以下能正确定义二维数组的是___B___。 A、int a[][3];B、int a[][3]={2*3};C、int a[][3]={};D、int a[2][3]={{1},{2},{3,4}};知识点:二维数组的定义和二维数组元素的引用 103.以下程序的输出结果是___A___。main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(“%dn”,s);} A、18 B、19 C、20 D、21 知识点:二维数组的定义和二维数组元素的引用 104.以下程序的输出结果是__C____。main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) printf(“%d,”,x[i][2-i]);} A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.9 知识点:二维数组的定义和二维数组元素的引用 知识点:二维数组的定义和二维数组元素的引用 106.以下数组定义中错误的是___B___。 A、int x[][3]={0};B、int x[2][3]={{1,2},{3,4},{5,6}};C、int x[][3]={{1,2,3},{4,5,6}};D、int x[2][3]={1,2,3,4,5,6};知识点:二维数组的定义和二维数组元素的引用 107.以下数组定义中不正确的是___D___。A、int a[2][3];B、int b[][3]={0,1,2,3};C、int c[100][100]={0};D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}};知识点:二维数组的定义和二维数组元素的引用 108.有以下程序 main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i<3;i++){ printf(“%d ”,m[k][i]);} } 执行后输出结果是___C___。 A、4 5 6 B、2 58 C、3 6 9 D、7 8 9 知识点:二维数组的定义和二维数组元素的引用 109.以下能正确定义数组并正确赋初值的语句是___D___。A、int N=5,b[N][N];B、int a[1][2]={{1},{3}};C、int c[2][]={{1,2},{3,4}};D、int d[3][2]={{1,2},{34}};知识点:二维数组的定义和二维数组元素的引用 111.以下程序的输出结果是___A___。main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%dn”,a[0][3],a[1][2],a[2][1],a[3][0]);} A、0650 B、1470 C、5430D、输出值不定 知识点:二维数组的定义和二维数组元素的引用 112.定义如下变量和数组: int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是__C____。for(i=0;i<3;i++)printf(“%d ”,x[i][2-i]);A、1 5 9 B、1 47 C、3 5 7 D、3 6 9 知识点:二维数组的定义和二维数组元素的引用 113.有以下程序 main(){ int x[3][2]={0},i;for(i=0;i<3;i++)scanf(“%d”,x[i]);printf(“%3d%3d%3dn”,x[0][0],x[0][1],x[1][0]);} 若运行时输入:2 4 6<回车>,则输出结果为___B___。A、2 0 0 B、2 0 4C、2 4 0 D、2 4 6 知识点:二维数组的定义和二维数组元素的引用 130.当调用函数时,实参是一个数组名,则向函数传送的是___B___。 A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素中的值 知识点:函数之间对一维数组和数组元素的引用 132.有以下程序 void sum(int a[]){ a[0]=a[-1]+a[1];} main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf(“%dn”,a[2]);} 程序运行后输出结果是__A____。A、6 B、7 C、5 D、8 知识点:函数之间对一维数组和数组元素的引用 138.有以下程序 main(){ char s[]=“abcde”;s+=2;printf(“%dn”,s[0]);} 执行后的结果是___D___。 A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错 知识点:函数之间对一维数组和数组元素的引用 139.请读程序: #include 140.若要求定义具有10个int形元素的一维数组a,则以下的定义语句中错误的是____D__。 A、#define N 10int a[N];B、#define n 5int a[2*n];C、int a[5+5];D、int n=10,a[n];知识点:一维数组的定义和一维数组元素的引用 141.合法的数组定义是__D____。 A、int a[]=“string”;B、int a[5]={0,1,2,3,4,5};C、char s=“string”;D、char a[]={0,1,2,3,4,5};知识点:一维数组的定义和一维数组元素的引用 144.以下能正确定义一维数组的选项是___B___。A、int a[5]={0,1,2,3,4,5};B、char a[]={0,1,2,3,4,5};C、char a={'A','B','C'};D、int a[5]=“0123”;知识点:一维数组的定义和一维数组元素的引用 145.有如下程序 main(){ int n[5]={0,0,0},i,k=2;for(i=0;i 147.执行下面的程序段后,变量k中的值为___A___。int k=3,s[2];s[0]=k;k=s[1]*10;A、不定值B、32 C、30 D、10 知识点:一维数组的定义和一维数组元素的引用 170.以下能正确计算定义且赋初值的语句是___B___。A、int n1=n2=10;B、char c=32;C、fioat f=f+1.1;D、double x=12.3E2.5 知识点:赋值语句 171.以下合法的赋值语句是___B___。 A、x=y=100 B、d--;C、x+y;D、c=int(a+b);172.下列语句中符合C语言语法的赋值语句是___D___。A、a=7+b+c=a+7;B、a=7+b++=a+7;C、a=7+b,b++,a+7 D、a=7+b,c=a+7;173.请选出合法的C语言赋值语句___B___。 A、a=b=58 B、i++;C、a=58,b=58 D、k=int(a+b);174.下面程序的输出是___C___。main(){ int x=10,y=3;printf(“%dn”,y=x/y);} A、0 B、1 C、3 D、不确定的值 知识点:数据输出 175.已知字母A的ASCII码为十进制的65,下面程序的输出是___A___。main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf(“%d,%cn”,ch1,ch2);} A、67,D B、B,C C、C,D D、不确定的值 知识点:数据输出 176.下列程序的运行结果是___B___。#include 执行后输出结果是___C___。 A、10,01 B、02,12C、102,10 D、02,10 179. 有以下程序 main(){ int a=666,b=888;printf(“%dn”,a,b);} 程序运行后的输出结果是___B___。A、错误信息B、666 C、888 D、666,888 180.有以下程序 #include C、变量c1被赋予字符a, c2中仍是原有字符2 D、变量c1 被赋予字符a,c2中将无确定值 181.执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是___D___。main(){ char s[100];int c,i;scanf(“%c”,&c);scanf(“%d”,&i);scanf(“%s”,s);printf(“%c,%d,%s n”,c,i,s);} A、123,456,789 B、1,456,789C、1,23,456,789 D、1,23,456 182.有定义语句:int b;char c[10];,则正确的输入语句是__B____。A、scanf(“%d%s”,&b,&c);B、scanf(“%d%s”,&b,c);C、scanf(“%d%s”,b,c);D、scanf(“%d%s”,b,&c);184.若要求从键盘读入含有空格字符的字符串,应使用函数___B___。A、getc()B、gets()C、getchar()D、scanf()186.有以下程序 #include A、1267 B、1256 C、1278 D、1245 188.有以下程序 main(){ int m,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);printf(“%d%d%dn”,m,n,p);} 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的数值为 456,p 中的值为 789,则正确的输入是___A___。 A、m=123n=456p=789B、m=123 n456 p=789 C、m=123,n=456,p=789D、123 456 789 189.有以下程序段 int m=0,n=0;char c='a';scanf(“%d%c%d”,&m,&c,&n);printf(“%d,%c,%dn”,m,c,n);若从键盘上输入:10A10<回车>,则输出结果是___A___。A、10,A,10 B、10,a,10C、10,a,0 D、10,A,0 192.有定义语句:int x,y;,若要通过scanf(“%d,%d”,&x,&y);语句使变量x得到数据11,变量y得到数值12,下面四组输入形式中,错误的是___A___。 A、11 12<回车>B、11,12<回车>C、11, 12<回车>D、11,<回车>12<回车> 193.在嵌套使用if语句时,C语言规定else总是___C___。A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对 C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对 知识点:if语句和用if语句构成的选择结构 195.假定所有变量均已正确说明,下列程序段运行后x的值是___B___。a=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;A、34 B、4 C、35 D、3 196.有以下程序 main(){ int i;for(i=1;i<40;i++){ if(i++%5==0)if(++i%8==0)printf(“%d ”,i);} printf(“n”);} 执行后的输出结果是___C___。A、5 B、24 C、32 D、40 198.有如下程序 main(){ int a=2,b=-1,c=2;if(a #include A、011122 B、012 C、012020 D、120 209.如下程序 main(){ int x=1,a=0,b=0;switch(x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf(“a=%d,b=%dn”,a,b);} 该程序的输出的结果是___A___。 A、a=2,b=1 B、a=1,b=1C、a=1,b=0 D、a=2,b=2 210以下程序的输出结果是___A___。main(){ int a=0,i;for(i=1;i<5;i++){ switch(i){ case 0: case 3: a+=2;case 1: case 2: a+=3;default: a+=5;} } printf(“%dn”,a);} A、31 B、13 C、10 D、20 212.下列叙述中正确的是___D___。A、break语句只能用于switch语句 B、在switch语句中必须使用default C、break语句必须与switch语句中的case配对使用 D、在switch语句中,不一定使用break语句 213.设a为整型变量,不能正确表达数学关系:1010 && a<15D、!(a<=10)&&!(a>=15)知识点:关系运算和逻辑运算 214.以下程序的输出结果是___A___。main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf(“%dn”,d);} A、1 B、0 C、非0的数D、-1 215.语句:printf(“%d”,(a=2)&&(b=-2));的输出结果是___D___。A、无输出 B、结果不确定C、-1 D、1 216.设a、b、c、d、m、n均为int型变量,且a= 5、b= 6、c= 7、d= 8、m= 2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为___C___。A、0 B、1 C、2 D、3 217.若变量c为char类型,能正确判断出c为小写字母的表达式是__D____。A、'a'<=c<='z'B、(c>='a')||(c<='z')C、('a'<=c)and('z'>=c)D、(c>='a')&&(c<='z')218.能正确表示逻辑关系:“a≥10 或 a≤0”的C语言表达式是___D___。A、a>=10 or a<=0 B、a>=0 | a<=10 C、a>=10 && a<=0 D、a>=10 || a<=10 219.有如下程序 main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a A、a<>0 B、!a C、a=0 D、a 223.有如下程序段 int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为___D___。A、true B、false C、0 D、1 224.能正确表示a和b同时为正或同时为负的逻辑表达式是___D___。A、(a>=0‖b>=0)&&(a<0‖b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>0 知识点:条件表达式构成的选择结构 227.以下程序的输出结果是___C___。main(){int a=5,b=4,c=6,d;printf(“%dn”,d=a>b?(a>c?a:c):(b));} A、5 B、4 C、6 D、不确定 228.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式 a0)B、(x-y<0)C、(x-y<0||x-y>0)D、(x-y= =0)230.有以下程序段 int k=0,a=1,b=2,c=3;k=ac?k:b;执行该程序段后,k的值是___B___。A、3 B、2 C、1 D、0 231.以下程序段中与语句 k=a>b?(b>c?1:0):0;功能等价的是___A__。A、if((a>b)&&(b>c))k=1;else k=0;B、if((a>b)||(b>c))k=1;else k=0;C、if(a<=b)k=0;else if(b<=c)k=1;D、if(a>b)k=1;else if(b>c)k=1;else k=0;232.假定w、x、y、z、m均为int型变量,有如下程序段: w=1;x=2;y=3;z=4;m=(w A、321 B、23C、不输出任何内容D、陷入死循环 知识点:do-while语句和do-while语句构成的循环结构 235.有以下程序 main(){ int s=0,a=1,n;scanf(“%d”,&n);do { s+=1;a=a-2;} while(a!=n);printf(“%dn”,s);} 若要使程序的输出值为2,则应该从健盘给n输入的值是___B___。A、-1 B、-3 C、-5 D、0 236.有以下程序段 int n,t=1,s=0;scanf(“%d”,&n);do { s=s+t;t=t-2;} while(t!=n);为使此程序不陷入死循环,从键盘输入的数据应该是___D___。A、任意正奇数 B、任意负偶数C、任意正偶数 D、任意负奇数 239.有以下程序 main(){ int i=0,s=0;do { if(i%2){ i++;continue;} i++;s+=i;} while(i<7);printf(“%dn”,s);} 执行后输出结果是__A____。A、16 B、12 C、28 D、21 240.下面的程序的运行结果是___B___。main(){ int x=3;do { printf(“%dn”,x-=2);} while(!(--x));} A、输出的是1 B、输出的是1和-2C、输出的是3和0 D、是死循环 241.以下叙述正确的是___D___。 A、do-while语句构成的循环不能用其它语句构成的循环来代替 B、do-while语句构成的循环只能用break语句退出 C、用do-while语句构成的循环,在while后的表达式为非零时结束循环 D、用do-while语句构成的循环,在while后的表达式为零时结束循环 242.以下程序的输出结果是___D___。main(){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d ”,x--,y);} A、10 1 9 2 B、9 8 7 6C、10 9 9 0 D、10 10 9 1 知识点:for语句和用for语句构成的循环结构 244.以下程序的输出结果是___B___。main(){ int i, k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%dn”,k);} A、20 B、21 C、22 D、23 245.设变量已正确定义,则以下能正确计算f=n!的程序段是___D___。A、f=0;for(i=1;i<=n;i++)f*i;B、f=1;for(i=1;i 程序执行后的输出结果是___D___。 A、自然数1~9的累加和B、自然数1~10的累加和 C、自然数1~9中奇数之和D、自然数1~10中偶数之和 249.有如下程序 main(){ int i,sum;for(i=1;i<=3;sum++)sum+=i;printf(“%dn”,sum);} 该程序的执行结果是___C___。A、6 B、3 C、死循环D、0 250.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是___A___。for(i=5;i;i--)for(j=0;j<4;j++){ …… } A、20 B、25 C、24 D、30 251.有以下程序 main(){ int k=5;while(--k)printf(“%d”,k-=3);printf(“n”);} 执行后的输出结果是___A___。A、1 B、2 C、4 D、死循环 知识点:while语句和while语句构成的循环 253.以下程序中,while循环的循环次数是___D___。main(){ int i=0;while(i<10){ if(i<1)continue;if(i==5)break;i++;} …… } A、1 B、10 C、6 D、死循环,不能确定次数 254.t为int类型,进入下面的循环之前,t的值为0 while(t=1){ …… } 则以下叙述中正确的是___B___。 A、循环控制表达式的值为0B、循环控制表达式的值为1 C、循环控制表达式不合法D、以上说法都不对 255.有如下程序 main(){ int n=9;while(n>6){ n--;printf(“%d”,n);} } 该程序段的输出结果是___B___。A、987 B、876 C、8765 D、9876 256.有以下程序 main(){int p[7]={11,13,14,15,16,17,18};int i=0,k=0;while(i<7&&p[i]%2){ k=k+p[i];i++;} printf(“%dn”,k);} 执行后输出结果是___D___。A、58 B、56 C、45 D、24 257.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是___A___。A、while((ch=getchar())!='N' printf(“%c”,ch);B、while(ch=getchar()!='N' printf(“%c”,ch);C、while(ch=getchar())=='N' printf(“%c”,ch);D、while((ch=getchar())=='N' printf(“%c”,ch);258.有以下程序段 int k=0;while(k=1)k++;while循环执行的次数是___A___。 A、无限次B、有语法错,不能执行C、一闪也不执行D、执行1次 259.以下程序的输出结果是___C___。main(){ int n[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)n[i][j]=i+j;for(i=0;i<2;i++)for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];printf(“%d n”,n[i][j]);} A、14 B、0 C、6 D、值不确定 知识点:循环结构的嵌套 260.有以下程序 main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2)continue;x++;} x++;} printf(“x=%dn”,x);} 程序执行后的输出结果是___B___。A、x=4 B、x=8 C、x=6 D、x=12 261.下列程序的输出结果是___C___。main(){ int i,j,m=0,n=0;for(i=0;i<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;printf(“%d n”,n);} A、4 B、2 C、1 D、0 262.有以下程序 main(){ int i,n=0; 一、单选题 1.在C语言中,下列类型属于构造类型的是(D)A.整型 B.字符型 C.实型 D.数组类型 2.下列字符串不是标识符的是(D)A.sum B.Average C.Day_night D.M.D.JOHN 3.在C语言中,回车换行符是(A)A.n B.t C.v D.b 4.在C语言中,语句和数据定义是用(C)作为结束标记的 A.句号 B.逗号 C.分号 D.括号 5.设有如下定义: int x=10,y=5,z;则语句printf(“%dn”,z=(x+=y,x/y));的输出结果是(C)A.0 B.1 C.3 D.4 6.10.以下程序的输出结果是(B)main(){char c1=’8’,c2=’2’; printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);} A.因输出格式不合法,输出出错信息 B.8,2,6,106 C.8,2,6,10 D.8,2,5,9 7.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(A)main(){int x;scanf(“%d”,&x); if(x++>5)printf(“%dn”,x);else printf(“%dn”,x--);} A.7和5 B.7和4 C.6和4 8.表达式(int)2.1416的值时(A)A.2 B.2.1 C.0 D.3 9.下列运算符优先级最高的是(B)A.> B.+ C.&& D.!= 10.C语言容许函数值类型缺省定义,此时该函数值隐含的类型时(B)A.float型 B.Int型 C.Long 型 D.Double型 11、C程序的基本构成单位是(C)A、子程序 B、过程 C、函数 D、文件 12、C语言中要求操作数都为整型数据的算术符是(C)A、/ B、!C、% D、= = 13、若int x=1,y=1;则表达式(!x||y--)的值是(B)。A、0 B、1 C、2 D、-1 14、能正确表示逻辑关系:a≥10或a≤0的C语言表达式(D)A、a>=10 or a<=0 B、a>=0|a<=10 C、a>=10 && a<=0 D、a>=10||a<=0 15、double x,y;表达式x=1,y=x+3/2的值是(C)。A、1 B、2 C、2.0 D、2.5 16、运行C源程序的命令是(D)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9 17、运行完C程序后,查看C程序运行结果的命令是(A)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9 18.若有程序段:int i=2,j;j=i++;printf(“%d,%d”,++i,j);该程序段的输出结果是:(D)A、3,2 B、4,3 C、3,3 D、4,2 19设 int a=12;表达式a+=a-=a*=a的值是(C)。A 12 B 144 C 0 D 132 20、若给定条件表达式(M)?(a++):(a--),则其中表达式M和(D)等价。A M==0 B M=1 C M!=1 D M!=0 21、在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为(D)。A 只能是逻辑表达式 B只能是关系表达式 C 只能是逻辑表达式或关系表达式 D可以是任意表达式 22、下列选项中,(A)给变量赋初值是错误的。 A int a=b=3;B int a,b,c=5;C int a=3,b,c=a;D float f=3.56; 23、在C语言中,一个字符变量在内存中占用(A)个字节。A 1 B 2 C 3 D 4 24、int a=12,b=13,c;c=(a 25、设有int i;则表达式i=1,++i,++i||++i,i的值为(C)A.1 B.2 C.3 D.4 30以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是(A)A)if((a>b)&&(b>c))k=1;B)if((a>b)||(b>c))k=1 else k=0;C)if(a<=b)k=0;D)if(a>b)k=1;else if(b<=c)k=1;else if(b>c)k=1;else k=0; 31、算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性 32以下选项中可作为C语言合法常量的是(A)(A)-80.(B)-080(C)-8e1.0(D)-80.0e 33、以下叙述中正确的是(C) (A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出 33、以下选项中,不能作为合法常量的是(B)(A)1.234e04(B)1.234e0.4(C)1.234e+4(D)1.234e0 34、有以下程序 B)(main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(“%d %d %dn”,i,j,k);} 程序运行后的输出结果是(D)(A)1 2 3(B)2 3 4(C)2 2 3(D)2 3 3 35、判断变量ch中的字符是否为数字字符,正确表达式是____D___。 A)ch>=0&&ch<=9 B)’0’<=ch<=’9’ C)ch>=’0’||ch<=’9’ D)ch>=’0’&&ch<=’9’ 36、若执行以下程序时从键盘上输入9,则输出结果是__B_____ A)11 B)10 C)9 D)8 main() { int n; scanf(“%d”,&n); if(n++<10)printf(“%dn”,n); else printf(“%dn”,n--); } 37、若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y 38、以下非法的赋值语句是(C)A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0; 39、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A)6.500000 B)6 C)5.500000 D)6.000000 40、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为 1、j的值为 2、k的值为3,以下选项中正确的输入语句是(C)A)scanf(“---”,&i,&j,&k);B)scanf(“%d %d %d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); 41、若有以下程序: main(){ int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);} 执行后的输出结果是(C)A)8,6 B)8,3 C)6,4 D)7,4 42、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(D)A)6 B)0 C)2 D)1 43 以下选项中,与k=n++完全等价的表达式是(A)A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1 39、若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是B A)i= *P;B)*P=*&J;C)i=&j;D)i=* *p;40、若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是C A)*p+6 B)*(p+6)C)*p+=5 D)p+5 二、填空题 1.C语言是通过 库函数 来进行输入和输出的。 2.C语言的数据类型有四大类,他们是 基本类型、构造类型、指针类型和 空类型。 4.下面程序的运行结果是 3.600000,3 main(){float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);} 5.数组名定义规则和变量名相同,遵守 标识符 命名规则。 6、main(){char c1,c2,c3;c2=’c’;c1=c2-1;c3=c2+1;printf(“%c,%d,%cn”,c1,c2,c3);} 程序的运行结果是: b,99,d 7、main(){int a=5,b=6,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“c=%dn”,c);} 程序的运行结果是:-1 11.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为 0。12.设 int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是 9。14.求100~200间的全部素数。# include 15、main(){ int x,y=1,z=10;if(y!=0)x=5; printf(“x=%dt”,x);x=1;if(z<0)if(y>0)x=3;else x=5;printf(“x=%dn”,x);if(z=y<0)x=3;else if(y==0)x=5;else x=7;printf(“x=%dt”,x);printf(“z=%dn”,z);} 写出程序的运行结果:x=5 x=1 x=7 z=0 16、百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹? main(){ int hb,hm,hl,n=0;for(hb=0;hb<=100;hb+= 3)for(hm=0;hm<=100-hb;hm+= 2){ hl=100-hb-hm;if(hb/3+hm/2+2* hl ==100){ n++;printf(“hb=%d,hm=%d,hl=%dn”,hb/3,hm/2,2*hl);} } printf(“n=%dn”,n);} 17、写出程序运行结果,并简述功能(运行结果5分,功能描述3分,共8分)#include 将整型数组a以逆序形式显示出来 18、有以下语句段 int n1=10,n2=20;printf(“ n1=%dnn2=%d ”,n1,n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10 n2=20 19、有以下程序 main(){ int n=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf(“%dn”,x);} 执行后输出结果是-4。 21、.以下程序运行后的输出结果是____ main(){ int a,b,c;a=10;b=20;c=(a%b<1)||(a/b>1);printf(“%d %d %dn”,a,b,c);} 答案:10 20 0 22、任意输入三条边(a,b,c)后,若能构成三角形且为等腰、等边和直角,则分别输出DY、DB和ZJ,若不能构成三角形则输出NO。main(){ float a,b,c,a2,b2,c2 scanf(“%f%f%f%,&a,&b,&c);printf(”%5.1f,%5.1f,%5.1f“,a,b,c);if(a+b>c&&b+c>a&&a+c>b){ if(a==b || b==c || a==c)printf(”DY“);if(a==b && b==c)printf(”DB“);a2=a*a;b2=b*b;c2=c*c;if((a2+b2==c2)||(a2+c2==b2)||(b2+c2==a2))printf(”ZJ“);printf(”n“);} else printf(”NOn“);} 23、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是___x=2______ if(a 24、以下程序运行后的输出结果是 20,0。 main(){ int x=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(“%d,%d n”,x,y);} 三、程序题 1、在购买某物品时,若所花的钱x在下述范围内,所付钱y按对应折扣支付: x x<1000 0.9x 1000≤x<2000 0.8x 2000≤x<3000 0.7x x.≥3000 y= 2、编一程序根据上网时间计算上网费用,计算方法如下: 费用= 30元基数 <10小时 每小时3元 10 ~50 每小时2.5元 ≥50小时 同时为了鼓励多上网,每月收费最多不超过150元。 3、已知输入某课程的百分制成绩mark,要求显示对应五级制的评定,评定条件如下: 等级= 优 mark≥90 良 80≤mark<90 中 70≤mark<80 及格 60≤mark<70 不及格 mark<60 第一题答案: #include 实习1 1、简单程序设计 编程写程序,在屏幕上输出信息:Happy New Year! /* 输出图形*/ #include { printf(“Happy New Year!n”); } 2、简单计算 由键盘任意输入2个数,分别计算它们的和、差、积、商。/*简单计算*/ #include { float a,b;float h,c,j,s;scanf(“%f%f”, &a,&b); h=a+b;c=a-b;j=a*b; s=a/b;printf(“和=%f,差=%f,积=%f,商=%fn”,h,c,j,s); } 3、计算梯形的面积 已知梯形的上底、下底和高,计算梯形的面积。 /*计算梯形的面积*/ #include { float supline,dowline,high; double area;scanf(“%f”,&supline); scanf(“%f”,&dowline); scanf(“%f”,&high);area =((supline+dowline)*high)/2.0; printf(“%f n”,area); } 4、输出字符对应的ASCII码 任意输入一个字符,输出此字符对应的ASCII码。 /*输出字符对应的ASCII码*/ #include { char c;scanf(“%c”,&c);printf(“%dn”,c); } 5、数据类型长度测试 编写程序,测试所使用的计算机系统字符型、短整型、整形、长整型、单精度实型、双精度实型所占有的字节数量。 /*数据类型长度测试*/ #include { printf(“size of char=%dn”,sizeof(char)); printf(“size of short=%dn”,sizeof(short)); printf(“size of int=%dn”,sizeof(int)); printf(“size of long int=%dn”,sizeof(long int)); printf(“size of float=%dn”,sizeof(float)); printf(“size of double=%dn”,sizeof(double)); } 1.成绩判断 输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。不要改变与输入输出有关的语句。 /*成绩判断*/ #include void main() { float mark; scanf(“%f”,&mark); if(mark<60) printf(“Failn”); else printf(“Passn”); } 2.字符转换 输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。不要改变与输入输出有关的语句。 #include main(){char ch;ch=getchar(); if(ch>='A'&&ch<='Z') {ch=ch+32; printf(“%cn”,ch);} else if(ch>='a'&&ch<='z') {ch=ch-32; printf(“%cn”,ch);} else printf(“%cn”,ch); } 3.利用海伦公式求三角形面积 三角形三个边长 /*计算三角形面积*/ #include “math.h” #include “stdio.h” void main() { double a,b,c,s,area; printf(“请输入3条边长:”);scanf(“%lf%lf%lf”,&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b) { s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“三角形的面积是:%fn”,area); scanf(“%lfn”,area); } else printf(“这3个数无法组成三角形!n”); } 4.判断是否能构成一个三角形 从键盘输三个数,判断是否能将它们作为三角形的三条边构成一个三角形。若能,输出“Yes”,否则,输出“No”。 /*判断是否能构成一个三角形*/ #include { float a,b,c; printf(“请输入3条边长:”);scanf(“%f%f%f”,&a,&b,&c);if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&& b+c>a) printf(“Yesn”); else printf(“Non”); } 5.按从大到小排序三个数 从键盘输入三个数,将它们按从大到小进 行排序,然后输出。/*按从大到小排序三个数*/ #include main(){ int a,b,c,d,e,f; printf(“请输入三个整数n1,n2,n3:”); scanf(“%d%d%d”,&a, &b, &c); printf(“排序前:%d, %d, %dn”, a, b, c); if(a>b){ { d=c;e=a;f=b; } { if(c } else { d=a;e=c;f=b;} } } else{if(b } 1.数据统计 任意输入n个整数,分别统计奇数的和、奇数的个数、偶数的和、偶数的个数。 /*数据统计*/ #include void main() { int i,n,m,jishuhe=0,oushuhe=0,jishuge=0,oushuge=0; scanf(“%d”,&n); for(i=0;i { scanf(“%d”,&m); if(m%2!=0) { jishuhe=jishuhe+m; jishuge++; } else { oushuhe=oushuhe+m; oushuge++; } } printf(“%dn%dn%dn%dn”,jishuhe,jishuge,oushuhe,oushuge); } 2.爱因斯坦阶梯问题 爱因斯坦阶梯问题。设有一阶梯,每步跨2阶,最后剩1阶;每步跨3阶,最后剩2阶;每步跨5阶,最后剩4阶;每步跨6阶,最后剩5阶;每步跨7阶,正好到阶梯顶。问满足条件的最少阶梯数是多少。 /*爱因斯坦阶梯问题*/ #include { int x;x=7;while(!((x%3==2)&&(x%5==4)&&(x%6==5))) x+=14; printf(“%dn”,x); } 3.猴子吃桃问题 一天一只猴子摘下一堆桃子,吃了一半,觉得不过瘾,又多吃了一个,第2天接着吃了前一天剩下的一半,再多吃了一个,以后每天如此,直到第n天,只剩下1个桃子,问猴子一共摘了多少桃子? /*猴子吃桃问题*/ #include { int n;int x=1,i; scanf(“%d”,&n);for(i=1;i { x=2*(x+1); } printf(“%dn”,x); } ┏(^ω^)=☞✘✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 4.求两个数的最大公约数和最小公倍数 用辗转相除法(即欧几里得算法)求两个正整数的最大公约数和最 小公倍数。 /* 求两个数的最大公约数和最小公倍数*/ #include void main() { int a,b,rem,temp;int Div,Multi;int a1,b1; scanf(“%d%d”,&a,&b); a1=a;b1=b;if(a temp=a;a=b;b=temp;} while(rem) { rem = a%b; a=b;b=rem;} Div=a;Multi = a1*b1/Div; printf(“%dn%dn”,Div,Multi); } 5.求sin(x)的近似值 利用公式求sin(x)的近似值(精度为10e-6)。sin(x)=x-x3/3!+x5/5!-x7/7!+....(-1)nx(2n+1)/(2n+1)!+.../*求sin(x)的近似值*/ #include main(){ float a,b=1;float i,sinx,x;scanf(“%f”,&x); a=x;sinx=0; for(i=1;fabs(a/b)>=1e-6;i++) { sinx+=a/b;a=-a*x*x;b=b*2*i*(2*i+1); } printf(“%fn”,sinx); } 6.图形输出 输入一个字符及行数n,用该字符在屏幕上输出如下图形: * *** ***** ******* ********* 输入: 一个字符及要输出的行数n。 输出: 用该字符在屏幕上构成的要求图形。 #include void main() { int n,i,j;char ch;ch=getchar();scanf(“%d”,&n);for(i=0;i for(j=0;j<(n-1-i);j++) printf(“ ”); for(j=0;j<(2*i+1);j++)printf(“%c”,ch); printf(“n”);} } (^ω^)=☞1.字符串连接 由键盘任意输入两串字符,不用库函 数strcat,连接将两串字符。 输入: 两串字符 输出: 连接将两串字符 输入样例: abc def 输出样例: abcdef /*字符串连接*/ #include { ┏ int i,j,k; char str[20]={“ ”},str1[10],str2[10]; gets(str1); gets(str2); j=strlen(str1),k=strlen(str2); for(i=0;i { if(i else str[i]=str2[i-j]; } puts(str);} /*字符串连接*/ #include { char str1[100],str2[50]; int i,j; gets(str1);gets(str2); for(i=0;str1[i]!=' ';i++) ; for(j=0;str2[j]!=' ';j++) { str1[i]=str2[j]; i++;} str1[i] = ' '; puts(str1); } 2.简单加密程序 描述: 由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。 输入: 一串字符 输出: 加密后的字符串 输入样例: abl2CDxyz 输出样例: cdl2EFzab 提示: 1.可用gets()和puts()输入输出字符串。 2.利用ASCII码运算进行加密。 3.循环右移的含义是:将a-z,A-Z各看成一个环进行移动,即y右移2个字母后为a,z右移2个字母后为b;Y右移2个字母后为A,Z右移2个字母后为B。 /*简单加密程序*/ #include void main() { char a[80]; int i;gets(a); for(i=0;a[i]!=0;i++){if((a[i]>='A'&& a[i]<='X')||(a[i]>='a'&&a[i]<='x')) a[i]=a[i]+2;else if((a[i]>='y'&&a[i]<='z')||(a[i]>='Y'&&a[i]<='Z')) a[i]=a[i]-24;} puts(a);} 3.矩阵对角线元素求和 描述: 输入一个5×5的数组,分别求其主对角线和辅对角线上 元素之和。 输入: 5×5的数组 输出: 主对角线和辅对角线上元素之和 输入样例: 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 输出样例: 65 65 提示: 主对角线为从矩阵的左上角至右下角的连线,在数组中即指行列下标相同的元素,辅对角线为从矩阵的右上角至左下角的连线,这些元素的下标之间也可用相应的表达式表达。 /*矩阵对角线元素求和*/ #include { int i,j;int a[6][6];int sum1=0,sum2=0; for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);for(i=0;i<5;i++) { sum1=sum1+a[i][i];sum2=sum2+a[i][4-i]; } printf(“%d %dn”,sum1,sum2); } 4.数据顺序调整 描述: 由键盘任意输入10个数,将最大数调到最前面,最小数 调到最后面。 输入: 任意10个数 输出: 数据调整后的10个数。 输入样例: 0 1 2 3 4 5 6 7 8 9 输出样例: 9 1 2 3 4 5 6 7 8 0 提示: ① 定义四个变量d1、d2、x1、x2,分别存放最大数、最小数及它们的位置; ② 在循环开始前,将第一个元素作为参考,将其值分别存入d1、x1,将其下标分别存入d2、x2; ③ 在循环中将其它元素逐一与d1比较,若比d1大,将其存入d1,并将其下标存入d2;否则将其与x1比较,若比x1小,将其存 入x1,并将其下标存入x2; ④ 结束循环后,将d2所示位置的数与第一个数交换,将x2所示位置的数与最后一个数交换,然后输出数组所有元素即可。 /* 数据顺序调整*/ #include { int i,a[10],temp;int kmax=0,kmin=0; for(i=0;i<10;i++)scanf(“%d”,&a[i]); for(i=0;i<10;i++) { if(a[i]>a[kmax]) kmax=i; if(a[i] kmin=i; 1、字符串连接 /* exer 4-1 两串字符连接 */ #include unsigned int i,j; char soustr[80],desstr[80]; //printf(“please enter soustr:”); gets(soustr); } temp=a[0];a[0]=a[kmax];a[kmax]=temp; if(kmax!=9) { temp=a[9];a[9]=a[kmin];a[kmin]=temp; } 实习四答案 /* 输入原串 */ //printf(“please enter desstr:”); gets(desstr); /* 输入目的串 */ i = strlen(soustr); /* 取目的串尾部位置 */ for(j=0;j<=strlen(soustr);j++,i++) { soustr[i] = desstr[j]; /* 将原串依次接入目的串尾部 */ } puts(soustr);} 2、简单加密程序 /* exer 4-2 字符加密 */ #include unsigned int j; char soustr[80],secstr[80]; //printf(“please enter soustr:”); gets(soustr); /* 输入原串 */ for(j=0;j<=strlen(soustr);j++) { if(soustr[j]>='A' && soustr[j]<='Z') secstr[j] =(soustr[j]-'A'+2)%26+'A';/*计算大写字母密文*/ else if(soustr[j]>='a' && soustr[j]<='z') secstr[j] =(soustr[j]-'a'+2)%26+'a';/*计算小写字母密文*/ else secstr[j] = soustr[j]; /* 其它字符不变 */ } puts(secstr);} 3、矩阵对角线元素求和 /* exer 4-3 主和辅对角线上元素之和 */ #include int i,j; int a[5][5]; int sum1=0,sum2=0; //printf(“please enter soustr:”); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,&a[i][j]); /* 输入数组 */ for(i=0;i<5;i++) { sum1 = sum1+a[i][i]; /* 主对角线 */ sum2 = sum2+a[i][4-i]; /* 辅对角线 */ } printf(“%d %dn”,sum1,sum2);} 4、数据顺序调整 /* exer 4-4 将最大数调到最前面,最小数调到最后面 */ #include int i,a[10],temp; int kmax=0,kmin=0; //printf(“please enter :”); for(i=0;i<10;i++) /* 输入数组 */ scanf(“%d”,&a[i]); for(i=0;i<10;i++) { if(a[i]>a[kmax]) kmax = i; /* 找最大数位置 */ else if(a[i] kmin = i; /* 找最小数位置 */ } if(kmax == 9 && kmin == 0) { temp = a[0]; a[0] = a[kmax]; a[kmax] = temp; /* 与最前面的数交换 */ } else { temp = a[0]; a[0] = a[kmax]; a[kmax] = temp; /* 与最前面的数交换 */ temp = a[9]; a[9] = a[kmin]; a[kmin] = temp; /* 与最后面的数交换 */ } for(i=0;i<9;i++) printf(“%d ”,a[i]); /* 输出数组 */ printf(“%dn”,a[i]);} 5、字符个数统计 /* exer 4-5 统计大写字母、小写字母、数字及其它字符的个数 */ #include unsigned int i; int cap=0,low=0,dig=0,oth=0; /* 定义并初始化 */ char str[80]; //printf(“please enter str:”); gets(str); /* 输入原串 */ for(i=0;i { if(str[i]>='A' && str[i]<='Z') cap++; /* 统计大写字母 */ else if(str[i]>='a' && str[i]<='z') low++; /* 统计小写字母 */ else if(str[i]>='0' && str[i]<='9') dig++; /* 统计数字 */ else oth++; /* 统计其它字符 */ } printf(“%d %d %d %dn”,cap,low,dig,oth);} 6、学生成绩计算 /* exer 4-6 求每一个学生的总成绩和平均成绩 */ #include int i,j; float score[10][5]={0.0f}; float allsco[10],avesco[10]; for(i=0;i<10;i++) for(j=0;j<5;j++) scanf(“%f”,&score[i][j]); /* 输入学生的成绩 */ for(i=0;i<10;i++) { allsco[i] = 0; /* 总成绩清零 */ for(j=0;j<5;j++) { allsco[i] = allsco[i]+score[i][j]; /* 累加总成绩 */ } avesco[i] = allsco[i]/5; /* 计算平均成绩 */ } for(i=0;i<10;i++) printf(“%f %fn”,allsco[i],avesco[i]);/* 输出成绩 */ } 7、姓名排序 /* exer 4-7 姓名排序 */ #include int i,j,k; char name[10][80],temp[80]; //printf(“please enter :”); for(i=0;i<10;i++) gets(name[i]); /* 输入姓名数组 */ for(i=0;i<9;i++) /* 排序 */ { k = i; for(j=i+1;j<10;j++) if(strcmp(name[k],name[j])>0) k = j; if(k!=i) { strcpy(temp,name[i]); strcpy(name[i],name[k]); strcpy(name[k],temp); /* 交换 */ } } for(i=0;i<10;i++) puts(name[i]); /* 输出姓名数组 */ } 8、输出杨辉三角形 /* exer 4-8 打印杨辉三角形 */ #include int i,j; int a[6][6]; for(i=0;i<6;i++) { a[i][i] = 1; /* 主对角线为1 */ a[i][0] = 1; /* 第1列为1 */ } for(i=2;i<6;i++) for(j=1;j a[i][j] = a[i-1][j-1]+a[i-1][j];/* 计算 */ for(i=0;i<6;i++) { for(j=0;j<=i;j++) printf(“%d ”,a[i][j]); /* 输出 */ printf(“n”); /* 换行 */ } } 实习五答案 1、用指针实现排序 /* exer 5-1 由键盘输入 10个整数,将它们按由小到大顺序排列 */ #include int a[10],*p = NULL; /* 说明数组和指针 */ int i, j, temp; for(p = a;p < a + 10;p++) /* 指针从数组首到尾 */ { scanf(“%d”, p); /* 利用指针依次输入 */ } p = a; for(i = 0;i < 9;i++) /* 利用指针依次比较 */ { for(j = i + 1;j < 10;j++) if(*(p + i)> *(p + j)) { temp = *(p + i); *(p + i)= *(p + j); *(p + j)= temp; } } for(p=a;p < a + 9;p++) printf(“%d ”, *p); printf(“%dn”, *p);} 2、用指针实现字符串排序 /*exer 5-2 将 10个长度小于20的字符串排序*/ #include char szStr[10][20],*psz[10],szTemp[20]; int i,j; for(i = 0;i < 10;i++) { psz[i] = szStr[i]; /*指针数组的每个元素指向各行串*/ } for(i = 0;i < 10;i++) { gets(psz[i]); /*输入10个字符串*/ } for(i = 0;i < 9;i++) /*字符串排序*/ { for(j = i + 1;j < 10;j++) { if(strcmp(psz[i], psz[j])> 0) { strcpy(szTemp, psz[i]); strcpy(psz[i], psz[j]); strcpy(psz[j], szTemp); } } } for(i = 0;i < 10;i++) { puts(psz[i]); /*输出字符串*/ } } 3、数据倒置 /*exer 5-3 将具有10个元素的一维数组中的数据倒置 */ #include int a[10], iTemp, *p, *q; int i; for(i = 0;i < 10;i++) { scanf(“%d”, a + i); /*输入数组*/ } p = a; q = a + 9; for(p = a, q = a + 9;p < q;p++, q--) /*首尾交换*/ { iTemp = *p; *p = *q; *q = iTemp; } for(i = 0;i < 10;i++) { printf(“%d ”, *(a + i)); /*输出*/ } } 4、用指针实现数据位置调整 /*exer 5-4 输入 10个整数,将最大的调到最后,最小的调到最前*/ #include void swap(int *px, int *py); int main(void){ int a[10], iTemp, *pMax, *pMin; int i; for(i = 0;i < 10;i++) { scanf(“%d”, a + i);/*输入数组*/ } pMax = a; /*最大值指针指向数组首地址*/ pMin = a; /*最小值指针指向数组首地址*/ for(i = 1;i < 10;i++) { if(*(a+i)> *pMax) pMax = a + i; if(*(a+i)< *pMin) pMin = a + i; } /*最大值是第1个元素,最小值是最后一个元素*/ if(pMax == a && pMin == a + 9) { swap(pMax, pMin); } else { /*最小值与第一个元素交换*/ swap(a, pMin); /*最大值与最后一个元素交换*/ swap(a + 9, pMax); } for(i = 0;i < 10;i++) { printf(“%d ”, *(a + i)); /*输出*/ } return 0;} void swap(int *px, int *py){ int temp; temp = *px; *px = *py; *py = temp;} 5、用指针实现查找二维数组中最大数及其位置 /*exer 5-5 找出二维数组(设3行4列)中的最大数及其位置 */ #include int a[3][4],(*p)[4], iCol, iRow; int i, j; p = a; for(i = 0;i < 3;i++) { for(j = 0;j < 4;j++) scanf(“%d”, *(p + i)+ j); /*输入数组*/ } iCol = 0; /*设最大数及其位置 */ iRow = 0; for(i = 0;i < 3;i++) { for(j = 0;j < 4;j++) { if(*(*(p + i)+ j)> *(*(p + iRow)+ iCol)) { iRow = i; iCol = j; /*修改位置*/ } } } printf(“%d %d %dn”, iRow, iCol, a[iRow][iCol]);} 6、用指针实现子字符串提取 /*exer 5-6 由键盘输入一串字符,从字符串下标为m开始 取出n个字符(m和n由键盘输入),形成一个新的字符串 */ #include char szStrSour[80], szStrDest[80], *pszSour, *pszDest; int i, m, n; gets(szStrSour); /* 输入字符串 */ scanf(“%d%d”, &m, &n); /* 输入位置和长度 */ pszSour = szStrSour + m; /* 确定起始位置 */ pszDest = szStrDest; for(i = 0;i < n;i++) /* 依次取n个字符 */ { *pszDest = *pszSour; pszDest++; pszSour++; } *pszDest = ' '; /* 在字符串末尾追加结束标志 */ puts(szStrDest);} 实习六答案 1、整数交换函数设计 /* exer 6-1 交换2个整数 */ #include void swap(int *, int *); /* 函数声明 */ void main(void){ int a,b; //printf(“please enter 2 data:”); scanf(“%d%d”,&a,&b); /* 输入2个整数 */ //printf(“a=%d,b=%dn”,a,b); swap(&a,&b); /* 调用函数进行交换 */ printf(“%d %dn”,a,b);} void swap(int *p1, int *p2) /* 交换函数 */ { int temp; temp = *p2; /* 交换 */ *p2 = *p1; *p1 = temp;} 2、数字字符个数统计函数设计 /* exer 6-2 统计一串字符中数字字符的个数 */ #include /* 函数声明 */ void main(void){ char pstr[80]; //printf(“please enter string:”); gets(pstr); /* 输入字符串 */ printf(“%dn”,count(pstr));/* 调用函数进行统计 */ } int count(char *p) /* 统计函数 */ { int num=0; while(*p!=' ') /* 循环依次遍历 */ { if(*p>='0' && *p<='9') num++; /* 统计 */ p++; /* 指针后移 */ } return num;} 3、排序函数设计 /* exer 6-3 利用函数排序 */ #include /* 函数声明 */ void main(void){ int n, i, data[10]; //printf(“please enter 10 data:”); scanf(“%d”, &n); for(i=0;i scanf(“%d”,&data[i]); /* 输入数组 */ sort(data,n); /* 调用函数排序 */ for(i=0;i printf(“%d ”,data[i]); /* 输出数组 */ } void sort(int a[ ],int num) /* 排序函数 */ { int i,j,k,temp; for(i=0;i /* 排序 */ { k = i; for(j=i+1;j if(a[k] k = j; if(k!=i) { temp = a[k]; a[k] = a[i]; a[i] = temp; /* 交换 */ } } } 4、矩阵转置函数设计 /* exer 6-4 矩阵转置 */ #include /* 函数声明 */ void main(void){ int n, i, j, data[100][100]; scanf(“%d”, &n); for(i=0;i { for(j=0;j scanf(“%d”,&data[i][j]); /* 输入数组 */ } transpose(data,n); /* 调用函数转置 */ for(i=0;i { for(j=0;j printf(“%d ”,data[i][j]); /* 输出数组 */ printf(“%dn”, data[i][j]); } } void transpose(int a[][100],int n) /* 转置函数 */ { int i,j,temp; for(i=0;i /* 转置 */ { for(j=0;j { temp = a[i][j]; a[i][j] = a[j][i]; a[j][i] = temp; /* 交换 */ } } } 5、求素数函数设计 /* exer 6-5 求素数 */ #include /* 函数声明 */ void main(void){ int m,num=0; /* 定义整型变量 */ for(m=101;m<=200;m=m+2)/* 循环依次遍历待检测的奇数 */ { if(Prime(m)) /* 调用函数判断此数是否为素数 */ { printf(“%d ”,m); /* 输出素数 */ num++; /* 统计素数 */ } } printf(“n%dn”,num);/* 输出素数个数 */ } int Prime(int n) /* 判断此数是否为素数函数 */ { int found; /* 定义开关变量 */ int i,k; k = sqrt((double)n); found = 1; /* 初始化开关变量 */ i = 2; while(i<=k && found) /* 循环依次检测条件 */ { if(n%i ==0) found = 0; /* 一旦除尽修正开关变量 */ i++; } return found;} 6、进制转换函数设计 /* exer 6-6 八进制数据字符串转换为十进制数据 */ #include /* 函数声明 */ void main(void){ char str[10]; gets(str); /* 输入八进制数据字符串 */ printf(“%dn”,conver(str));/* 调用子函数转换 */ } int conver(char *p) /* 转换子函数 */ { int num=0; for(;*p!=' ';p++) num = num*8+*p-'0'; /* 进行转换 */ return num;} 7、求最大公约数函数设计 /* exer 6-7 求最大公约数 */ #include /* 函数声明 */ void main(void){ int a,b,com; //printf(“please enter two integers:”); scanf(“%d%d”,&a,&b); /* 输入两个正整数 */ com = comdivi(a,b); /* 调用函数 */ printf(“%dn”,com);} int comdivi(int m,int n) /* 求最大公约数子函数 */ { int q; if(n>m) /* 如果m小于n,交换 */ { int z; z = m; m = n; n = z; } do { q = m%n; /* 开始迭代 */ m = n; n = q; } while(q!=0); /* 循环整除取余,直到余数为0 */ return m;} 8、对称数组判断 /* exer 6-8 判断二维数组是否为对称数组 */ #include /* 函数声明 */ void main(void){ int n, i, j, data[100][100]; scanf(“%d”, &n); for(i=0;i { for(j=0;j scanf(“%d”,&data[i][j]); /* 输入数组 */ } if(array((int *)data, 4)) /* 调用函数判断 */ printf(“Yesn”); else printf(“Non”);} int array(int *p,int n) /* 判断此数组是否为对称数组函数 */ { int found; /* 定义开关变量 */ int i,j; found = 1; /* 初始化开关变量 */ for(i=0;i { for(j=0;j { if(*(p+i*100+j)!=*(p+j*100+i))/* 循环依次判断 */ { found = 0; break; } } } return found;} 实习七答案 1、电话薄管理程序设计 /* exer 7-1 手机电话簿管理 */ #include /* 定义全局变量,代表电话簿长度 */ struct stud /* 定义结构类型 */ { char name[15]; char phone_num[15]; char mobile_num[15];} book[100]; /* 定义结构数组 */ void creat(); /* 函数的原型声明 */ void insert();void search();void delete();void output(); int main(void) /* 主函数 */ { int k; do { printf(“ 0: exitn”); /* 打印菜单项 */ printf(“ 1: creatn”); printf(“ 2: searchn”); printf(“ 3: insertn”); printf(“ 4: deleten”); printf(“ 5: outputn”); printf(“please select:”); scanf(“%d”,&k); /* 输入选择项 */ switch(k) { case 0: exit(0); /* 退出函数 */ case 1: creat(); break; case 2: search(); break; case 3: insert(); break; case 4: delete(); break; case 5: output(); break; /* 调用子函数 */ default: exit(0); } } while(1); return 0;} void creat(void) /* 生成子函数 */ { char appella[15]; getchar(); while(1) /* 输入结构数组 */ { gets(appella); if(*appella=='*')break; /* 输入*,则结束 */ strcpy(book[N].name, appella); gets(book[N].phone_num); gets(book[N].mobile_num); N++; /* 统计长度 */ } } void search(void) /*查找子函数 */ { char appella[15]; int i=0; getchar(); gets(appella); while(i { i++; } if(i printf(“%s %s %sn”,book[i].name,book[i].phone_num,book[i].mobile_num); else printf(“not found”);} void insert(void) /* 插入子函数 */ { getchar(); gets(book[N].name); gets(book[N].phone_num); gets(book[N].mobile_num); N++; /* 长度加1 */ } void delete(void) /*删除子函数 */ { char appella[15]; int i=0,j; getchar(); gets(appella); while(i { i++; } if(i { for(j=i+1;j { book[j-1] = book[j]; } N--; /* 长度减1 */ } else printf(“not found”);} void output(void) /* 输出子函数 */ { int i; for(i=0;i printf(“%s %s %sn”,book[i].name,book[i].phone_num,book[i].mobile_num);} 2、正负数判断 /* exer 8-1 判断数是正数、负数 */ #include short num,mask,bit; mask = 0x8000; /* 构造掩码 */ scanf(“%hx”,&num); /* 输入数据 */ bit =(mask & num)?1:0; /* 取出第一位 */ if(bit == 0) printf(“is positive numbern”); /* 输出正数 */ else printf(“is negative numbern”); /* 输出负数 */ return 0;} 3、偶数位清零 /* exer 8-3 将偶数位清零,其它位保留 */ #include unsigned short a,b,mask; mask = 0x5555; /* 构造掩码 */ scanf(“%hx”,&a); /* 输入数据a */ b = a & mask; /* 与掩码按位与 */ printf(“%xn”,b); /* 输出 */ return 0;} 4、结构体的定义与引用 #include /*定义结构体*/ struct employee { char name[100]; char ID[20]; int age; float salary;}; int main(){ /*定义结构体变量*/ struct employee staff; /*输入数据*/ gets(staff.name); gets(staff.ID); scanf(“%d”, &staff.age); scanf(“%f”, &staff.salary); /*输出数据*/ puts(staff.name); puts(staff.ID); printf(“%dn”, staff.age); printf(“%.2fn”, staff.salary); return 0;} 5、结构体数组的定义与引用 #include /*定义结构体*/ struct employee { char name[100]; char ID[20]; int age; float salary;}; int main(){ int i = 0; float MaxSalary = 0.0f; /*定义结构体变量*/ struct employee staff[5]; /*输入数据*/ for(i = 0;i < 5;i++) { scanf(“%s”, staff[i].name); scanf(“%s”, staff[i].ID); scanf(“%d”, &staff[i].age); scanf(“%f”, &staff[i].salary); } MaxSalary = staff[0].salary; for(i = 1;i < 5;i++) { if(staff[i].salary > MaxSalary) MaxSalary = staff[i].salary; } printf(“%.2fn”, MaxSalary); return 0;} 华中科技大学硕士研究生2009级《中国语文》试卷(A)(闭卷) (说明:答案一律写在答题纸上,否则无效,且答题纸与试题纸分开交)学号 姓名 院系 班级 得分 一、多项选择题(每题2分,共7题14分,多选、少选、错选一律不得分) 1、中国古代散文最远可追溯到(BD)。 A、结绳记事 B、甲骨卜辞 C、岩画 D、铜器铭文 2、文学史上建安风骨的内涵包括(ABCD)。 A、功业意识 B、慷慨文风 C、生命意识 D、悲凉文风 3、“五四”时期出现了散文创作的盛况,其时产生了(AC)等散文名家。A、郁达夫 B、邹韬奋 C、周作人 D、张承志 4、(BC)属于90年代“文化散文”。 A、林语堂的《纽约钓鱼》 B、余秋雨的《文明的碎片》 C、史铁生的《我与地坛》 D、范长江的《塞上行》 5、语言发展的一般规律包括(ABC)。 A、渐变性 B、不平衡性 C、社会制约性 D、任意性 6、中古汉语的声调包括(ABCD)。 A、平声 B、上声 C、去声 D、入声 7、“风雨送春归,飞雪迎春到,已是悬崖百丈冰,犹有花枝俏”(毛泽东《卜算子·咏梅》)句中使用的修辞格是(ABCD)。 A、比喻 B、对偶 C、拟人 D、夸张 二、填空题(每空1分,共20分) 1、中国古代文学中的诗骚传统是指(现实主义的风诗)和(浪漫主义的骚诗)形成的传统。 2、唐代“古文运动”是针对六朝以来盛行的(骈文)而提倡散文的“散文化”。 3、八股文分为破题、承题、(起讲)、(入手)、(起股)、中比、后比、收结。 4、元明清的戏剧主要是杂剧和(南戏)两种体制。 5、现代文学中率先兴起的散文作品,是议论时政的杂感短论,统称(杂文)。周作人最早从西方引进(美文)的概念,提倡“记述的”、“艺术的”叙事抒情散文,强调(以自我为中心),提倡“言志”的小品文。6、1930年代,文坛上风行过幽默小品与闲适散文,推动这一风气的是后来被称为“幽默大师”的(林语堂),他创办了(论语)等刊物,大力提倡幽默。 7、《有关大雁塔》是(韩东)的诗歌作品。 8、根据语言的历史来源或者按照语言的亲属关系对语言所作的分类,就是语言的(谱系)分类。 9、在汉语史上先后出现过(直音)、(譬况)、(反切)、注音字母等标音方法。 10、(甲骨文)是迄今所见的相当成熟的最早的汉字。 11、六书中,(形声字)的出现,标志着造字方法完全成熟。 12、在北方戏曲中,韵又叫(辙),押韵叫(合辙)。 13、依照词谱所规定的字数、平仄以及其他格式来写词,叫做(填词)。 三、修改下列病句:(每题3分,共6分) 1、在前面所讨论的问题中,受力分析和平衡计算时,都把物体的接触面看成是绝对光滑的,即忽略物体间的摩擦。(《工程力学》,华中科技大学出版社,2002年,P35) 2、(2)存储器。它用以存放CNC装置的数据、参数和程序。它包括存放系统控制软件的只读存储器EPROM和存放中间运算结果的随机读写存储器RAM和存放零件加工程序信息的磁泡存储器或带后备电池的CMOSRAM。(《数控加工与编程》,华中科大出版社,2004,P7) 四、阅读欣赏、理解题(第1题为必答题,为12分;第2、3、4、5、6题中选做两题,每题14分;共40分) 1、阅读韩愈《毛颖传》,并回答文后问题。(12分)(必答题)毛颖传(唐)韩愈 毛颖者,中山人也。其先明眎(眎,视。明眎,兔子的别名),佐禹治东方(东方为卯位)土,养万物有功,因封于卯地,死为十二神。尝曰:“吾子孙神明之后,不可与物同,当吐而生(古代传说:兔子的生产方式)。”已而果然。明眎八世孙?(nōu),世传当殷时居中山,得神仙之术,能匿光使物,窃姮娥,骑蟾蜍入月,其后代遂隐不仕云。居东郭者曰?(cūn),狡而善走,与韩卢(古代韩国的名犬)争能,卢不及。卢怒,与宋鹊(古代宋国的名犬)谋而杀之,醢其家。 秦始皇时,蒙将军恬(蒙恬,人名,传说发明毛笔的人。)南伐楚,次中山,将大猎以惧楚,召左右庶长与军尉,以连山筮之(连山,三《易》之一,古代占卜用《易》。),得天与人文之兆。筮者贺曰:“今日之获,不角不牙,衣褐之徒,缺口而长颈,八窍(八窍,五官共七窍,古人认为兔子有八窍。)而趺居,独取其髦,简牍是资,天下其同书,秦其遂兼诸侯乎?”遂猎,围毛氏之族,拔其豪,载颖而归,献俘于章台宫,聚其族而加束缚焉。秦皇帝使恬赐之汤沐,而封诸管城,号曰:管城子。日见亲宠任事。 颖为人强记而便敏,自结绳之代以及秦事,无不纂录;阴阳、卜筮、占相、医方、族氏、山经、地志、字书、图画、九流百家天下之书,及至浮图、老子、外国之说,皆所详悉;又通于当代之务,官府薄书,市井货钱注记,惟上所使。自秦皇帝及太子扶苏、胡亥、丞相斯、中车府令高,下及国人,无不爱重。又善随人意,正直邪曲巧拙,一随其人。虽见废弃,终默不泄。惟不喜武士,然见请亦时往。 累拜中书令,与上益狎,上尝呼为中书君。上亲决事,以衡石自程,虽宫人不得立左右,独颖与执烛者常侍,上休方罢。颖与绛人陈玄、弘农陶泓及会稽褚先生友善,相推致,其出处必偕。上召颖,三人者不待诏,辄俱往,上未尝怪焉。 后因进见,上将有任使,拂拭之,因免冠谢。上见其发秃,又所摹画不能称意。上嘻笑曰:“中书君老而秃,不任吾用。吾尝谓君中书,君今不中书邪?”对曰:“臣所谓尽心者。”因不复召,归封邑,终于管城。 其子孙甚多,散处中国夷狄,皆冒管城,惟居中山者能继父祖业。 太史公曰:“毛氏有两族,其一姬姓,文王之子,封于毛,所谓鲁、卫、毛、聃者也。战国时有毛公、毛遂。独中山之族,不知其本所出,子孙最为蕃昌。《春秋》之成,见绝于孔子,而非其罪。及蒙将军拔中山之豪,始皇封诸管城,世遂有名,而姬姓之毛无闻。颖始以俘见,卒见任使。秦之灭诸侯,颖与有功,赏不酬劳,以老见疏,秦真少恩哉!” 请根据上文回答如下三个问题: ①请判断《毛颖传》是否是古文,并说明理由。(5分) ②请翻译文中划线的句子。(3分) ③请指出韩愈在《毛颖传》一文中贯通全文的写作方法,并举出二、三篇全篇使用了相同手法的作品。(4分) 2、阅读袁宏道《叙陈正甫会心集》,回答文后问题。(14分)叙陈正甫会心集(明)袁宏道 世人所难得者唯趣。趣如山上之色,水中之味,花中之光,女中之态,虽善说者不能一语,唯会心者知之。今之人,慕趣之名,求趣之似,于是有辨说书画,涉猎古董,以为清;寄意玄虚,脱迹尘纷,以为远。又其下,则有如苏州之烧香煮茶者。此等皆趣之皮毛,何关神情!夫趣得之自然者深,得之学问者浅。当其为童子也,不知有趣,然无往而非趣也。面无端容,目无定睛;口喃喃而欲语,足跳跃而不定;人生之至乐,真无逾于此时者。孟子所谓不失赤子,老子所谓能婴儿,盖指此也,趣之正等正觉最上乘也。山林之人,无拘无缚,得自在度日,故虽不求趣而趣近之。愚不肖之近趣也,以无品也。品愈卑,故所求愈下。或为酒肉,或然声伎,率心而行,无所忌惮。自以为绝望于世,故举世非笑之不顾也,此又一趣也。迨夫年渐长,官渐高,品渐大,有身如梏,有心如棘,毛孔骨节,俱为闻见知识所缚,入理愈深,然其去趣愈远矣。余友陈正甫,深于趣者也,故所述《会心集》若干人,趣居其多。不然,虽介若伯夷,高若严光,不录也。噫!孰谓有品如君,官如君,年之壮如君,而能知趣如此者哉!余一夕坐陶太史楼,随意抽架上书,得《阙编》诗一帙,恶楮毛书,烟煤败黑,微有字形。稍就灯间读之,读未数首,不觉惊跃,急呼周望(陶望龄,字周望,号石篑,会稽人。):“《阙编》何人作者?今耶?古耶?”周望曰:“此余乡徐文长先生(徐渭【1521~1593】,字文清,后改字文长,别号青藤、天池、田水月等,明山阴人。)书也。”两人跃起,灯影下读复叫,叫复读,童仆睡者皆惊起。盖不佞生三十年,而始知海内有文长先生。噫,是何相识之晚也?因以所闻于越人者,略为次第,为《徐文长传》。请根据上文回答如下三个问题: ①请判断袁宏道在文中所阐扬的“趣”的内涵。(5分) ②袁宏道为什么说“趣”难得?(4分) ③请结合中晚明历史背景,分析袁宏道“趣”的文化意义。(5分) 3、阅读张籍《征妇怨》一诗,并回答问题。(14分)征妇怨(唐)张籍 九月匈奴杀边将,汉军全没辽水上。万里无人收白骨,家家城下招魂葬。妇人依倚子与夫,同居贫贱心亦舒。夫死战场子在腹,妾身虽存如昼烛。作者简介:张籍(约766—830),字文昌,祖籍吴郡(今江苏苏州),贞元中进士及第,元和初官太常寺太祝,后转国子监助教,迁秘书郎,长庆初为国子博士,又任水部员外郎,转主客郎中。 请回答如下三个问题: ①请根据张籍的生活时代分析本诗所讽刺社会现状。(3分) ②请根据中国传统文化与本诗其他诗句,分析“妾身虽存如昼烛”的写作方法及其内涵(5分) ③请分析本诗与新乐府运动的关系。(6分) 4、请欣赏唐李益的《宫怨》诗。(14分)宫怨(唐)李益 露湿晴花春殿香,月明歌吹在朝阳。似将海水添宫漏,共滴长门一夜长。请回答如下三个问题: ①请问诗中一、二诗句所写内容是什么?(3分) ②请问诗中三、四诗句所写的内容是什么?使用了什么写作手法?(5分) ③请从整体入手分析本诗使用了什么写作手法?并分析此种写作手法的诗意性。(6分) 5、阅读王小波的散文《椰子树与平等》,回答文后问题。椰子树与平等 王小波 二十多年前,我在云南插队。当地气候炎热,出产各种热带水果,就是没有椰子。整个云南都不长椰子,根据野史记载,这其中有个缘故。据说,在三国以前,云南到处都是椰子,树下住着幸福的少数民族。众所周知,椰子有很多好处,椰茸可以当饭吃,椰子油也可食用。椰子树叶里的纤维可以织粗糙的衣裙,椰子树干是木材。这种树木可以满足人的大部分需要,当地人也就不事农耕,过着悠闲的生活。忽一日,诸葛亮南征来到此地,他要教化当地人,让他们遵从我们的生活方式:干我们的活,穿我们的衣服,服从我们的制度。这件事起初不大成功,当地人没看出我们的生活方式有什么优越之处。首先,秋收春种,活得很累,起码比摘椰子要累;其次,汉族人的衣着在当地也不适用。就以诸葛先生为例,那身道袍料子虽好,穿在身上除了捂汗和捂痱子,捂不出别的来;至于那顶道冠,既不遮阳,也不挡雨,只能招马蜂进去做窝。当地天热,摘两片椰树叶把羞处遮遮就可以了。至于汉朝的政治制度,对当地的少数民族来说,未免太过烦琐。诸葛先生磨破了嘴皮子,言必称孔孟,但也没人听。他不觉得自己的道理不对,却把账算在了椰子树身上:下了一道命令,一夜之间就把云南的椰树砍了个精光;免得这些蛮夷之人听不进圣贤的道理。没了这些树,他说话就有人听了——对此,我的解释是,诸葛亮他老人家南征,可不是一个人去的,还带了好多的兵,砍树用的刀斧也可以用来砍人,砍树这件事说明他手下的人手够用。当地人明白了这个意思,就怕了诸葛先生。我这种看法你尽可以不同意——我知道你会说,诸葛亮乃古之贤人,不会这样赤裸裸地用武力威胁别人;所以,我也不想坚持这种观点。对于此事,野史上是这么解释的„„ 野史是不能当真的,但云南现在确实没有椰子,而过去是有的。所以这些椰树可能是诸葛亮砍的。假如这不是耍野蛮,就该有种道义上的解释。我觉得诸葛亮砍椰树时,可能是这么想的:人人理应生来平等,但现在不平等了,四川不长椰树,那里的人要靠农耕为生;云南长满了椰树,这里的人就活得很舒服。让四川也长满椰树,这是一种达到公平的方法,但是限于自然条件,很难做到。所以,必须把云南的椰树砍掉,这样才公平。假如有不平等,有两种方式可以拉平:一种是向上拉平,这是最好的,但实行起来有困难;比如,有些人生来四肢健全,有些人则生有残疾,一种平等之道是把所有的残疾人都治成正常人,这可不容易做到。另一种是向下拉平,要把所有的正常人都变成残疾人就容易,只消用铁棍一敲,一声惨叫,这就变过来了。诸葛先生采取的是向下拉平之道,结果就害得我吃不上椰子。在云南时,我觉得嘴淡时就啃几个木瓜。木瓜淡而无味,假如没熟透,啃后满嘴都是麻的。但我没有抱怨木瓜树。这种树内地也是不长的,假如它的果子太好吃,诸葛先生也会把它砍光啦。我这篇文章题目在说椰子,实质是在谈平等问题,挂羊头卖狗肉,正是我的用意。人人理应生来平等,这一点人人都同意。但实际上是不平等的,而且最大的不平等不是有人有椰子树,有人没有椰子树。如罗素先生所说,最大的不平等是知识的差异——有人聪明有人笨,这就是问题之所在。这里所说的知识、聪明是广义的,不单包括科学知识,还包括文化素质、艺术的品位,等等。这种椰子树长在人脑里,不光能给人带来物质福利,还有精神上的幸福。这后一方面的差异我把它称为幸福能力的差异。有些作品,有些人能欣赏,有些人就看不懂,这就是说,有些人的幸福能力较为优越。这种优越最招人嫉妒。消除这种优越的方法之一就是给聪明人头上一闷棍,把他打笨些。但打轻了不管用,打重了会把脑子打出来,这又不是我们的本意。另一种方法则是:一旦聪明人和傻人起了争执,我们总说傻人有理。久而久之,聪明人也会变傻。这种法子现在正用着呢。请根据上文回答如下三个问题: ①诸葛亮砍椰树的“平等观”是否有错?错在那里?(4分) ②在王小波看来,当代社会中为什么还存在诸葛亮砍椰树式的平等方式?(5分) ③本文在构思和叙述方式上有什么特点?(5分) 6、下面这首《春》是诗人穆旦的代表作之一,体现了他在诗歌艺术上的追求:“敏锐的知觉和玄学的思维,色彩和光影的交错,语言的清新,意象的奇特,特别是这一切的融合无间。”请据此提示,阅读《春》,回答如下问题:(14分)春 穆旦 绿色的火焰在草上摇曳,他渴求着拥抱你,花朵。反抗着土地,花朵伸出来,当暖风吹来烦恼,或者欢乐。如果你是醒了,推开窗子,看着满园的欲望多么美丽。 蓝天下,为永远的谜蛊惑着的 是我们二十岁的紧闭的肉体,一如那泥土做成的鸟的歌,你们被点燃,卷曲又卷曲,却无处归依。呵,光、影、声、色都已经赤裸,痛苦着,等待伸入新的组合。 ①这首诗使用了那些修辞方法?(4分) ②这首写于1942年的《春》,在主题上与传统诗词中咏春之作有什么不同?(5分) ③结合诗中具体内容,简略谈谈这首诗的艺术特色。(5分) 五、命题作文(请选择如下两个命题中的一个写作一篇不少于500字且不多于600字的文章)(20分) 1、论“孝” 2、论“个性” 电大《工程数学》期末考试题库及答案 1.设都是n阶方阵,则下列命题正确的是(A).A. 2.向量组的秩是(B).B.3 3.元线性方程组有解的充分必要条件是(A).A.4.袋中有3个红球,2个白球,第一次取出一球后放回,第二次再取一球,则两球都是红球的概率是(D).D.9/25 5.设是来自正态总体的样本,则(C)是无偏估计. C.6.若是对称矩阵,则等式(B)成立. B.7.(D).D.8.若(A)成立,则元线性方程组有唯一解.A.9.若条件(C)成立,则随机事件,互为对立事件. C.且 10.对来自正态总体(未知)的一个样本,记,则下列各式中(C)不是统计量. C.11.设为矩阵,为矩阵,当为(B)矩阵时,乘积有意义.B.12.向量组的极大线性无关组是(A).A. 13.若线性方程组的增广矩阵为,则当=(D)时线性方程组有无穷多解. D.1/2 14.掷两颗均匀的骰子,事件“点数之和为4”的概率是(C).C.1/12 15.在对单正态总体的假设检验问题中,检验法解决的问题是(B).B.未知方差,检验均值 16.若都是n阶矩阵,则等式(B)成立. B.17.向量组的秩是(C).C.3 18.设线性方程组有惟一解,则相应的齐次方程组(A).A.只有0解 19.设为随机事件,下列等式成立的是(D).D.1.设为三阶可逆矩阵,且,则下式(B)成立. B. 2.下列命题正确的是(C).C.向量组,O的秩至多是 3.设,那么A的特征值是(D) D.-4,6 4.矩阵A适合条件(D)时,它的秩为r. D.A中线性无关的列有且最多达r列 5.下列命题中不正确的是(D).D.A的特征向量的线性组合仍为A的特征向量 6.掷两颗均匀的骰子,事件“点数之和为3”的概率是(B). B.1/18 7.若事件与互斥,则下列等式中正确的是.A. 8.若事件A,B满足,则A与B一定(A). A.不互斥 9.设,是两个相互独立的事件,已知则(B)B.2/3 10.设是来自正态总体的样本,则(B)是统计量. B. 1.若,则(A).A.3 2.已知2维向量组,则至多是(B).B 3.设为阶矩阵,则下列等式成立的是(C). C.4.若满足(B),则与是相互独立. B.5.若随机变量的期望和方差分别为和,则等式(D)成立. D.1.设均为阶可逆矩阵,则下列等式成立的是(). A. 2.方程组相容的充分必要条件是(),其中,. B. 3.设矩阵的特征值为0,2,则3A的特征值为 () . B.0,6 4.设A,B是两事件,则下列等式中()是不正确的. C.,其中A,B互不相容 5.若随机变量X与Y相互独立,则方差=().D. 6.设A是矩阵,是矩阵,且有意义,则是(B.)矩阵. 7.若X1、X2是线性方程组AX=B的解,而是方程组AX = O的解,则()是AX=B的解. A. 8.设矩阵,则A的对应于特征值的一个特征向量=()C.1,1,0 9.下列事件运算关系正确的是().A. 10.若随机变量,则随机变量(N2.,3)).D. 11.设是来自正态总体的样本,则()是的无偏估计. C. 12.对给定的正态总体的一个样本,未知,求的置信区间,选用的样本函数服从().B.t分布 ⒈设,则(D).D.-6 ⒉若,则(A). A.1/2 ⒊乘积矩阵中元素C.10 ⒋设均为阶可逆矩阵,则下列运算关系正确的是(B).B.⒌设均为阶方阵,且,则下列等式正确的是(D).D.⒍下列结论正确的是(A).A.若是正交矩阵,则也是正交矩阵 ⒎矩阵的伴随矩阵为().C.⒏方阵可逆的充分必要条件是(B).B.⒐设均为阶可逆矩阵,则(D).D.⒑设均为阶可逆矩阵,则下列等式成立的是 A.⒈用消元法得的解为(C).C.⒉线性方程组(B).B.有唯一解 ⒊向量组的秩为(A).A.3 ⒋设向量组为,则(B)是极大无关组.B.⒌与分别代表一个线性方程组的系数矩阵和增广矩阵,若这个方程组无解,则(D).D.秩秩 ⒍若某个线性方程组相应的齐次线性方程组只有零解,则该线性方程组(A).可能无解 ⒎以下结论正确的是(D).D.齐次线性方程组一定有解 ⒏若向量组线性相关,则向量组内(A)可被该向量组内其余向量线性表出. A.至少有一个向量 9.设A,B为阶矩阵,既是A又是B的特征值,既是A又是B的属于的特征向量,则结论()成立.D.是A+B的属于的特征向量 10.设A,B,P为阶矩阵,若等式(C)成立,则称A和B相似.C. ⒈为两个事件,则(B)成立. B.⒉如果(C)成立,则事件与互为对立事件. C.且 ⒊10张奖券中含有3张中奖的奖券,每人购买1张,则前3个购买者中恰有1人中奖的概率为(D). D.4.对于事件,命题(C)是正确的. C.如果对立,则对立 ⒌某随机试验的成功率为,则在3次重复试验中至少失败1次的概率为(D). D.6.设随机变量,且,则参数与分别是(A). A.6,0.8 7.设为连续型随机变量的密度函数,则对任意的,(A).A.8.在下列函数中可以作为分布密度函数的是(B). B.9.设连续型随机变量的密度函数为,分布函数为,则对任意的区间,则(D).D.10.设为随机变量,当(C)时,有. C.⒈设是来自正态总体(均未知)的样本,则(A)是统计量. A.⒉设是来自正态总体(均未知)的样本,则统计量(D)不是的无偏估计D.二、填空题(每小题3分,共15分) 1.设均为3阶方阵,则-18 . 2.设为n阶方阵,若存在数l和非零n维向量,使得,则称l为的特征值. 3设随机变量,则a = 0.3. 4.设为随机变量,已知,此时 27 . 5.设是未知参数的一个无偏估计量,则有 . 6.设均为3阶方阵,则8. 7.设为n阶方阵,若存在数l和非零n维向量,使得,则称为相应于特征值l的特征向量. 8.若,则 0.3 . 9.如果随机变量的期望,那么20. 10.不含未知参数的样本函数称为 统计量 . 11.设均为3阶矩阵,且,则-8 . 12.设,.2 13.设是三个事件,那么发生,但至少有一个不发生的事件表示为.14.设随机变量,则 15. 15.设是来自正态总体的一个样本,则 16.设是3阶矩阵,其中,则12. 17.当=1 时,方程组有无穷多解.. 18.若,则0.2. 19.若连续型随机变量的密度函数的是,则2/3. 20.若参数的估计量满足,则称为的无偏估计 . 1.行列式的元素的代数余子式的值为= -56. 2.已知矩阵满足,则与分别是 阶矩阵. 3.设均为二阶可逆矩阵,则AS. 4.线性方程组 一般解的自由未知量的个数为 2.5.设4元线性方程组AX=B有解且r(A)=1,那么AX=B的相应齐次方程组的基础解系含有 个解向量. 6.设A,B为两个事件,若P(AB)= P(A)P(B),则称A与B 相互独立 . 0 a 0.2 0.5 7.设随机变量的概率分布为 则a = 0.3 . 8.设随机变量,则0.9. 9.设为随机变量,已知,那么8. 10.矿砂的5个样本中,经测得其铜含量为,,(百分数),设铜含量服从N(,),未知,在下,检验,则取统计量 . 1.设均为n阶可逆矩阵,逆矩阵分别为,则 . 2.向量组线性相关,则.3.已知,则 . 4.已知随机变量,那么. 5.设是来自正态总体的一个样本,则 . 1.设,则的根是 2.设向量可由向量组线性表示,则表示方法唯一的充分必要条件是. 线性无关 3.若事件A,B满足,则 P(A B)= 4..设随机变量的概率密度函数为,则常数k = 5.若样本来自总体,且,则 7.设三阶矩阵的行列式,则=2 8.若向量组:,,能构成R3一个基,则数k . 9.设4元线性方程组AX=B有解且r(A)=1,那么AX=B的相应齐次方程组的基础解系含有 个解向量. 10.设互不相容,且,则0 . 11.若随机变量X ~,则 1/3. 12.设是未知参数的一个估计,且满足,则称为的无偏估计. ⒈ . ⒉是关于的一个一次多项式,则该多项式一次项的系数是 . ⒊若为矩阵,为矩阵,切乘积有意义,则为 5×4 矩阵. ⒋二阶矩阵. ⒌设,则 ⒍设均为3阶矩阵,且,则 . ⒎设均为3阶矩阵,且,则 -3 . ⒏若为正交矩阵,则 0 . ⒐矩阵的秩为 . ⒑设是两个可逆矩阵,则. ⒈当1时,齐次线性方程组有非零解. ⒉向量组线性 相关 . ⒊向量组的秩3 . ⒋设齐次线性方程组的系数行列式,则这个方程组有 无穷多 解,且系数列向量是线性 相关的. ⒌向量组的极大线性无关组是. ⒍向量组的秩与矩阵的秩 相同 . ⒎设线性方程组中有5个未知量,且秩,则其基础解系中线性无关的解向量有 个. ⒏设线性方程组有解,是它的一个特解,且的基础解系为,则的通解为. 9.若是A的特征值,则是方程的根. 10.若矩阵A满足,则称A为正交矩阵. ⒈从数字1,2,3,4,5中任取3个,组成没有重复数字的三位数,则这个三位数是偶数的概率为2/5. 2.已知,则当事件互不相容时,0.8,0.3 . 3.为两个事件,且,则. 4.已知,则. 5.若事件相互独立,且,则. 6.已知,则当事件相互独立时,0.65,0.3 . 7.设随机变量,则的分布函数. 8.若,则 . 9.若,则. 10.称为二维随机变量的协方差 . 1.统计量就是不含未知参数的样本函数 . 2.参数估计的两种方法是 点估计 和 区间估计 .常用的参数点估计有 矩估计法 和最大似然估 两种方法. 3.比较估计量好坏的两个重要标准是无偏性,有效性 . 4.设是来自正态总体(已知)的样本值,按给定的显著性水平检验,需选取统计量. 5.假设检验中的显著性水平为事件(u为临界值)发生的概率. 三、(每小题16分,共64分) A1.设矩阵,且有,求. 解:利用初等行变换得 即 由矩阵乘法和转置运算得 2.设矩阵,求. 解:利用初等行变换得 即 由矩阵乘法得 3.已知,其中,求. 解:利用初等行变换得 即 由矩阵乘法运算得 4.设矩阵,是3阶单位矩阵,且有,求. 1.解:由矩阵减法运算得 利用初等行变换得 即 由矩阵乘法运算得 5.设矩阵,求(1);(2). (1)= (2)因为 = 所以 =. 6.设矩阵,解矩阵方程. 解:因为,得 所以. 7设矩阵,求(1),(2).解 1) (2)利用初等行变换得 即8、9.设矩阵,求:(1);(2). 解:(1)因为 所以 . (2)因为 所以 . 10.已知矩阵方程,其中,求. 解:因为,且 即 所以 . 11.设向量组,,求这个向量组的秩以及它的一个极大线性无关组. 解:因为 ()= 所以,r() = 3.它的一个极大线性无关组是 (或). 1⒉设,求. 解: 13写出4阶行列式 中元素的代数余子式,并求其值. : 14求矩阵的秩. 解 15.用消元法解线性方程组 方程组解为 A2.求线性方程组的全部解. 解: 将方程组的增广矩阵化为阶梯形 方程组的一般解为 (其中为自由未知量) 令=0,得到方程的一个特解.方程组相应的齐方程的一般解为 (其中为自由未知量) 令=1,得到方程的一个基础解系.于是,方程组的全部解为 (其中为任意常数) 2.当取何值时,线性方程组 有解,在有解的情况下求方程组的全部解. 解:将方程组的增广矩阵化为阶梯形 由此可知当时,方程组无解。当时,方程组有解。………7分 此时齐次方程组化为 分别令及,得齐次方程组的一个基础解系 令,得非齐次方程组的一个特解 由此得原方程组的全部解为 (其中为任意常数) ……16分 3.求线性方程组的全部解. 解: 将方程组的增广矩阵化为阶梯形 方程组的一般解为(其中为自由未知量) 令=0,得到方程的一个特解.方程组相应的齐次方程的一般解为 (其中为自由未知量) 令=1,得到方程的一个基础解系.于是,方程组的全部解为 (其中为任意常数) 4.求线性方程组的全部解. 解:将方程组的增广矩阵化为阶梯形 此时相应齐次方程组的一般解为 是自由未知量 令,得齐次方程组的一个基础解系 令,得非齐次方程组的一个特解 由此得原方程组的全部解为 (其中为任意常数) 5.设齐次线性方程组的系数矩阵经过初等行变换,得求此齐次线性方程组的一个基础解系和通解. 因为 得一般解: (其是自由元) 令,得; 令,得. 所以,是方程组的一个基础解系. 方程组的通解为:,其中是任意常数. 6.设齐次线性方程组,为何值时方程组有非零解?在有非零解时,解:因为 A = 时,所以方程组有非零解. 方程组的一般解为:,其中为自由元. 令 =1得X1=,则方程组的基础解系为{X1}. 通解为k1X1,其中k1为任意常数. 求出通解. 7.当取何值时,线性方程组 有解,在有解的情况下求方程组的全部解. 解:将方程组的增广矩阵化为阶梯形 由此可知当时,方程组无解。当时,方程组有解。………8分 此时相应齐次方程组的一般解为 (是自由未知量) 分别令及,得齐次方程组的一个基础解系 令,得非齐次方程组的一个特解 由此得原方程组的全部解为 8.k为何值时,线性方程组. 9.求齐次线性方程组的通解. 解: A= 一般解为,其中x2,x4 是自由元 令x2 = 1,x4 = 0,得X1 =; x2 = 0,x4 = 3,得X2 = 所以原方程组的一个基础解系为 { X1,X2 }. 原方程组的通解为:,其中k1,k2 是任意常数. 10.设有线性方程组 为何值时,方程组有唯一解?或有无穷多解? 解:] 当且时,方程组有唯一解 当时,方程组有无穷多解 11.判断向量能否由向量组线性表出,若能,写出一种表出方式.其中 解:向量能否由向量组线性表出,当且仅当方程组有解 这里 方程组无解 不能由向量线性表出 12.计算下列向量组的秩,并且(1)判断该向量组是否线性相关 解: 该向量组线性相关 13.求齐次线性方程组的一个基础解系. 解: 方程组的一般解为 令,得基础解系 14.求下列线性方程组的全部解. 解:方程组一般解为 令,这里,为任意常数,得方程组通解 A3.设,试求: (1);(2).(已知) 解:1 (2 2.设,试求:(1);(2)(已知) 解:(1) (2 3..设,求和.(其中,) 解:设 = = 4.设,试求⑴;⑵.(已知) 解: ⑵ 5.某射手射击一次命中靶心的概率是0.8,该射手连续射击5次,求:(1)命中靶心的概率; (2)至少4次命中靶心的概率. 解:射手连续射击5次,命中靶心的次数(1)设:“命中靶心”,则. (2)设:“至少4次命中靶心”,则 . 6.设是两个随机事件,已知,,求: (1); (2). 解(1)=== (2 7.设随机变量X的密度函数为,求:(1) k; (2) E(X),D(X). 解:(1)因为 1==== k,所以 k = (2) E(X) === E() == D(X) = E() = 8.设随机变量X ~ N(8,4).求 和.(,). 解:因为 X ~ N(8,4),则 ~ N(0,1). 所以 == ====0.383 . = = .9.设,试求⑴;⑵.(已知) 解:⑴ ⑵ ‘ 10.假设A,B为两件事件,己知P(A)=0.5,P(B)=0.6,P(B|)=0.4,求P(A+B) 解:P()=P()P(B|)=0.50.4=0.2.P(AB)=P(B)-P(B)=0.6-0.2=0.4 P(A+B)=P(A)+P(B)-P(AB)=0.7。 11.设随机变量.(1)求;(2)若,求k的值. (已知). 解:(1)=1- = 1-=1-() = 2(1-)=0.045. (2) =1- =1- 即 k-4 = -1.5,k=2.5. 12.罐中有12颗围棋子,其中8颗白子,4颗黑子.若从中任取3颗,求:(1)取到3颗棋子中至少有一颗黑子的概率;(2)取到3颗棋子颜色相同的概率. 解:设=“取到3颗棋子中至少有一颗黑子”,=“取到的都是白子”,=“取到的都是黑子”,B =“取到3颗棋子颜色相同”,则 (1) . (2) . 13.设随机变量X ~ N(3,4).求:(1)P(1< X 7);(2)使P(X a)=0.9成立的常数a . (,). 解:(1)P(1< X 7)= == = 0.9973 + 0.8413 – = 0.8386 (2)因为 P(X a)=== 0.9 所以,a = + = 5.56 14.从正态总体N(,9)中抽取容量为64的样本,计算样本均值得= 21,求的置信度为95%的置信区间.(已知) 解:已知,n = 64,且 ~ 因为 = 21,且 所以,置信度为95%的的置信区间为: . 15.设为三个事件,试用的运算分别表示下列事件: ⑴ 中至少有一个发生; ⑵ 中只有一个发生; ⑶ 中至多有一个发生; ⑷ 中至少有两个发生; ⑸ 中不多于两个发生; ⑹ 中只有发生. 解:(1) (2) (3) (4) (5) (6) 16.袋中有3个红球,2个白球,现从中随机抽取2个球,求下列事件的概率: ⑴ 2球恰好同色; ⑵ 2球中至少有1红球. 解:设=“2球恰好同色”,=“2球中至少有1红球” 17.加工某种零件需要两道工序,第一道工序的次品率是2%,如果第一道工序出次品则此零件为次品;如果第一道工序出正品,则由第二道工序加工,第二道工序的次品率是3%,求加工出来的零件是正品的概率. 解:设“第i道工序出正品”(i=1,2) 18.市场供应的热水瓶中,甲厂产品占50%,乙厂产品占30%,丙厂产品占20%,甲、乙、丙厂产品的合格率分别为90%,85%,80%,求买到一个热水瓶是合格品的概率. 解:设 19.某射手连续向一目标射击,直到命中为止.已知他每发命中的概率是,求所需设计次数的概率分布. 解: ………… ………… 故X的概率分布是 20设随机变量的概率分布为 试求. 解: 21.设随机变量具有概率密度 试求. 解: 22.设,求. 解: 23.设,计算⑴;⑵. 解: 24.设是独立同分布的随机变量,已知,设,求. 解: A4.据资料分析,某厂生产的一批砖,其抗断强度,今从这批砖中随机地抽取了9块,测得抗断强度(单位:kg/cm2)的平均值为31.12,问这批砖的抗断强度是否合格(). 解: 零假设.由于已知,故选取样本函数 已知,经计算得,由已知条件,故拒绝零假设,即这批砖的抗断强度不合格。 2某车间生产滚珠,已知滚珠直径服从正态分布.今从一批产品里随机取出9个,测得直径平均值为15.1mm,若已知这批滚珠直径的方差为,试找出滚珠直径均值的置信度为0.95的置信区间. 解:由于已知,故选取样本函数 … 已知,经计算得 滚珠直径均值的置信度为0.95的置信区间为,又由已知条件,故此置信区间为 3某一批零件重量,随机抽取4个测得重量(单位:千克)为14.7,15.1,14.8,15.2 可否认为这批零件的平均重量为15千克(已知)? 解:零假设.由于已知,故选取样本函数 经计算得,已知,故接受零假设,即可以认为这批零件的平均重量为15千克.4某钢厂生产了一批管材,每根标准直径100mm,今对这批管材进行检验,随机取出9根测得直径的平均值为99.9mm,样本标准差s = 0.47,已知管材直径服从正态分布,问这批管材的质量是否合格(检验显著性水平,) 解:零假设.由于未知,故选取样本函数 已知,经计算得 由已知条件,故接受零假设,即可以认为这批管材的质量是合格的。 5.已知某种零件重量,采用新技术后,取了9个样品,测得重量(单位:kg)的平均值为14.9,已知方差不变,问平均重量是否仍为15()? 解: 零假设.由于已知,故选取样本函数 已知,经计算得,由已知条件,故接受零假设,即零件平均重量仍为15. 6.某切割机在正常工作时,切割的每段金属棒长服从正态分布,且其平均长度为10.5 cm,标准差为0.15cm.从一批产品中随机地抽取4段进行测量,测得的结果如下:(单位:cm) 10.4,10.6,10.1,10.4问:该机工作是否正常(,)? 解:零假设.由于已知,故选取样本函数 ~ 经计算得,由已知条件,且 故接受零假设,即该机工作正常.7.设对总体得到一个容量为10的样本值 4.5,2.0,1.0,1.5,3.5,4.5,6.5,5.0,3.5,4.0 试分别计算样本均值和样本方差. 解: 8.设总体的概率密度函数为 试分别用矩估计法和最大似然估计法估计参数. 解:提示教材第214页例3 矩估计:最大似然估计: 9.测两点之间的直线距离5次,测得距离的值为(单位:m): 108.5 109.0 110.0 110.5 112.0 测量值可以认为是服从正态分布的,求与的估计值.并在⑴;⑵未知的情况下,分别求的置信度为0.95的置信区间. 解: (1)当时,由1-α=0.95,查表得: 故所求置信区间为: (2)当未知时,用替代,查t (4,0.05),得 故所求置信区间为: 10.设某产品的性能指标服从正态分布,从历史资料已知,抽查10个样品,求得均值为17,取显著性水平,问原假设是否成立. 解:,由,查表得: 因为 1.96,所以拒绝 11.某零件长度服从正态分布,过去的均值为20.0,现换了新材料,从产品中随机抽取8个样品,测得的长度为(单位:cm):20.0,20.2,20.1,20.0,20.2,20.3,19.8,19.5 问用新材料做的零件平均长度是否起了变化(). 解:由已知条件可求得: ∵ | T | 2.62 ∴ 接受H0 即用新材料做的零件平均长度没有变化。 四、证明题(本题6分) 1.设是阶对称矩阵,试证:也是对称矩阵. 证明:是同阶矩阵,由矩阵的运算性质可知 已知是对称矩阵,故有,即 由此可知也是对称矩阵,证毕. 2设随机事件,相互独立,试证:也相互独立. 证明: 所以也相互独立.证毕. 3、设,为随机事件,试证:. 证明:由事件的关系可知 而,故由概率的性质可知 即 证毕 4设是线性无关的,证明,也线性无关. .证明:设有一组数,使得 成立,即,由已知线性无关,故有 该方程组只有零解,得,故是线性无关的.证毕. 5.设n阶矩阵A满足,则A为可逆矩阵. 证明: 因为,即 所以,A为可逆矩阵. 6..设,为随机事件,试证: 证明:由事件的关系可知 而,故由概率的性质可知 7.设n阶矩阵A满足,则A为可逆矩阵. 证明: 因为,即; 所以,A为可逆矩阵. 8.设向量组,若线性相关,证明线性相关. 证明:因为向量组线性相关,故存在一组不全为0的数,使 成立.于是存在不全为0的数,使 9.若 证明:因为所以有 即,10.设,是两个随机事件,试证: 证明:由事件的关系可知 而,故由加法公式和乘法公式可知 证毕. 11.设是同阶对称矩阵,试证:也是对称矩阵 证明:因12.设是n阶矩阵,若= 0,则. 证明:因为 = == 所以 13.设向量组线性无关,令,,证明向量组线性无关。 证明:设,即 因为线性无关,所以 解得k1=0,k2=0,k3=0,从而线性无关. 14对任意方阵,试证是对称矩阵. 证明: 是对称矩阵 15若是阶方阵,且,试证或. 证明: 是阶方阵,且 或 16若是正交矩阵,试证也是正交矩阵. 证明: 是正交矩阵 即是正交矩阵 17.试证:任一4维向量都可由向量组,,线性表示,且表示方式唯一,写出这种表示方式. 证明: 任一4维向量可唯一表示为 1⒏试证:线性方程组有解时,它有唯一解的充分必要条件是:相应的齐次线性方程组只有零解. 证明:设为含个未知量的线性方程组 该方程组有解,即 从而有唯一解当且仅当 而相应齐次线性方程组只有零解的充分必要条件是 有唯一解的充分必要条件是:相应的齐次线性方程组只有零解 19.设是可逆矩阵A的特征值,且,试证:是矩阵的特征值. 证明:是可逆矩阵A的特征值 存在向量,使 即是矩阵的特征值 20.用配方法将二次型化为标准型. 解: 令,,即 则将二次型化为标准型 1.设都是n阶方阵,则下列命题正确的是(A).A. 5.设 是来自正态总体的样本,则(C)是无偏估计. C.11.设为矩阵,为矩阵,当为(B)矩阵时,乘积有意义.B.18.设线性方程组有惟一解,则相应的齐次方程组(A).A.只有0解 19.设为随机事件,下列等式成立的是(D).D.1.设为三阶可逆矩阵,且,则下式(B)成立. B. 3.设为阶矩阵,则下列等式成立的是(C). C.1.设均为阶可逆矩阵,则下列等式成立的是(). A. ⒋设均为阶可逆矩阵,则下列运算关系正确的是(B).B.⒌设均为阶方阵,且,则下列等式正确的是(D).D.9.设A,B为阶矩阵,既是A又是B的特征值,既是A又是B的属于的特征向量,则结论()成立.D.是A+B的属于的特征向量 10.设A,B,P为阶矩阵,若等式(C)成立,则称A和B相似.C. 3.设,那么A的特征值是(D) D.-4,6 3.设矩阵的特征值为0,2,则3A的特征值为 () . B.0,6 4.设A,B是两事件,其中A,B互不相容 6.设A是矩阵,是矩阵,且有意义,则是(B.)矩阵. 7.设矩阵,则A的对应于特征值的一个特征向量=()C.1,1,0 11.设是来自正态总体的样本,则()是的无偏估计. C. 10.设是来自正态总体的样本,则(B)是统计量. B. ⒐设均为阶可逆矩阵,则(D).D.⒑设均为阶可逆矩阵,则下列等式成立的是 A.⒋设向量组为,则(B)是极大无关组.B.6.设随机变量,且,则参数与分别是(A). A.6,0.8 7.设为连续型随机变量的密度函数,则对任意的,(A).A.8.在下列函数中可以作为分布密度函数的是(B). B.9.设连续型随机变量的密度函数为,分布函数为,则对任意的区间,则(D).D.10.设为随机变量,当(C)时,有. C.⒈设是来自正态总体(均未知)的样本,则(A)是统计量. A.⒉设是来自正态总体(均未知)的样本,则统计量(D)不是的无偏估计D.⒈设,则(D).D.-6 ⒉若,则(A). A.1/2 1.若,则(A).A.3 6.若是对称矩阵,则等式(B)成立. B.8.若(A)成立,则元线性方程组有唯一解.A.9.若条件(C)成立,则随机事件,互为对立事件. C.且 13.若线性方程组的增广矩阵为,则当=(D)时线性方程组有无穷多解. D.1/2 16.若都是n阶矩阵,则等式(B)成立. B.7.若事件与互斥,则下列等式中正确的是.A. 8.若事件A,B满足,则A与B一定(A). A.不互斥 9.设,是两个相互独立的事件,已知则(B)B.2/3 ⒍若某个线性方程组相应的齐次线性方程组只有零解,则该线性方程组(A).可能无解 4.若满足(B),则与是相互独立. B.5.若随机变量的期望和方差分别为和,则等式(D)成立. D.5.若随机变量X与Y相互独立,则方差=().D. 9.下列事件运算关系正确的是().A. 10.若随机变量,则随机变量(N2.,3)).D. ⒏若向量组线性相关,则向量组内(A)可被该向量组内其余向量线性表出. A.至少有一个向量 7.若X1、X2是线性方程组AX=B的解,而是方程组AX = O的解,则()是AX=B的解. A. 12.向量组的极大线性无关组是(A).A. 17.向量组的秩是(C).C.3 ⒊向量组的秩为(A).A.3 2.向量组的秩是(B).B.3 3.元线性方程组有解的充分必要条件是(A).A.4.袋中有3个红球,2个白球,第一次取出一球后放回,第二次再取一球,则两球都是红球的概率是(D).D.9/25 7.(D).D.10.对来自正态总体(未知)的一个样本,记,则下列各式中(C)不是统计量. C.15.在对单正态总体的假设检验问题中,检验法解决的问题是(B).B.未知方差,检验均值 2.下列命题正确的是(C).C.向量组,O的秩至多是 ⒍下列结论正确的是(A).A.若是正交矩阵,则也是正交矩阵 5.下列命题中不正确的是(D).D.A的特征向量的线性组合仍为A的特征向量 4.矩阵A适合条件(D)时,它的秩为r. D.A中线性无关的列有且最多达r列 ⒎矩阵的伴随矩阵为().C.6.掷两颗均匀的骰子,事件“点数之和为3”的概率是(B). B.1/1 14.掷两颗均匀的骰子,事件“点数之和为4”的概率是(C).C.1/12 2.已知2维向量组,则至多是(B).B 2.方程组相容的充分必要条件是(),其中,. B. 3则下列等式中()是不正确的. C.12.对给定的正态总体的一个样本,未知,求的置信区间,选用的样本函数服从().B.t分布 ⒊乘积矩阵中元素C.10 ⒏方阵可逆的充分必要条件是(B).B.⒉ 消元法得的解为(C).C.⒉线性方程组(B).B.有唯一解 ⒈ 为两个事件,则(B)成立. B.⒌与分别代表一个线性方程组的系数矩阵和增广矩阵,若这个方程组无解,则(D).D.秩秩 ⒎以下结论正确的是(D).D.齐次线性方程组一定有解 ⒉如果(C)成立,则事件与互为对立事件. C.且 ⒊10张奖券中含有3张中奖的奖券,每人购买1张,则前3个购买者中恰有1人中奖的概率为(D). D.4.对于事件,命题(C)是正确的. C.如果对立,则对立 ⒌某随机试验的成功率为,则在3次重复试验中至少失败1次的概率为(D). D.二、填空题(每小题3分,共15分) 1.设均为3阶方阵,则-18 . 2.设为n阶方阵,若存在数l和非零n维向量,使得,则称l为的特征值. 3设随机变量,则a = 0.3. 4.设为随机变量,已知,此时 27 . 5.设是未知参数的一个无偏估计量,则有 . 6.设均为3阶方阵,则8. 7.设为n阶方阵,若存在数l和非零n维向量,使得,则称为相应于特征值l的特征向量. 8.若,则 0.3 . 9.如果随机变量的期望,那么20. 10.不含未知参数的样本函数称为 统计量 . 11.设均为3阶矩阵,且,则-8 . 12.设,.2 13.设是三个事件,那么发生,但至少有一个不发生的事件表示为.14.设随机变量,则 15. 15.设是来自正态总体的一个样本,则 16.设是3阶矩阵,其中,则12. 17.当=1 时,方程组有无穷多解.. 18.若,则0.2. 19.若连续型随机变量的密度函数的是,则2/3. 20.若参数的估计量满足,则称为的无偏估计 . 1.行列式的元素的代数余子式的值为= -56. 2.已知矩阵满足,则与分别是 阶矩阵. 3.设均为二阶可逆矩阵,则AS. 4.线性方程组 一般解的自由未知量的个数为 2.5.设4元线性方程组AX=B有解且r(A)=1,那么AX=B的相应齐次方程组的基础解系含有 个解向量. 6.设A,B为两个事件,若P(AB)= P(A)P(B),则称A与B 相互独立 . 0 a 0.2 0.5 7.设随机变量的概率分布为 则a = 0.3 . 8.设随机变量,则0.9. 9.设为随机变量,已知,那么8. 10.矿砂的5个样本中,经测得其铜含量为,,(百分数),设铜含量服从N(,),未知,在下,检验,则取统计量 . 1.设均为n阶可逆矩阵,逆矩阵分别为,则 . 2.向量组线性相关,则.3.已知,则 . 4.已知随机变量,那么. 5.设是来自正态总体的一个样本,则 . 1.设,则的根是 2.设向量可由向量组线性表示,则表示方法唯一的充分必要条件是. 线性无关 3.若事件A,B满足,则 P(A B)= 4..设随机变量的概率密度函数为,则常数k = 5.若样本来自总体,且,则 7.设三阶矩阵的行列式,则=2 8.若向量组:,,能构成R3一个基,则数k . 9.设4元线性方程组AX=B有解且r(A)=1,那么AX=B的相应齐次方程组的基础解系含有 个解向量. 10.设互不相容,且,则0 . 11.若随机变量X ~,则 1/3. 12.设是未知参数的一个估计,且满足,则称为的无偏估计. ⒈ . ⒉是关于的一个一次多项式,则该多项式一次项的系数是 . ⒊若为矩阵,为矩阵,切乘积有意义,则为 5×4 矩阵. ⒋二阶矩阵. ⒌设,则 ⒍设均为3阶矩阵,且,则 . ⒎设均为3阶矩阵,且,则 -3 . ⒏若为正交矩阵,则 0 . ⒐矩阵的秩为 . ⒑设是两个可逆矩阵,则. ⒈当1时,齐次线性方程组有非零解. ⒉向量组线性 相关 . ⒊向量组的秩3 . ⒋设齐次线性方程组的系数行列式,则这个方程组有 无穷多 解,且系数列向量是线性 相关的. ⒌向量组的极大线性无关组是. ⒍向量组的秩与矩阵的秩 相同 . ⒎设线性方程组中有5个未知量,且秩,则其基础解系中线性无关的解向量有 个. ⒏设线性方程组有解,是它的一个特解,且的基础解系为,则的通解为. 9.若是A的特征值,则是方程的根. 10.若矩阵A满足,则称A为正交矩阵. ⒈从数字1,2,3,4,5中任取3个,组成没有重复数字的三位数,则这个三位数是偶数的概率为2/5. 2.已知,则当事件互不相容时,0.8,0.3 . 3.为两个事件,且,则. 4.已知,则. 5.若事件相互独立,且,则. 6.已知,则当事件相互独立时,0.65,0.3 . 7.设随机变量,则的分布函数. 8.若,则 . 9.若,则. 10.称为二维随机变量的协方差 . 1.统计量就是不含未知参数的样本函数 . 2.参数估计的两种方法是 点估计 和 区间估计 .常用的参数点估计有 矩估计法 和最大似然估 两种方法. 3.比较估计量好坏的两个重要标准是无偏性,有效性 . 4.设是来自正态总体(已知)的样本值,按给定的显著性水平检验,需选取统计量. 5.假设检验中的显著性水平为事件(u为临界值)发生的概率. 三、(每小题16分,共64分) A1.设矩阵,且有,求. 解:利用初等行变换得 即 由矩阵乘法和转置运算得 2.设矩阵,求. 解:利用初等行变换得 即 由矩阵乘法得 3.已知,其中,求. 解:利用初等行变换得 即 由矩阵乘法运算得 4.设矩阵,是3阶单位矩阵,且有,求. 1.解:由矩阵减法运算得 利用初等行变换得 即 由矩阵乘法运算得 5.设矩阵,求(1);(2). (1)= (2)因为 = 所以 =. 6.设矩阵,解矩阵方程. 解:因为,得 所以. 7设矩阵,求(1),(2).解 1) (2)利用初等行变换得 即 9.设矩阵,求:(1);(2). 解:(1)因为 所以 . (2)因为 所以 . 10.已知矩阵方程,其中,求. 解:因为,且 即 所以 11.设向量组,,求这个向量组的秩以及它的一个极大线性无关组. 解:因为 ()= 所以,r() = 3.它的一个极大线性无关组是 (或). 1⒉设,求. 解: 13写出4阶行列式 中元素的代数余子式,并求其值. : 14求矩阵的秩. 解 15.用消元法解线性方程组 方程组解为 A2.求线性方程组的全部解. 解: 将方程组的增广矩阵化为阶梯形 方程组的一般解为 (其中为自由未知量) 令=0,得到方程的一个特解.方程组相应的齐方程的一般解为 (其中为自由未知量) 令=1,得到方程的一个基础解系.于是,方程组的全部解为 (其中为任意常数) 2.当取何值时,线性方程组 有解,在有解的情况下求方程组的全部解. 解:将方程组的增广矩阵化为阶梯形 由此可知当时,方程组无解。当时,方程组有解。………7分 此时齐次方程组化为 分别令及,得齐次方程组的一个基础解系 令,得非齐次方程组的一个特解 由此得原方程组的全部解为 (其中为任意常数) ……16分 3.求线性方程组的全部解. 解: 将方程组的增广矩阵化为阶梯形 方程组的一般解为(其中为自由未知量) 令=0,得到方程的一个特解.方程组相应的齐次方程的一般解为 (其中为自由未知量) 令=1,得到方程的一个基础解系.于是,方程组的全部解为 (其中为任意常数) 4.求线性方程组的全部解. 解:将方程组的增广矩阵化为阶梯形 此时相应齐次方程组的一般解为 是自由未知量 令,得齐次方程组的一个基础解系 令,得非齐次方程组的一个特解 由此得原方程组的全部解为 (其中为任意常数) 5.设齐次线性方程组的系数矩阵经过初等行变换,得求此齐次线性方程组的一个基础解系和通解. 因为 得一般解: (其是自由元) 令,得; 令,得. 所以,是方程组的一个基础解系. 方程组的通解为:,其中是任意常数. 6.设齐次线性方程组,为何值时方程组有非零解?在有非零解时,解:因为 A = 时,所以方程组有非零解. 方程组的一般解为:,其中为自由元. 令 =1得X1=,则方程组的基础解系为{X1}. 通解为k1X1,其中k1为任意常数. 求出通解. 7.当取何值时,线性方程组 有解,在有解的情况下求方程组的全部解. 解:将方程组的增广矩阵化为阶梯形 由此可知当时,方程组无解。当时,方程组有解。………8分 此时相应齐次方程组的一般解为 (是自由未知量) 分别令及,得齐次方程组的一个基础解系 令,得非齐次方程组的一个特解 由此得原方程组的全部解为 8.k为何值时,线性方程组. 9.求齐次线性方程组的通解. 解: A= 一般解为,其中x2,x4 是自由元 令x2 = 1,x4 = 0,得X1 =; x2 = 0,x4 = 3,得X2 = 所以原方程组的一个基础解系为 { X1,X2 }. 原方程组的通解为:,其中k1,k2 是任意常数. 10.设有线性方程组 为何值时,方程组有唯一解?或有无穷多解? 解:] 当且时,方程组有唯一解 当时,方程组有无穷多解 11.判断向量能否由向量组线性表出,若能,写出一种表出方式.其中 解:向量能否由向量组线性表出,当且仅当方程组有解 这里 方程组无解 不能由向量线性表出 12.计算下列向量组的秩,并且(1)判断该向量组是否线性相关 解: 该向量组线性相关 13.求齐次线性方程组的一个基础解系. 解: 方程组的一般解为 令,得基础解系 14.求下列线性方程组的全部解. 解:方程组一般解为 令,这里,为任意常数,得方程组通解 A3.设,试求: (1);(2).(已知) 解:1 (2 2.设,试求:(1);(2)(已知) 解:(1) (2 3..设,求和.(其中,) 解:设 = = 4.设,试求⑴;⑵.(已知) 解: ⑵ 5.某射手射击一次命中靶心的概率是0.8,该射手连续射击5次,求:(1)命中靶心的概率; (2)至少4次命中靶心的概率. 解:射手连续射击5次,命中靶心的次数(1)设:“命中靶心”,则. (2)设:“至少4次命中靶心”,则 . 6.设是两个随机事件,已知,,求: (1); (2). 解(1)=== (2 7.设随机变量X的密度函数为,求:(1) k; (2) E(X),D(X). 解:(1)因为 1==== k,所以 k = (2) E(X) === E() == D(X) = E() = 8.设随机变量X ~ N(8,4).求 和.(,). 解:因为 X ~ N(8,4),则 ~ N(0,1). 所以 == ====0.383 . = = .9.设,试求⑴;⑵.(已知) 解:⑴ ⑵ ‘ 10.假设A,B为两件事件,己知P(A)=0.5,P(B)=0.6,P(B|)=0.4,求P(A+B) 解:P()=P()P(B|)=0.50.4=0.2.P(AB)=P(B)-P(B)=0.6-0.2=0.4 P(A+B)=P(A)+P(B)-P(AB)=0.7。 11.设随机变量.(1)求;(2)若,求k的值. (已知). 解:(1)=1- = 1-=1-() = 2(1-)=0.045. (2) =1- =1- 即 k-4 = -1.5,k=2.5. 12.罐中有12颗围棋子,其中8颗白子,4颗黑子.若从中任取3颗,求:(1)取到3颗棋子中至少有一颗黑子的概率;(2)取到3颗棋子颜色相同的概率. 解:设=“取到3颗棋子中至少有一颗黑子”,=“取到的都是白子”,=“取到的都是黑子”,B =“取到3颗棋子颜色相同”,则 (1) . (2) . 13.设随机变量X ~ N(3,4).求:(1)P(1< X 7);(2)使P(X a)=0.9成立的常数 a . (,). 解:(1)P(1< X 7)= == = 0.9973 + 0.8413 – = 0.8386 (2)因为 P(X a)=== 0.9 所以,a = + = 5.56 14.从正态总体N(,9)中抽取容量为64的样本,计算样本均值得= 21,求的置信度为95%的置信区间.(已知) 解:已知,n = 64,且 ~ 因为 = 21,且 所以,置信度为95%的的置信区间为: . 15.设为三个事件,试用的运算分别表示下列事件: ⑴ 中至少有一个发生; ⑵ 中只有一个发生; ⑶ 中至多有一个发生; ⑷ 中至少有两个发生; ⑸ 中不多于两个发生; ⑹ 中只有发生. 解:(1) (2) (3) (4) (5) (6) 16.袋中有3个红球,2个白球,现从中随机抽取2个球,求下列事件的概率: ⑴ 2球恰好同色; ⑵ 2球中至少有1红球. 解:设=“2球恰好同色”,=“2球中至少有1红球” 17.加工某种零件需要两道工序,第一道工序的次品率是2%,如果第一道工序出次品则此零件为次品;如果第一道工序出正品,则由第二道工序加工,第二道工序的次品率是3%,求加工出来的零件是正品的概率. 解:设“第i道工序出正品”(i=1,2) 18.市场供应的热水瓶中,甲厂产品占50%,乙厂产品占30%,丙厂产品占20%,甲、乙、丙厂产品的合格率分别为90%,85%,80%,求买到一个热水瓶是合格品的概率. 解:设 19.某射手连续向一目标射击,直到命中为止.已知他每发命中的概率是,求所需设计次数的概率分布. 解: ………… ………… 故X的概率分布是 20设随机变量的概率分布为 试求. 解: 21.设随机变量具有概率密度 试求. 解: 22.设,求. 解: 23.设,计算⑴;⑵. 解: 24.设是独立同分布的随机变量,已知,设,求. 解: A4.据资料分析,某厂生产的一批砖,其抗断强度,今从这批砖中随机地抽取了9块,测得抗断强度(单位:kg/cm2)的平均值为31.12,问这批砖的抗断强度是否合格(). 解: 零假设.由于已知,故选取样本函数 已知,经计算得,由已知条件,故拒绝零假设,即这批砖的抗断强度不合格。 2某车间生产滚珠,已知滚珠直径服从正态分布.今从一批产品里随机取出9个,测得直径平均值为15.1mm,若已知这批滚珠直径的方差为,试找出滚珠直径均值的置信度为0.95的置信区间. 解:由于已知,故选取样本函数 … 已知,经计算得 滚珠直径均值的置信度为0.95的置信区间为,又由已知条件,故此置信区间为 3某一批零件重量,随机抽取4个测得重量(单位:千克)为14.7,15.1,14.8,15.2 可否认为这批零件的平均重量为15千克(已知)? 解:零假设.由于已知,故选取样本函数 经计算得,已知,故接受零假设,即可以认为这批零件的平均重量为15千克 4某钢厂生产了一批管材,每根标准直径100mm,今对这批管材进行检验,随机取出9根测得直径的平均值为99.9mm,样本标准差s = 0.47,已知管材直径服从正态分布,问这批管材的质量是否合格(检验显著性水平,) 解:零假设.由于未知,故选取样本函数 已知,经计算得 由已知条件,故接受零假设,即可以认为这批管材的质量是合格的。 5.已知某种零件重量,采用新技术后,取了9个样品,测得重量(单位:kg)的平均值为14.9,已知方差不变,问平均重量是否仍为15()? 解: 零假设.由于已知,故选取样本函数 已知,经计算得,由已知条件,故接受零假设,即零件平均重量仍为15. 6.某切割机在正常工作时,切割的每段金属棒长服从正态分布,且其平均长度为10.5 cm,标准差为0.15cm.从一批产品中随机地抽取4段进行测量,测得的结果如下:(单位:cm) 10.4,10.6,10.1,10.4问:该机工作是否正常(,)? 解:零假设.由于已知,故选取样本函数 ~ 经计算得,由已知条件,且 故接受零假设,即该机工作正常.7.设对总体得到一个容量为10的样本值 4.5,2.0,1.0,1.5,3.5,4.5,6.5,5.0,3.5,4.0 试分别计算样本均值和样本方差. 解: 8.设总体的概率密度函数为 试分别用矩估计法和最大似然估计法估计参数. 解:提示教材第214页例3 矩估计:最大似然估计: 9.测两点之间的直线距离5次,测得距离的值为(单位:m): 108.5 109.0 110.0 110.5 112.0 测量值可以认为是服从正态分布的,求与的估计值.并在⑴;⑵未知的情况下,分别求的置信度为0.95的置信区间. 解: (1)当时,由1-α=0.95,查表得: 故所求置信区间为: (2)当未知时,用替代,查t (4,0.05),得 故所求置信区间为: 10.设某产品的性能指标服从正态分布,从历史资料已知,抽查10个样品,求得均值为17,取显著性水平,问原假设是否成立. 解:,由,查表得: 因为 1.96,所以拒绝 11.某零件长度服从正态分布,过去的均值为20.0,现换了新材料,从产品中随机抽取8个样品,测得的长度为(单位:cm):20.0,20.2,20.1,20.0,20.2,20.3,19.8,19.5 问用新材料做的零件平均长度是否起了变化(). 解:由已知条件可求得: ∵ | T | 2.62 ∴ 接受H0 即用新材料做的零件平均长度没有变化。 四、证明题(本题6分) 1.设是阶对称矩阵,试证:也是对称矩阵. 证明:是同阶矩阵,由矩阵的运算性质可知 已知是对称矩阵,故有,即 由此可知也是对称矩阵,证毕. 2设随机事件,相互独立,试证:也相互独立. 证明: 所以也相互独立.证毕. 3、设,为随机事件,试证:. 证明:由事件的关系可知 而,故由概率的性质可知 即 证毕 4设是线性无关的,证明,也线性无关. .证明:设有一组数,使得 成立,即,由已知线性无关,故有 该方程组只有零解,得,故是线性无关的.证毕. 5.设n阶矩阵A满足,则A为可逆矩阵. 证明: 因为,即 所以,A为可逆矩阵. 6..设,为随机事件,试证: 证明:由事件的关系可知 而,故由概率的性质可知 7.设n阶矩阵A满足,则A为可逆矩阵. 证明: 因为,即; 所以,A为可逆矩阵. 8.设向量组,若线性相关,证明线性相关. 证明:因为向量组线性相关,故存在一组不全为0的数,使 成立.于是存在不全为0的数,使 9.若 证明:因为所以有 即,10.设,是两个随机事件,试证: 证明:由事件的关系可知 而,故由加法公式和乘法公式可知 证毕. 11.设是同阶对称矩阵,试证:也是对称矩阵 证明:因12.设是n阶矩阵,若= 0,则. 证明:因为 = == 所以 13.设向量组线性无关,令,,证明向量组线性无关。 证明:设,即 因为线性无关,所以 解得k1=0,k2=0,k3=0,从而线性无关. 14对任意方阵,试证是对称矩阵. 证明: 是对称矩阵 15若是阶方阵,且,试证或. 证明: 是阶方阵,且 或 16若是正交矩阵,试证也是正交矩阵. 证明: 是正交矩阵 即是正交矩阵 17.试证:任一4维向量都可由向量组,,线性表示,且表示方式唯一,写出这种表示方式. 证明: 任一4维向量可唯一表示为 1⒏试证:线性方程组有解时,它有唯一解的充分必要条件是:相应的齐次线性方程组只有零解. 证明:设为含个未知量的线性方程组 该方程组有解,即 从而有唯一解当且仅当 而相应齐次线性方程组只有零解的充分必要条件是 有唯一解的充分必要条件是:相应的齐次线性方程组只有零解 19.设是可逆矩阵A的特征值,且,试证:是矩阵的特征值. 证明:是可逆矩阵A的特征值 存在向量,使 即是矩阵的特征值 20.用配方法将二次型化为标准型. 解: 令,,即 则将二次型化为标准型第二篇:c语言试题及答案
第三篇:西北农林科技大学c语言实习答案
第四篇:华中科技大学08-09语文答案
第五篇:电大《工程数学》期末考试题库及答案