=0时,计算并输出圆的面积和周长,否则,输出提示信息。#include#de" />
文档库 最新最全的文档下载
当前位置:文档库 › 计算机程序设计基础编程习题

计算机程序设计基础编程习题

计算机程序设计基础编程习题
计算机程序设计基础编程习题

计算机程序设计基础(C语言)

编程练习题及参考答案

1.输入2个整数,求两数的平方和并输出。

#include

main()

{ intt a ,b,s;

printf("please input a,b:\n");

scanf("%d%d”,&a,&b);

s=a*a+b*b;

printf("the result is %d\n",s);

}

2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include

#define PI 3.14

main()

{ float r ,s , l;

printf("please input r:\n");

scanf("%f”,&r);

if (r>=0)

{s=pi*r*r;

l=2*i*r ;

printf("the area is %f\n",s);

printf("the circumference is %f\n",l);}

else

printf("input error!\n");

}

3、函数y=f(x)可表示为:

2x+1 (x<0)

y= 0 (x=0)

2x-1 (x>0)

编程实现输入一个x值,输出y值。

main()

{int x,y;

scanf(“%d”,&x);

If(x<0)y=2*x+1;

If(x>0)y=2*x-1;

If(x==0) y=0;

prin tf(“%d”,y);}

4、编写一个程序,从4个整数中找出最小的数,并显示此数。

main( )

{int a,b,c,d,t;

scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);

if (a>b)

{t=a; a=b; b=t;}

if (a>c)

{t=a; a=c; c=t;}

if (a>d)

{t=a; a=d; d=t;}

pri ntf (“m in = %d \n”,a);

}

5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

main()

{int x,y;

scanf("%d",&x);

if (x<0) y=1;

else if(x==0) y=5;

else y=3;

printf("x=%d,y=%d\n",x,y);}

6.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)main()

{float max(float x,float y);

float a,b,m;

scanf("%f,%f",&a,&b);

m=max(a,b);

printf("Max is %f\n",m);

}

float max(float x,float y)

{

float temp;

if (x

{temp=x;

x=y;

y=temp;

}

return(x);

}

7、从键盘输入你和你朋友的年龄,编成判断谁的年龄最大,并打印最大者的年龄。

#include

main()

{ int yourAge, hisAge;

printf("Please enter your age:");

scanf("%d", &yourAge); /*输入你的年龄yourAge*/

printf("Please enter your friend's age:");

scanf("%d", &hisAge); /*输入你朋友的年龄hisAge*/

if (yourAge >= hisAge)

{

printf("You are older! Your age is = %d\n", yourAge);

}

if (hisAge > yourAge)

{

printf("Your friend is older! HisAge age is = %d\n", hisAge);

}}

8、键盘输入2个加数,再输入答案,如果正确,显示“r i ght”,否则显示“error”

#i nclude “std i o.h”

main( )

{int a,b,c;

pri ntf(“please input a and b\n”);

scanf (%d,%d”,&a,&b);

pri ntf(“please input the answer for a+b\n”);

scanf (%d”,&c);

if (c==a+b)

pri ntf(“r ight\n”);

else

pri ntf(“error \n”);

}

9. 编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:

??

???≥-≤=小时小时小时元每小时元

每小时元费用505010105.2330 要求当输入每月上网小时数,显示该月总的上网费用(6分)

main()

{ int hour;

float fee;

pri ntf(“please input hour:\n”);

scanf(“%d”,&hour);

if(hour<=10)

fee=30;

else if(hour>=10&&hour<=50)

fee=3*hour;

else fee=hour*2.5;

pri ntf(“The total fee i s %f”,fee);

}

10.神州行用户无月租费,话费每分钟0.6元,全球通用户月租费50元,话费每分钟0. 4元。输入一个月的通话时间,分别计算出两种方式的费用,判断哪一种合适。

main()

{float a,x,y;

pri ntf(“\n请输入您的话费:”);

scanf(“%f,”,&a);

x= 0.6*a;

y=50+0.4*a;

pri ntf (“神州行话费为: %f\n”,x);

pri ntf (“全球通话费为: %f\n”,y);

if (x>=y)

pri ntf(“建议使用全球通”);

else pri ntf(“建议使用神州行);

}

11.个人所得税计算,应纳税款的计算公式如下:

输入某人的收入,计算出应纳税额及实际得到的报酬。(7分)

(如需连续计算多个人的纳税情况,直到输入负数为止,程序应如何改进?试写出程序)

#i nclude “std i o.h”

main()

{

int grade;

float income,tax,money;

pri ntf(“please input your income\n”);

scanf (“%f”,&income);

if (income<0)

pri ntf(“the input i s error”);

else

{ grade=(int)income/1000;

switch(grade)

{ case 0 : tax=0;break;

case 1 : tax=(income-1000)*0.05;break;

case 2 : tax=50+(income-2000)*0.1;break;

case 3 :

case 4 :

case 5 : tax=150+(income-3000)*0.15;break;

default: tax=600+(income-6000)*0.2;

}

money=income-tax;

pri ntf(“\n tax=%f, money=%f”,tax, money);

}

}

12.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。

#include

main()

{

int data;

char grade;

printf("Please enter the score:");

scanf("%d”, &data);

switch(data/10)

{ case 10:

case 9 : grade=’A’; break;

case 8: grade=’B’;break;

case 7: grade=’C’;break;

case 6: grade=’D’;break;

default: grade=’E’;

}

printf("the grade i s %c”,grade);

}

*13. 编程设计一个简单的计算器程序。从键盘输入2个操作数,1个运算符,当运算符为加(+)、减(-)、乘(*)、除(/)时,输出计算结果

#include

main()

{ int data1, data2; /*定义两个操作符*/

char op; /*定义运算符*/

printf("Please enter the expression:");

scanf("%d%c%d", &data1, &op, &data2); /*输入运算表达式*/

switch(op) /*根据输入的运算符确定要执行的运算*/ { case '+': /*处理加法*/

printf("%d + %d = %d \n", data1, data2, data1 + data2);

break;

case '-': /*处理减法*/

printf("%d - %d = %d \n", data1, data2, data1 - data2);

break;

case '*': /*处理乘法*/

printf("%d * %d = %d \n", data1, data2, data1 * data2);

break;

case '/': /*处理除法*/

if (0 == data2) /*为避免出现溢出错误,检验除数是否为0*/

printf("Division by zero!\n");

else

printf("%d / %d = %d \n", data1, data2, data1 / data2);

break;

default:

printf("Unknown operator! \n");

}

}

14. 从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。

main( )

{int a[10], i,p=0,n=0,z=0;

pri ntf(“please i nput number”);

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

{scanf(“%d,”,&a[i]);

if (a[i]>0)

p++;

else if (a[i]<0)

n++;

else z++}

pri ntf(“正数:%5d, 负数:%5d,零:%5d\n”,p,n,z);

}

}

15、编程序实现求1-200之间的所有数的乘积并输出。

#include

main( )

{ int i, sum=1

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

sum=sum*i;

print f(“the sum of odd i s :%d”,sum);

}

16. 从键盘上输入10个数,求其平均值。

main()

{

int a[10],i,s=0;

float ave;;

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

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

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

sum+=a[i];

ave=(float)sum/10;

printf("ave = %f\n", ave);

}

17、编程序实现求1-1000之间的所有奇数的和并输出。

#include

main( )

{ int i, sum=0;

for(i=1; i<1000; i=i+2)

sum=sum+i;

pri ntf(“the sum of odd i s :%d”,sum);

}

18.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13……

编程求这个序列的前20项之和。

main()

{

int i,t,n=20;

float a=2,b=1,s=0;

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

{s=s+a/b;

t=a;

a=a+b;

b=t;

}

printf("sum=%9.6f",s);

}

19. 用数组实现以下功能:输入5个学生成绩,而后求出这些成绩的平均值并显示出来。

main()

{float a[5],i;

float s=0;

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

scanf(“%f”,&a[i]);

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

s=s+a[i];

pri ntf(“result=%f”,s/5);

}

*20、用循环的方法构造一个5行5列的二维数组,使主对角线上的变量为1,其它为0,并将数组中所有项按行按列显示出来。

main()

{int a[5][5],i,j, s=0;

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

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

if(i= =j) a[i][j]=1;

else a[i][j]=0;

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

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

{if(j= =0) pri ntf(“\n”);

pri ntf(“%d ”, a[i][j]);

}

}

21.求一个3×3矩阵对角线元素之和。从键盘输入矩阵元素的值并输出和的值.

main()

{ int a[3][3],sum=0;

int i,j;

printf("Enter data:\n");

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

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

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

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

sum=sum+a[i][i];

printf("sum=%d",sum);

}

22.输入n的值,n代表行数,输出如图所示的图形。(6分)

*

* * *

* * * * *

* * * * * * * (此图为n=4时的输出结果)

#include

main()

{int i , j , k;

for (i = 1; i <= 4; i++) /*控制行数*/

{ for (k = 1; k <= (2 * i - 1); k++) /*控制每行输出的*号个数*/

{ printf("*"); }

printf("\n"); }} /*输出一行后换行*/

23、从键盘输入30名学生的成绩数据,求其中的最高分、最低分和平均分。

(提示:用数组存放成绩数据)

#include

#define M 30

main ( )

{ float score[M], max , min, aver;

int i ;

pri ntf(“please input score: \n”);

for(i=0; i

scanf(“%f”, &score[i]);

max=score[0];

min=score[0];

aver=score[0];

for(i=1; i

{ if (max < score[i]) max= score[i];

if (min>score[i]) min=score[i];

aver+=score[i];

}

pri ntf(“max=%f, m i n=%f,aver=%f”, max, m in, aver/M);

}

24. 从键盘输入某班学生某门课的成绩及其学号(班级人数最多40人,具体人数由键盘输入),输出该班最高分和最低分及其学生学号;并输出该班该课程的总分和平均分。请编写程序。

#include

#define ARR_SIZE 40

main()

{ float score[ARR_SIZE], maxScore,minScore,sum;

int n, i;

long maxNum, minNum,num[ARR_SIZE];

printf("Please enter total number:");

scanf("%d", &n);

printf("Please enter the number and score:\n");

for (i=0; i

scanf("%ld%f", &num[i], &score[i]);

maxScore = score[0];minScore= score[0];

maxNum = num[0]; minNum= num[0];

sum=score[0];

for (i=1; i

{ if (score[i] > maxScore)

{ maxScore = score[i];

maxNum = num[i];

}

else if (score[i] < minScore)

{ minScore = score[i];

minNum = num[i];

}

sum=sum+score[i];

}

printf("maxScore = %.0f, maxNum = %ld\n", maxScore, maxNum);

printf("minScore = %.0f, minNum = %ld\n", minScore, minNum);

printf("sum = %.1f, average = %.1f\n", sum, sum/n);

}

*25.将一个有5个元素的数组中的值(整数)按逆序重新存放。

例: 原来顺序为:8、6、5、4、1,要求改为1、4、5、6、8 define N 5

main()

{int a[N],I,temp;

pri ntf(“enter array a:\n”);

for(I=0;I

scanf(“%d”,$a[i]);

for(I=0;I

{ temp=a[i];

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

a[N-I-1]=temp;

}

pri ntf(“\n Now, array a:\n”);

for(I=0;I

pri ntf(“%4d”,a[i]);

pri ntf(“\n”);

}

*26.从键盘上输入一个2*3的矩阵,将其转置后形成3*2的矩阵输出。

main()

{int a[2][3], b[3][2],i,j;

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

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

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

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

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

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

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

{for(j=0;j<2;j++)

printf("%5d",b[i][j]);

printf("\n”);

}

}

*27.编写两个函数分别求两个整数的最小公倍数和最大公约数,用主函数调用这两个函数并输出结果。两个整数由键盘输入。

#include "stdio.h"

mingb(x,y)

int x,y;

{int z,i,t;

z=1;

i=1;

if(x>y)

{t=x;x=y;y=t;}

while(z<=x*y)

{

z=i*y;

if((z%x==0)&&(z%y==0)) break;

i++;

}

return(z);

}

maxgy(x,y)

int x,y;

{int z,t;

if(x>y)

{t=x;x=y;y=t;}

z=x;

while(z>1)

{ if((x%z==0)&&(y%z==0)) break;

z--;

}

return(z);

}

main()

{

int a,b,c;

char ch;

printf("\nmingb(1)/maxgy(2)?");

ch=getchar();

printf("\ninput:");

scanf("%d,%d",&a,&b);

if(ch=='1') c=mingb(a,b);

else if(ch='2') c=maxgy(a,b);

printf("the result is %d",c);

getch();

}

*28. 输入一个3*3矩阵,求出其转置矩阵,并求出两个矩阵的和.

main()

{

int a[3][3];

int b[3][3];

int c[3][3]

int i,j;

pri ntf(“please i nput 6 numbers!”)

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

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

{

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

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

}

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

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

{

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

}

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

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

{

pri ntf(“%d”,a[i][j]);

}

}

29、从键盘输入10名学生的成绩数据,按成绩从高到低的顺序排列并输出。(提示:用数组存放成绩数据)

main()

{ int a[10];

int i,j,temp;

printf("input score:\n");

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

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

printf("\n");

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

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

if(a[j]

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

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

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

}

30. 定义一个5行3列的数组,从键盘输入各数组元素的值,计算各数组元素之和。

#include

main( )

{ int i, j ,a[5][3];

pri ntf(“Enter data:\n”);

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

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

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

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

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

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

pri ntf(“su m=%5d\n”,sum);

}

31、编写程序,交换两个数组中的对应元素。

#include

#define N 20

main( )

{ int a[N], b[N], i, j, temp;

pri ntf(“please input a:\n”);

for(i=0; i

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

pri ntf(“please input b:\n”);

for(j=0; j

scanf(“%d”, &b[i]);

for(i=0; i

{ temp=a[i];

a[i]=b[i];

b[i]=temp;

}

for(j=0; j

pri ntf(“%d,”, a[j]);

pri ntf(“\n”);

for(j=0; j

pri ntf(“%d,”,b[j] );

}

*32、从键盘上输入一个4*3的整型数组,找出数组中的最小值及其在数组中的下标。

#include

main()

{ int a[4][3], i , j ,min,m,n;

printf("Please enter data:");

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

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

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

min=a[0][0];

m=0; n=0;

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

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

if (a[i][j]

{min= a[i][j];

m=i;

n=j;

}

printf("the min is %d\n, min);

printf("posion is %d %d \n, m,n);

}

33.编程实现如下功能:从键盘输入一行字符,统计其中大写英文字符,小写英文字符和其他字符的个数。

#include

#include

#define ARR_SIZE 80

main()

{

char str[ARR_SIZE];

int len, i, letter = 0, digit = 0, space = 0, others = 0;

printf("Please input a string:");

gets(str);

len = strlen(str);

for (i=0; i

{ if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z')

letter ++; /*统计英文字符*/

else if (str[i] >= '0' && str[i] <= '9' )

digit ++; /*统计数字字符*/

else

others ++; /*统计其它字符的个数*/

}

printf("English character: %d\n", letter);

printf("digit character: %d\n", digit);

printf("other character: %d\n", others);

}

*34.编程实现如下功能:

1)在主函数中,实现从键盘输入10名学生某门课的成绩,保存在一维数组中;调用排序函数;对排序后的数组中的元素按从高到低打印输出。

2)编写排序函数,使用数组名做函数参数,实现对该成绩的排序。

#include

#define ARR_SIZE 40

void Sort(float score[], long num[], int n);

main()

{ float score[ARR_SIZE];

int n, i;

long num[ARR_SIZE];

printf("Please enter total number:");

scanf("%d", &n);

printf("Please enter the number and score:\n");

for (i=0; i

{

scanf("%ld%f",&num[i],&score[i]);

}

Sort(score, num, n);

printf("Sorted results:\n");

for (i=0;i

{ printf("%ld\t%4.0f\n",num[i],score[i]);

}

}

void Sort(float score[], long num[], int n)

{ int i, j;

float temp1;

long temp2;

for (i=0; i

{ for (j=i+1; j

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

{ temp1 = score[j];

score[j] = score[i];

score[i] = temp1;

/*交换学号*/

temp2 = num[j];

num[j] = num[i];

num[i] = temp2;

}

}

}

}

*35.编程实现如下功能:

实现从键盘输入两个字符串,分别存入两个不同的字符数组中;将两个字符串连接为一个字符串,并打印输出连接后的整个字符。

#include

#include

#define ARR_SIZE 80

void MyStrcat(char dstStr[], char srcStr[]);

main()

{ char s[ARR_SIZE], t[ARR_SIZE];

printf("Please enter source string: ");

gets(s);

printf("Please enter destination string: ");

gets(t);

MyStrcat(s,t);

printf("The concatenate string is: ");

puts(s);

}

void MyStrcat(char dstStr[], char srcStr[])

{ int i = 0, j;

while (dstStr[i] != '\0') {

i++;

}

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

{

dstStr[i] = srcStr[j];

}

dstStr[i] = '\0';

}

*36、猜数游戏。系统随机产生一个整数,通过键盘输入数据猜数,猜对为止,并要求统计猜的次数。

注:rand()函数可以产生0~32767间的正整数,程序中需包含stdlib.h。

#include

#include

main()

{

int magic;

int guess;

int counter;

magic = rand() % 100 + 1;

counter = 0;

do{

printf("Please guess a magic number:");

scanf("%d", &guess);

counter ++;

if (guess > magic)

printf("Wrong!Too high!\n");

else if (guess < magic)

printf("Wrong!Too low!\n");

}while (guess != magic);

printf("Right!\n");

printf("counter = %d\n", counter);

}

37.输入两个整数,利用指针变量作为函数参数,编程实现两数互换功能,并将交换后的数据重新输出。

#include

void S *x, int *y);

main()

{ int a, b;

printf("Please enter a,b:");

scanf("%d,%d", &a, &b);

printf("Before swap: a = %d,b = %d\n", a,b);

S, &b);

printf("After swap: a = %d,b = %d\n", a, b);

}

void S *x, int *y)

{

int temp;

temp = *x;

*x = *y;

*y = temp; }

38.随机输入若干个学生的体重,以输入负数或零结束,分别求最重和最轻的体重,并计算平均体重。

#include

main()

{ int n=0;

float weight,max=0,min=10,sum=0,ave;

pri ntf(“please input the wei ght:”);

scanf(“%f”,& we ight);

while(weight>0)

{ sum=weight+sum;

n++;

if (weight

min=weight;

else if(weight>max)

max=weight;

scanf(“%f”,& we ight);}

if (n>0)

{ ave=sum/n;

printf("maxweight = %f\n " , max);

printf("minweight = %f\n", min);

printf("ave = %f\n",ave);

else printf("NO VALI D DATA”);

}

39.输入m ,k 的值,编程求下面表达式的值:(要求编写一个求阶乘的函数,调用函数实现本题)

)!

(!k m k p -= #include

unsigned long Factorial(unsigned int number);

main()

{ unsigned int m, k;

double p;

printf("Please input m, k:");

scanf("%u, %u", &m, &k);

p = (double)Factorial(k) / Factorial (m-k);

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

}

unsigned long Factorial(unsigned int number)

{ unsigned long i, result = 1;

for (i=2; i<=number; i++)

result *= i;

return result;

}

*40. 编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数。

#include

int IsPrimeNumber(int number)

{ int i;

if (number <= 1)

return 0;

for (i=2; i

{ if ((number % i) == 0)

return 0; }

return 1;}

main()

{ int n;

pri ntf(“Please i nput n:”);

scanf(“%d”,&n);

if(IsPrimeNumber(n))

pri ntf(“\n%d is a Pri me Number”,n);

else pri ntf(“\n%d is not a Pri me Number”,n);}

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.wendangku.net/doc/9b2473475.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

计算机程序设计基础习题册(含答案)

《计算机程序设计基础》 习 题 册

班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令

计算机程序设计基础习题册含答案

《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册

1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

程序设计基础试题_03_答案.doc

学院领导 审批并签名 A / B卷 广州大学 学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名 分数 评分 一:选择题(每题3分,共60分) (1)若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为(A)

A) double B) float C) int D) char (2)设a=1,b=2,c=3,d=4,则表达式:a=10 or a<=0 B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││ a<=0 (7)下列可 作为C语言赋值语句的是(C) A) x=3,y=5 B) a=b=6 C) i--; D) y=int(x); (8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输 入值: scanf(i=%d,f=%f,&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为(A) A) 100765.12 B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12 (9)给出以下定义: char x[ ]=abcdefg;

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

(完整版)程序设计基础试题_10_答案

广州大学学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查) 学院系专业班级学号姓名 一、填空题(每空1分,共10分) 1.C源程序的基本单位是(函数)。 2.一个C源程序中至少应包含一个(main()函数)。 3.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++ 后,a的值为(10 ),b的值为( 6 )。 4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,b值为( 4 ),c 值为( 2 )。 5.表达式8.2-2/3 的计算结果是(8 )。 6.在C语言中,整数可用三种数制表示,它们分别是(十进制)、(八进制)和(十六进制)。 二、程序计算题(每小题5分,共15分) 1. # define f(a) printf(“%d”,a) main() { int i,b[]={1,2,3,5,7,9,11,13,15},*p=5+b; for(i=3;i;i--) switch(i) { case 1: case 2: f(*p++); break;

case 3: f(*(--p)); } } 2. main() { int arr_sum(int arr[],int n); int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p,total; int (*pt)( int arr[],int n); pt=arr_sum; p=a[0]; total=(*pt)(p,12); printf(“total=%d\n”,total); } arr_sum(int arr[],int n) { int i,sum=0; for(i=0;i

西交大《程序设计基础》试题及答案

西交大《程序设计基础》试题及答案 一、单项选择题(本大题共20小题,每小题2分,共40分) 1.int a[10];合法的数组元素的最小下标值为()。A:10 B:9 C:1 D:0 答案:D 2.以下运算符中优先级最低的是()。A:&& B:& C:|| D:| 答案:C 3.若使用一维数组名作函数实参,则以下正确的说法是()。A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A 4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。 A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C 5.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。A:将5个初值依次赋给a[1]至a[5] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[6]至a[10] D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B 6.下列程序的输出结果是()。main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case case } case 2:a++;b++;break; case 3:a++;b++;break; } printf(\} A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B 7.下列程序的输出结果为()。main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(\ 0:a++;break; 1:b++;break; } A:27.000000 B:27.500000 C:28.000000 D:28.500000 答案:A 8.若k为int型变量,则以下程序段的执行结果是()。k=-8567; printf(\A:格式描述符不合

C程序设计基础_复习题

c语言规定,任何非0的数像1 -1等都被认为是真,而0被认为是假 1>1为假 试题一、单选题 1. 已知int k,m=1;执行语句k=-m++;后,k的值是_____。【知识点:难度:正确答案:A】 A.-1 B.0 C.1 D.-2 2. 已知定义int m; float k; 正确的语句是。【知识点:难度:正确答案:D】 A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m 3. 当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。【知识点:难度: 正确答案:B】 A.m=k=n B.(m=k)&&(n=m) C.(m=k)||(n=k)D.(n=m)&&(m=k) 4. 已知int x=5; 表达式6>x>1值是_____。【知识点:难度:正确答案:A】 A.0 B.1 C.5 D.表达式语法错 表达式6>x>1 ,先 判断6>x 为0,再 判断0>1,所以值 为0。 (6>x 为1 ,再判 断1>1,所以值为 0。) 5. 下列程序段执行后c值为_____。【知识点:难度:正确答案:D】 int k=7, c=0; while(--k) if (k%3) continue; else c++; A.5 B.4 C.3 D.2 6. 已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=…a?+…D?-…A?;后,ch 中的值为_____。【知识点:难度:正确答案:C】 A.d B.c C.100 D.不确定 7. 设m,n已正确定义,执行语句{for(m=0, n=10; m,能使puts(s)语句正确输出ABCDE字符串的程序 段是______。【知识点:难度:正确答案:C】 A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {…A?,?B?,?C?,?D?,?E?}; puts(s); C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s); 《C程序设计基础及实验》

《程序设计基础》题库(50道)

《程序设计基础》题库(50道) <说明> 1、难易程度依次为:易(16道)、较易(38道)、较难(31道)、难(15道)。 2、总共抽8道题,按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道); 按题型:顺序(1道)、分支(2道)、单循环(2道)、多循环(1道)、数组(1道)、字符串(1道) 3、考试要求:先画流程图再写程序,理论考试,2个半小时 一、顺序结构 1、 请定义4个整型变量,并打印输出这4个变量的加、减、乘、除后的结果。(易) 2、 将华氏温度转化成摄氏温度。公式为:C=(5/9)*(F-32),其中F 为华氏温度,C 为 摄氏温度。请根据给定的华氏温度输出对应的摄氏温度。(易) 3、 根据观察,蟋蟀的名叫频率与温度有关,具体的公式为T=(c+40)/10.其中,c 代表 蟋蟀每分钟鸣叫数,T 代表华氏温度。请根据蟋蟀每分钟的鸣叫数输出相应的华氏温度。(易) 4、 编写程序,读入0~1000的一个整数并将其各位数字之和赋给一个整数,如整数932, 各位数字之和为14. (较易) 5、 编程实现两个整数交换位置,例如:int x = 6,y = 9,交换后 x = 9,y = 6。(较易) 6、 求空间两点之间的距离。(提示:空间一点(x,y,z ),可由三个实数来描述)(较易) 7、 已知圆的半径,求圆的面积。(易) 8、 已知一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。(较难) 海伦公式: 9、 求两数平方和的算术根。(易) 10、 给定一段时间求出它的秒数。(如计算2小时 17分30秒等于多少秒)(易) 11、 某印刷厂3月1日有A4纸500盒,3月2日又买进进100盒,3月3日用掉A4 纸存量的三分之二,3月4日又买进A4纸存量的2倍,问该印刷厂3月1日到3月4日期间每天的A4纸存量分别是多少盒?(易) 12、 三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。现在他们 三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果?(较易) 二、分支结构 13、 两个整数比较大小,输出较大值。(易) 14、 三个整数比较大小,输出最大值。(较易) 15、 求下列函数中y 的值。(较易) y=10 (x=0) y=3x+5 (x>0) y=x-2 (x<0) 16、 判断某年是否为闰年。(闰年的条件是:该年的年号能被4整除且不能被100整除, 或该年的年号能被400整除,则该年是闰年,否则不是闰年。)(较易) 17、 根据某同学的成绩,判定其成绩的等级。(90~100分为“优秀”,80~89为“良好”, 70~79为“中等”,60~69为“及格”,60分以下为“不及格”。)(较易) ))()((c p b p a p p S ---=2 c b a p ++=

程序设计基础试题一知识讲解

山东科技大学200 —200 学年第学期 《程序设计基础》考试试卷一 班级姓名学号____________ 一、选择题(20分) 1.算法具有五个特性,以下选项中不属于算法特性的是B (A)有穷性(B)简洁性(C)可行性(D)确定性 2.以下选项中可作为C语言合法常量的是A (A)-80. (B)-080 (C)-8e1.0 (D)-80.0e 3.以下叙述中正确的是C (A)用C语言实现的算法必须要有输入和输出操作 (B)用C语言实现的算法可以没有输出但必须要有输入 (C)用C程序实现的算法可以没有输入但必须要有输出 (D)用C程序实现的算法可以既没有输入也没有输出 4.以下不能定义为用户标识符是D (A)Main (B) _0 (C) _int (D) sizeof 5.以下选项中,不能作为合法常量的是B (A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0 6.数字字符0的ASCII值为48,若有以下程序 main() {char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a);} 程序运行后的输出结果是C (A)3,2 (B)50,2 (C)2,2 (D)2,50

7.有以下程序 main(){ int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是A (A)12353514 (B)12353513 (C)12343514 (D)12343513 8.有以下语句: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); 9.有以下程序 main(){ int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 10.有以下程序 main(){ int a,b,d=25; a=d/10%9;b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是B A)6,1 B)2,1 C)6,0 D)2,0 11.有以下程序 main(){ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是D (A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 3

vfP程序设计基础习题集

VFP程序设计习题 习题一 一、判断题(1分/题,共20分,对打画√,错打×) 1.建立自由表分两步:定义表结构和输入数据。 2.表间的关系分三种:一对一关系、一对多关系和多对多关系。 3.若要使用多个表,就要使用多个工作区。 4.在应用程序中可以通过使用该工作区的表的别名来标识工作区。 5.对象具有属性,而属性只能在设计阶段设置。 6.引用对象的方法分绝对引用和相对引用。 7.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。 8.一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。 9.VFP主要数据容器有:表记录、变量和数组。 10.报表包括两个基本组成部分:数据源和布局。 11.如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。 12.表选择查询输出的去向可以是浏览、报表或表单。 13.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。14:视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。15.在“数据库设计器”中,视图的显示方式与表在分层结构中的显示方式相同,所不同的是视图名代替了表名。 16.一个视图在使用时,将作为临时表在自己的工作区中打开。 17.如果打开基于本地表的视图,则在Visual FoxPro的另一个工作区中基表被同时打开。18.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。19.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。20.索引是改变表的物理顺序,排序是排列表的逻辑顺序。 二、选择题(每个选择3分,共24分) 1.统计女生人数并将结果存放于变量X中的命令是() (A).COUNT FOR .NOT. 性别=”男” TO X (B).COUNT FOR ( 性别=”女”)=.T. TO X (C).SUM FOR ( 性别<>”男”)=.T. TO X (D).SUM FOR 性别=”女” TO X 2. 在已打开的表中,要永久删除当前记录位置开始的10条记录,可用() (A)先执行DELETE NEXT 10命令,后用PACK命令 (B)先执行DELETE RECORD 10命令,后用PACK命令 (C)先执行DELETE FOR RECORD> 10命令,后用PACK命令 (D)ZAP NEXT 10 3.按数值型字段”总分”进行索引,使其按降序排列的命令是() (A)INDEX ON -总分TO WP (B)INDEX ON 总分/A TO WP (C)INDEX ON 总分TO WP (D)INDEX ON 总分/D TO WP 4.下列操作后,不改变表记录指针的命令是()

程序设计基础习题

7.8 习题 1. 编制一个C 程序,从键盘输入一个正整数,如果该数为素数,则输出该素数,否则输出该数的所有因子(除去1与自身)。 2. 编制一个C 程序,从键盘输入一个正整数N ,然后计算并输出 S=12||1222N ++++ 最后计算并输出 T=1121311 1-+-+-+ ()K K 其中K S =的整数部分。 3. 编制一个C 程序,计算并输出多项式的值 S x x x n n x n n =++ -+--++--+1050505120505105230505105123..(.)!.(.)(.)!.(.)(.)! 的值,直到 |S n -S n-1|<0.000001 为止。其中x 从键盘输入。 4. 编制一个C 程序,计算下列级数和: s n =1+(2/1)+(3/2)+(5/3)+(8/5)+(13/8)+…+(a n /a n-1) 其中n ≥1,由键盘输入;s 1=1。 5. 编制一个C 程序,计算并输出下列级数之和: e x x x x n x n =+++++12323!!! 其中n 与x 从键盘输入。 6. 编制一个C 程序,输出能写成两个数平方之和的所有三位数。 7. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如,6的因子为1、2、3,且1+2+3=6,即6是一个“完数”。编制一个C 程序,计算并输出1000以内的所有“完数”之和。 8. 编制一个C 程序,从键盘输入30个实数,分别计算并输出以下5个量:所有正数之和,所有负数之和,所有数的绝对值之和,正数的个数,负数的个数。 9. 100元钱买100只鸡,母鸡3元/只,公鸡2元/只,小鸡0.5元/只。编制一个C 程序,制定买鸡方案。 10. 设A ,B ,C ,D ,E 五人,每人额头上贴了一张或黑或白的纸。五人对坐,每人都可以看到其他人额头上的纸的颜色,但都不知道自己额头上的纸的颜色。五人相互观察后开始说话: A 说:我看见有三人额头上贴的是白纸,一人额头上贴的是黑纸。 B 说:我看见其他四人额头上贴的都是黑纸。 C 说:我看见有一人额头上贴的是白纸,其他三人额头上贴的是黑纸。 D 说:我看见四人额头上贴的都是白纸。 E 什么也没说。 现在已知额头上贴黑纸的人说的都是真话,额头上贴白纸的人说的都是假话。编制一个

程序设计基础-题库 (填空)

程序设计基础-题库 1、C源程序的基本单位是___。 答案:函数; 2、在C语言中,输入操作是由库函数___完成的,输出操作是由库函数___完成的。答案: scanf;scanf();printf;printf(); 3、一个C源程序中,至少应该包含一个___。 答案:主函数;main函数;main();主函数main; 4、C语言程序中,一个函数由两部分组成,分别是__和__。 答案:函数的首部;函数首部;函数体;函数头;函数的头;函数体;函数的首部;函数首部;函数头;函数的头; 5、请写出以下表达式的值: 10/4*3 答案: 6 ; 6、已有定义int x;float y;且执行scanf("%3d%f",&x,&y);语句时,从第一列开始输入数据12345□678,则x的值为⑴ ,y的值为⑵ 。 答案: 123 ; 45.0 ; 解析:读取数据格式中规定域宽时,系统仅读取指定宽度的数据。 7、以下程序的输出结果是()。 main() {int x=1,y=2; printf("x=%d y=%d *sum*=%d\n",x,y,x+y);

printf("10 Squared is :%d\n",10*10); } 答案: x=1 y=2 *sum*=3 10 Squared is :100 ; 解析: 8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。 a+=( );b=a-( );a-=( ); 答案: b ; b ; b ; 解析: 9、若x为int型变量,则执行以下语句后x的值为()。 x=7; x+=x-=x+x; 答案: -14 ; 解析: 10、以下程序实现输出x,y,z三个数中的最大者。请分析程序填空。 main() {int x=4,y=6,z=7;; int ____; if(____) u=x;

《程序设计基础》试题及答案

上海电视大学2011至2012学年度第1学期期中考试 计算机应用技术和计算机信息管理专业《程序设计基础》试题计算机科学与技术专业《Visual Basic程序设计#》试题 2011年11月姓名:学号:班级: 题号一二总分 分数 要求:1.选择题直接将答案写此word里。 2.操作题,现在c:盘用自己学号姓名建个文件夹,让后将操作题 保存到该文件夹。 得分评卷人 一、单选题(20分) 1、下面属于合法的变量名的是( c )。 A.X_yz B.123abc C.Integer D.X-Y 2、菜单中“生成解决方案”的目的是:( c ) A.将程序翻译成可以看懂的文件 B.将程序重新正确编排 C.将程序生成计算机能够执行的机器代码,使之能够脱离VB开发环境运行 D.检查程序中有无错误的机器代码,以便能够脱离VB开发环境运行 3、要使窗体Form1的标题栏中显示“正在复制文件…”,以下哪条语句是正确的?( b )A. Form1.Caption = “正在复制文件…” B. Form1.title = “正在复制文件…” C. Form1.Text = “正在复制文件…” D. Form1.名称 = “正在复制文件…” 4、在运行时要使某个控件可见但不可用,则应设置以下哪个属性?( b ) A. Locked B. Enabled C. Visible D. Disenabled 5、VB.NET提供了结构化程序设计的三种基本结构,三种基本结构是( d )。 A.递归结构、选择结构、循环结构B.选择结构、过程结构、顺序结构 C.过程结构、输入输出结构、转向结构D.选择结构、循环结构、顺序结构

程序设计基础习题及参考答案

习题及参考答案 1 单项选择题: (1)下列哪个符号是合法的变量名? ( ) A .VB123 B .Abs C .99Ji D .x\y 答案: 选择A 。其他的:Abs 是Visual Basic 的关键字,99Ji 以数字开头,x\y 使用了整除运算符”\”,都是非法的。 (2)Visual Basic 中的数据也可以以十六进制或八进制表示,十六进制数据以( )符号开头,八进制数据以( )符号开头。 A.$E B.$H C.&O D.&H 答案:D C (3)如果X 是一个正实数,对X 的第三位小数四舍五入的表达式是 ( ) A .0.01*Int(x+0.005) B. 0.01*Int(100*(x+0.005)) C. 0.01*Int(100*(x+0.05)) D. 0.01*Int(x+0.05) 答案: 选择B 。x 是一个正实数,要保留n 位小数,第n+1位四舍五入的数字公式是: Int(x*10n +0.5)/10n 因此,本题应该选择B 。 (4)数学式子10sin25°写成Visual Basic 表达式是 ( ) A .10Sin25 B .10* Sin(25) C .10*Sin(25°) D .10*Sin(25*3.14/180) 答案: 选择D 。其他的选项:A 、C 属于语法错误,B 中Sin(25)计算的是25弧度的正弦值,而不是sin25°的值,要将度数转换为弧度的公式是:弧度=度数*180/ 。 (5)下列哪组语句可以将变量A 、B 的值互换? ( ) A .A=B:B=A B. A=A+B:B=A-B:A=A- B C. A=C:C=B:B=A D. A=(A+B)/2:B=(A-B)/2 答案: 选择B 。应该对每个选项内的赋值语句进行分析,判断其运行结果。 下面仅对B 选项的三条语句的作用分析如下: ◆ A=A+B ‘将变量A 和变量B 相加后赋给变量A ,此时A 中存放的是和数 ◆ B=A-B ‘由于A 中存放的是和数,A-B 的值就是原先A 中的值,赋给变量B ,B 的 值就是原先A 中的值 ◆ A=A-B ‘由于A 中存放的是和数,B 的值就是原先A 中的值,A-B 的值就是原先B 中的值 ,赋给变量A ,A 的值就是原先B 中的值。 这样达到了交换目的。 实际上,在引用第三个变量的情况下,将变量A 、B 的值互换常用如下的语句: T=A:A=B:B=T (6)Visual Basic 中不存在下列哪一种数据类型? ( ) A 字符串类型 B 日期类型 C 逻辑类型 D 指针类型 答案: 选择D 。在Visual Basic 中不存在指针(地址)类型,而在C++等语言中有指针类型。 (7)把数值型转换为字符串型需要使用下列哪一个函数? ( ) A Val B Str C Asc D Chr

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