大连职业技术学院C语言试题C卷

大连职业技术学院C语言试题C卷
大连职业技术学院C语言试题C卷

2010 -2011 学年第二学期

C语言程序设计试卷(C)卷

(本试卷共5 页,计6 道大题)

答题说明:

1、考生必须写清答题纸上要求填写的考试科目、系别、班级、姓名、考号等项内容;

2、考生必须依照题签上的题目顺序,在答题纸上写清题号,按顺序答题。

一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,错选、多选或未选均不得分。

1、下面的转义字符表示水平制表的是( B )。

A) \n B) \t C) \r D) \d

2、printf 函数中要输出一个字符串,应使用以下哪个字母做字符格式( B )。

A)d B)s C) c D)f

3、组成C语言程序的是( B )

A)过程B)函数C)子程序D)主程序和子程序4、下列不正确的转义字符是( D )

A)‘\ \’ B) ‘\’’ C) ‘\086’ D)’\0’5、下列数据中,不是C语言常量的是( C )

A)‘\n’B) “a”C) e-2 D) 012 6、在C语言中,要求运算数必须是整型的运算符是(D )。

A)/ B)++ C)!= D)%

7、下列运算符中,优先级最高的是(A )

A)[ ] B) ++ C) % D)&&

8、在C语言中,字符串结束的标志是( C )。

A)\n B) \1 C) \0 D) \t

9、下列运算符优先级最低的是( A )。

A)?:B)&& C)+ D)!=

10、字符串“BCD”在内存占用的字节数是( B ) 。

A)3 B)4 C)6 D)8

二、填空:(每空1分,共10分)

1、C程序的注释可以出现在程序的任何地方,它总以符号/* 作为开始标记。

2、C程序由函数组成,一个函数由函数头部和函数体两部分组成。

3、C语言标识符的第一个字符必须为下划线或者英文字母。

4、C语言中,double类型数据占__8__个字节。

6、在内存中存储“A”要占用 2 个字节,存储‘A’要占用1 个字节。

7、C语言中逻辑表达式的值为“真”是用 1 表示的,逻辑表达式的值为“假”是用0 表示的。

8、判断整型变量n是否为两位正整数的逻辑表达式为N>9&&N<100 。

三、请写出下列程序的功能。(共15分)

1、(本题7分)

#include

main( )

{ float a[10],m,s;int i;

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

m=a[0];s=a[0];

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

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

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

else if (a[i]

printf(“max=%f,min=%f”,m,s);

程序的功能:用户输10个浮点数,程序自动输出最大数和最小数2、(本题8分)

#include

main( )

{char a[80];int i,b[80],k=0;

gets(a);

for(i=0;a[i]!=’\0’;i++)

if(a[i]=’c’){b[k]=i; k++;}

for(i=0;i

程序的功能是:用户输一字符串,程序输出每一个字符的下标。

四、请写出下列程序的运行结果。(共15分)

1、(本题7分)

main()

{char a1=’x’,a2=’y’,a3=’z’;

printf(“a%cb%c\tc%c\tabc\n”,a1,a2,a3);

}

运行结果:axby cz abc

2、(本题5分)

main()

{float x;

int i;

x=3.6;

i=(int)x;

printf("x=%f,i=%d ",x,i);

}

程序运行的结果是:3.600000 3

3、(本题3分)

main( )

{ int m=20;

swith(m)

{ case 19: m+=1;

case 20: m+=1;

case 21: m+=1;

case 22: m+=1;

}

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

执行程序后,输出为:23

五、填补将下面的程序的空缺部分填补上合适的语句(共20分)

1、设二维数组为 ,通过以下程序,将二维数组向右翻转 (本题6分)

main()

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

int b[3][3]={{1,2,3},{4,5,6},{7,8,9}};

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

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

__b[i][2-j]________=b[i][j];

}

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

{

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

printf("%4d",___b[i][j]_____);

printf("__\n_");

}

}

2、从键盘输入一个字符串,判断其是否是回文。若是输出 “Yes ”,否则输出“No ”。回文是指正向、反向的拼写都一样。例如:ABAB 、aaaa 等是回文;china 、ABC 等不是回文。(本题8分)

# include “stdio . h “

#include “string.h ”

main()

{ char string [ 80 ] ;

int i , j , n ;

gets (string ) ;

n = strlen(string) ;

j = n – 1;

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

if (string [ i ]! = string [ j ] ) n=0 :

if ( n!=0 ) printf ( “ Yes \ n “ ) ;

else printf ( “ No \ n “ ) ;

}

3、将一个十进制数n 转变为二进制数。(本题6分) main()

{int i=0,j,n,num[20];

scanf (“%d ”,_&n___);

1 2 3 4 5 6

7 8 9 3 2 1

6 5 4 9 8 7

while(n!=0)

{num [ i++]=_n%2____;

n= _n/2_;

}

for (j=i-1;j>=0;j--)

printf (“%d”,num[j]);

}

六、编程序(共30分)

1、请输出数列:1、1、

2、5、8、1

3、21前40项。要求每行10项。Fibonacci数列的前6项为:1、1、2、3、5、8 ……(本题10分)

main()

{int f1=1,f2=1,i=1;

printf(“%5d,%5d”,f1,f2);

while(i<20)

{f1=f1+f2; f2=f1+f2;

if(i%4==0)printf(“\n”);

printf(“%5d,%5d”,f1,f2);

}

}

2用switch语句编写一个可以完成任意二个整数进行+,-,*,/ 四则运算的程序。例:输入3+5,则输出3+5=8。输入3*5,则输出3*5=15。(本题8分) main()

{float x,y,z; char c;

scanf(“%f%c%f”,&x,&c,&y);

switch( c)

{ case ‘+’:z=x+y;break;

case ‘-’:z=x-y;break;

case ‘*’:z=x*y;break;

case ‘/’:z=x/y;

}

printf(“%f%c%f=%f”,x,c,y,z);

}

3、请输出杨辉三角形的前十行。(本题12分) 1

1 1 Array

1 2 1

1 3 3 1

1 4 6 4 1

int x[10][10],i,j;

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

{

a[i][i]=1;

a[i][0]=1;

}

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

for(j=1;j

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

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

{ for(j=0;j

printf(“%3d”, a[i][j]);

printf(“\n”);

}

}

相关主题
相关文档
最新文档