c语言2011A卷(1)

装订线 1.5CM

A)string is:goodbaby B)string is:goodbby C)string is:goodb D)string is:g 37、下列程序段中,有错误的是() A)int f() B)int f2() { int x;

{

scanf(\ return (x>1?printf(\ return x++,x+5; }

}

C)main()

D)void chang(int x,int y) { float a=2.6,b;

{

b=max(2.1,3.6)=a++; int t;

printf(\ t=x;x=y;y=t; } }

38、以下函数值的类型是()

fun(float x) { float y; y=3*x-4; return(y); }

A)不确定 B)float C)int D)void 39、设有宏定义命令:

#define SUM 2+3

则表达式5+SUM*5的值为()

A)50 B)30 C)22 D)20

40、在文件包含预处理的定义形式中,#include后的文件名用<>括起来时,寻找被包含文

件的方式是()。

A)仅搜索当前目录

B)先在源程序所在的目录搜索,再按系统设定的标准方式搜索 C)仅搜索源程序所在目录

D)直接按系统设定的标准方式搜索

得分

三、阅读程序填空题(在答卷上答题,本大题共9小题,每空1分,共20分)

1、下面程序实现分别输出1至100(不包括100)范围内所有偶数的和与所有奇数的和,请填空完善。

#include

5

void main() { int i,s1,s2;

01) ;

for(i=1;i<100; 02) ) if( 03) ) s2+=i; esle s1+=i;

printf(\偶数和=%d,奇数和=%d\}

2、某物品原有价值为p,使用后其价值降低,价值的折扣率根据时间t(月数)确定如下:

无折扣?t?3 ?3?t?6 2%折扣??5%折扣 ?6?t?12 ?12?t?21 8%折扣?? 10%折扣?t?21 下面程序根据输入的时间和原有的价值计算物品的现有价值,请填空完善程序。

#include

void main() { int t,d; float p;

scanf(\ switch( 04) ){ case 0: d=0;break; case 1: d=2;break; case 2:

case 3:d=5;break; case 4: case 5:

case 6: d=8;break; 05) : d=10; }

printf(\ 06) ); }

3、该程序利用下面公式计算∏的近似值,取前n项之和,请填空完善程序。

?/4?1??#include void main() {

int i,n;

float t=1.0,pi=0;

scanf(\ 07) ); for(i=1;i<=n;i++){

6

1311??? 57装订线

pi+= 08) ; t= -t; }

printf(\}

4、下面程序完成输入一个整数并判断是否为素数,请填空完善程序。

#include #include void main() { int n,k,i=1;

scanf(\ k=sqrt(n);

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

if( 09) ) break; if( 10) ) printf(\ }

5、下面程序的功能是输出若干个字符串中长度最短的字符串,请填空完善程序。

#include #include void main()

{ char str1[80],min[80]; int k,len;

printf(\ gets(str1);

strcpy(min,str1); len=strlen(min); gets(str1);

while(str1[0]!='\\0'){ k=strlen(str1); if( 11) ){ len=k;

12) ; }

gets(str1); }

printf(\}

6、下列程序的功能输入一组数的5个元素,并依次后移一个位置,再将第5个数据放在第一个存储单元(下标为0),请填空完善程序。

#include

void main() { int a[5],t,i;

printf(\原数据序列为:\

7

for(i=0;i<5;i++) scanf(\ 13) ; for(i=4;i>0;i--) 14) ; a[0]=t;

printf(\操作后数据序列为:\\n\ for(i=0;i<5;i++) printf(\}

7、下列函数str_cat()的功能是连接两个字符串,请填空完善程序。

void str_cat(char str1[],char str2[2],char str[]) { int i,j;

for(i=0;str1[i]!='\\0';i++) str[i]=str1[i]; for(j=0;str2[j]!='\\0';j++) 15) ; 16) ; }

8、下面程序的功能是用递归方法计算n!,请填空完善程序。

#include double fact(int n) { double k;

if(n<=0) exit(0); //exit()返回操作系统 else if( n==1) k=1.0; else 17) ; return k; }

void main() {

int n;

scanf(\

printf(\ 18) ); }

9、下面程序的功能是通过键盘输入10个整数,并把其中最大的数和最小的数显示出来。 #include 19) void search(int a[],int n) { int i;

max=min=a[0]; for(i=1;i

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

void main()

8

联系客服:779662525#qq.com(#替换为@)