文档库 最新最全的文档下载
当前位置:文档库 › C语言上机考试

C语言上机考试

C语言上机考试
C语言上机考试

一、单项选择

1.题号:4889

以下函数调用语句中,实参的个数是().

exce((v1,v2),(v3,v4,v5),v6);

A、3

B、4

C、5

D、6

// (v1,v2)是一个逗号表达式,(v3,v4,v5)也是一个逗号表达式

答案:A

2.题号:4093

关于return语句,下列正确的说法是().

A、可以在同一个函数中,出现多次

B、在主函数和其他函数中,均可出现

C、必须在每个函数中,出现

D、只能在除主函数之外的函数中,出现一次

//只能执行其中的一个的return 语句。并且函数遇到return语句,结束函数的执行。答案:A

3.题号:4535

数组名作为实参数传递给函数时,数组名被处理为().

A、该数组的首地址

B、该数组的元素个数

C、该数组中各元素的值

D、该数组的长度

答案:A

4.题号:4525

在C语言的函数中,下列正确的说法是().

A、数组名不能作形参

B、可以有也可以没有形参

C、形参必须是变量名

D、必须有形参

答案:B

5.题号:4083

以下正确的函数定义形式是().

A、 double fun(int x,int y)

B、 double fun(int x;int y)//错在分号

C、 double fun(int x,y);//错在形参y没有类型

D、 double fun(int x,int y);//错在函数头后没有分号

答案:A

6.题号:4232

C语言程序中,必须有的函数是().

A、main()

B、#include"stdio.h"

C、scanf

D、printf

7.题号:4048

下面对函数的叙述,正确的是().

A、函数中无论是否有 return语句,都能返回正确值

B、函数中没有 return语句,说明不带回值

C、函数不能嵌套定义

D、函数的返回值是通过 return语句获得的

答案:C

8.题号:4073

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是().

A、传递方式由用户指定

B、由实参传给形参,再由形参传回实参

C、地址传递

D、单向值传递

答案:D

9.题号:5119

下列关于函数的叙述中正确的是().

A、每个函数都可以单独运行

//主函数可以单独运行。其它的函数都需要被调用才能被执行。

B、在一个函数内部可以定义另一个函数//不可以嵌套定义

C、每个函数都可以被单独编译

D、每个函数都可以被其他函数调用(包括main()函数)//不包括主函数

答案:C

10.题号:4787

设函数的调用形式如下:f((x1,x2),(y1,y2,y3)),则函数有()个形参.

A、5

B、3

C、2

D、4

答案:C

11.题号:4901

在C语言中,形参的缺省存储类是().

A、static

B、register

C、auto

D、extern

答案:C

12.题号:4507

C语言规定,在一个源程序中,main()函数的位置.

A、必须在最开始

B、必须在系统调用的库函数的后面

C、可以任意

D、必须在最后

答案:C

13.题号:4847

以下叙述中,正确的是().

B、C语言程序将从源程序中,第一个函数开始执行

C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行

D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束

答案:D

14.题号:5137

以下函数的类型是

fff(float x)

{

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

}

//函数返回值省略。默认为int型。

A、void 类型

B、int类型

C、与参数x的类型相同

D、无法确定

答案:B

15.题号:4403

C语言规定,在一个C程序中,main()函数的位置().

A、可以在任意位置

B、必须在程序的最后

C、必须在程序的开始

D、必须在系统调用的库函数之后

答案:A

16.题号:4112

C语言规定,函数返回值的类型是().

A、由return语句中的表达式类型所决定

B、由调用该函数时的主调函数类型所决定

C、由调用该函数时系统临时决定

D、由定义该函数时所指定的数值类型决定

答案:D

17.题号:4804

以下所列的函数"首部"中,正确的是().()

A、void play(int a,b)

B、void play(int a,int b)

C、void play(a:int,b:int)

D、void play(a as int,b as int)

答案:B

18.题号:4432

有以下函数定义:

int fun(double a,double b)

{return a*b;}

若以下选项中,所用变量都已正确定义并赋值,错误的函数调用是().

A、z=fun(fun(x,y),fun(x,y));

B、z=fun(fun(x,y)x,y);

D、fun(x,y);

答案:B

19.题号:5050

对于void 类型函数,调用时不可作为().

A、if语句的成分语句

B、表达式

C、循环体里的语句

D、自定义函数体中的语句

//无返回值函数只能以语句形式调用。不可以作为表达式或实参答案:B

20.题号:4269

若使用一维数组名作函数实参,则以下正确的说法是().

A、必须在主调函数中,说明此数组的大小

B、实参数组类型与形参数组类型可以不匹配

C、实参数组名与形参数组名必须一致

D、在被调用函数中,不需要考虑形参数组的大小

答案:A

21.题号:4696

在C语言中,调用函数除函数名外,还必须有().

A、实际参数

B、()

C、函数预说明

D、函数返回值

答案:B

22.题号:4892

以下错误的描述是:函数调用可以().

A、做为一个函数的实参

B、做为一个函数的形参

C、出现在一个表达式中

D、出现在执行语句中

//函数调用形式一共有三种:独立语句形式。表达式或函数的实参答案:B

23.题号:4256

当调用函数时,实参是一个数组名,则向函数传送的是().

A、数组每个元素中的值

B、数组的首地址

C、数组的长度

D、数组每一个元素的地址

答案:B

24.题号:5014

若用数组名作为函数的实参,传递给形参的是().

A、数组的首地址

B、数组元素的个数

C、数组第一个元素的值

D、数组中,全部元素的值

25.题号:4843

如果在一个函数中的复合语句中,定义了一个变量,以下正确的说法是().

A、该变量在本程序范围内均有效

B、该变量只在该复合语句中,有效

C、该变量在该函数中,有效

D、该变量在主函数中,有效

答案:B

26.题号:4319

C语言中,规定,程序中,各函数之间().

A、既允许直接递归调用也允许间接递归调用

B、允许直接递归调用不允许间接递归调用

C、不允许直接递归调用允许间接递归调用

D、不允许直接递归调用也不允许间接递归调用

答案:A

27.题号:5062

凡是函数中,未指定存储类别的局部变量,其隐含的存储类别为().

A、自动(auto)

B、静态(static)

C、外部(extern)

D、寄存器(register)

答案:A

28.题号:4672

以下叙述中,正确的是().

A、构成C程序的基本单位是函数

B、main()函数必须放在其它函数之前

C、所有被调用的函数一定要在调用之前进行定义

D、可以在一个函数中,定义另一个函数

答案:A

29.题号:4236

全局变量的定义不可能在().

A、最后一行

B、文件外面

C、函数内部

D、函数外面

答案:C

30.题号:4754

以下对C语言函数的描述中正确的是().

A、C程序中有调用关系的所有函数必须放在同一个程序文件中

B、C函数既可以嵌套定义又可以递归调用//不可以嵌套定义

C、函数必须有返回值,否,则不能使用函数//函数返回值可以为void

D、C程序必须由一个或一个以上的函数组成

答案:D

31.题号:4045

在C语言中,变量的隐含存储类别是().

A、static

C、无存储类别

D、extern

答案:B

32.题号:4578

若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的是().

A、函数调用可以作为一个函数的形参

B、函数调用可以作为独立的语句存在

C、函数调用可以作为一个函数的实参

D、函数调用可以出现在表达式中,

答案:A

33.题号:4537

以下正确的函数声明语句是().

A、int add(int a,int b)//少了分号。不是语句。

B、 double add();

C、int add(char a[][]);//数组第二维长度不可省略

D、char add(char a,b);//b没有数据类型

答案:B

34.题号:4436

已知year为整型变量,不能使表达式(year%4==0&&year%100 !=0)

||year%400==0的值为"真"的数据是().

A、1990

B、1996

C、2000

D、1992

答案:A

35.题号:5040

以下叙述中,不正确的是().

A、在一个函数内定义的变量只在本函数范围内有效

B、在一个函数内的复合语句中,定义的变量在本函数范围内有效 //在复合语句内有效

C、函数中的形式参数是局部变量

D、在不同的函数中,可以使用相同的名字的变量

答案:B

36.题号:3986

函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是().

A、实参与形参是双向传递//单向传递。由实参单向赋值给形参

B、形参和实参可以同名

C、实参类型一定要在调用时指定

//偷换概念。形参类型一定要在定义时给定。调用时,与函数名和实参变量名有关。与类型无关。

D、形参可以是表达式//形参必须为变量

答案:B

二、判断题

==================================================

1.题号:4018

函数的嵌套调用中,被调用函数执行完成后,均返回主函数.

//返回上一级调用函数

2.题号:4872

函数在说明时,可以不定义函数的形参名,只指定函数相应位置上形参的类型.

函数说明语句的三种形式:

int max(int a,int b); //与用户自定义函数中的形参变量名一样

int max(int,int); //省略形参变量名

int max(int aa,int bb); //与用户自定义函数中的形参变量名不一样

答案:正确

3.题号:4204

函数中的形式参数是局部变量.

答案:正确

4.题号:4577

静态局部变量是在编译时被初始化的,故它只被赋初值一次.

答案:正确

5.题号:4846

gets 函数是用来输入一个字符的函数.

//gets函数是用来输入一个字符串的。它以回车键结束。可以读入带空格的字符串。

答案:错误

6.题号:5028

静态局部变量在整个程序运行期间都不释放.

答案:正确

7.题号:4767

函数调用时,实参和形参在类型上应按位置与形参一一对应匹配;如果类型不匹配,通常编译器并不给出出错信息.

答案:正确

8.题号:4984

一个C程序只能由一个主函数组成

//一个程序可以由一个或多个函数组成。但只能有一个主函数

答案:错误

9.题号:5013

C程序的基本组成单位是函数

答案:正确

C语言的函数可以嵌套定义

//可以嵌套调用。不可以嵌套定义。

答案:错误

11.题号:4288

函数定义当中的函数类型是return语句中表达式的类型.

//若return后的表达式的类型和函数返回值类型不一致时。系统自动将return后的类型//转换为函数返回值的类型。

答案:正确

12.题号:4442

C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的.

答案:正确

13.题号:4989

C语言中return语句可以返回函数值.如果return语句后表达式的值与函数说明的类型不一致,则以return语句的表达式类型为准,系统将自行转换.

答案:错误

14.题号:4783

通过return语句,函数可以带回一个或一个以上的返回值.

//return语句只能带回一个值。不能带回2个或多个值。但地址传递可以。

答案:错误

15.题号:5084

若一个函数的返回类型为void,则表示其没有返回值.

答案:正确

16.题号:4175

在C语言中,不允许函数嵌套定义,但函数可以嵌套调用.

答案:正确

17.题号:4689

return 语句可以在同一个函数中出现多次.

//但只能执行其中一个。且调用函数结束。

答案:正确

18.题号:4351

所有定义在主函数之前的函数无需进行声明.

答案:正确

19.题号:4097

每次调用函数时,都要对静态局部变量重新进行初始化.

//静态变量可以由系统进行初始化。也可以由用户进行初始化。但只初始化一次。生命//周期是程序运行的整个时间。局部变量每次调用时都要进行初始化。

答案:错误

20.题号:4092

在不同的函数中可以使用相同名字的变量.

答案:正确

21.题号:4584

函数调用时,要求实参与形参的个数必须一致,对应类型一致.

答案:正确

22.题号:4055

C语言程序总是从main()函数开始执行.

答案:正确

23.题号:4161

没有初始化的整型静态局部变量的初值系统均默认为0.

答案:正确

24.题号:4349

在C语言的函数中,必须有形参.

答案:错误

25.题号:5108

在C语言中,函数可以嵌套定义,但不能嵌套调用.

答案:错误

三、填空题

==================================================

1.题号:4286

在函数中,需要返回一个结果时,可以使用_____语句.

答案:空 1:return

2.题号:4371

函数的_____调用是一个函数直接或间接地调用它自身.

3.题号:4333

C语言中,格式输入操作是由库函数_____完成的,格式输出操作是由库函数_____完成的.

答案:空 1:scanf

空 2:printf

4.题号:4373

C源程序中的主函数的名称必须是_____。

答案:空 1:main

5.题号:4601

下述函数的功能是_____。

void func(int a[ ],int n)

{ int i,j;

for(i=1;i

{ for(j=i;j>0&&a[j]

{ int t=a[j];

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

a[j-1]=t;

}

}

}

答案:空 1:用冒泡法由小到大排序【或】冒泡法排序【或】排序【或】由小到大排序

6.题号:4885

函数调用时的实参和形参之间的数据是单向的_____传递.

答案:空 1:值

7.题号:4690

如果函数不要求返回值,可用_____来定义函数为空类型.

答案:空 1:void

四、程序设计

==================================================

1.题号:7041

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:函数fact(x)的功能是求x!。编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。要求:m不能小于n,

否则应有容错处理。

--------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数

main和其它函数中的任何内容,仅在函

数fun的花括号中填入所编写的若干语句。

*********Begin**********和********** End **********不可删除

------------------------------------------------*/

#include "stdio.h"

long fact(int x)

//函数返回值一定要定义为long。因为阶乘值增长的很快。很容易超出int的范围{

long y;//y是存放阶乘值的变量。所以要定义为长整型long.

int i;

y=1;

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

y=y*i;

return y;

}

main()

{

int m,n;

long zhsgs;

printf("请输入m和n:\n"); scanf("%d%d",&m,&n);

/**********Begin**********/

while(m

{

printf("m和n输入错!请重新输入:\n");

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

}

zhsgs=fact(m)/(fact(n)*fact(m-n));

/********** End **********/

printf("从%d个元素选%d个元素的组合数的个数是:%d\n",m,n,zhsgs);

getch();

yzj();

}

yzj()

{

FILE *IN,*OUT;

int n;

int i;

long o;

if(IN==NULL)

{printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{printf("Write File Error");

}

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

{

fscanf(IN,"%d",&i);

o = fact(i);

fprintf(OUT,"%ld\n",o);

}

fclose(IN);

fclose(OUT);

}

1.示例代码:

while(m

{

printf("m和n输入错!请重新输入:\n");

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

}

zhsgs=fact(m)/(fact(n)*fact(m-n));

2.题号:6931

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:对某一正数的值保留2位小数,并对第三位进行四舍五入。

注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

*********Begin**********和********** End **********不可删除

------------------------------------------------*/

#include "stdio.h"

#include"conio.h"

void TestFunc();

float fun(float h)

{

/**********Begin**********/

int i;//假设h=12.5489

i=(int)(h*1000)%10;//i=(int)(12.5489*1000)%10=12548%10=8

return(int)(h*100+1)/100.0;

else

return(int)(h*100)/100.0;

/********** End **********/

}

void main()

{

float m;

printf("Enter m: ");

scanf("%f", &m);

printf("\nThe result is %8.2f\n", fun(m)); TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int s ;

float t;

float o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error");

}

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

{

fscanf(IN,"%f",&t);

o=fun(t);

fprintf(OUT,"%8.2f\n",o);

}

fclose(IN);

fclose(OUT);

}

2.示例代码:

i=(int)(h*1000)%10;

if(i>=5)

return(int)(h*100+1)/100.0;

else

return(int)(h*100)/100.0;

3.题号:6993

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat)。

例如,分别输入下面两个字符串:

FirstString--

SecondString

程序输出:

FirstString--SecondString

注意:部分源程序存在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

*********Begin**********和********** End **********不可删除

*/

#include

#include

#include

void fun(char p1[],char p2[])

{

/********** Begin **********/

int i=0,j=0;

while((p1[i])!='\0')

i++;//求字符串p1的长度。

while(p2[j]!='\0')//遍历字符串p2

{

p1[i]=p2[j];//注意下标变化的不同。

i++;

j++;

}

p1[i]='\0'; /********** End ***********/

}

NONO ( )

int i ;

FILE *rf, *wf ;

char s1[80], s2[40] ;

rf = fopen("bc02.in", "r") ;

wf = fopen("bc02.out", "w") ;

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

fscanf(rf, "%s", s1) ;

fscanf(rf, "%s", s2) ;

fun(s1, s2) ;

fprintf(wf, "%s\n", s1) ;

}

fclose(rf) ;

fclose(wf) ;

}

main()

{ char s1[80],s2[40];

system("cls");

printf("Enter s1 and s2:\n");

scanf("%s%s",s1,s2);

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

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

printf("Invoke fun(s1,s2):\n");

fun(s1,s2);

printf("After invoking:\n");

printf("%s\n",s1);

NONO() ;

}

3.示例代码:

char *point1,*point2;

point1=p1;

point2=p2;

while((*point1)!='\0') point1++;

while(*point2!='\0'){

*point1=*point2;

point1++;

point2++;

}

*point1='\0';

4.题号:7002

/*------------------------------------------------ 【程序设计】

--------------------------------------------------

题目:能计算从1开始到n的自然数中偶数的平方的和,n由键盘输入,并在main()函数中输出。(n 是偶数)

注意:部分源程序给出如下。请勿改动主函数main和其

它函数中的任何内容,仅在函数fun的花括号中填

入所编写的若干语句。

*********Begin**********和********** End **********不可删除

------------------------------------------------*/

#include

void bky();

int fun(int n)

{

/**********Begin**********/

/********** End **********/

}

main()

{

int m;

printf("Enter m: ");

scanf("%d", &m);

printf("\nThe result is %d\n", fun(m));

bky();

}

void bky()

{

FILE *IN,*OUT;

int t;

int o;

int c;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read FILE Error");

}

if(OUT==NULL)

{

printf("Write FILE Error");

}

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

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%d\n",o);

}

fclose(IN);

fclose(OUT);

}

4.示例代码:

int sum,i;

sum =0;

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

{

sum=sum+i*i;}

return(sum);

5.题号:6968

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:将100到200之间的素数及素数的个数打印出来。

注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

*********Begin**********和********** End **********不可删除

------------------------------------------------*/

#include "stdio.h"

void TestFunc();

int fun(int m)

{

/*********Begin**********/

int i,k=1;

if(m<=1) k=0;

for(i=2;i

if(m%i==0) {k=0;break;}

return k;

}

main()

{

int m,k=0;

for(m=100;m<200;m++)

if(fun(m))

{

printf("%4d",m);

k++;

if(k%5==0)

printf("\n");

}

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

TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int iIN,iOUT,i;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Please Verify The Currernt Dir..It May Be Changed"); }

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Please Verify The Current Dir.. It May Be Changed"); }

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

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

5.示例代码:

int i,k=1;

if(m<=1) k=0;

for(i=2;i

return k;

6.题号:6959

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:产生20个[30,120]上的随机整数放入二维数组a[5][4]中,求每行元素的和。--------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。

*********Begin**********和********** End **********不可删除

------------------------------------------------*/

#include "stdlib.h"

#include

void bky();

void row_sum(int a[5][4],int b[5])

{

/**********Begin**********/

/********** End **********/

}

main()

{

void row_sum();

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

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

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

a[i][j]=rand(120-30+1)+30;

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

{

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

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

printf("\n");

}

row_sum(a,b);

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

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

bky();

}

void bky()

{

FILE *IN,*OUT;

int m,n;

int i[5][4];

int o[5];

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read FILE Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write FILE Error");

}

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

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

fscanf(IN,"%d",&i[m][n]);

row_sum(i,o);

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

fprintf(OUT,"%d\n",o[n]);

fclose(IN);

fclose(OUT);

}

6.示例代码:

int i,j;

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

{ b[i]=0;

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

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

}

第六题的完整程序如下。已经在dev-c++编译通过。

#include

#include

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void row_sum(int a[5][4],int b[5])

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"至U "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,计算结果作为函数值返回『通过形参 传入。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;⑵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题下列程序定义了nx n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能就是:使数组左下半三角元素中的值全部置成0。 12:第12题下列程序定义了n x n的二维数组,并在主函数中赋值。请编写函数fun,函数的 功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13:第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt 指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。 14:第14题请别写函数fun,函数的功能使求出二维数组周边元素之与,作为函数值返回。二 维数组中的值在主函数中赋予。 15:第15题请编写一个函数unsigned fun(unsigned w),w 使一个大于10的无符号整数,若w 使n(n>2)位的整数,则函数求出w后n-1位的数作为函数值返回。 16:第16题请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树, 并对第三位进行四舍五入(规定h中的值位正数)。 17:第17题请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。 18:第18题编写程序,实现矩阵(3行3列)的转置(即行列互换)。 19:第19题编写函数fun,该函数的功能就是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。20:第20题编写函数int fun(int lim,int aa[max]),该函数的功能就是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。 21:第21题请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

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语言上机试题

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语言上机考试题—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语言程序设计课程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门课程的成绩,编写一个程序统计每一门课程有几个不及格的学生。

C语言上机考试经典试题(3套)

四川省普通高等学校计算机应用知识和能力 第二十八次等级考试 二级(C与C++语言) 笔试试卷 时间: 2008年4月19 日 上午9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。( 1 ) 2. 数据在计算机内存中的表示是指数据的存储结构。( 2 ) 3. Windows是多用户多任务操作系统。( 3 ) 4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 4 ) 5. 链表可以随机访问任意一个结点,而顺序表则不能。( 5 ) 6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 6 ) 7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 7 ) 8. 中断控制方式适用于外存同CPU之间进行大量数据交换。( 8 ) 9. 提供没有错误的程序是提高软件的可维护性的基本措施。( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 ) 二、选择题(每小题1分,共5分) 1. 数据流图是用于描述结构化方法中(11 )工作阶段的工具。 11 (A) 可行性分析(B) 程序编码 (C) 详细设计(D) 需要分析 2. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能的出栈序列是(12 )。 12 (A) 1,4,3,2 (B) 3,1,4,2 (C) 2,3,4,1 (D) 3,4,2,1 3. 任何两个并发进程之间(13 )。 13 (A) 可能存在同步或互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 一定存在互斥关系 4. 以下的哪个特征不是分时操作系统的主要特征(14 )。 14 (A) 分时性(B) 独占性 (C) 交互性(D) 多路性 5. 需求分析中开发人员主要从用户那里了解(15 )。 15 (A) 软件的维护(B) 软件的结构 (C) 软件做什么(D) 软件的测试

计算机二级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 ”程序图: 打开

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)

大学本科C语言上机考试题

C语言程序设计上机考试题 班级:姓名:学号: 使用C语言编写下列程序(20分×5=100分) 1、输入3个整型数据,求出最大数和最小数。 #include int main() {inta,b,c,e,d,f,g; printf("请输入三个数\n"); scanf("%d,%d,%d",&a,&b,&c); d=(a>b?a:b); e=(d>c?d:c); printf("Max is %d\n",e); f=(a int main() {float score; char grade; printf("请输入学生成绩:"); scanf("%f",&score); while(score>100||score<0)); {printf("\n输入有误,请输入); scanf("%f",&score); } switch((int)(score/10)) {case 10: case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break;

case 5: case 4: case 3: case 2: case 1: case 0:grade='E'; } printf("成绩是%5.1f,相应的等级是%c\n",score.grade); return 0; } 3、编写一个四则运算程序,输出计算结果。 #include int main() {intc,d,e; floata,b,f; printf("请输入两个数"); scanf("%f,%f",&a,&b); c=a+b; d=a-b; e=a*b; f=a/b; printf("加法结果为%d\n",c); printf("减法结果为%d\n",d); printf("乘法结果为%d\n",e); printf("除法结果为%f\n",f); return 0; } 4.100以内的素数 从键盘输入一个正整数,判断该整数是否为素数。 #include int main() { intn,i; printf("\n"); scanf("%d",&n); for (i=2;i<=n-1;i++) if(n%i==0) break; if(i

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个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。

历年全国计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

C语言上机测试题

01.编写程序,从键盘输入一个正数,判断它是否既是5又是7的倍数。若是,则输出yes,否则输出no。 02.编写程序,从键盘输入一个五分制成绩,将其转换成百分制成绩输出。 03.编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为'+','-','*','/'(用switch语句实现)。 04.从键盘输入一行字符,统计并输出其中的单词个数,单词间用空格间隔。如输入: I am a student 结果显示:word=4。 05.从键盘输入3个字符串,要求找出最大的字符串并输出。 06.某班有多个同学,请编程实现输出该班高数课程的最高分、高低分和全班平均分。 07.输入两个正整数,求其最大公约数和最小公倍数。 08.从键盘输入10个实型数据,用查找数组中是否存在某一数据,存在则输出"Find",否则输出"NO Find"。 09.从键盘输入若干个字符(以回车结束输入),若为大写字母则转换为小写,并将结果显示输出。 10.将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。 11.编写函数prime,判断一个整数是否是素数。在主函数输入一个数,调用prime函数判断这个数是否是素数,然后在主函数中输出是否为素数的信息。 12.编写一个fun函数:long fun(char s[]),将一个数字字符串转换为一个整数(不得调用标准库函数)。例如,若输入字符串"9876",则函数把它转换为整数值9876。

13.编写一个fun函数:void fun(long num, char s[]),将一个长整型数据转换为数字串。 14.编写一个求字符串长度的函数,在主函数中输入字符串,并输出其长度(不得调用标准库函数)。 15.编写程序,输出100~200之间的全部素数。 16.编写程序,按每行5个,输出100以内的全部素数。 17.编写程序,在屏幕上显示九九乘法表。 18.编写一个fun函数:void fun(char s[]),将一个字符串中的小写字母转换为大写(不得调用标准库函)。 19.从键盘输入10个整数,按降序排列后输出(要求用自义函数排序)。 20.输入一个3行3列的9个数据,再输出最大元素及所在的行号、列号。 21.试编写一个C程序:输入10个同学的单科成绩,要求按由大到小的顺序输出。 22.从键盘输入一个字符串(<80个字符),删除其中的数字字符。 23.给出一个百分制成绩,要求输出成绩等级 A,B,C,D,E。90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。 24.从键盘输入一个不多于5位的正整数,要求:①分别打印出每一位数字;②按逆序打印出各位数字,例如原数是987,应输出789。 25.比较两个字符串S1和S2,如果S1>S2,输出1;如果S1=S2,输出0;如果S1

c语言上机考试题

上机考试:6月2日 13:30 不准携带:课本/参考书/参考资料/移动存储设备/草纸 一定要带:学生证/签字笔 1 用起泡法对N=10个整数由大到小排序。10个整数由键盘输入,排序后从屏幕输出结果 2 编写一函数,从实参传来一个字符串,分别统计其中数字、大写字母、小写字母和其它字符的个数,输入输出在main函数中完成 3 用一函数inv将一个字符串的字符逆序排列。输入输出在main函数中完成。要求在inv中用指针处理。4 求200之内的素数的和。从屏幕输出结果 5 从屏幕输入一行字符,将所有的大写字母转换为小写字母,所有的小写字母转换为大写字母,其它字符不变,从屏幕输出结果 6 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次落地后又反弹多高? 7 对N=20个字符由大到小排序。20个字符由键盘输入,排序后从屏幕输出结果 8 有一字符串,把其中的字母a和A去掉,成为一个新字符串。原字符串从键盘输入。从屏幕输出结果 9 求Fibonacci数列的前30项的和。从屏幕输出结果。Fibonacci数列为: F(1)=1,(n=1) F(2)=1,(n=2) F(n)=F(n-2)+F(n-1),(n>=3) 10 写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串 11 从键盘输入一个大于2的整数,判断是否是素数。从屏幕输出结果。要求用函数处理 12 从键盘输入月份,输出这个月有多少天。要求用函数处理 13 求两个数的最大公约数。要求用函数处理 14 求两个数的最小公倍数。要求用函数处理 15 从屏幕输入3个整数,按从小到大顺序输出,要求用指针进行处理 16

C语言上机试题及答案

实验一 Visual C++6.0的使用及顺序结构程序设计 一、实验目的 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)单击“结束”按钮,关闭窗口,进入VC6.0开发环境的主窗口。 2.使用Visual C++6.0对一个C程序进行编辑、编译、连接和运行。 ⑴分析 Visual C++6.0中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。 ⑵步骤 ①编辑

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

c语言上机考试

去年的c语言上机考试,是题库的题 四、编写程序题及参考答案 【4.41】从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 【4.42】输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。 【4.43】编写程序,读入一个整数N;若N为非负数,则计算N到2×N之间的整数和;若N为一个负数,则求2×N到N之间的整数和。分别利用for和while写出两个程序。 【4.44】求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶? 【4.45】一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。 【4.46】编写程序,用二分法求一元二次方程2x3-4x2+3x-6=0在(10,10)区间的根。 【4.47】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。请编写一程序, 采用割圆法求出π的值,要求精确到小数点之后的第十位。 【4.48】A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各 自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自 己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、 E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。 【4.49】一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下 车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的; 丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 【4.50】若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取 8个球,编写程序求出共有多少种不同的颜色搭配。 【4.51】100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编 写程序计算大、中、小马的数目。 【4.52】编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。

大学本科C语言上机考试题

C语言程序设计上机考试题 班级::学号: 使用C语言编写下列程序(20分×5=100分) 1、输入3个整型数据,求出最大数和最小数。 #include int main() {int a,b,c,e,d,f,g; printf("请输入三个数\n"); scanf("%d,%d,%d",&a,&b,&c); d=(a>b?a:b); e=(d>c?d:c); printf("Max is %d\n",e); f=(a int main() {float score; char grade; printf("请输入学生成绩:"); scanf("%f",&score); while(score>100||score<0)); {printf("\n输入有误,请输入); scanf("%f",&score); } switch((int)(score/10)) {case 10: case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break;

case 5: case 4: case 3: case 2: case 1: case 0:grade='E'; } printf("成绩是%5.1f,相应的等级是%c\n",score.grade); return 0; } 3、编写一个四则运算程序,输出计算结果。 #include int main() {int c,d,e; float a,b,f; printf("请输入两个数"); scanf("%f,%f",&a,&b); c=a+b; d=a-b; e=a*b; f=a/b; printf("加法结果为%d\n",c); printf("减法结果为%d\n",d); printf("乘法结果为%d\n",e); printf("除法结果为%f\n",f); return 0; } 4.100以的素数 从键盘输入一个正整数,判断该整数是否为素数。 #include int main() { int n,i; printf("\n"); scanf("%d",&n); for (i=2;i<=n-1;i++) if(n%i==0) break; if(i

C语言上机考试

一、单项选择 1.题号:4889 以下函数调用语句中,实参的个数是(). exce((v1,v2),(v3,v4,v5),v6); A、3 B、4 C、5 D、6 A、可以在同一个函数中,出现多次 B、在主函数和其他函数中,均可出现 C、必须在每个函数中,出现 D、只能在除主函数之外的函数中,出现一次 A、该数组的首地址 B、该数组的元素个数 C、该数组中各元素的值 D、该数组的长度 答案:A 2.题号:4525 在C语言的函数中,下列正确的说法是(). A、数组名不能作形参 B、可以有也可以没有形参 C、形参必须是变量名 D、必须有形参 答案:B 3.题号:4083 以下正确的函数定义形式是(). A、double fun(int x,int y)

B、#include"" C、scanf D、printf 答案:A 4.题号:4048 下面对函数的叙述,正确的是(). A、函数中无论是否有return语句,都能返回正确值 B、函数中没有return语句,说明不带回值 C、函数不能嵌套定义 D、函数的返回值是通过return语句获得的 答案:C 5.题号:4073 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(). A、传递方式由用户指定 B、由实参传给形参,再由形参传回实参 C、地址传递 D、单向值传递 答案:D 6.题号:5119 下列关于函数的叙述中正确的是(). A、每个函数都可以单独运行 A、5 B、3 C、2 D、4 答案:C 7.题号:4901

A、static B、register C、auto D、extern 答案:C 8.题号:4507 C语言规定,在一个源程序中,main()函数的位置. A、必须在最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在最后 答案:C 9.题号:4847 以下叙述中,正确的是(). A、main()可作为用户标识符,用以命名任意一个函数作为主函数 B、C语言程序将从源程序中,第一个函数开始执行 C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行 D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束 答案:D 10.题号:5137 以下函数的类型是 fff(float x) { printf("%d\n",x); }

相关文档