C 上机题目及答案1

C  上机题目及答案1
C  上机题目及答案1

第一周上机题

1.以下语句描述了包含数学成绩的学生信息结构体及其数组a:

struct student{ char name[20]; float math; };

student a[10] = {{"张三", 90},{"李四",85},{"王五",73}};

int count=3; // 数组中包含的学生数

编写两个函数分别实现在a数组中添加和删除学生信息。

要求:

1) 原数组已按数学成绩排序(降序),添加和删除学生信息后数组应仍为降序;

2)以下数据用于添加:{"赵二", 96}, {"钱六",65},{"孙七",80}

3) 注意:添加,删除后count数据要相应变化。

#include

#include

struct student{

char name[20];

float math;

};

int count=3;

void add(student a[10]);

void dele(student a[10]);

void print(student a[]);

void main(){

student a[10] = {{"张三", 90},{"李四",85},{"王五",73}};

int n=0;

do{

cout<<".................学生信息处理系统.................."

<<"\n 1-删除"

<<"\n 2-增加"

<<"\n 3-结束\n"

<<"\n请选择: ";

cin>>n;

if(n==1) dele(a);

else if(n==2) add(a) ;

else cout<<"谢谢使用本系统!\n";

}while(n!=3);

}

void add(student a[10]){

student stu;

int i=0,n=count;

cout<<"请输入需增加的学生信息(姓名,成绩): ";

cin>>https://www.360docs.net/doc/17964789.html,>>stu.math;

while(stu.math

for(;n>i;n--) a[n]=a[n-1]; //腾位置

a[i]=stu; //插入

count++;

print(a);

}

void dele(student a[10]){

char name[20];

int i=0,n=count;

print(a);

cout<<"请输入需删除学生的姓名: ";

cin>>name;

while(strcmp(name,a[i].name)!=0 && i

if(i>=n) cout<<"查无此人!\n";

else {

for(;i

count--;

print(a);

}

}

void print(student a[]){

cout<<"\n最新学生信息: \n";

for(int i=0;i

cout<

}

2.定义描述三维坐标点(x,y,z)的结构体类型变量,完成坐标点的输入和输出,并求两坐标

点之间的距离。

要求:

编写函数求两坐标点之间的距离。

#include

#include

struct point{

double x,y,z;

};

double distance(point a,point b);

void main(){

point a,b;

cout<<"请分别输入两个点的坐标(x,y,z):\n";

cin>>a.x>>a.y>>a.z;

cin>>b.x>>b.y>>b.z;

cout<<"a点的坐标:"<

cout<<"b点的坐标:"<

cout<<"a,b两点的距离是:"<

}

double distance(point a,point b){

double d;

d=sqrt((a.x-b.x)*(a.x-b.x)

+(a.y-b.y)*(a.y-b.y)

+(a.z-b.z)*(a.z-b.z));

return d;

}

3.某市青年歌手大赛聘请7名评委打分,下列程序协助进行评分统计。函数delmaxmin

的功能是对一个选手的得分做以下计算:去掉一个最高分,去掉一个最低分,然后对剩余得分求平均分并保存。函数sort完成对n名选手的得分按平均分从高到低排序。

【测试数据与运行结果】

测试数据:程序中给定的初始化测试数据

运行结果:

li: 94 97 98 96 100 99 97 97.40

zhang: 96 97 98 98 100 97 96 97.20

zhou: 95 100 99 96 97 96 97 97.00

以下语句描述了包含数学成绩的学生信息结构体及其数组a:

struct{ char player_name[20];

double score[7],aver;

}PERSON[3];

#include

struct P{

char name[20];

double score[7],aver;

}PERSON[3];

double delmaxmin(double a[7]){

double aver=0,sum=0,max,min;

max=min=a[0];

for(int i=0;i<7;i++){

if(a[i]>max) max=a[i];

if(a[i]

aver+=a[i];

}

aver-=max+min;

return aver/5;

}

void sort(P p[3]){

int i,j;

P a;

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

for(j=i+1;j<3;j++) //原程序:for(j=0;j<3;j++)

if(p[i].aver

a=p[i],p[i]=p[j],p[j]=a;

}

void main(){

int i,j;

cout<<"请输入比赛选手的比赛数据:"<

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

cin>>PERSON[i].name;

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

cin>>PERSON[i].score[j];

}

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

PERSON[i].aver=delmaxmin(PERSON[i].score);

sort(PERSON);

cout<<"比赛成绩如下"<

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

cout<

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

cout<

cout<

}

}

25个人围成一个圈,从第1个人开始顺序报号(1,2,3……),凡报号为3和3的倍数者退出圈子,找出最后留在圈子中的人原来的序号。

要求:

函数void seek( int *a , int n, int *pn) 按上述要求在a数组,找出最后留在圈子中的人原来的序号并返回。

主函数是:

void main( ){

int n=3;

int num;

int a[25],*p=a;

for(int i=0; i<25; i++) p[i]=i+1;

seek( a,n ,&num);

cout<<” 最后留在圈子中的人原来的序号是: ”<

}

*/

#include

#define NUM 10

#include

void seek( int*a,int n,int *pn);

void main( ){

int n=3;

int num;

int a[NUM],*p=a;

for(int i=0; i

for(i=0;i

seek( a,n ,&num);

cout<<"\n最后留在圈子中的人序号是: "<

}

void seek( int*a,int n,int *pn){

int num=NUM;

int k=1;

int i;

cout<<"\n游戏中.......\n";

while(num>1){

for(i=0;i

if(a[i]==0) continue;

if(k++%3==0){

a[i]=0;

num--;

}

else *pn=i;

}

for(i=0;i

if(a[i]!=0)cout<

cout<

}

}

1.编程要求

1)编写函数int find(char *a , char *b),函数被调用时,a指向的数组中已

存储一个字符串,该字符串是一个包含了多个单词的英语句子。函数的

功能找出字符数组a中字符串中最长的单词并存入b所指向的数组中,

函数返回最长单词在字符串的起迭位置下标。

2)编写main函数,接受键盘输入的一个英文句子。调用find函数找到该

句子中最长的单词,将最长单词及其在字符串中的起始位置下标输出到

屏幕。

#include

#include

int find(char *a , char *b);

void main(){

char a[80],b[80];

int n;

cout<<"请输入的一个英文句子: ";

cin.getline(a,80);

cout<

}

int find(char *a , char *b){

char *p1,*p2,*p3;

p1=p2=p3=a;

int max=0;

while(*p1!=0){

while(*p1==' ') p1++,p2++;

while(*p1!=' ' && *p1!=0) p1++;

if(p1-p2>max){

max=p1-p2;

p3=p2;

}

p2=p1;

}

strncpy(b,p3,max);

*(b+max)='\0';

return (p3-a);

}

附加题

2.重新排列一维数组元素的顺序,使得左边的所有元素均为偶数并按由大到小的次序存放,右边的所有元素均为奇数并按由小到大的次序存放。

【测试数据与运行结果】

数组原始数据为:17 15 10 14 16 17 19 18 13 12

输出结果:18 16 14 12 10 13 15 17 17 19 要求:

1)编写函数void resort(int *x, int n),使得左边的所有元素均为偶数并按由

大到小的次序存放,右边的所有元素均为奇数并按由小到大的次序存放。

(可根据编程需要增加函数)

2)编写main函数,接受键盘输入数据,调用resort函数完成上述功能,并

输出结果。

#include

#include

void resort(int *x, int n);

void sort(int *a,int n);

void main(){

int a[10]={0};

cout<<"请输入十个数据:";

for(int i=0;i<10;i++)cin>>a[i];

cout<<"数组原始数据为:";

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

resort(a,10);

cout<<"\n输出结果:";

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

cout<

}

void resort(int *x, int n){

int a[10],*i,*j,*pa=a,*px=x;

while(px

sort(a,10);

i=x,j=x+9;

for(pa=a;pa

if(*pa%2==0) *i++=*pa++;

else *j--=*pa++;

}

}

void sort(int *a,int n){

int *i,*j,temp;

for(i=a;i

for(j=i+1;j

if(*i<*j)

temp=*i,*i=*j,*j=temp;

}

1.编写一个求积分的函数,该函数的原型如下:

float Integral(int a, int b, float (*fun)(float));

该函数返回值为积分结果,形参a,b分别为积分上下限,fun是被积函数。

要求:

1)积分算法:将积分区域划分为若干个小区间,求出所有小区间中被积函数下的面积之和即为函数在积分区域内的积分值;小区间面积可用梯形近似;

2)用积分函数分别求解y=x2和y=2x+1两个函数在[0,1]区域内的积分值。*/

#include

float f1(float x){

return x*x;

}

float f2(float x){

return (2*x+1);

}

float Integral(int a, int b, float (*fun)(float));

void main(){

cout<<"第一个积分值: "<

cout<<"第二个积分值: "<

}

float Integral(int a, int b, float (*fun)(float)){

float h,y;

int i;

y=(fun(a)+fun(b))/2;

h=(b-a)/1000.0;

for(i=1;i<1000;i++)y+=fun(h*i);

return (y*h);

}

2.编程题(20分)

【编程要求】

1)编写函数int fun(long *x),找出所有满足以下特性的六位整数:它是一个

完全平方数(完全平方数是指该数是某个整数的平方);该数同时也是回

文数(回文数是指该数等于它的反序数)。例如,698896是836的平方

并且698896是回文数,因此698896是满足所给条件的六位整数。将所

有满足上述条件的六位整数存入x指向的数组中,函数返回x指向的数

组中整数的个数。

2)编写main函数,声明result数组,调用fun函数将所有满足条件的六位

整数存入result数组中,将result数组中的数据输出到屏幕。

【测试数据与运行结果】

运行结果:698896

#include

#include

int fun(long *x);

void main(){

long resort[10];

int n=fun(resort);

cout<<"六位整数中完全平方数有: "<

for(int i=0;i

cout<

}

int fun(long *x){

long n,n1,n2,n3=0;

long *px=x;

for(n2=n=100000;n<999999;n++,n2=n,n3=0){

n1=sqrt(n);

if(n1*n1==n){

while(n2>0){

n3=n3*10+n2%10;

n2/=10;

}

}

if(n3==n) *px++=n;

}

return px-x;

}

3.改错题

【程序功能】

对于s数组中保存的五个字符串,删除其中不符合下列组成规则的字符串,输出s数组

中剩余的字符串。字符串组成规则:由字母、数字、下划线组成,首字符非数字。

【测试数据与运行结果】

s数组中五个字符串:a%1,_a12,aaa,$ss,1sss

输出:_a12,aaa

【含有错误的源程序】

#include

#include

#define M 20

#define N 10

int isident(char s[][N],int n){

int i,j,k,flag;

for(j=0;j

flag=0;

if(s[j][0]!='_' || -(s[j][0])==0 )

flag=1;

else

for(i=1; s[j][i]!='\0'; i++)

if(s[j][i]!='_' && !isalpha(s[j][i]) && !isdigit(s[j][i]))

flag=1;

if(flag==1){

for(k=0;k

strcpy(s[k],s[k+1]);

n--;

j--;

}

}

return n;

}

void main( ){

char s[M][]={"a%1","_a12","aaa","$ss","1sss"};

int i,n=5;

n=isident(s,n);

cout<<"The correct C identifiers is :\n";

for(i=0; i

cout<

}

1)根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2)改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说

明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。

#include

#include

#include

#define M 20

#define N 10

int isident(char s[][N],int n){

int i,j,k,flag;

for(j=0;j

flag=0;

if(s[j][0]!='_' && !isalpha(s[j][0]) )//if(s[j][0]!='_' || -(s[j][0])==0 )

flag=1;

else

for(i=1; s[j][i]!='\0'; i++)

if(s[j][i]!='_' && !isalpha(s[j][i]) && !isdigit(s[j][i]))//#include

flag=1;

if(flag==1){

for(k=j;k

strcpy(s[k],s[k+1]);

n--;

j--;

}

}

return n;

}

void main( ){

char s[M][N]={"a%1","_a12","aaa","$ss","1sss"}; //s[M][N]

int i,n=5;

n=isident(s,n);

cout<<"The correct C identifiers is :\n";

for(i=0; i

cout<

}

第六周上机题目

一、编程题

1.编写函数int prime_m( int n,int x[], long y[]),在2~n范围内查找同时符合以下条件

的整数m:2m -1是素数、2m -1的反序数是奇数、2m -1的十进制表示中包含数字1。将2~n范围内符合上述条件的所有整数m依次保存到x指向的数组中,将与m对应的整数2m -1依次保存到y指向的数组中。函数返回x数组中保存的整数个数。

2.编写main函数,接收键盘输入的n值,调用prime_m函数找到2~n范围内所有

符合给定条件的整数m及整数2m -1并将它们分别保存在两个一维数组中.

3.【测试数据与运行结果】

测试数据: n=20

输出结果:

5 31

7 127

17 131071

#include

#include

int prime_m( int n,int x[], long y[]);

void main(){

int n1,n,x[10],*px=x;

long y[10],*py=y;

cout<<"测试数据: n=";

cin>>n;

n1=prime_m(n,x,y);

cout<<"输出结果:\n";

while(n1-->0) cout<<*px++<<'\t'<<*py++<<'\n';

}

int prime_m(int n,int x[],long y[])

{

int m,p=0,n1,*px=x;

long k=2,*py=y;

for(m=2;m

k*=2;

for(int i=2;i<=sqrt(k-1);i++){//判断k是不是素数

if((k-1)%i==0) break;}

if(i

n1=k-1; //2.判断k的反序数是不是奇数

while(n1>10) n1/=10;

if(n1%2==0) continue;

n1=k-1;//判断k中有无数字1

while((n1%10)!=1 && n1>10) n1/=10;

if(n1%10!=1) continue;

*px++=m,*py++=k-1;

}

return px-x;

}

二、编程题

接收从键盘输入的若干个字符串,为每一个字符串动态申请一块存储区,将字符串复制到该存储区并将存储区的首地址依次保存到指针数组lineptr中,再以字典序输出所有的字符串(输入时以回车作为字符串之间的分隔符,以空串作为输入结束标记,输入的字符串总数不超过10个)。函数void sort(char *vp[ ], int n)的功能是根据指针数组vp前n 个元素指向的字符串,按字典序对指针数组排序。函数void outline(char *vp[ ], int n) 的功能是输出指针数组vp前n个元素指向的字符串。

【测试数据与运行结果】

输入:输出(排序后):

No No

Well Practice

You Well

Practice You

(空串)

#include

#include

void sort(char *vp[ ], int n);

void outline(char *vp[ ], int n);

void main(){

char *lineptr[10],s1[100];

int i=0;

do{

cin.getline(s1,100);

lineptr[i]=new char[strlen(s1)+1];

strcpy(lineptr[i++],s1);

}while(strcmp(s1,"\0"));

sort(lineptr,i-1);

outline(lineptr,i-1);

}

void sort(char *vp[ ], int n){

int i,j;

char *temp;

for(i=0;i

for(j=i+1;j

if(strcmp(vp[i],vp[j])>0){

temp=vp[i],vp[i]=vp[j],vp[j]=temp;

}

}

}

void outline(char *vp[ ], int n){

cout<<"输出:\n";

for(int i=0;i

cout<

}

附加题:

一、编程题

建立一条无序链表,并输出这条链表上个节点的值。设计一个函数,将这条链表构成一条新的逆序链表,即将链表头当尾,链表尾当头。输出这条新链表上节点的值。用以下一组数据测试程序的正确性:

学号C++成绩英语成绩

38 98 90

45 90 80

49 75 63

50 86 49

二、改错题

【程序功能】

为了测试学生对英文单词的掌握程度,以下程序在给出的五个单词中随机抽取一个单词,用“*”替换该单词中的两个随机位置上的字母并显示替换后的单词,再将被测学生输入的单词与正确单词比较,显示对错信息。

提示:库函数srand( )初始化随机数生成器,库函数rand( )%n随机产生0~(n-1)之间的一个整数并返回,这两个函数的原型包含在stdlib.h中。

【测试数据与运行结果】

程序运行结果是随机的,即每次运行结果可能不同。

一次运行结果如下:

显示:The word is: bea*tifu*, Please input correct word:

输入:beautiful

显示:Right.

另一次运行结果如下:

显示:The word is: s*ude*t , Please input correct word:

输入:studemt

显示:Wrong! The word is : student

【含有错误的源程序】

#include

#include

#include

int funtest(char *cp, int i)

{ int ix=0, iy=0, ik=0;

char ca[20]={0}, cb[20]={0};

strcpy(ca, cp);

ik=strlen(ca);

ix=rand( )%ik;

iy=rand( )%ik;

while(iy==ix)iy=rand( )%ik;

ca[ix]='*'; ca[iy]='*';

cout<<"The word is: "<

cout<<”Please input correct word:";

gets(cb);

if(cb==cp[i])

return 1;

else return 0;

}

void main()

{ char cs[5][20]="beautiful","student","China","function","include";

int i,ik=0;

unsigned n;

cout<<”请输入一个随机数的种子”

cin>>n;

srand( )

i=rand( )%5;

ik=funtest(cs,i);

if(ik)

cout<<"Right! \n";

else

cout<<"Wrong! The word is:%s\n"<

}

实验七

一、编程题

N个人围成一圈,他们的序号依次为1~n,从第一个人开始顺序报数1、2、3……、m,报到m者退出圈子,并输出退出圈子的人的序号。用一个结点的环形链表模拟围成一圈的人。假定有10个人围城一圈,凡报到5者退出圈子,则退出圈子的人的序号依次为5、10、6、2、9、8、1、4、7,最后留在圈中的人是3号。是单向环形链表的结构,其中head指向第一个人。

struct Node{

int x;

Node *next;

};

要求:

1.函数Node * creat (int n)用来创建一个有n个节点的环形链表,他们

的序号依次为1~n,函数返回头结点;

2.函数void del(Node *h , int m) 实现从第一个人开始顺序报数1、2、

3……、m,报到m者退出圈子,并输出退出圈子的人的序号。接着

再顺序报数,直到圈子中留下一个人为止。

3.主函数要求从键盘输入m,n的值,并调用函数creat函数完成建立环

形链表,和del函数依次输出退出圈子的人的序号,找出圈子中留下

的最后一个人。

#include

struct node{

i nt x;

n ode *next;

};

node *creat(int n)

{

n ode *p1,*p2,*head=0;

c out<<"建立环形链表:"<<'\n';

f or(int i=1;i<=n;i++)

{

p1=new node;

p1->x=i;

if(head==0)

{head=p1;p2=p1;}

else

{p2->next=p1;p2=p1;}

}

i f(head) p2->next=head;

r eturn(head);

}

void print(const node *head)

{

c onst node *p;

p=head;

c out<<"输出链表上的各结点:"<<'\n';

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

{

cout<x<<'\t';

p=p->next;

}

c out<<'\n';

}

void del(node *head,int m)

{

n ode *h,*p;

i nt i=1,q=0,a=10;

p=head;

while(a!=1)

{

h=p;

p=p->next;

i++;

if(i%5==0)

{

q++;

cout<<"第"<x<<"的人"<<'\n';

h->next=p->next;

delete p;

p=h->next;

i++;

a--;

}

if(a==1)

{

cout<<"最后留在圈中的是序号为:"<x<<"的人"<<'\n';

delete p;

}

}

}

void main()

{

i nt m,n;

n ode *head;

cout<<"请输入游戏的人数:"<<'\n';

c in>>n;

h ead=creat(n);

p rint(head);

c out<<"顺序报数退出队列的m数为:"<<'\n';

c in>>m;

d el(head,m);

}

二、编程题

用函数函数Node * creat (int n))建立两个有序的同结构的单向链表(结点包含一个整型数和一个指向本结点的类型的指针);用函数merge(Node * h1 , Node * h2 )合并这两个链表;用函数void prin(Node * h)输出结果,主函数如下。用下列数据测试程序的正确性。

链表1:

5,9,21,36,58,79,81

链表2:

3,4,8,16,34,78,90,100,101

void main( ){

list *h1, *h2, *h3;

h1=creat( );

h2= creat( );

print(h1);

print(h2);

h3=merge (h1,h2);

print(h3);

del(h1);

del(h2);

del(h3);

}

#include

struct Node{

int date;

Node *next;

};

Node * creat (int n);

Node *merge(Node * h1 , Node * h2 );

Node* insert(Node * h,Node *p);

void print(Node *);

void del(Node *h);

void main( ){

Node *h1, *h2, *h3;

int n;

cout<<"请输入第一条链表的结点数:";

cin>>n;

h1=creat(n);

cout<<"请输入第二条链表的结点数:";

cin>>n;

h2= creat(n);

print(h1);

print(h2);

h3=merge (h1,h2);

print(h3);

del(h1);

del(h2);

del(h3);

}

Node * creat (int n){

Node *h=0,*p1,*p2;

cout<<"请输入:\n";

while(n-->0){

p1=new Node;//建

cin>>p1->date;//录

if(h==0) h=p2=p1;

else{

p2->next=p1;//链

p2=p1; //移

}

}

p2->next=0;

return h;

}

Node *merge(Node * h1 , Node * h2 ){ Node *h3=0,*p1,*p2,*p3;

p1=h1,p2=h2;

while(p1!=0 && p2!=0){

if(p1->datedate){

h3=insert(h3,p1);

p1=p1->next;

p3=p2;

}

else{

h3=insert(h3,p2);

p2=p2->next;

p3=p1;

}

}

while(p3!=0 ){

h3=insert(h3,p3);

p3=p3->next;

}

return h3;

}

Node* insert(Node *h,Node *p){

Node *p1=h;

if(h==0){

h=new Node ;

h->date=p->date;

h->next=0;

}

else {

while(p1->next!=0) p1=p1->next;

p1->next=new Node;

p1=p1->next;

p1->date=p->date;

p1->next=0;

}

return h;

}

void print(Node *h){

Node *p=h;

while(p!=0){

cout<date<<',';

p=p->next;

}

cout<

}

void del(Node *h){

Node *p=h;

while(h!=0){

p=h;

h=h->next;

delete p;

}

}

第八周上机题目

1.编写一个类CNums,实现如下功能:

某数列的第一项是0, 第二项是1,从第三项起,凡奇数项是其前两项之和,偶数项是其前两项之差(前项减后项),生成数列的100项存入数组,统计共有多少个-1,0,1;

1)类定义的要求如下:

私有数据成员

●float num[100]

公有函数成员

●generate()函数生成的100项数列值存入数组(类的数据成

员);

●show()函数显示出所有项数据,以及-1,0,1三个数值在数列中

的个数;

2)用以下主函数进行测试:

void main(){

CNums num;

num.generate( );

num.show( );

}

构成完整程序,即完成该类成员函数的定义和测试程序的设计。

#include

class CNums{

private:

float num[100];

public:

void generate();

void show();

};

void CNums::generate( ){

c语言上机选择题题及标准答案

c语言上机选择题题及答案

————————————————————————————————作者:————————————————————————————————日期: 2

1、下列字符序列中,不可用作C语言标识符的是(c) A.abc123 B.no_1 C.a!b D._ok_0 2、正确的C语言标识符是(a) A._buy_2 B.2_buy C.?_buy D.buy? 3、不属于C语言关键字的是(D) A.int B.break C.while D.character 4、以下选项中,合法的C语言标识符是(A) A.mon B.2_abc C.3dmax D.A.dat 5、以下选项中,合法的实型常数是(C) A.5E2.0 B.E-3 C.2E02 D.1.3E 6、以下选项中,正确的字符常量是(C) A."F" B.'\\'' C.'W' D.''' 7、已知字母A的ASCII码为十进制数65,且S为字符型, 则执行语句S='A'+'6'-'3';后,S中的值为(A) A.'D' B.68 C.不确定的值D.'C' 8、在C语言中,要求运算数必须是整型的运算符是(D) A./ B.++ C.*= D.% 9、若有定义:int m=7; float x=2.5, y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是(A) A.2.500000 B.2.750000 C.3.500000 D.0.000000 10、设变量x为float类型,m为int类型,则以下能实现将x中的数值 保留小数点后两位,第三位进行四舍五入运算的表达式是(B) A.x=(x*100+0.05)/100.0 B.m=x*100+0.5, x=m/100.0 C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0 11、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是(B) A.7 B.8 C.6 D.2 12、已知s是字符型变量,下面不正确的赋值语句是(B) A.s='\012'; B.s= 'u+v'; C.s='1'+'2'; D.s=1+2; 13、设x、y均为float型变量,则不正确的赋值语句是(C) A.++x ; B.x*=y-2; C.y=(x%3)/10; D.x=y=0; 14、putchar函数可以向终端输出一个(D) A.整型变量表达式值。B.字符串 C.实型变量值。D.字符 15、以下程序段的输出结果是(C) int a=12345; printf(”%2d\n”, a); A.12 B.34 C.12345 D.提示出错、无结果16、有如下程序段,从键盘输入数据的正确形式应是(B) (注:└┘代表空格) float x,y,z; scanf(“x=%d,y=%d,z=%d”,&a,&y,&z); A.123 B.x=1,y=2,z=3 C.1,2,3 D.x=1└┘y=2└┘z=3

上机考试题目及答案

题目 --1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值, --显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。 --2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称 --3、按部门进行汇总,统计每个部门的总工资 --4、查找商品名称为14寸显示器商品的销售情况, --显示该商品的编号、销售数量、单价和金额 --5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额 --6、按客户编号统计每个客户1996年的订单总金额 --7、查找有销售记录的客户编号、名称和订单总额 --8、查找在1997年中有销售记录的客户编号、名称和订单总额 --9、查找一次销售最大的销售记录 --10、查找至少有3次销售的业务员名单和销售日期 --11、用存在量词查找没有订货记录的客户名称 --12、使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额 --订货日期不要显示时间,日期格式为yyyy-mm-dd --按客户编号排序,同一客户再按订单降序排序输出 --13、查找16M DRAM的销售情况,要求显示相应的销售员的姓名、 --性别,销售日期、销售数量和金额,其中性别用男、女表示 --14、查找每个人的销售记录,要求显示销售员的编号、姓名、性别、 --产品名称、数量、单价、金额和销售日期 --15、查找销售金额最大的客户名称和总货款 --16、查找销售总额少于1000元的销售员编号、姓名和销售额 --17、查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额--18、查找至少与世界技术开发公司销售相同的客户编号、名称和商品编号、商品名称、数 量和金额 19、查找表中所有姓刘的职工的工号,部门,薪水 20、查找所有定单金额高于20000的所有客户编号 21、统计表中员工的薪水在40000-60000之间的人数 22、查询表中的同一部门的职工的平均工资,但只查询"住址"是"上海市"的员工

c上机试题及答案

c上机试题及答案文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output

A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private: int radius; }; Circle::Circle(Circle &p) { radius = ; } double Circle::getArea(int radius) { float area; area = *radius*radius; return area;

} int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = (r); area2 = (r); cout<

C 上机题目及答案1

第一周上机题 1.以下语句描述了包含数学成绩的学生信息结构体及其数组a: struct student{ char name[20]; float math; }; student a[10] = {{"张三", 90},{"李四",85},{"王五",73}}; int count=3; // 数组中包含的学生数 编写两个函数分别实现在a数组中添加和删除学生信息。 要求: 1) 原数组已按数学成绩排序(降序),添加和删除学生信息后数组应仍为降序; 2)以下数据用于添加:{"赵二", 96}, {"钱六",65},{"孙七",80} 3) 注意:添加,删除后count数据要相应变化。 #include #include struct student{ char name[20]; float math; }; int count=3; void add(student a[10]); void dele(student a[10]); void print(student a[]); void main(){ student a[10] = {{"张三", 90},{"李四",85},{"王五",73}}; int n=0; do{ cout<<".................学生信息处理系统.................." <<"\n 1-删除" <<"\n 2-增加" <<"\n 3-结束\n" <<"\n请选择: "; cin>>n; if(n==1) dele(a); else if(n==2) add(a) ; else cout<<"谢谢使用本系统!\n"; }while(n!=3); } void add(student a[10]){ student stu; int i=0,n=count; cout<<"请输入需增加的学生信息(姓名,成绩): "; cin>>https://www.360docs.net/doc/17964789.html,>>stu.math; while(stu.math

c++上机试题及答案

A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为3.14。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output 12.56 12.56

A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private: int radius; }; Circle::Circle(Circle &p) { radius = p.radius; } double Circle::getArea(int radius) { float area; area = 3.14*radius*radius; return area; } int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = A.getArea(r); area2 = B.getArea(r); cout<

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

ppt上机操作题及答案

PowerPoint题共24道题 第1题 题目: ①建立页面一:版式为“标题幻灯片”; 标题内容为“思考与练习”并设置为黑体72; 副标题内容为“--小学语文”并设置为宋体28倾斜; ②建立页面二:版式为“只有标题”; 标题内容为“1、有感情地朗读课文”并设置为隶书36分散对齐; 将标题设置“左侧飞入”动画效果并伴有“打字机”声音; ③建立页面三:版式为“只有标题”; 标题内容为“2、背诵你认为写得好的段落”并设置为隶书36分散对齐; 将标题设置“盒状展开”动画效果并伴有“鼓掌”声音; ④建立页面四:版式为“只有标题”; 标题内容为“3、把课文中的好词佳名抄写下来”并设置为隶书36分散对齐; 将标题设置“从下部缓慢移入”动画效果并伴有“幻灯放映机”声音; ⑤设置应用设计模板为“Blueprint”; ⑥将所有幻灯片的切换方式只设置为“每隔6秒”换页; 答案: 1、启动PowerPoint单击页面——在“新幻灯片”对话框中选择“标题幻灯片”——确定——单击“标题”框,输入标题内容“思考与练习”——选中文字(或单击标题框)——格式工具栏,字体列表中选择黑体、字号选72 2、单击“副标题”框,输入标题内容“--小学语文”——选中文字(或单击副标题框)——格式工具栏,字体列表中选择宋体、字号选28 、选斜体 3、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“1、有感情地朗读课文”——选

中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 4、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“飞入”、“左侧”、声音项选“打字机” ——确定 5、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“2、背诵你认为写得好的段落”——选中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 6、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“盒状”、“展开”、声音项选“鼓掌” ——确定 7、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“3、把课文中的好词佳名抄写下来”——选中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 8、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“缓慢移入”、“从下部”、声音项选“幻灯放映机” ——确定 9、选择格式菜单、应用设计模板命令——在“应用设计模板”对话框中,选“B luep rint.pot” ——应用 10、选择“幻灯片放映”菜单、“幻灯片切换”命令——在“幻灯片切换”对话框中,“换页方式”项去掉“单击鼠标换页”、选择“每隔”项、框中选择“0 0:06” ——全部应用 11、单击常用工具栏“保存”按钮(或选择文件菜单保存按钮)保存文件 第2题 题目: ①建立页面一:版式为“只有标题”; 标题内容为“长方形和正方形的面积”并设置为宋体48加下划线; ②建立页面二:版式为“只有标题”; 标题内容为“1、面积和面积单位”并设置为仿宋体36两端对齐;

C语言上机试题及答案

实验一 Visual C++的使用及顺序结构程序设计 一、实验目的 1、掌握启动和退出VC6的方法。 2、熟悉VC6开发环境。 3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。 4、初步掌握程序的编辑修改和调试。 5、熟练使用赋值运算、算术运算等表达式。 6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。 二、实验内容 1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。 请同学们按照下面的实验指导学习VisualC++6.0的使用。 1.启动VisualC++6.0开发环境 (1)单击“开始”按钮,选择“程序” ——〉“Microsoft Visual Studio 6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。 (2)单击“结束”按钮,关闭窗口,进入开发环境的主窗口。 2.使用Visual C++对一个C程序进行编辑、编译、连接和运行。 ⑴分析 Visual C++中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。 ⑵步骤 ①编辑

图1-1 New对话框 编辑是将C源程序输入计算机的过程。在Visual C++主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。在弹出窗口中的Files标签页下,选择C++ Source File。在选项卡右面的File编辑框里输入文件名如“”,在Location编辑框里输入文件路径,如“d:\test”。点击OK按钮。将出现编辑窗口,如图1-2所示。在图1-2所示的右端编辑窗口里输入以下C源程序并保存文件。 include void main() { printf(" 欢迎同学们来到华北水院计算中心!"); } 图1-2 编辑窗口 ②编译 编译是使用系统提供的编译器将文本文件生成机器语言的过程,结果为,由于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。选择Build菜单下的Compile ,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编译无错时,将源程序编译为目标文件。编译结果如图1-4所示。如果出现运行错误,应该分析错误的原因,例如,是输入数据错误,还是代码错误;如果需要修改源程序文件,还需重新编译、链接和执行。改正编译窗口下方指出的两个错误,直至编译成功,如图1-5所示。

数据库上机习题及答案

数据库及应用复习题 一、设计题 有一个[学生课程]数据库,数据库中包括三个表: 学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。 课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。 用SQL语言实现下列功能: 1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。 2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。 3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。4.查询学习1号课程的学生最高分数、平均成绩。 5.查询与“李洋”在同一个系学习的学生。 6.将计算机系全体学生的成绩置零。 7.删除学号为05019的学生记录。 8.删除计算机系所有学生的成绩记录。 1. CREATETABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15)) 2. ALTER TABLE Student ADD Scome DATETIME 3. SELECT Sno, Grade FROM SG WHERE Cno='3' ORDER BY Grade DESC 4. SELECT MAX(Grade), AVG(Grade) FROM SC WHERE Cno='1' 5. SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

上机题及答案

描述 已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出 输入说明 只有一个整数,表示输入的华氏温度 输出说明 输出一个表示摄氏温度的实数,小数点后保留2位有效数字,多余部分四舍五入 输入样例 50 输出样例 2计算球体重量 描述 已知铁的比重是,金的比重是。写一个程序,分别计算出给定直径的铁球与金球的质量,假定PI= 输入说明 输入两个整数,分别表示铁球与金球的直径(单位为毫米) 输出说明 输出两个浮点数,分别表示铁球与金球的质量(单位为克),小数点后保留3位小数,两个浮点数之间用空格分隔 输入样例 100 100 输出样例 提示 #include<> int main(){ double Fe=,Au=,Pi=; int m,n;

scanf("%d %d",&m,&n);.3f.3f.2f.2f.6f 输入说明 输入包含多组数据,第一行为整数n表示有几组数据,其后为n行数据,每行一个整数。 输出说明 对每一个整数,若该整数为回文数,则输出整数各位数字之和,否则输出no,然后换行。 输入样例 2 131 24 输出样例 5 no #include<> #include<> int main(){ int a[200]={0},b,c,d=0,m,n,i,k,p,sum=0; scanf("%d",&n); for(m=0;m0;++k)c*=10; 9f.,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。现在给定一个随机数m>0,从编号为1的人开始,按顺时针方向1开始顺序报数,报到m时停止。报m的人出圈,同时留下他的密码作为新的m值,从他在顺时针方向上的下一个人开始,重新从1开始报数,如此下去,直至所有的人全部出圈为止。 输入说明 仅有一组数据,输入数据第一行为两个正整数n(0

c++上机试题及答案

A、类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为3、14。(15分) Input 包含一个整数。 Output 输出一行,就是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output 12、56 12、56 A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private:

int radius; }; Circle::Circle(Circle &p) { radius = p、radius; } double Circle::getArea(int radius) { float area; area = 3、14*radius*radius; return area; } int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = A、getArea(r); area2 = B、getArea(r); cout<

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

数据库上机考试试题及答案

1下列说法中正确的是:( D ) A 、 SQL 中局部变量可以不声明就使用 B 、 SQL 中全局变量必须先声明再使用 C 、 SQL 中所有变量都必须先声明后使用 D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。 2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。 A.MOV B.EXISTS C.UNION D.HAVING 3 .下列哪些语句用于创建存储过程( A )? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他 5.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( C )。 A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 Server 2000 采用的身份验证模式有( D )。 (A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式 Server 2000 企业版可以安装在操作系统上。( C ) (A)Microsoft Windows 98 (B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server (D)Microsoft Windows XP Server是一个( C )的数据库系统。 (A)网状型(B)层次型 (C)关系型(D)以上都不是 语言中,删除一个视图的命令是( B )。 A. DELETE B. DROP C. CLEAR D. REMOVE 语言中,删除记录的命令是( A )。

c语言上机模拟题1

1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。 A. 实时控制 B. 计算机辅助设计 C. 数据处理 D. 科学计算 参考答案:C 2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。 A. 计算机的硬件系统 B. 计算机上配置的操作系统 C. 计算机的软件系统 ! D. 由硬件系统和软件系统组成 参考答案:D 3.微型计算机的微处理芯片上集成的主要组件包括______。 A. 控制器和运算器 B. 内存和控制器 C. 控制器和存储器 D. 运算器和I/O接口 参考答案:A 的对话框窗口不可以______。 A. 关闭

【 B. 移动 C. 任意改变大小 D. 最小化 参考答案:C 5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。 A. xing%参考答案:D 6.下列对C语言程序的描述中,正确的是_______。 A. C语言程序总是从第一个定义的函数开始执行 B. C语言程序总是从最后一个定义的函数开始执行 C. C语言程序总是从main()函数开始执行 < D. C语言程序中的main()函数必须放在程序的开始部分 参考答案:C 7.设有char ch='\\';,则变量ch包含______个字符。 A. 1 B. 2 C. 3 D. 4 参考答案:A 8.以下选项中合法的字符常量是____________。 A. '\101' {

B. '\97' C. '\xyz' D. '\019' 参考答案:A 9.下面用户标识符中合法的是____________。 A. iPhone# B. 13a C. char D. _int 参考答案:D ( 10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是 _______。 A. 5 B. C. 3 D. 2 参考答案:D 11.设有定义int b=0;,表达式_______与其它表达式的值不相同。 A. b+=1 B. b++ C. ++b

ACCESS上机试题及答案

一、基本操作 在考生文件夹下,存在一个数据库文件"samp1.mdb"和一个图像文件"photo.bmp"。在数据库文件中已经建立了一个表对象"tStud"。试按以下操作要求,完成各种操作: (1)设置"ID"字段为主键;并设置"ID"字段的相应属性,使该字段在数据表视图中的显示名称为"学号"。(2)删除"备注"字段。 (3)设置"入校时间"字段的有效性规则和有效性文本。具体规则是:输入日期必须在2000年1月1日之后(不包括2000年1月1日);有效性文本内容为"输入的日期有误,重新输入"。 (4)修改字段"照片"的数据类型为"OLE对象";将学号为"20011002"学生的"照片"字段值设置为考生文件夹下的"photo.bmp"图像文件(要求使用"由文件创建"方式)。 (5)将冻结的"姓名"字段解冻;并确保"姓名"字段列显示在"学号"字段列的后面。 (6)将"tStud"表中的数据导出到文本文件中,并以"tStud.txt"文件名保存到考生文件夹下。第一行包含字段名称,各数据项间以逗号分隔。 第1题分析 本题主要考核点:主键的设置、字段的删除、有效性规则和文本的设置、表字段设置、字段冻结和导出表中记录。 本题解题思路: 第一步:打开考生文件夹下的"samp1.mdb"数据库。 第二步:选择表"tStud",点击"设计"按钮,选中"ID"字段行,点击工具栏上的"主键"按钮,再选中下面的"标题",在右边的框中输入"学号"。 第三步:选中"备注"字段,在工具栏上选择"删除行"或者在鼠标右击后弹出的菜单中选择"删除行",在弹出的对话框中选择"是"。 第四步:选中"入校时间"字段行,再选中下面的"有效性规则",在右边的框中输入">#2000-1-1#",选中下面的"有效性文本",在右边的框中输入"输入的日期有误,重新输入"。 第五步:选中"照片"字段行,设置"数据类型"属性为"OLE对象";打开表"tStud",找到学号为"20011002"学生的记录,选中此学生的"照片"字段,点击"插入"菜单中的"对象",或者右击,在弹出菜单中选择"插入对象",然后在弹出的对话框中选择"由文件创建"单选按钮,最后通过"浏览"按钮来选择考生文件夹下的图像文件"photo.bmp"。 第六步:打开表"tStud",选择"格式"菜单下的"取消对所有列的冻结"。 第七步:选中表"tStud",点击"文件"菜单下的"导出",在打开的"将"tStud"导出为"对话框中,选择保存类型为"文本文件",输入文件名"tStud",然后点击"导出",接着点击"下一步",在"请选择字段分隔符"下面选中"逗号"按钮,将"第一行包含字段名称"选中,接着点击"下一步",确认文件导出的路径无误,点击"完成"按钮。 二、简单应用 考生文件夹下存在一个数据库文件"samp2.mdb",里面已经设计好一个表对象"tStud"和一个查询对象 "qStud4"。试按以下要求完成设计: (1)创建一个查询,计算并输出学生的最大年龄和最小年龄信息,标题显示为"MaxY"和"MinY",所建查询命名为"qStud1"。 (2)创建一个查询,查找并显示年龄小于等于25的学生的"编号"、"姓名"和"年龄",所建查询命名为"qStud2"。(3)创建一个查询,按照入校日期查找学生的报到情况,并显示学生的"编号"、"姓名"和"团员否"三个字段的内容。当运行该查询时,应显示参数提示信息:"请输入入校日期:",所建查询命名为"qStud3"。 (4)更改"qStud4"查询,将其中的"年龄"字段按升序排列。不允许修改"qStud4"查询中其他字段的设置。 第2题分析 本题主要考的是数据库的查询。 本题解题思路: (1)点击"查询",选择"新建(N)",在弹出的"新建查询"窗体上选择"设计视图",然后在弹出的"显示表"窗体上选择"tStud"表,然后在第一个字段中输入:MaxY:Max([年龄]),再第二个字段中输入:MinY:Min([年龄]),以"qStud1"保存查询。 (2)与第1小题类似,选择题目中所说的三个字段,然后在"年龄"字段的"条件"中输入"<=25",最后以"qStud2"保存查询。 (3)与第1小题类似,选择题目上所说的三个字段,然后再选择"入校日期"字段,在"入校日期"字段的"

C语言上机试题答案

//vc1 //prog1.cpp //设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。#include"stdio.h" main() { int a[3],i,j,t; for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<9;i++) /*此处的i可以小于任意一个大于6的整数*/ { for(j=0;j<2;j++) { if(a[j]>a[j+1]) t=a[j],a[j]=a[j+1],a[j+1]=t; } } printf("The three data from small to big is:"); for(i=0;i<3;i++) printf("%d ",a[i]); } //vc1 //prog2.cpp //求1+3+5+...+95+97+99的和。 #include"stdio.h" main() { int i,sum=0; for(i=1;i<100;i=i+2) sum+=i; printf("1+3+5+....+99=%d\n",sum); } //vc1 //prog3.cpp //写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此

整数为素数”,否则输出“整数非素数”。(注:要求从主函数输入整数)#include"stdio.h" main() { int i,j,k,l=2; printf("输入一个大于3的整数:"); scanf("%d",&i); for(j=2;j=0;i--) printf("%d ",a[i]); for(i=0;i<10;i++) sum+=a[i]; printf("The total is:%d\n",sum); } //vc2 //prog2.cpp //输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。

相关文档
最新文档