文档库 最新最全的文档下载
当前位置:文档库 › 2010-2011-1C语言考试(标准A)

2010-2011-1C语言考试(标准A)

2010-2011-1C语言考试(标准A)
2010-2011-1C语言考试(标准A)

河南理工大学 2010~2011 学年第 1 学期

《C语言程序设计》试卷(A卷)

考试方式:闭卷本试卷考试分数占学生总评成绩的70 %

复查人

一、单项选择题(每题2分,共40分)在每小题列出的四个选

项中只有一个选项是符合题目要求的,请将正确选项前的字母

填在题后的下划线“”上。

1.根据C语言的特点以下选项中不正确的选项是

A)习惯用小写字母,大小写字母有区别。

B)C语言主要由语句构成,语句是C程序的基本单位。

C)C语言本身没有输入输出语句。

D)用C语言写的程序可移植性好。

2.C语言中运算对象必须是整型数据的运算符是

A)% B)/ C)! D)&&

3.在C语言中,字符型(char)数据在内存中存放的形式为

A)BCD码 B)原码 C)补码 D)ASCII码

4.下列可以正确表示字符型常量的是

A)"a" B)'\t' C)'\028' D)'xy'

5.已知int i,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是

A)36 B)30 C)12 D)6

6.若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y

A)4 B)3 C)2 D)1

7.已知int x=6;则执行x+=x-=x*x;语句后,x的值为

A)36 B)-60 C)60 D)-24

8.以下程序的输出结果是

A)0,0,6 B)1,0,7 C)1,1,7 D)0,1,7

main( )

{ int i=0,j=0,k=6;

if ((++i>0) || (++j>0)) k++;

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

}

9.字符串"m\x43\\\np\102q"的长度是

A)7 B)9 C)15 D)16

10.若变量已正确定义,以下语句的输出结果是

A)%# B)*%$ C)% D)%$*

x=0;y=2;z=3;

switch(x)

{ case 0:switch(y)

{ case 1: printf("*");break;

case 2: printf("%");break;

}

case 1: switch(z)

{ case 1: printf("$");

case 2: printf("*");break;

default: printf("#");

}

}

11.若有以下宏定义

#define N 2

#define Y(n) ((N+1)*n)

则执行语句z=2*(N+Y(5));后的结果为

A)语句有错误 B)z=34 C)z=70 D)z值不确定12.以下不是死循环的语句为

A)for(;;x+=i);

B)while(1){x++;}

C)for(i=10;;i--)sum+=i

D)for(;(c=getchar())!='\n';)printf("%c",c);

13.以下程序段的输出结果是

A)9 B)1 C)11 D)10

int k,j,s;

for(k=2; k<6;k++,k++)

{

s=1;

for(j=k;j<6;j++)

《C语言程序设计》第1 页共4 页

s+=j;

}

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

14.已知:int a[10];则对a数组元素的正确引用是

A)a[10] B)a[3.5] C)a(5) D)a[10-10]

15.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是

A) abs(x-y)<10 B) x-y>-10&& x-y<10

C) @(x-y)<-10||!(y-x)>10 D) (x-y)*(x-y)<100

16.下面关于字符串的说明中,错误的是

A)char str[7]="FORTRAN";B)char str[]="FORTRAN";

C)char *str="FORTRAN";

D)char str[]={'F','O','R','T','R','A','N'};

17.下面对C语言的描述中,正确的是

A)在C语言中调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参。

B)C语言函数既可以嵌套定义又可以递归调用。

C)函数必须有返回值,否则不能使用函数。

D)C语言程序中有调用关系的所有函数都必须放在同一源程序文件中。

18.已知int *p();这里的p是

A)指向int类型的指针变量。

B)int 类型的指针数组。

C)一个函数,该函数的返回值是指向int类型的指针变量。

D)一个指向函数的指针变量,该函数的返回值是int类型。

19.设有int a[]={2,4,6,8,10},*p=a;,则值为8的表达式是

A)*p+3 B)*p+4 C)*(p+4) D)*(a+3)

20.已知函数定义如下:

abcd(char *s1,char *s2)

{

while(*s2++=*s1++);

}

函数abcd的功能是

A)串复制 B)求串长 C) 串比较 D)串反向

二、程序填空题(每空3分,共30分)下面给出了若干个程序,

请按照题意将下划线处缺少的部分补上,使其能正确运行。

21.程序读入20个整数,统计非负数个数,并计算非负数之

和。请填空完成。

#include

void main()

{

int i,a[20],s,count;

s=count=0;

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

scanf("%d", );

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

{ if(a[i]<0)

;

s+=a[i];

count++;

}

printf("s=%d\t count=%d\n",s,count);

}

22..以下fun函数的功能是将一个字符串的内容颠倒过来,如:int str[ ]="12345",则调用该函数后,str数组中的内容变为:"54321"。请填空。

#include "string.h"

void fun(int str[ ])

{ int i,j,k;

for(i=0,j= ; i

{ k=str[i];

str[i]=str[j];

str[j]=k;

}

}

23.下面给定的程序的功能是:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母,其他字符不变。请填空完成。main()

{ char ch;

scanf(“%c”,&ch);

if() ch=ch+32;

else if(ch>=‘a’&&ch<=’z’);

printf(“%c”,ch);

}

24.以下fun函数的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。

《C语言程序设计》第2 页共4 页

请填空完成。

#include

#define N 20

void fun(int a[],int n)

{

int i,j,k,t;

for(i=0;i

{

;

for(j=i+1;j

if()

k=j;

t=a[k];a[k]=a[i];a[i]=t;

}

}

main()

{

int a[N]={9,6,8,3,-1},i,m=5;

for(i=0;i

fun(a,m);

for(i=0;i

}

25.以下程序是将字符串a复制为字符串b,请将程序补充完整。

main()

{ char a[]="I am a boy.",b[20],*p1,*p2;

p1=a; p2=b;

while( )

{ *p2=*p1;

p1++,p2++;

}

;

printf("string a is:%s\n",a);

printf("string b is:%s\n",b);

}

三、修改下列程序的错误(共5处,每处3分,共15分)

请改正下列程序中的错误,使之能得出正确的结果。

注意:不要改动main函数,不得增行或减行,也不得更改程

序的结构!

26.给定程序中函数fun的功能是:计算n!。例如:给n输入5,则输出120.000000。

请改正程序中的错误,使它能得出正确的结果。

#include

/*********found*********/

double fun(int *n)

{ double result=1.0;

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

return 1.0;

while(n>1)

/**********found**********/

result*=--n;

return result;

}

main()

{ int n;

scanf("%d",&n);

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

}

fun(s,c);

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

}

27.给定程序中功能是:从键盘上输入2个整数,按从小到大的顺序输出这2个数。

/******found*******/

fun(int x, int y)

{ int temp;

temp=*x;*x=*y; * y=temp;

}

main()

{ int a,b;

/*******found******/

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

if(a

《C语言程序设计》第3 页共4 页

/********found*****/

fun(a, b)

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

}

四、程序设计(共2题,第一题7分,第二题8分,共15分)

29.编写程序,判断一个数是否是素数。

《C语言程序设计》第4 页共4 页

相关文档