文档库 最新最全的文档下载
当前位置:文档库 › C语言期末上机考试题及答案

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

C语言期末上机考试题及答案
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

if(k%i==0)

b++;

if(b==0)

m=k,s++;

}

}

printf("这样的素数有%d 个。\n其中最大的一个是%d\n",s,m);

}

3. #include

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

if(n%i==0)j++;

return j;

}

main()

{

int a,b=0,d,e,k;

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

if(fun(k)==0)a=k,b++;

for(k=10;k<100;k++)

if(fun(k)==0)

{

e=k%10,d=k/10;

if(e==d)a=k,b++;

}

for(k=100;k<=1000;k++)

if(fun(k)==0)

{

e=k%10,d=k/100;

if(e==d)

a=k,b++;

}

printf("[1,1000]之内既是回

文数,又是素数的最大整

数:%d\n",a);

printf("[1,1000]以内既是回

文数,又是素数的整数有%d个

\n",b);

}

3.

#include

#include

main()

{

char str[81];

int i,j=0,w=1,s=0;

printf("请输入一串字符:

\n");

gets(str);

for(i=0;i

{

if(str[i]==' ')

s++;

if(str[i]=='

'&&str[i+1]!=' ')

w++;

}

if(str[0]==' ')

w--;

if(str[strlen(str)-1]==' ')

w--;

printf("单词个数为:%d\n 空格个数为:%d\n",w,s);

}

C语言上机考试题—03

1. //#include "conio.h"

#include "math.h"

#include "stdio.h"

int fun(int t)

{

int a=0,b=1,c,k;

for(k=1;;k++)

{

c=b;

b=a+b;

a=c;

if(a>t)

break;

}

return a;

}

main()

{

int n;

//clrscr();

n=1000;

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

}

2.#include "stdio.h"

main()

{

int a[3][3],i,j,s=0;

printf("请依次输入一个

3*3矩阵:\n");

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

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

{

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

if(i==j||i+j==2)

s=s+a[i][j]*a[i][j];

}

printf("对角线平方和

为:%d\n",s);

}

3. #include

#include

#define N 81

fun(char str[])

{

int i=0,j;

while(i

{

if(str[i]<=57&&str[i]>=48)

for(j=i;j

str[j]=str[j+1];

else

i++;

}

puts(str);

}

main()

{

char str[N];

printf("请随意输入字符:");

gets(str);

fun(str);

}

C语言上机考试题—04

1. //#include "conio.h"

#include "math.h"

#include "stdio.h"

double fun( int n)

{

double s=0;

int i;

for(i=1;i

if(i%21==0)s+=i;

return sqrt(s);

}

main()

{

// clrscr();

printf("s=%f\n", fun

(1000) );

}

2. #include "stdio.h"

main()

{

int a,b,k;

for(;;)

{

printf("请输入两数:

\n");

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

if(a>0&&b>0)

for(k=a;k>=1;k--)

if(a%k==0&&b%k==0)

break;

if(a%k==0&&b%k==0)

break;

}

printf("这两个数的最大公

约数是:%d\n",k);

}

3.

#include

main()

{

double a=1,b=1,i,j,s=0;

for(i=1,j=3;;i++,j=j+2)

{

a=a*i;

b=b*j;

s=s+a/b;

if(a/b<0.00005)break;

}

printf("%f\n",2*(s+1));

}

C语言上机考试题—05

1.#include

#include

int fun(int array[3][3])

{

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

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

{

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

a[i][j]=array[j][i];

}

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

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

array[i][j]=a[i][j];

return array[i][j];

}

main()

{

int i,j;

int

array[3][3]={{100,200,300},{400 ,500,600},{700,800,900}};

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

{

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

printf("%7d",array[i][j]);

printf("\n");

}

fun(array);

printf("converted array:\n");

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

{

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

printf("%7d",array[i][j]);

printf("\n");

}

}

2.#include

main()

{

float x,y,s=0;

int n;

for(x=1;x<=100;x++)

{

n=x;

if(n%2==0)

y=-1/x;

else

y=1/x;

s=s+y;

}

printf("前n项和

为:%f\n",s);

}

3.#include

main()

{

int a[101]={0},i,n,s=0,t;

for(n=2;n<=100;n++)

{

for(t=0,i=2;i

{

if(n%i==0)t++;

}

if(t==0)a[n]=n;

}

for(n=2;n<=100;n++)

if(a[n]!=0&&a[n+2]!=0)s++

;

printf("2~100中的所

有的亲密素数对的个数

为:%4d\n",s);

}

C语言上机考试题—06

1.#include "stdio.h"

main()

{

int a,b,c,s,k;

printf("请输入一个大于2

小于1000的数:\n");

scanf("%d",&k);

printf("它的所有质因子是:

\n");

for(a=2;a<=k;a++)

if(k%a==0)

{

for(s=0,b=2;b

if(a%b==0)

s++;

if(s==0)printf("%5d",a);

}

printf("\n");

}

2. //#include "conio.h"

#include "stdio.h"

int fun (int n)

{

int s=0,k;

for(k=2;k

if(n%k==0)s+=k;

return s;

}

main()

{

//clrscr();

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

3.

#include

main()

{

double a=1,b=1,i,j,s=0;

int n;

printf("请输入求和项数N:\n");

scanf("%d",&n);

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

s+=1/(i*(i+1));

printf("数列前%d项求和为:%f\n",n,s);

}

C语言上机考试题--07

1.//#include

#include

#include

double fun(double x , int n) {

double a=1,c,s=0,i;

c=x;

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

{

a=a*i;

s=x/a+s;

x=x*c;

}

s=s+1;

return s;

}

main()

{

//clrscr();

printf("%f\n", fun(0.3,10)); }

2. #include

main()

{

int a,b,c,d,k;

for(k=100;k<=999;k++)

{

a=k/100;

b=(k-a*100)/10;

c=k-a*100-b*10;

d=a*a*a+b*b*b+c*c*c;

if(k==d)

printf("%5d",k);

}

printf("\n");

}

3. #include

#include

main()

{

float a,b,c,t,p;

for(;;)

{

printf("请正确输入三

角形三边长:\n");

scanf("%f%f%f",&a,&b,&c

);

if(a

t=a,a=b,b=t;

if(b

t=b,b=c,c=t;

if(a

t=a,a=b,b=t;

if(a0)break;

else continue;

}

p=(a+b+c)/2;

t=sqrt(p*(p-a)*(p-b)*(p-c));

printf("面积为:%f\n",t);

}

C语言上机考试题—08

1. //#include

#include

#include

float fun(int n)

{

int i,s=0;

float p=0;

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

{

s+=i;

p+=1.0/s;

}

return p;

}

main()

{

int n;

float s;

// clrscr()

printf("\nPlease enter N:");

scanf("%d", &n);

s = fun(n);

printf("the result is: %f\n",

s);

}

2. #include

main()

{

int i;

float h=100,s=100;

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

{

h=h/2;

s+=h*2;

}

printf("第10次落地时,共

经过:%f米\n",s);

printf("第10次反弹的高度

为:%f米\n",h);

}

3. #include

double fun()

{

double a=1,b=1,i,j,s=0;

for(i=1,j=3;;i++,j=j+2)

{

a=a*i;

b=b*j;

s=s+a/b;

if(a/b<0.000001)break;

}

s=2*(s+1);

return s;

}

main()

{

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

}

]C语言上机考试题—09

1. //#include "conio.h"

#include "stdio.h"

void fun( int m, int k )

{

int a,b,e=1,s=0;

for(b=m;;)

{

a=b%k;

b=b/k;

s+=a*e,e=e*10;

if(b

{

s+=b*e;

break;

}

}

printf("该数为:%d\n",s); }

main( )

{

int b,n;

//clrscr();

printf("\nPlease enter a number and a basen\n");

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

fun(n,b);

printf("\n");

}

2. #include "stdio.h"

main()

{

int a,b;

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

{

b=a*a;

if(b%10==a)printf("%4d\n",

a);

}

for(a=10;a<100;a++)

{

b=a*a;

if(b%100==a)printf("%4d\n

",a);

}

for(a=100;a<=1000;a++)

{

b=a*a;

if(b%1000==a)printf("%4d\n",a);

}

}

3. #include

main()

{

float f1,f2,f;

f1=2*(-1)*(-1)+3*(-1)+4;

f2=-2*5.0*5.0+3*5.0-4;

if(f1+f2<=2)

f=2*(f1+f2)*(f1+f2)+3*(f1+

f2)+4;

else

f=-2*(f1+f2)*(f1+f2)+3*(f1

+f2)-4;

printf("计算结果

为:%f\n",f);

}

C语言上机考试题—10

1. //#include

#include

long fun (int a, int n)

{

long b,e,temp,t,k=1,sum=0;

if(a<10&&a>0&&n>1&&n

<10)

{

temp=a;

for(;k<=n;k++)

{

for(b=0,e=1,t=1;t<=k;t++)

{

a=temp;

a=e*a;

e=e*10;

b+=-a;

}

sum+=b;

}

sum+=-2*b;

return sum;

}

else printf("输入有的A或

者N有问题求和结果不正确\n");

}

main( )

{

int a, n;

//clrscr() ;

printf("\nPlease enter a and

n:\n ") ;

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

printf("The value of

function is: %1d\n",fun(a,n));

}

2. #include

fun(int n)

{

int k,a=0;

for(k=2;k

if(n%k==0)a++;

return a;

}

main()

{

int i,j,k,n,t,a,b;

for(n=4;n<=100;n=n+2)

{

for(i=2;i

{

j=n-i;

if(fun(i)==0&&fun(j)==0)

break;

}

printf("%d=%d+%d\n",n,i,j) ;

}

}

3. #include

main()

{

int k,l,m,s=0;

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

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

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

if(100==k*10+l*20+m*50)

s++;

printf("共有%d种不同的兑换方法\n",s); }

C语言上机考试题—11

1. //#include

#include

double fun ( int x[ ]) {

int a[1000];

int i,j=0,k=0;

double s=0;

while(x[j]!='\0')

{

if(x[j]>0)

{

a[k]=x[j];

k++;

}

j++;

}

for(i=0;i

s+=a[i];

return s/k;

}

main( )

{

int x[1000]; int i=0;

// clrscr();

printf("\nPlease enter some

data (end with 0) ");

do

{

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

}

while(x[i++] !=0);

printf("%f\n",fun ( x ));

}

2. #include

#include

#define N 10

main()

{

char str[N];

int i=0,flag=0;

long num=0;

printf("请输入连续数字字

符(最多10为数字) :");

gets(str);

while(str[i]!='\0'&&str[i]!='

a')

{

if(str[i]=='-')

flag=1;

else

if(str[i]=='+')

flag=0;

else

num=num*10+(str[i]-'0');

i++;

}

if(flag==1)

num=-num;

printf("由数字字符串转化

成整数是:%ld\n",num);

}

3. #include

main()

{

int a,b,c,s=0;

for(a=0;a<=33;a++)

for(b=0;b<=50;b++)

for(c=0;c<=100;c=c+2)

if(100==3*a+2*b+c/2&&a+

b+c==100)

s++;

printf("共

有驼法:%d种\n",s);

}

C语言上机考试题—12

1. //#include

#include

float fun(int m, int n)

{

float t,p,j,i,k,o;

if(m

t=m,m=n,n=t;

for(p=1,j=1,i=1,o=m;p<=m-

n;o--,p++)

{

j=o*j;

i=p*i;

}

k=j/i;

return k;

}

main() /*主函数*/

{

// clrscr();

printf("P=%f\n", fun (12,8));

}

2.

#include

main()

{

int x,y,z,i;

printf("1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数:\n");

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

{

x=i%7,y=i%11;

if(x==0&&y!=0||y==0&&x! =0)

printf("%4d",i);

}

printf("\n");

}

3.

#include

main()

{

int a[3][3],i,j,sum=0;

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

{

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

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

}

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

{

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

{

if(i+j==2||i==j)

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

}

}

printf("%d",sum);

}

C语言上机考试题—13

1. #include

double fun(int n)

{

double a=1,b=2,c,sum=0;

for(;n>0;n--)

{

sum=a/b+sum;

c=a+b;

a=b;

b=c;

}

return sum;

}

main()

{

int n;

printf("Enter n: ");

scanf("%d", &n);

printf("\nThe result : %f \n",

fun(n));

}

2. #include

#include

main()

{

char str[81];

int i,j=0,w=1,s=0;

printf("请输入一串字符:

\n");

gets(str);

for(i=0;i

{

if(str[i]==' ')

s++;

if(str[i]=='

'&&str[i+1]!=' ')

w++;

}

if(str[0]==' ')

w--;

if(str[strlen(str)-1]==' ')

w--;

printf("单词个数为:%d\n

空格个数为:%d\n",w,s);

}

3. #include

main()

{

int k=1,sum=0;

for(;k<200;k=k+2)

sum=sum+k;

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

}

C语言上机考试题—14

1. //#include "conio.h"

#include "stdio.h"

#include "math.h"

float fun(int n)

{

float a=0,b=0,c=1,d,e,s=0,k;

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

{

s+=sqrt(a);

d=a+b+c;

a=b,b=c;

c=d;

}

return s;

}

main ( )

{

int n;

//clrscr( );

printf("Input N=");

scanf("%d", &n);

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

}

2 .#include

fun(int s[10])

{

int i,j;

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

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

if(s[j]

{

int temp;

temp=s[j];

s[j]=s[j+1];

s[j+1]=temp;

}

printf("这10个数按从大到小排列为:\n");

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

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

}

main()

{

int s[10],i=0;

printf("请输入10个整数:");

for(;i<10;i++)

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

fun(s);

printf("\n");

} 3. #include

fun(int s[10])

{

int i;

float a=0;

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

if(s[i]>s[i+1])

{

int temp;

temp=s[i];

s[i]=s[i+1];

s[i+1]=temp;

}

printf("这10个数中

最大的为:%d\n",s[9]);

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

a+=s[i];

printf("平均数

为:%.1f",a/10);

}

main()

{

int s[10],i=0;

printf("请输入10个整数:

");

for(;i<10;i++)

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

fun(s);

printf("\n");

}

C语言上机考试题—15

1. //#include"conio.h"

#include"stdio.h"

double fun(int m)

{

double a=1,b,j,s=0;

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

{

a=a*j;

b=1/a;

s+=b;

}

return s;

}

main()

{

int n;

//clrscr();

printf("Enter n ");

scanf("%d", &n);

printf("\nThe result

is%1f\n", fun(n));

}

2. #include"stdio.h"

main()

{

int a=1,j,s=0;

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

{

a=a*j;

s+=a;

}

printf("求和为:%d\n",s);

}

3. #include"stdio.h"

main()

{

int a;

for(;;)

{

printf("请输入小孩年

龄:\n");

scanf("%d",&a);

if(a<2||a>6)

{

printf("不适合

进入幼儿园,请检查年龄是否输

错。\n\n\n");

continue;

}

else break;

}

if(a==2||a==3)printf("编入小班\n");

if(a==4)printf("编入中班\n");

if(a==5||a==6)printf("编入大班\n");

}

C语言上机考试题--16

1. #include

#include

float fun(float num)

{

int s;

float n,t,pi;

t=1;

pi=0;

n=1;

s=1;

while (t>=num)

{

pi=pi+t;

n=n+2;

s=-s;

t=s%n;

}

pi=pi*4;

return pi;

}

main( )

{

float n1,n2;

clrscr();

printf("Enter a float number: ");

scanf("%f", &n1);

n2=fun(n1);

printf("%6.4f\n", n2);

}

2. #include"stdio.h"

#include"stdlib.h" void sort(int *,int );

main()

{

int m,i;

int a[20];

clrscr();/*清屏*/

for(;;){ /*读入M值,并进行

验证*/

printf("m=");

scanf("%d",&m);

if(m>=5&&m<=20) break;

printf("m>=5&&m<=20.\nplease

input againt.\n");

}

randomize();/*初始化随机种

子,否则每次产生的随机数序列

都是一样的*/

for(i=0;i

a[i]=rand();

printf("\nThe numbers :\n");

for(i=0;i

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

sort(a,m);

printf("\nThe sorted :\n");

for(i=0;i

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

flushall();/*清空缓存区*/

getch();/*按任意键返回*/

}

/*冒泡法排序*/

void sort(int a[],int m)

{

int pass,i;

int temp;

for(pass=1;pass

for(i=0;i

if(a[i]>a[i+1]){

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

}

}

3. #include

int main()

{

int a,i,m;

for(a=2;a<1000;a++) /*循环控

制选取2~1000中的各数进行判

断*/

{

for(m=0,i=1;i<=a/2;i++) /*计

算a的因子,并将各因子之和

m=a,则a是完全数输出*/

if(!(a%i))m+=i;

if(m==a)

printf("%4d ",a);

}

printf("\n");

}

C语言上机考试题—17

1. #include "stdio.h"

fun(int x,int y , int z )

{

int j=1;

for(;;j++)

if(j%x==0&&j%y==0&&j

%z==0)break;

return j;

}

main( )

{

int x1,x2,x3,j ;

printf("Input x1 x2 x3:\n");

scanf("%d%d%d",&x1,&x2

,&x3 ) ;

printf("x1=%d, x2=%d,

x3=%d\n",x1,x2,x3);

j = fun(x1,x2,x3);

printf("The minimal

common multiple is:%d\n",j);

}

2. #include "stdio.h"

main()

{

int a,b,sa,sb,k,t;

for(a=1;a<=1000;a++)

{

sa=0,sb=0;

for(k=1;k

if(a%k==0)

sa+=k;

if(sa<=1000)

b=sa;

for(t=1;t

if(b%t==0)

sb+=t;

if(a==sb&&a!=b)printf("a= %d\nb=%d\n\n\n",a,b);

}

}

3. #include "stdio.h"

main()

{

int a,b,c,s=0,k;

for(k=100;k<1000;k++)

{

a=k/100,b=k/10%10,c=k%1 0;

if(a!=b&&a!=c&&b!=c)

s++;

}

printf("这样的三位数有%d 个\n",s);

}

C语言上机考试题—18

1. //#include

#include

#include

int fun(int a) {

int i,b=0;

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

if(a%i==0)

b++;

if(b==1)

return 1;

else

return 0;

}

main()

{

int x;

// clrscr();

printf("\nPlease enter a

number:");

scanf("%d", &x);

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

}

2. #include

main()

{

int w=1,i;

printf("求

W=1+21+22+23+…+210\n");

for(i=21;i<=210;i++)

w+=i;

printf("求得:w= %d\n",w);

}

3. #include

main()

{

int i,j,s=0,p=0,k=1,t[21];

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

{

s=0;

for(i=1;i<=2*j-1;i++)

if((2*j-1)%i==0)

s++;

if(s==2)

{

p++;

t[k]=j;

k++;

}

}

printf("在[1,21]范围内梅

森尼数个数为:%d\n",p);

printf("其中最大的一个

是:%d\n",t[p]);

}

C语言上机考试题—19

1. //#include

#include

long fun ( int k)

{

int i;

long s=1;

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

s *= i;

return s;

}

main()

{

int k = 10 ;

// clrscr();

printf("%d!=%ld\n" , k, fun

( k )) ;

}

2. #include

main()

{

int i,j,s=0,w=0,p=0;

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

{

s=0;

w=0;

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

if(i%j==0)

s++;

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

if((i+2)%j==0)

w++;

if(s==1&&w==1)

p++;

}

printf("亲密素数个数为:%d\n",p);

}

3. #include

int add(int n)

{

int j,p=0;

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

p+=2*j-1;

return p;

}

main()

{

int n,i,s=0;

printf("数列为:S=1+(1+3)+(1+3+5)+…+(1+3+5+…+(2n-1))\n");

printf("请输入项数n= ");

scanf("%d",&n);

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

s=s+add(i);

printf("数列n项和s= %d\n",s);

}

C语言上机考试题—20

1.

#include

int fun(int n)

{

return n*(n+1);

}

main()

{

int n,i;

float s=0;

printf("please enter n=");

scanf("%d",&n);

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

s=s+1.0/fun(n);

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

}

2.

#include

fun(int s[10])

{

int i,j;

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

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

if(s[j]>s[j+1])

{

int temp;

temp=s[j];

s[j]=s[j+1];

s[j+1]=temp;

}

printf("这10个数按从小到

大排列为:\n");

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

printf("%d

",s[i]);

}

main()

{

int s[10],i=0;

printf("请输入10个整数:

");

for(;i<10;i++)

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

fun(s);

printf("\n");

}

3.

#include

#include

main()

{

float a,b,c,d,x1,x2;

printf("请输入a的值:");

scanf("%f",&a);

printf("请输入b的值:");

scanf("%f",&b);

printf("请输入c的值:");

scanf("%f",&c);

d=b*b-4*a*c;

if(d>0)

{

printf("x1=%4.2f\n",(-b+sqr

t(d))/(2*a));

printf("x2=%4.2f\n",(-b-sqrt

(d))/(2*a));

}

else

if(d==0)

printf("x1=x2=%4.2f\n",(-b)

/(2*a));

else

{

printf("x1=%4.2f+%4.2fi\n"

,(-b)/(2*a),sqrt(-d)/(2*a));

printf("x2=%4.2f-%4.2fi\n",

(-b)/(2*a),sqrt(-d)/(2*a));

}

}

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

C语言上机考试题

考试时间120分钟题目中所有要求统计或输出的地方都要用printf函数输出相关内容要求:新建一个以自己中文姓名命名的文件夹,将如下题目的答案保存在该文件夹中,各题命名要求Exam1.c,Exam2.c,Exam3.c,Exam4.c,Exam5.c 只需提交每个题目的源文件 1.定义一个字符数组s[50],从键盘输入如下字符串给s数组中,统计其中数字字符的个数和英文字母的个数以及特殊字符的个数。(要求:输入的字符为:“123ABCDhijkop#&%*&!”)(本题5分) 输入功能,3个统计 2.从键盘输入10个元素给数组a,然后将这些元素逆向复制到数组b中(要求:输入的这10个数为:1,2,3,4,5,6,7,8,9,10)。(本题5分) 输入,逆序2个功能,错一个扣2分 3.使用循环嵌套,打印输出如下图形结果(提示使用两次循环嵌套)。 (本题5分) 没有中文后面扣1分 实现一半扣2分 4.从键盘上输入一个字符,如果是’M’,输出Mondey,’T’输出Tuesday,’W’输出Wednesday,’R’输出Tursday,’F’输出Friday,’S’输出Saturday,’U’输出Sunday,否则输出Error(本题5分)输入字符,switch语句,细节有错扣0.5 5.从键盘上输入10个学生的数学成绩,使用冒泡排序实现对成绩的排序功能(排序后的成绩按从低到高排列,效果如下), 输出排序后的学生成绩,输出最高成绩,输出最低成绩,将55-60之间的成绩(含55,不含60)修改为60,并统计被修改的成绩个数,统计及格人数,统计95(含95,优秀)分以上的学生成绩人数,输出及格率和优秀率(>=60,及格,>=95优秀)。(要求:输入的10个

c语言期末考试及答案讲解

C语言考试模拟试卷 1.若有定义:char c;int d;程序运行时输入:c=1,d=2<回车>,能把字符1输入给变量c、整数2输入给变量d的输入语句是 A、scanf("c=%d d=%d",&c,&d); B、scanf("c=%c d=%d",&c,&d); C、scanf("c=%d,d=%d",&c,&d); D、scanf("c=%c,d=%d",&c,&d); 【答案】D 【解析】scanf()函数中,%d对应的参数是整数型地址,%c对应参数为char 型地址,C,A选项错误;如果输入地址有多个,应该用逗号隔开,B选项错误,故答案为D选项。 2.以下叙述错误的是 A、在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法 B、同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率 C、模块化的程序设计是采用自顶向下、逐步细化的原则 D、程序的每个模块都可通过三种基本结构实现 【答案】A 【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成各个模块的编写调试后

再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A选项叙述错误,C选项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B选项叙述正确。结构化程序主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D选项叙述正确。故选择A选项。 3.设有定义:int a=0,b=1,c=1; 以下选项中,表达式值与其它三个不同的是 A、b=a==c B、a=b=c C、a=c==b D、c=a!=c 【答案】A 【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A选项逻辑表达式a==c不成立(0),则 b=0,表达式值为0。B选项中将c赋值给b,b=1,再将b赋给a,a=1,表达式值为1。C选项逻辑表达式c==b成立(1),则a=1,表达式值为1。D选项逻辑表达式a!=c成立(1),则c=1,表达式值为1。A选项与其他选项不同,A选项正确。 4.设有两行定义语句:

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

C语言上机试题

1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。 5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。 6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n 中存放指定的下标。 7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。 8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)! 10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代步骤如下:(1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0.739085。 11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。 12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

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

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

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

个人收集整理-仅供参考 2008-2009学年第一学期期末考试试卷 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分. 考试结束后请将后页答题卡与试卷分开上交 ..... 一、单选题<每题2分,共30分) 1.以下叙述正确地是 ______ . A)C程序地每行只能写一条语句 B>语言本身没有输入输出语句 C)在C程序中,注释说明只能位于一条语句地后面 D)在多函数地程序中,main函数必须放在其它子函数地定义之前 2.以下不正确地常量表示形式是 ______ . A> 0.45 B>0XF5 C>‘\85’D> 32.67E-5 3. 以下不正确地变量名是 ______ . A)R&B B> _max C>INT D> SUM3 4. 以下正确地一组语句是 ________. A> int x=y=5; B> int n; scanf("%d",&n>;int a[n]; C> char a,*p; p=&a; D> char s[10]; s="hello"; 5. 若以下变量均已正确定义和赋值,则正确地语句是 ________. A> a=b==5; B> y=x%2.0; C> x+y=10; D> n=8=2*4; 6.下面各组中与给出地程序段功能不等价地是 ________. if(a>0> b=1; else if(a==0> b=0; else b=-1; A>if(a>0> b=1; B>if(a>0> b=1; C>if(a>0> b=1; D>if(a>=0> if(a==0> b=0; else if(a==0> b=0; if(a>0> b=1; if(a<0> b=-1; if(a<0> b=-1; else b=-1; if(a==0> b=0; else b=0; if(a<0> b=-1; 7. 运行下面程序段,若输入abc#,则程序输出是:________. char c;int v1=0,v2=0; while((c=getchar(>>!='#'> { switch(c> { case 'a':v1++; default :v1++;v2++; case 'c':v2++; } } printf("v1=%d,v2=%d\n",v1,v2>; A>2,2 B>3,5 C> 3,4 D>2,5

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

C语言期末考试复习题及答案

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

C语言程序设计课程C语言上机考试题—2014

1、从键盘输入10个整数,对这10个数排序(由小到大)后输出。 2、从键盘输入10个整数,对这10个数排序(由大到小)后输出。 3、对于一个自然数,如果该数的所有因子之和正好等于该数,则该数称为完数。统计1000以内的完数个数。 4、编写主函数和一个函数int diff(int year, int m1, int d1, int m2, int d2)。(1)函数diff计算year年的m1月d1日至m2月d2日之间相隔的天数(假设m1<=m2);(2)主函数中输入某年的两个日期,调用diff函数计算它们之间相隔的天数,并输出。 5、编写主函数和一个函数void merge(int a[], int b[], int c[])。要求是:(1)函数merge对两个已是升序的数组a、b进行归并,归并后的结果仍然是升序的,并通过形参c返回;(2)主函数:定义长度为5的数组a,并升序初始化;定义长度为8的数组b,并升序初始化;调用merge函数对数组a、b进行归并,输出归并结果。 6、从键盘输入一个0~99999之间的整数。 ①判断它是一个几位数; ②将该数的各位数字按逆序输出。 7、输入一行字符,统计其中有多少个单词并输出,单词之间用空格符分隔开。 8、输入10个整数,判断它们是否为素数。要求:编写一个函数int prime(int m)来判断形参变量m是否为素数,如果是素数则返回1,否则返回0。 9、输入10个学生的成绩,求平均成绩。要求控制成绩输入的正确性,即控制输入的成绩必须为0~100分。 10、编写主函数和一个函数int monthDay(int year, int month)。(1)函数monthDay 计算year年month月的天数,并返回;(2)在主函数中输入一个日期(年、月、日),计算该日是当年的第几天(说明:需要调用monthDay函数)。 11、写两个函数int gcd(int m, int n)和int lcm(int m, int n),分别求两个正整数m 和n的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数的值在主函数中从键盘输入。 12、有0、1、2、3、4五个数字,能组成多少个互不相同且无重复数字的三位数?并计算这些三位数之和。 13、输出2至1000之间的所有同构数,所谓同构数是指它出现在它的平方数的右端。例如,5、6、25的平方分别等于25、36、625,所以5、6和25都是同构数。 14、编写一个函数,将一个数插入到已是升序的数组中,且插入后该数组仍是升序数组。已是升序数组的内容由主函数给出,待插入的数在主函数中输入。 15、编写一个程序,查找某数是否在给定的升序数组中,如果在则输出“Find success!”并输出它是第几个数,否则输出“No find!”。 16、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一个学生5门课程的平均成绩。 17、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一个学生有几门不及格的课程。 18、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一门课程4个学生的平均成绩。 19、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一门课程有几个不及格的学生。

2019年C语言期末考试题及答案

的一个)。, 求最小值出现的位置(如果最小值1、给定n个数据例如:输入的数组为:求出第一次出现的位置即可)。出现多次, 1 2 3 4 1 5 6 12 18 9k+1i<=n最大值第三行五行 10 11 2的值并输出。计算公式为:2、编写程序求无理数e e=1+1/1!+1/2!+1/3!+......+1/n! 求出的最大数为18,行坐标为2,列坐标为1。。当1/n!<0.000001时e=2.718282 7、求一个n位自然数的各位数字的积。(n 是小于10的 自然数)求一批数中最大值和最小值的积。3、 2、某一正数的值保留位小数,对第三位进行四舍48、计算n门课程的平均值,计算结果作为函数值返回。五入。例如:若有5门课程的成绩是:92,76,69,58,88,

则函数的值为76.599998。 x,5、从键盘上输入任意实数求出其所对应的函数值。 z=(x-4)的二次幂(x>4) 9、求一批数中小于平均值的数的个数。 z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他) M×N求出、6整型数组的最大元素及其所在的行坐标10、编写函数判断一个整数m的各位数字之和能否被7整除,及列坐标(如果最大元素不唯一,选择位置在最前面 0。调用该函数找出可以被7整除则返回1,否则返回 100~200之间满足条件的所有数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为:a=65 b=60 void fun(int tt[M][N],int pp[N]),11、请编一个函数16、将字符串中的小写字母转换为对应的大写字母, N列的二维数组,求出二维数组每列M tt指向一个行其它字符不变。

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

计算机二级C语言上机考试操作步骤及流程

二级C语言上机考试操作步骤 一、进入考试系统 单击桌面上的“考试系统”图标,进入考试启动界面。“考试启动界面”如图1所示。 图1 二、输入考生信息 进入考试界面后,单击“开始登录”按钮即可进入考试环境进行“考生信息”的输入。“信息输入”如图2所示。 图2 考生输入准考证号如“2427180018001800”后,单击“考号验证”按钮进行信息核实,系统会弹出如图3所示的对话框。 图3

在确定考生信息完全正确时,单击“是”按钮,进入答题界面,如下图所示,上方含有“程序填空题”、“程序修改题”、“程序设计题”三个按钮, 三、开始答题 本次考试共有50套题,每一套题的填空、改错和编程题的答案均附在后面。学生进入上述考试界面后,首先点击程序设计题,根据程序设计题从而明白是哪一套题的组合,然后开始正式答题。过程如下: 1.程序填空题 单击考试界面中的“程序填空题”按钮后,题目显示区将显示出题目对应的文字叙述信息。通过文字叙述可以了解到该题目的考试内容。然后单击左上角“答题”菜单中的“启动Microsoft Visual C++”菜单项进入“Visual C++ 6.0”系统环境界面,如下图所示。 进入系统环境后,执行左上角的“文件|打开”命令,系统弱出“打开”对话框,选择“blank1.c”程序文件,

点击左下角的“打开”按钮,如图4所示。 图4 打开“blank1.c”程序文件后,开始填空。填空方法如下: (1)在程序中找到“******** found *******”标识位置。 (2)把“found ”标识位置下面的需要填空的“占位符”删除(需要连横线一起删除),将程序的答案写在对应位置。例如下图所示。 原“blank1.c ”程序图: 打开

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