文档库 最新最全的文档下载
当前位置:文档库 › 《高级语言程序设计》答案

《高级语言程序设计》答案

《高级语言程序设计》答案
《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include

int main()

{

int i,j,t;

int max(int,int);

int min(int,int);

scanf("%d%d",&i,&j);

if(i

{t=i;i=j;j=t;}

printf("%d %d\n",max(i,j),min(i*j,max(i,j)));

return 0;

}

int max(int i,int j)

{

int t;

while(j)

{

t=i%j;

i=j;

j=t;

}

return i;

}

int min(int p,int q)

{

return p/q;

}

2. 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。

#include

int main()

{

int max4(int,int,int,int); //对max4的函数声明

int a,b,c,d;

scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数

printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者

return 0;

}

int max4(int a,int b,int c,int d) //定义max4函数

{

int max2(int,int); //对max2的函数声明

return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数}

int max2(int a,int b)

{

return(a>b?a:b); //返回条件表达式的值,即a和b中的大者

}

3. 用递归调用的方法求5!。

#include

int main()

{

int fac(int);

int n;

scanf("%d",&n);

printf("%d!=%d\n",n,fac(n));

return 0;

}

int fac(int n)

{

if(n==0||n==1)

return 1;

else

return fac(n-1)*n;

}

4. 按以下递归公式求函数的值。

???>+-==)1(2)1()1(10 fun(n)n n fun n 例如,当给n 输入5时,函数值为18,(要求用递归实现)。

#include

int main()

{

int fun(int);

int n;

scanf("%d",&n);

printf("%d\n",fun(n));

return 0;

}

int fun(int n)

{

if(n==1)

return 10;

else

return fun(n-1)+2;

}

5. 用递归法将一个整数n 转换成字符串。例如,输入483,应输出字符串“483”,n 的位数不确定,可以是任意位数的整数。 #include

void main()

{void fun(int);

int n;

scanf("%d",&n);

if(n<0)

{

n=-n;

putchar('-');

}

fun(n);

puts("");

}

void fun(int m)

{

if(m/10)

fun(m/10);

putchar(m%10+48);

}

6. 写一个函数,完成将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。

#include

#define N 5

int main()

{

void fun(int a[]);

int a[N],i;

for(i=0;i

scanf("%d",&a[i]);

fun(a);

return 0;

}

void fun(int a[N])

{

int t,i;

for(i=0;i

{

t=a[i];

a[i]=a[N-1-i];

a[N-1-i]=t;

}

for(i=0;i

printf("%d ",a[i]);

puts("");

}

7. 编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。

#include

int main()

{

float average(int c[],int n);

int i,score_1[5],score_2[10];

float p,q;

for(i=0;i<5;i++)

scanf("%d",&score_1[i]);

for(i=0;i<10;i++)

scanf("%d",&score_2[i]);

p=average(score_1,5);

q=average(score_2,10);

printf("%f\n%f\n",p,q);

return 0;

}

float average(int c[],int n)

{ float m=0.00;

int i;

for(i=0;i

m=m+c[i];

return(m/n);

}8. 编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。#include

int main()

{

void c(char st1[],char st2[]);

char s1[100],s2[100];

gets(s1); gets(s2);

c(s1,s2); puts(s1);

return 0;

}

void c(char st1[],char st2[])

{

int i=0,k=0;

while(st1[++i]);

while(st1[i++]=st2[k++]);

}

9. 编写一个函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。

#include

int main()

{

char a[100],b[100];

void fun(char a[],char b[]);

gets(a);

gets(b);

fun(a,b);

return 0;

}

void fun(char a[],char b[])

{

for(int i=0;;i++)

{

if(a[i]>b[i])

{puts(a);break;}

else if(a[i]

{puts(b);break;}

else

continue;

}

}

10. 编写一个函数,实现在一个升序排列的整型数组中插入一个整数的功能,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。

#include

int a[11]={1,3,5,7,14,23,45,87,155,231};

int main()

{

int c,i;

void fun(int a[],int c);

printf("input an integer:");

scanf("%d",&c);

fun(a,c);

for(i=0;i<11;i++)

printf("%d ",a[i]);

printf("\n");

return 0;

}

void fun(int a[],int t)

{

int i,j;

if(t>a[9])

a[10]=t;

else

{

for(i=0;i<11;i++)

if(t

break;

for(j=10;j>i;j--)

a[j]=a[j-1];

a[i]=t;

}

}

11. 写一个判断素数的函数,在主函数输入一个整数,是素数时输出yes,否则输出no,结果要求在主函数中输出。

#include

int main()

{

int a;

int is_prime(int);

scanf("%d",&a);

if(is_prime(a)==0)

printf("yes\n");

else

printf("no\n");

return 0;

}

int is_prime(int a)

{

int j,flag=1;

for(j=2;j<=a/2;j++)

{

if(a%j==0)

break;

}

if(j>=a/2)

flag=0;

return flag;

}

12. 编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。

#include

char a[50],b[50]={0};

int main()

{

void fun(char a[],char b[]);

gets(a);

fun(a,b);

puts(b);

return 0;

}

void fun(char a[],char b[])

{

int i,j;

for(i=0,j=0;a[i]!='\0';i++)

if(a[i]=='a'||a[i]=='A'||a[i]=='e'||a[i]=='E'||a[i]=='i'||a[i]=='I'||a[i]=='o'||a[i]=='O'||a[i]=='u'||a[i]=='U')

b[j++]=a[i];

}

13. 建立动态数组,输入5个学生的成绩,编写函数检查其中有无低于60分的学生成绩,要求输入和输出功能在主函数中完成。

#include

#include

int main()

{

void check(int *);

int *p,i;

p1=(int *)malloc(5*sizeof(int));

for(i=0;i<5;i++)

scanf("%d",p+i);

check(p1);

return 0;

}

void check(int *p)

{

int i;

printf("They are fail:");

for(i=0;i<5;i++)

if(*(p+i)<60)

printf("%d ",p[i]);

puts("");

}

14. 有一个一维数组score,内放10个学生成绩,用一个函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。

#include

int main()

{

void ave(int a[10]);

int a[10],i;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

ave(a);

return 0;

}

void ave(int a[10])

{

int i,m=0;

for(i=0;i<10;i++)

{

m=m+a[i];

if(a[i]<60)

printf("%d %d\n",a[i],i);

}

printf("%d\n",m/10);

}

15. 编程实现:从键盘输入两个字符串,统计第二个字符串在第一个字符串中出现的次数,在主函数中调用统计函数并输出结果。

#include

#include

int main()

{

int retu(char a[],char b[]);

char c[200],d[100];

gets(c);

gets(d);

printf("出现的次数为:%d\n",retu(c,d));

return 0;

}

int retu(char a[],char b[])

{

int i,j,t,m,s=0;

for(i=0;a[i]!='\0';i++)

{

m=0;

if(a[i]==b[0])

{

for(t=i,j=0;b[j]!='\0';t++,j++)

if(b[j]==a[t])

m++;

if(m==strlen(b))

s++;

}

}

return s;

}

16 编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:输入“I am a student!”,输出“Iamastudent!”,要求用指针实现。

#include

#include

int main()

{

char a[50],*p;

int l,i;

printf("input string a:");

gets(a);

p=a;

l=strlen(a);

for(l;l>0;l--)

{

if(*(p+l)==' ')

for(i=l;*(p+i)!='\0';i++)

*(p+i)=*(p+i+1);

}

puts(p);

return 0;

}

17. 用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。

#include

int main()

{

int a[10],i,j,t,*p=a;

for(i=0;i<10;i++)

scanf("%d",p+i);

for(i=0;i<10;i++)

for(j=0;j<9-i;j++)

if(*(p+j)>*(p+j+1))

{

t=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=t;

}

for(i=0;i<10;i++)

printf("%d ",*(p+i));

puts("");

return 0;

}

18. 用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。

#include

int main()

{

int a[10],i,j,t,*p=a;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<10;i++)

for(j=i+1;j<10;j++)

if(*(p+i)>*(p+j))

{

t=*(p+i);

*(p+i)=*(p+j);

*(p+j)=t;

}

for(i=0;i<10;i++)

printf("%d ",*(p+i));

puts("");

return 0;

}

19. 编写一个函数实现字符串复制功能,不能使用strcpy函数,并在 main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。(要求用指针作为函数参数)

#include

int main()

{

char a[100],b[20],*p,*q;

void copy_string(char *,char *);

gets(b);

p=a;q=b;

copy_string(p,q);

puts(p);

return 0;

}

void copy_string(char *p,char *q)

{

while(*p++=*q++);

}

20. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。(要求用指针实现)

#include

int main()

{

char a[100],*p=a;

int fun(char *);

gets(a);

printf("%d\n",fun(a));

return 0;

}

int fun(char *p)

{

int k=0;

while(*p++)

k++;

return k;

}

21. 输入一个字符串,内有数字和非数字字符,例如:“A123x456 17960? 302tab5876”,将其中连续的数字作为一个整数,依次存在到一数组a中。例如,123放在a[0],456放在a[1]……统计共有多少个整数,并输出这些数。(要求用指针实现)

#include

char a[100];

{

void fun(char *);

char *p=a;

gets(p);

fun(p);

return 0;

}

void fun(char *p)

{

int num[100],s,k,j=0,i=0;

s=0;

while(*(p+i))

{

k=0;

while(*(p+i)>='0'&&*(p+i)<='9')

{

s*=10;

s+=*(p+i)-48;

i++;k=1;

}

if(k)

{

num[j++]=s;

s=0;

}

else

i++;

}

printf("%d\n",j);

for(i=0;i

printf("%d ",num[i]);

puts("");

}

#include

#include

int main()

{

char a[50],*p;

int b[50],c[50]={0},k,j,i;

gets(a);

p=a;

k=0;

for(i=0;*(p+i)!='\0';i++)

if(*(p+i)>='0'&&*(p+i)<='9')

{

j=0;

while(*(p+i)>='0'&&*(p+i)<='9')

{

i++;

j++; //j表示每个数字个数(长度)}

b[k++]=j; //k记录有几个数字

}

printf("%d\n",k);

int n=0;

for(i=0;*(p+i)!='\0';i++)

if(*(p+i)>='0'&&*(p+i)<='9')

{

while(*(p+i)>='0'&&*(p+i)<='9')

{

c[n]=c[n]+(int)(*(p+i)-48)*pow(10,(b[k]--)-1);

i++;

}

k++;

printf("%d ",c[n++]);

}

puts("");

return 0;

}

22. 有一篇文章,共有4行文章,每行有60个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。(要求用指针实现)

#include

int main()

{

void count(char (*p)[60]);

char str[4][60];

printf("input 4 string:\n");

for(int i=0;i<4;i++)

gets(str[i]);

count(str);

return 0;

}

void count(char (*p)[60])

{ int l=0,L=0,digit=0,space=0,oth=0;

int i,j;

for(i=0;i<4;i++)

for(j=0;*(*(p+i)+j)!='\0';j++)

if((*(*(p+i)+j)>='a')&&(*(*(p+i)+j)='z'))

l++;

else if((*(*(p+i)+j))>='A'&&(*(*(p+i)+j)<='Z'))

L++;

else if(*(*(p+i)+j)>='0'&&*(*(p+i)+j)<='9')

digit++;

else if(*(*(p+i)+j)==32)

space++;

else

oth++;

printf("\ncapital letter:%d\nlower letter:%d\ndigit:%d\nspace:%d\nothers:%d\n",

L,l,digit,space,oth);

}

23. 编程实现从键盘输入任意十个字符串,找出并显示最长的那个字符串。(要求用指针知识实现)

#include

#include

int main()

{

char max[50],b[50];

char *p=max,*p1=b;

gets(p);

for(int i=0;i<9;i++)

{

gets(p1);

if(strlen(p)

strcpy(p,p1);

}

puts("");

puts(max);

return 0;

}

24. 利用函数实现如下功能:从键盘输入任意一个正整数,求出它的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回。(自定义函数void fun (int x,int * pp,int *n))。

#include

int main()

{

void fun (int x,int *pp, int *n);

int x, a[100],*pp=a,n;

scanf("%d",&x);

fun(x,pp,&n);

return 0;

}

void fun (int x,int *pp, int *n)

{

int i,j=0,t;

for(i=2;i

if(x%i==0&&i%2==0)

*(pp+j++)=i;

*n=j;

printf("%d\n",*n);

}

25. 编写一个函数,实现求出一个2维数组中的鞍点,并在main函数中调用此函数,2维数组中数据输入和鞍点数据输出都在主函数中实现。(鞍点是指某个数在该行上最大,同时在该列上最小)

#include

int main()

{

int an(int a[4][5]);

int a[4][5],i,j;

for(i=0;i<4;i++)

for(j=0;j<5;j++)

scanf("%d",&a[i][j]);

printf("%d\n",an(a));

return 0;

}

int an(int a[4][5])

{

int i,j,m,n,b,max,k,f;

for(i=0;i<4;i++)

{

max=a[i][0];

for(j=1;j<5;j++)

if(a[i][j]>max)

{

max=a[i][j];

m=j;

}

f=1;

for(k=0;k<4;k++)

if(max>a[k][m])

f=0;

if(f)

{

return(a[i][m]);

break;

}

}

}

26. 输入3个学生4门课的成绩,分别用函数实现如下功能:

(1)计算每个学生平均分;

(2)计算每门课的平均分;

(3)找出12个分数中最高分所对应的学生和课程。

#include

int score[3][4];

int a_stu[3],a_cour[4];

int r,c;

int main()

{

int i,j;

void aver_stu();

void aver_cour();

void highest();

printf("\nNO. cour1 cour2 cour3 cour4\n");

for(i=0;i<3;i++)

{

printf("No %d:",i+1);

for(j=0;j<4;j++)

scanf("%d",&score[i][j]);

}

aver_stu();

aver_cour();

highest();

return 0;

}

void aver_stu()

{

int s;

for(int i=0;i<3;i++)

{

for(int j=0,s=0;j<4;j++)

s+=score[i][j];

a_stu[i]=s/4.0;

}

printf("\naverage of student:"); //输出每个学生的平均成绩

for(int j=0;j<3;j++)

printf("%2d ",a_stu[j]);

}

void aver_cour() //计算4门课程平均成绩的函数

{

int i,j;

float s;

printf("\naverage of soure :");

for(j=0;j<4;j++)

{

s=0;

for(i=0;i<3;i++)

s=s+score[i][j];

a_cour[j]=s/(float)3;

printf("%2d ",a_cour[j]);

}

}

void highest()

{

int high=score[0][0];

int i,j,r=1,c=1;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(score[i][j]>high)

{

high=score[i][j];

r=i+1;

c=j+1;

}

printf("\nhighest :%d NO.%d course %2d\n",high,r,c);

}

27. 用一个函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数。#include

char b[50];

int main()

{

char a[50];

void fun(char a[]);

gets(a);

fun(a);

return 0;

}

void fun(char a[])

{

int i,j,max=0,k,n,t;

for(i=0;a[i]!='\0';i++)

{

j=0;n=i;

while((a[n]>='a'&&a[n]<='z')||(a[n]>='A'&&a[n]<='Z'))

{

j++;

n++;

}

if(max

{

max=j;

k=i;

}

}

for(t=k;t

printf("%c",a[t]);

printf("\n");

}

28. 有3个学生,各学4门课程,输出总平均分数以及第n个学生的所有成绩。(要求定义两个函数分别实现上述功能,用指针作为函数参数)

#include

int main()

{

void average(int *);

void fun_n(int (*n)[4]);

int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};

average(*score);

fun_n(score);

return 0;

}

void average(int *p)

{

int sum=0;

for(int i=0;i<12;i++)

sum+=*(p+i);

printf("average of all scores: %d\n",sum/12);

}

void fun_n(int (*n)[4])

{

int k;

printf("The score of No.");

scanf("%d",&k);

k=k-1;

for(int j=0;j<4;j++)

printf("%d ",*(*(n+k)+j));

puts("");

}

29. 有3个学生,每个学生有4门课程的成绩,要求在用户输入学生学号以后,能输出该学生的全部成绩。(用指针函数知识实现)

#include

int main()

{

int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};

void fun_n(int (*n)[4],int);

int k;

printf("The score of No.");

scanf("%d",&k);

fun_n(score,k-1);

return 0;

}

void fun_n(int (*n)[4],int k)

{

for(int j=0;j<4;j++)

printf("%d ",*(*(n+k)+j));

puts("");

}

30. 定义一个结构体变量(包括年、月、日)。计算当天是本年中的第几天,注意闰年问题。

#include

struct

{

int year;

int month;

int day;

}date;

int main()

{

int i,days;

int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

printf("input year,month,day:");

scanf("%d,%d,%d",&date.year,&date.month,&date.day);

days=0;

for(i=1;i

days+=day_tab[i];

days+=date.day;

if(date.year%4==0&&date.year%100!=0||date.year%400==0&&date.month>=3)

days+=1;

printf("%d/%d is the %dth day in %d.\n",date.month,date.day,days,date.year);

return 0;

}

31. 设计候选人得票统计程序,要求有4个侯选人(分别是Zhang 、Wang 、Li、Zhao),选民每次输入一个被选人的姓名,最后统计出各人的得票结果。

#include

#include

struct Person

{

char name[20];

int count;

}leader[4]={"Zhang",0,"Wang",0,"Li",0,"Zhao",0};

int main()

{

int i,j;

char leader_name[20];

for(i=1;i<=10;i++)

{

scanf("%s",leader_name);

for(j=0;j<3;j++)

if(strcmp(leader_name,leader[j].name)==0)

leader[j].count++;

}

printf("\nResult:\n");

for(i=0;i<3;i++)

printf("%5s:%d\n",leader[i].name,leader[i].count);

return 0;

}

32. 定义一个包括学号、姓名、成绩的学生结构体,要求实现输入3个学生信息的输入后,按照成绩的高低顺序输出各学生的信息。#include

#define N 3

struct Student

{

int num;

char name[20];

float score;

};

int main()

{

struct Student stu[N];

struct Student temp;

int i,j;

printf("请输入三个学生的信息:学号、姓名、成绩:\n");

for(i=0;i

{

scanf("%d%s%f",&stu[i].num,stu[i].name,&stu[i].score);

}

printf("The order is :\n");

for(i=0;i

for(j=i+1;j

{

if(stu[j].score

temp=stu[i];

stu[i]=stu[j];

stu[j]=temp;

}

for(i=0;i

printf("%6d %8s %6.2f\n",stu[i].num,stu[i].name,stu[i].score);

return 0;

}

33. 有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求输出平均成绩最高分的学生的信息(包括学号、姓名、3门课程成绩、平均分数)(用结构体知识)。

#include

#define N 3

struct Student

{

int num;

char name[20];

float score[3];

float aver;

};

int main()

{

void input(struct Student stu[]);

struct Student max(struct Student stu[]);

void print(struct Student stu);

struct Student stu[N],*p=stu;

input(p);

print(max(p));

return 0;

}

void input(struct Student stu[])

{

int i;

printf("请输入各个学生的信息:学号、姓名、三门课成绩:\n");

for(i=0;i

{

scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);

stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;

}

}

struct Student max(struct Student stu[])

{

int i,m=0;

for(i=0;i

if(stu[i].aver>stu[m].aver)

m=i;

return stu[m];

void print(struct Student stu)

{

printf("\n成绩最高的学生是:\n");

printf("学号:%d\n姓名:%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2f\n",stu.num,https://www.wendangku.net/doc/1011649699.html,,stu.score[0],stu.score[1],stu.score[2],stu.aver);

}

34. 建立一个链表,每个结点包括:学号、姓名、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。#include

#include

#define LEN sizeof(struct student)

struct student

{

char num[6];

char name[8];

char sex[2];

int age;

struct student *next;

}stu[10];

int main()

{

struct student *p,*pt,*head;

int i,length,iage,flag=1;

int find=0;

while(flag==1)

{

printf("input length of list<10:");

scanf("%d",&length);

if(length<10)

flag=0;

}

for(i=0;i

{

p=(struct student *) malloc(LEN);

if(i==0)

head=pt=p;

else

pt->next=p;

pt=p;

printf("NO.:");

scanf("%s",p->num);

printf("name:");

scanf("%s",p->name);

printf("sex:");

scanf("%s",p->sex);

printf("age:");

scanf("%d",&p->age);

}

p->next=NULL;

p=head;

printf("\n https://www.wendangku.net/doc/1011649699.html, sex age\n");

while(p!=NULL)

{

printf("%4s%8s%6s%6d\n",p->num,p->name,p->sex,p->age);

p=p->next;

printf("input age:");

scanf("%d",&iage);

pt=head;

p=pt;

if(pt->age==iage)

{

p=pt->next;

head=pt=p;

find=1;

}

else

pt=pt->next;

while(pt!=NULL)

{

if(pt->age==iage)

{

p->next=pt->next;

find=1;

}

else

p=pt;

pt=pt->next;

}

if(!find)

printf("not found %d.",iage);

p=head;

printf("\n https://www.wendangku.net/doc/1011649699.html, sex age\n");

while(p!=NULL)

{

printf("%4s%8s",p->num,p->name);

printf("%6s%6d\n",p->sex,p->age);

p=p->next;

}

return 0;

}

35. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位。(要求用指针链表实现)

#include

#define N 13

int main()

{

int i,out=0,sum=0;

struct People

{

int num;

int data;

struct People *next;

}a[N];

struct People *head,*p;

for(i=0;i

{

a[i].num=i+1;

a[i].data=1;

}

head=&a[0];

for(i=0;i

if(i==N-1)

a[i].next=NULL;

else

a[i].next=&a[i+1];

p=head;

while(out!=N-1)

{

if(p->data==1)

sum++;

if(sum==3)

{

p->data=0;

out++;

sum=0;

}

p=p->next;

if(p==NULL)

p=head;

}

do

{

if(p->data==1)

{

printf("最后留下的学生的学号为:No.%d\n",p->num);

break;

}

p=p->next;

}

while(p!=NULL);

return 0;

}

36. 从键盘上读入3个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。#include

#include

#include

int main()

{

FILE *fp;

char a[3][20],t[10];

int i,j,k;

printf("Enter three strings:\n");

for(i=0;i<3;i++)

gets(a[i]);

for(i=0;i<3;i++)

for(j=0;j<3-i-1;j++)

if(strcmp(a[j],a[j+1])>0)

{

strcpy(t,a[j]);

strcpy(a[j],a[j+1]);

strcpy(a[j+1],t);

}

if((fp=fopen("d:\\file.txt","w"))==NULL)

{

printf("can't open file\n");

exit(0);

}

for(i=0;i<3;i++)

{

fputs(a[i],fp);fputs("\n",fp);

puts(a[i]);

}

return 0;

}

37. 从键盘输入5个学生的信息(包括姓名,成绩),存到磁盘文件上。然后再从磁盘文件上读取第1,3,5个学生数据输入计算机,并在屏幕上显示出来。

#include

#include

#define N 5

struct Student

{

char name[10];

int socre;

}stud[N];

void save()

{

FILE *fp;

int i;

if((fp=fopen("d:\\file2.dat","wb"))==NULL)

{

printf("cannot open file\n");

return;

}

for(i=0;i

if(fwrite(&stud[i],sizeof(struct Student),1,fp)!=1)

printf("file write error\n");

fclose(fp);

}

void read()

{

FILE *fp=fopen("d:\\file2.dat","rb");

for(int i=0;i

{

fseek(fp,i*sizeof(struct Student),0);

fread(&stud[i],sizeof(struct Student),1,fp);

printf("%-10s %4d\n",stud[i].name,stud[i].socre);

}

fclose(fp);

}

int main()

{

printf("please enter data of student:\n");

for(int i=0;i

scanf("%s%d",stud[i].name,&stud[i].socre);

save();

read();

return 0;

}

38.从键盘输入两个字符串,分别保存在磁盘文件“file1”和“file2”中,要求把两个文件中的信息合并(按字母顺序排序),输出到一

数据库原理试题及答案

数据库原理试题答案(B卷) 一、填空题(每题 2 分,共 20 分) 1、实体 2、日志文件 3、完整性 4、关系 5、关系演算 6、外模式 / 模式 7、更新 8、集成的 9、先来先服务 10、人工智能 二、选择题(每题 1 分) 1 、C 2 、 D 3 、 B 4 、 A 5 、 B 6 、 C 7 、 C 8 、 C 9 、 B 10 、 C 三、简答题(每题 5 分,共 20 分) 1 、答案要点:数据库系统中的常见故障有:事务内部的故障(事务故障)( 1 分)、系统故障( 1 分)、介质故障( 2 分)、计算机病毒( 1 分)。 2 、答案要点:数据模型通常由数据结构( 1 分)、数据操作( 2 分)、完整性约束( 2 分)三部分组成。 3 、答案要点:不是所有的视图都是可更新的( 2 分);因为有些视图的更新不能唯一地有意义地转换成对相应基本表地更新( 3 分)。 4 、答案要点:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同( 5 分)。 四、(共 10 分) 1 、 80 , 90 2 、 T 1 T 2 Slock A 读 A = 50 Y = A Unlock A Xlock A A=Y-10 Slock A 写回 A = 40 等待 Unlock A 等待 读 A = 40 Y = A Unlock A Xlock A A=Y × 2 写回 A = 80 Unlock A

五、(共 10 分) 六、(共 20 分) 1 、关系代数: (1)sno ( cno =‘ 2 ' (SC) )(2分) (2) Sno,Sn ( Cn=' 数据库概论 ' ) (2分) (3) Sno,SN (S ( Cno , sno (SC) ÷ Cno ( C )) ) (2分) ALPHA 语言 ? GET W(SC.SNO): https://www.wendangku.net/doc/1011649699.html,O=' 2' (2分) ? RANGE C X SC Y GET W (S.SNO.S.SN): X( Y(https://www.wendangku.net/doc/1011649699.html,O=https://www.wendangku.net/doc/1011649699.html,O ^ Y.SNO=S.SNO ^ https://www.wendangku.net/doc/1011649699.html,=' 数据库概论 ' (2分) ? RANGE C X SC Y GET W(S.SNO,S.SN): X( Y(https://www.wendangku.net/doc/1011649699.html,O=https://www.wendangku.net/doc/1011649699.html,O ^ Y.SNO=S.SNO)) (2分) 2 、( 1 ) SELECT COUNT(*) FROM STUDENT (2分) (2) SELECT SNO FROM SC GROUP BY SNO HAVING COUNT(*)>5 (3分) (3) DELECT FROM SC WHERE https://www.wendangku.net/doc/1011649699.html,O IN (SELECT https://www.wendangku.net/doc/1011649699.html,O FROM C WHERE CN=' 数据结构 ') DELETE FROM C WHERE CN= ‘数据结构' (3分) 七、(共 10 分) 科室(科室代码,科室名称) (1分) 医生(工号,姓名,名称,聘用日期,聘用期限,科室) (1分) 病人(病历号,姓名,年龄,工作单位) (1分) 就诊(医生工号,病历号,就诊日期) (2分) 一、填空题(每空 2 分,共 20 分) 1、关系中主码的取值必须唯一且非空,这是由 ___________ 完整性规则决定的。 2、当数据库被破坏后,如果事先保存了数据库副本和 ________________ ,就有可能恢复数据库。 3、数据库的 ____________ 是指数据库的正确性和相容性。 4、关系数据操作语言的特点是:操作对象与结果均为 ___________ 、操作的非过程性强、语言一体化、并且建立在数学理论基础之上。 5、SQL 是一种介于关系代数和 _____________ 之间的结构化的查询语言。 6、对于每一个外模式,数据库系统都有一个 _______________ 映象,它定义了该外模式与模式之间的对应关系。 7、视图是一个需表,它一经定义就可以和基本表一样被查询,但 _________ 操作将有一定的限制。 8、数据仓库是一个面向主题的、 _____________ 、不可更新的、随时间不断变化的数据集合。 9、避免活锁的简单方法是采用 _____ 的策略。 10、知识库系统和主动数据库系统是将数据库技术和 ________ 技术相结合产生的。 二、选择题(每小题 1 分,共 10 分) 1、SQL 中,下列涉及空值的操作,不正确的是 ( )

全国高等教育自学考试高级语言程序设计

全国高等教育自学考试高级语言程序设计 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

2001年10月全国高等教育自学考试高级语言程序设计(一) 试卷 第一部分选择题 一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1. C语言程序编译时,程序中的注释部分【】 A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中 2. 下列表达式的值为0的是【】 A. 3﹪5 B. 3/ C. 3/5 D. 3<5 3. 正确的C语言用户自定义标识符是【】 A. print B. float C. when?

D. random﹪2 4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是【】 A. 0和2 B. 0和3 C. 1和2 D. 1和3 5. 下列叙述中,正确的是【】 A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致 B. 宏名必须用大写字母表示 C. 宏替换不占用运行时间,只占编译时间 D. 在程序的一行上可以出现多个有效的宏定义 6. 下列保留字中用于构成循环结构的是【】 A. if B. while C. switch D. default 7. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是【】 A. if(a>b){if(c>d) x = 1;else x = 2;} B. if(a>b){if(c>d) x = 1;} else x = 2;

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

数据库试题及答案

《数据库》试题 使用教材:Visual FoxPro 数据库应用 试题范围:全册 出版社:高等教育出版时版次:第3版 学校名称:文县职业中专 一、选择题 1、在有关数据库的概念中,若干记录的集合称为() A. 文件 B. 字段 C. 数据项 D. 表 2、在Visual FoxPro中,向数据库文件中追加数据使用语句() A、INSERT B、REPLACE C、APPEND D、ADD 3、在Visual FoxPro中,删除数据库的所有记录,仅保留库结构的命令是( ) A、delete all B、pack C、recall D、zap 4、在Visual FoxPro中,分屏显示当前数据库中年龄字段大于20的所有记录,正确的命令为( ) A、display all for nl>20 B、display all while nl>20 C、list for nl while nl>20 D、list while nl>20 5、在Visual FoxPro中,skip命令移动记录指针的基准是( ) A、第一条记录 B、当前记录 C、指定纪录 D、库文件尾6、逻辑运算符在运算时的优先顺序是() A.NOT→AND→OR B.AND→NOT→OR C.OR→NOT→AND D.从左至右按先后次序 7、在关系运算中,查找满足一定条件的元组的运算称之为()A. 投影 B. 选择 C. 关联 D. 复制 8、下面的赋值表达式不正确的是() A.STORE "HELLO WORLD!" TO STR B. STORE 123456 TO

A1,B1 C.WORD="FOXPRO" D.STORE 12,34 TO A2,B29、不能作为索引关键字的数据类型是() A.数值型 B.备注型 C.日期型 D.字符型 10、当前表中含xm(姓名,字符型)字段,显示姓“李”的记录的命令是() A.DISP FOR "李"=xm B.DISP FOR xm=李 C.DISP FOR SUBS(xm,1,1)= ‘李’ D.DISP FOR SUBS(xm,1,2)=‘李’ 11、用命令DIMENSION A(4,5)定义后,A数组中共有()个数据元素。 A. 4 B. 5 C. 9 D. 20 12、在Visual FoxPro的一个工作区中,同一时刻最多能打开( )个库文件。 A、10 B、1 C、任意多 D、256 13、33.结构化程序设计中的三种基本结构是顺序结构、分支结构和() A、选择结构 B、循环结构 C、混合结构 D、跳转结构 14、假定STUDENT.DBF学生数据库文件中前六条记录均为男生的记录,执行以下命令序列: USE.STUDENT GOTO 3 LOCATE NEXT 3 FOR 性别="男" 后,记录指针定位在( ) A、第3条记录上 B、第4条记录上 C、第5条记录上 D、第6条记录上 15、68.下面有关表索引的几种说法,正确的是() A.索引和排序一样,它改变记录的物理顺序。

华南理工大学高级语言程序设计作业

华南理工大学高级语言程序设 计作业(总3页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

《高级语言程序设计(https://www.wendangku.net/doc/1011649699.html,)》作业 2014.3 教学中心:专业层次: 学号:姓名: 一.判断题(如正确打√,否则,打×。) 1.存储数据不属于数据处理功能。N 2. Write_1 和学校$ 是正确的变量名。Y 3.若一个整型变量说明了之后没有给它赋值,则它的值为0。Y 4.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为:Y If Asc(ch)>=97 And Asc(ch)<=122 Then WriteLine (“Yes”) Else WriteLine(“No”) End If 5.。输入结构变量的值就是输入该变量的各个元素的值Y 6.函数过程定义中必须有一个赋值语句把表达式的值赋给函数过程名。N 7. 事件是由https://www.wendangku.net/doc/1011649699.html,系统预先设置好或者在程序中由编程者自己设计的,它能够被对象识别的动作。Y 8. 从文件取出一组数据以流的方式存放到程序的变量或数组中称为向流写入数据。N 9. 文件流类FileStream用于打开和关闭文件,并提供对文件按字节的读/写操作。Y 10. 在VB中不可以把类型说明符放在变量名的末尾来说明变量的类型。N 二.单项选择题 1.下列变量名中错误的是( “年龄” )。 2.设X为整型变量,不能正确表达1< X < 5的逻辑表达式是(1< X <5 )。 3.设有数组说明语句:Dim c( 10) AS Integer,则下面表示数组c的元素选项中 (c(11) )是错误的。 4.在过程的形式参数前面加上关键字( ByVal ),则该参数说明为引用参数。 D. 5. 设已定义函数过程f,它有三个实型传值参数;设a,b和c为实型变量,则调用该函数的正确形式为( f a+b, b+c, c+a )。 6.若使命令按钮不可见,可以设置Visible属性的值为( False )。 7.要使单选按钮RadioButton处于选中或未选中状态,需由( Checked )属性来决定。 8.要删除列表框中的某一个项目,需要使用(ReMove )方法。 9.要设置计时器的时间间隔可以通过( InterVal )属性来实现。 10.下面( StreamWriter )类用来把数据写入文本文件中。 三.简答题 1. 在控制台应用程序中,如何输入输出一维数组的元素 1. 答:输入一维数组元素的值可以使用赋值语句,也可以使用Console类的输入方法Read和ReadLine从键盘输入数据。输出一维数组元素的值可以使用Console类的Write方法和WriteLine方法。 2.若有数组定义语句:Dim c%() = { 76, 80, 75},则数组c有多少个元素这些元素是什么它们的初值是多少 3.答:数组c共有3个元素c(0)、c(1)和c(2),它们的初值分别为1、2和3,即c(0)=76,c(1)=80和c(2)=75。 3. 文件操作可以分为哪些步骤

高级语言程序设计综合复习资料-考试必备

C语言程序设计综合复习资料 要求掌握的章节: 第1章、第3章~第8章、 第10章(前4节)、第11章(前6节)重点章节: 第3章~第8章、第10章(前4节) 难点章节: 第8章、第10章(前4节) 考试题型: ①选择题(填空题)(20%) ②读程序题(40%) ③编程序题(40%)第1章C语言概述一、选择题 1.能将高级语言编写的源程序转换为目标程序 的软件是 A)汇编程序B)编辑程序C)解释程序D)编译程序 2.在一个C程序中 A)main函数必须出现在所有函数之前B)main 函数可以在任何地方出 现 C)main函数必须出现在所有函数之后D)main 函数必须出现在固定位 置 3.C语言中用于结构化程序设计的三种基本结 构是 A)顺序结构、选择结构、循环结构B)if、switch、break C)for、while、do-whileD)if、for、continue 4.C语言程序的基本单 位是 A)函数B)过程C)子例程 D)子程序 二、填空题 1.C语言程序总是从函 数开始执行。 2.C语言是种面向 _____的程序设计语言, 其程序的基本单位是。. 3.C语言中的函数由、 两部分组成。 4.结构化程序设计中所 规定的三种基本控制结 构是、和。 第3章数据类型、运 算符与表达式 一、选择题 1.下列关于C语言用户 标识符的叙述中正确的 是 A)用户标识符中可以出 现下划线和中划线(减 号) B)用户标识符中不可以 出现中划线,但可以出现 下划线 C)用户标识符中可以出 现下划线,但不可以放在 用户标识符的开头 D)用户标识符中可以出 现下划线和数字,它们都 可以放在用户标识符的 开头 2.C语言中基本数据类 型有 A)整型、实型、逻辑型 B)整型、字符型、逻辑 型 C)整型、实型、字符型 D)整型、实型、字符型、 逻辑型 3.在计算机中,一个字 节所包含二进制位的个 数是 A)2B)4C)8D)16 4.用8位无符号二进制 数能表示的最大十进制 数为 A)127B)128C)255D) 256 5.在计算机系统中,存 储一个汉字的国标码所 需要的字节数为 A)1B)2C)3D)4 6.在C语言中,char 型数据在内存中的存储 形式是 A)原码B)补码C)反 码D)ASCII码 7.十六进制数100转换 为十进制数为 A)256B)512C)1024D) 64 8.十六进制数7A转化 成八进制数是 A)123B)122C)173D)17 2 9.十进制数32转化成十 六进制数是 A)20B)ffC)10D)21 10.与十进制数511等 值的十六进制数为 A)1FFB)2FFC)1FED)2F E 11.以下选项中可作为C 语言合法整数的是 A)10110BB)0386C) 0XffaD)x2a2 12.以下选项中合法的实 型常数是 A)5E2.0B)E-3C).2E0D) 1.3E 13.依据C语言的语法 规则,下列()是用户定 义的合法标识符。 A)intB)INTC)jin#2D)8f 14.依据C语言的语法 规则,下列合法标识符是 A)ElseB)elseC)user$2D )5_examp 15.以下不正确的字符常 量是 A)'8'B)'\xff'C)'\887'D)'' 16.以下不正确的字符常 量是 A)'\0'B)'\xgg'C)'0'D)'a' 17.以下选项中不合法的 八进制数是 A)01B)077C)028D)00 18.下列运算符优先级最 高的是 A) B)+C)&&D)!= 19.若有说明: chars1='\067',s2='1';则 变量s1,s2在内存中各占 的字节数是。 A)11B)41C)31D)12 20.以下不能定义为用户 标识符的是 A)scanfB)VoidC) _3com_D)inte 21.在C语言中,可以 作为用户标识符的一组 标识符是 A)voiddefineWORDB)a s_b3_224Else C)Switch-wercaseD)4b DOSIG 22.若有:intx=1,n=5;则 执行语句x%=(n%2)后, x的值为 A)3B)2C)1D)0 23.设所有变量均为整 型,则表达式 (a=2,b=5,a++,b++,a+b) 的值是

《卫生微生物学试题及答案》

卫生微生物(一) 一、名词解释 1.指示微生物:就是在常规卫生监测中,用以指示样品卫生状况及安全性的(非致病)微生物(或细菌)。 2.消毒:就是指杀灭或清除传播媒介上病原微生物,使其达到无害化的处理。 3.生物战剂:在战争中用来伤害人、畜与毁坏农作物、植被等的致病微生物及其毒素称为生物战剂。 4.土著微生物:就是指一个给定的生境中能生存、生长繁殖、代谢活跃的微生物,并能与来自她群落的微生物进行有效的竞争。它们已经适应了这个生境。 5.高效消毒剂:可杀灭所有种类微生物(包括细菌芽胞),达到消毒合格要求的消毒剂,如戊二醛、过氧乙酸等。 6.微生物气溶胶:以固体或液体微小颗粒分散于空气中的分散体系称为气溶胶。其中的气体就是分散介质。固体或液体微小颗粒如尘埃、飞沫、飞沫核及其中的微生物称为分散相,分散悬浮于分散介质(空气)中,形成所谓微生物气溶胶。 7.水分活性值:就是指食品在密闭容器内的水蒸气压与相同温度下的纯水蒸气压的比值。 二、填空 1.微生物与环境相互作用的基本规律有限制因子定律、耐受性定律、综合作用定律。P12 2.菌落总数包括细菌菌落总数、霉菌菌落总数与酵母菌菌落总数。P43 3.紫外线消毒的影响因素有照射剂量、照射距离、环境温度。P68 4.生物战剂的生物学特性就是繁殖能力、可传染性、防治困难、稳定性较差。P86 5.生物战剂所致传染病的特点就是流行过程异常、流行特征异常。P90 6.用于食品霉菌、酵母菌计数的培养基为马铃薯-葡萄糖琼脂、孟加拉红与高盐察氏培养基P289 7.按微生物要求,将药品分为规定灭菌药品与非规定灭菌药品两大类。P233 8.我国评价化妆品细菌安全性指标包括、、与特定菌的检验 三、简答题 1、简述水微生物的生态功能。P101 答:水微生物的生态学功能大体可概括为以下几个方面:1)能进行光能与化能自养;2)能降解有机物为无机物,这些无机物可作为生产者的原料;3)能同化可溶性有机物并把它们重新引入食物网;4)能进行无机元素的循环;5)细菌可以作为原生动物的食物;6)土著微生物能攻击外来微生物,使后者很难生存。 2.鲜蛋的抑菌物质及其抑菌作用P181 答:禽蛋含有丰富的营养物质,就是微生物生长繁殖的良好环境。但就是禽蛋又具有良好的防御微生物侵入的结构及各种天然抑菌条菌物质。蛋壳有保护作用,蛋壳表面有壳胶膜,可保护鲜蛋不受微生物侵入。蛋白内含有许多溶菌、杀菌等作用的因子,如溶菌酶,这就是一种碱性蛋白,作用于革兰阳性菌的胞壁肽聚糖,使之裂解而溶菌。此外,在蛋白中还有一种伴清蛋白,它能螯合重金属离子,特别就是铁、铜、锌等离子,结果使这些离子不能被细菌利用,就是一种重要的抑菌物质。 四、问答

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(25分) 1.数据库阶段数据管理的主要特点是什么? 2.解释DB、DBMS、DBS三个概念? 3.什么是物理数据独立性和逻辑数据独立性? 4.试说明DBMS的主要功能? 5.在ER模型转换为关系模型时,联系类型要根据不同的情况作不同的处理,试说明之。 二、计算题(20分) 1.设有关系R和S R: S: A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表计算R∪S、R-S、R×S、π 3,2(S)、δ B<5 (R)。(5分) 2.设有三个关系 S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 试用关系代数表达式表示下列查询

(1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 三、设有三个基本表(45分) S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 1.试用T-SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 2.试用T-SQL的查询语句表达下列查询 (1)统计有学生选修的课程的门数 (2)求选修C4课程的学生的年龄 (3)求LIU老师所授课程的每门课程的学生的平均成绩 (4)统计每门课程的学生选修人数 (5)求年龄大于所有女同学年龄的男学生的姓名和年龄(10分)3.试用T-SQL更新语句完成下列更新操作 (1)往表S中插入一个学生资料(‘S9’, ‘WU’, 18)

程序和程序设计语言(教学设计)

第3节程序和程序设计语言 一、教学目标 知识目标:1、掌握计算机程序的概念 2、掌握计算机程序的概念、计算机语言分类及其特征。 技能目标:通过阅读程序,学生主动探寻算法与程序的关系 情感态度与价值观:编程语言没有好坏之分,应选择适合自己的语言深入学习 二、教学重点和难点 重点:1、计算机语言的概念。 2、高级语言的特征 难点:程序的编译与解释 三、教学过程 以九歌机器人七秒成诗引入新课 (一)程序和程序设计 计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。 1、程序及其特征 (1)程序(Program):是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。 (2)程序的特征: ●解决问题的每一个算法步骤对应着程序中的一个或多个语句实现一个或多个操作, 每一个操作都有执行对象。 ●在程序中被施行操作的对象称为数据。 ●除了有特殊的程序转向控制语句外,程序都是从第一条语句开始顺序执行。 2、程序的基本结构 (1)顺序结构 (2)选择结构 (3)循环结构 3、程序设计:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。

(二)程序设计语言 程序设计语言:是指人们编制程序所使用的计算机语言。 程序设计语言的分类: 机器语言 汇编语言 高级语言 1、机器语言 机器语言(machine language):把直接用二进制代码表示的计算机指令系统称为机器语言。 机器语言特点: ①用机器语言编写的程序可以被计算机直接执行,速度快,占用内存少。 ②编写程序相当繁琐。 ③程序不具有通用性。 2、汇编语言 汇编语言(assembly language):用符号和数字来代替二进制代码的计算机语言称为汇编语言。 汇编语言特点: ①不能被计算机直接执行。 ②编写程序比机器语言方便得多。 ③程序不具有通用性。 3、高级语言 高级语言(high-level language):由一系列按一定语法规则的语句组成(与计算机内部结构无关、通用、用其编写的程序需要“翻译”后才可执行)。 高级语言特点: ①不能被计算机直接执行。 ②易读、易改,编写程序方便。 ③程序通用性好。 补充:Basic语言的发展历程 BASIC(Beginner’s All-purpose Symbolic Instruction Code的缩写,即初学者通用符号指令代码)语言简单易学,适合初学者。

微生物学考试试题及答案

《微生物学》课程期末考试试题解答及评分标准99b 一.判断改错题(判断下列每小题的正错,认为正确的在题后括号内打“√”; 错误的打“×”,并予以改正,每小题1.5分,共15分) 01.真菌典型营养体呈现丝状或管状,叫做菌丝(√) 02.专性寄生菌并不局限利用有生命力的有机物作碳源。(×) 改正:专性寄生菌只利用有生命力的有机物作碳源 03.根据微生物生长温度范围和最适温度,通常把微生物分成高温性、中温性、低温性三 大类。(√) 04.放线菌、细菌生长适宜的pH范围:最宜以中性偏酸;(×) 改正:放线菌,细菌生长适宜中性或中性偏碱。 05.厌气性微生物只能在较高的氧化还原电位(≥0.1伏)生长,常在0.3-0.4V生长。(×) 改正:厌气性微生物只能在较低的氧化还原电位(≤0.1伏)才能生长,常在 0.1V生长; 06.波长200-300nm紫外光都有杀菌效能,一般以250-280nm杀菌力最强。(√) 07.碱性染料有显著的抑菌作用。(√) 08.设计培养能分解纤维素菌的培养基,可以采用合成培养基。(×) 改正:能分解纤维素菌的培养基,培养基中需加有机营养物:纤维素。

09.液体培养基稀释培养测数法,取定量稀释菌液,经培养找出临界级数,可以间接测定 样品活菌数。(√) 10.共生固氮微生物,二种微生物必须紧密地生长在一起才能固定氨态氮,由固氮的共生 菌进行分子态氮的还原作用。(√) 一.多项选择题(在每小题的备选答案中选出二至五个答案,并将正确的答案填在题干的括号内,正确的答案未选全或有选错的,该小题无分,每小题2分,共20分) 11.放线菌是能进行光合作用的原核微生物,其细胞形态(A;B;C;) A.有细胞壁; B.由分支菌丝组成; C.无核仁; D.菌体无鞭毛; E.菌体中有芽孢。 12.支原体[Mycoplasma],介乎于细菌与立克次体之间的原核微生物,其特点是:(A;B;)A.有细胞壁;B.能人工培养; C.有核仁; D.有鞭毛; E.非细胞型微生物。 13.无机化合物的微生物转化中,其硝化作用包括:(C;D;E;) A.硝酸还原成亚硝酸; B.硝酸还原成NH 3;C.NH 3转化成亚硝酸;D.铵盐转化成亚硝酸; E.亚硝酸盐转化成硝酸盐。 14.单细胞微生物一次培养生长曲线中,其对数生长期的特点:(A;D; E;)

数据库习题及答案,第三版

2004-2005学年第二学期期末考试 D 2002级计算机科学与技术专业《数据库原理与应用》课程试题 一、选择题(15分,每空1分): 1 .数据库系统中,物理数据独立性( physical data independenee )是指 _ 。 A. 数据库与数据库管理系统的相互独立 B. 应用程序与DBMS 的相互独立 C. 应用程序与存储在磁盘上数据库的物理模式是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 2. _____________________ 数据库系统的特点是 、数据独立、减少数据冗余、避免数据不一 致和加强了数据保护。 A. 数据共享 B .数据存储 C.数据应用 D .数据保密 3. 数据库管理系统能实现对数据库中数据的查 询、 插入、修改和删除等操作的数据库语言称为 A. 数据定义语言(DDL ) B .数据管理语言 C.数据操纵语言(DML ) D .数据控制语言 4. 在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为①;从表中选出满足某种 条件的元组的操作称为②;_将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为③。 A. 选择 B .投影 C.连接 D.扫描 5. _________________________ 关系模型中,一个候选码 。 A .可由多个任意属性组成 B. 至多由一个属性组成 C. 可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D. 必须由多个属性组成 7.数据库中只存放视图的 __________ 。 A .操作 B .对应的数据 C. 定义 D.限制 9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限, O A. 可靠性 B. —致性 C.完整性 D .安全性 6. SQL 语言是 语言。 A .层次数据库 C .关系数据库 B. 网络数据库 D .非数据库 &关系数据库规范化是为解决关系数据库中 问题而引人的。 A .数据冗余 B. 提高查询速度 C.减少数据操作的复杂性 D .保证数据的安全性和完整性 这主要是为了实现数据库的

微生物学试卷4及答案

微生物学试卷四 一.选择题1、在下列两本古籍中记载了我国古代劳动人民创造的制曲工艺: A.梦溪笔谈和天工开物; B.天工开物和齐民要术; C.齐民要术和水经注; D.梦溪笔谈和水经注。 2、至今人类已知道的微生物种数达 万种;万种;万种;万种。答:() 3、在人体肠道中数量最多的微生物是: A.大肠杆菌; B.拟杆菌; C.双歧杆菌; D.粪链球菌。答:() 4、在微生物5大共性中,最基本的一个共性是: A.体积小,面积大, B.吸收多,转化快; C.生长旺,繁殖快; D.适应强,易变异。 5、量度细菌个体大小最常用的方法是下面的哪一种 A.采用显微镜测微尺; B.通过摄影法; C.通过照相制成图片,再按放大倍数测算; D.测定分子量大小。 6、蓝细菌的“色素天线”是指: A.藻青素和藻红素; B.-胡萝卜素; C.叶绿素a; D.氧化胡萝卜素。答:() 7、出芽繁殖的酵母菌细胞,当子细胞离开母细胞时,在母细胞上留下一个 A.蒂痕; B.微体; C.芽痕; D.膜边体。答:() 8、霉菌菌丝成熟区细胞壁内层、中层和外层的化学组分分别是: A.几丁质层、蛋白质层、葡聚糖蛋白质层; B.几丁质层、蛋白质层、纤维素层; C.纤维素层、蛋白质层、葡聚糖层; D.几丁质层、葡聚糖层、葡聚糖蛋白质层。 答:() 9、在霉菌菌丝顶端区,细胞壁内层和外层的成分分别是: A.几丁质层、蛋白质层; B.几丁质层、葡聚糖层; C.蛋白质层、葡聚糖层; D.蛋白质层、几丁质层。 10、一步生长曲线主要可分: A.隐晦期、裂解期、平稳期; B.潜伏期、裂解期、平稳期; C.延迟期、裂解期、平稳期; D.胞内积累期、裂解期、平稳期。 11、生活在低营养环境下的微生物欲获得无机离子、有机离子和一些糖类等浓缩形式的营养物,通常采用的运输方式是: A.主动运输; B.基团移位; C.单纯扩散; D.促进扩散。 12、在下列四类微生物中,不利用卡尔文循环固定二氧化碳的一类细菌是: A.蓝细菌; B.光合细菌; C.化能自养菌; D.化能异养菌。 13、青霉素可抑制细菌细胞壁肽聚糖合成中的: A.转氨酶; B.转肽酶; C.转糖基酶;-丙氨酸消旋酶。 14、酶活性的调节属于酶分子水平上的代谢调节,它包括酶活性的 A.激活; B.抑制; C.阻遏; D.激活和抑制。 二填空题(将正确答案填写在横线上方。)(本大题共12 小题,每小题2分,总计24 分) 1、在微生物的连续生长过程中向培养基中不断流加____________液或_________液,以稳定培养基的_______值,称为pH的_________调节。 2、______________组合培养基可用于培养细菌;________________组合培养基可用于培养放线菌。

数据库试题及答案汇编

《数据库技术与应用》样题 一、选择题( 共 30 分,1--20 每小题 1 分,21—25 每小题 2 分。下列各题 A )、B)、 C)、D)四个选项中,只有一个选项是正确的 ) 1 在 SQL Server 中,关于视图的正确叙述是 A)视图与数据库表相同,用来存储数据B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作D)视图是从一个或多个数据库表导出的虚拟表 2 SQL 是那几个英文单词的缩写 A)Standard Query LanguageB)Structured Query Language C) Select Query LanguageD)以上都不是 3 不属于 SQL Server 系统全局变量的是()。 A 、@@ErrorB 、@@ConnectionC 、@@Fetch_StatusD 、@Records 4 下面描述错误的是() A 、每个数据文件中有且只有一个主数据文件 B 、日志文件可以存在于任意文件组中 C 、主数据文件默认为 primary 文件组 D 、文件组是为了更好地实现数据库文件组织 5 SQL Server 数据库文件有三类,其中主数据文件的后缀为( ) A 、.mdfB 、.ldfC 、.ndfD 、.idf 6、下面标识符不合法的是( ) A 、[my delete]B 、_mybaseC 、$moneyD 、trigger1 7 下面字符串能与通配符表达式[ABC]%a 进行匹配的是() A 、BCDEFB 、A_BCDC 、ABC_aD 、A% 8、下面对索引的相关描述正确的是()列值唯一的列适合间索引 A 、经常被查询的列不适合建索引B 、列值惟一的列适合建索引 C 、有很多重复值的列适合建索引D 、是外键或主键的列不适合建索引 9、在“连接”组中有两种连接认证方式,其中在( )方式下,需要客户端应用程序连接 时提供登录时需要的用户标识和密码。 A 、Windows 身份验证B 、SQL Server 身份验证 C 、以超级用户身份登录时D 、其他方式登录时 10、索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快 数据的( )速度。 A 、插入B 、修改C 、删除D 、查询 在where 子句中出现频率较高的列应尽量创建索引 11、以下哪种情况应尽量创建索引( ) A 、在 Where 子句中出现频率较高的列B 、具有很多 NULL 值的列 C 、记录较少的基本表D 、需要更新频繁的基本表 12、域完整性用于保证给定字段中数据的有效性,它要求表中指定列的数据具有正确的数据 类型、格式和有效的( )。 A 、数据值B 、数据长度C 、取值范围D 、以上都不是 13 以下不属于表之间定义关系的是 A)一对一关系B) 一对多关系C) 多对多关系D) 少对多关系 14 目前数据库有三种基本的数据模型是 ________ 。 A 、 层次模型、网络模型、关系模型B 、对象模型、网络模型、关系模型 网络模型、对象模型、层次模型D 、层次模型、关系模型、对象模型 15 从“产品”表里查询出价格高于产品名称为“海天酱油”的产品的记录,此 SQL 语句为 A 、SELECT * FROM 产品WHERE 价格>海天酱油

《C语言程序设计》教案设计(清华谭浩强)

第一章C语言及程序设计概述 本章要求: 了解C语言的特点、C语言与其它高级语言相比有什么异同; 了解C程序在PC机上的建立、编译和运行过程; 了解C语言程序设计思想的基本篇; 重点:①C语言的主要特点; ②C语言在PC机上的运行过程及上机操作过程; ③常用算法的应用 难点:无 一、C语言概述 C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。 主要表现为: C语言:适合于作为系统描述语言——可用来写系统软件。 具有高级语言的特点,又有低级语言(汇编语言)的特点。 C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。 C语言:是在B语言的基础上发展起来的。(ALGOL 60) C语言:最早开始是用于UNIX操作系统。(C语言和UNIX是相辅相成的) DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,则是用C语言加上若干汇编子程序编写的。 1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C 1987年:——Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口) 1989年:——Turbo C2.0 (DOS操作系统、查错、Tiny模式生成com文件) 1991年:——Turbo C++(3.0) 支持windows 3.X 说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。 二.C语言的特点 1.语言简洁、紧凑、使用方便、灵活 C语言:——共有32个关键字,9种控制语句; 程序书写自由,主要用小写字母表示; 2.运算符丰富

微生物学试题库及答案

微生物学练习题 0绪论 五,问答题 1.微生物根据大小,结构,化学组成分为哪三大类微生物各大类微生物有何特点包括哪些种类的微生物 1细菌的形态与结构 一,填空题 1.测量细菌大小用以表示的单位是___________. 2.细菌按其外形分为_________,___________,___________三种类型. 3.细菌的基本结构有___________,____________,____________三种. 4.某些细菌具有的特殊结构是_______,_______,________,________四种. 5.细菌细胞壁最基本的化学组成是____________. 6.革兰阳性菌细胞壁的化学组成除了有肽聚糖外,还有____________. 7.革兰阴性菌细胞壁的化学组成主要有___________和___________. 8.菌毛分为____________和___________两种. 9.在消毒灭菌时应以杀死___________作为判断灭菌效果的指标. 10.细菌的形态鉴别染色法最常用的是___________,其次是_________. 三,选择题 【A型题】 1.保护菌体,维持细菌的固有形态的结构是 A.细胞壁 B.细胞膜 C.细胞质 D.细胞浆 E.包膜 2.革兰阳性菌细胞壁中的磷壁酸的作用是 A.抗吞噬作用 B.溶血作用 C.毒素作用 D.侵袭酶作用 E.粘附作用 3.细菌核糖体的分子沉降系数为 A.30S B.40S C.60S D.70S E.80S 4.普通光学显微镜用油镜不能观察到的结构为 A.菌毛 B.荚膜 C.鞭毛 D.芽胞 E.包涵体 5.下列哪类微生物属于非细胞型微生物 A.霉菌 B.腮腺炎病毒 C.放线菌 D.支原体 E.立克次体 6.下列中不是细菌的基本结构的是 A.细胞壁 B.细胞膜 C.细胞质 D.核质 E.荚膜 7.革兰阴性菌细胞壁中与致病性密切相关的重要成分是 A.特异性多糖 B.脂蛋白 C.肽聚糖 D.脂多糖 E. 微孔蛋白 8.普通菌毛主要与细菌的 A.运动有关 B.致病性有关

相关文档
相关文档 最新文档