沈阳药科大学历年计算机C语言期末样卷

本试卷为沈阳药科大学历年计算机C语言期末样卷,题目包括:填空题。

本卷包括如下题型:

一、填空题

计算机C语言期末样卷

一、填空题 (共40题,每题2.5分,共计100分)

1、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入请填空________。
main()
{
float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while( ________ )
{
if(x>amax) amax=x;
if( ________ ) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
2、c语言程序的基本单位是________。
3、表达式5%(-3)的值是________,表达式-5%(-3)的值是________。
4、c语言本身不提供输入输出语句,输入和输出操作是由________来实现的。
5、程序
main( )
{
float x;
x=3.6;
printf("i=%d", (int)x);
}
的输出结果是________。
6、有以下程序
#include <stdio.h>
main ()
{
int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
for (i=1;i<3;i++) for(j=i;j<3;j++) printtf("%d",a[i][j]);
printf("\n");
}
程序运行后的输出结果是________。
7、以下程序用以删除字符串中的所有的空格,请填空。
#include<stdio.h>
main()
{
char s[100]={"our .tercher teach c language!"};
int i,j;
for( i=j=0;s[i]!=‘\0’;i++) if(s[i]!=‘ ’)
{
s[j]=s[i];
j++;
}
s[j]=________ ;
printf("%s\n",s);
}
8、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句________。
9、函数fun的功能是计算xn double fun(double x,int n)
{
int i;
double y=1;
for(i=1;i<=n;i++) y=y*x;
return y;
}
主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算: m=a4+b4-(a+b)3。实现这一计算的函数调用语句为 ________。
10、请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 ________ ( double,double);
main()
{
double x,y;
scanf("%lf%lf",&x,&y);
printf("%lf\n",max(x,y));
}
double max(double a,double b)
{
return(a>b ? a:b);
}
11、若有定义:int k;,以下程序段的输出结果是 ________。
for(k=2;k<6;k++,k++) printf("##%d",k);
12、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。
13、ferror()用来检测文件读写时是否发生错误,若发生读写错误,则返回值是__________。
14、字符串函数________用于从指定的磁盘文件中读出一个字符串。
15、字符串函数___________用于把一个字符串写入指定的磁盘文件中。
16、有以下程序
#include < stdio.h >
main()
{
int a=1,b=2,c=3,d=0;
if (a==1) if (b!=2) if(c!=3) d=1;
else d=2;
else if(c!=3) d=3;
else d=4;
else d=5;
printf("%d\n",d);
}
程序运行后的输出结果是: ________。
17、在定义函数时函数名后面括号中的变量名称为________。
18、以下函数值的类型是【1】。
fun (float x)
{
float y;
y= 3*x-4;
return y;
}
19、下列程序段的运行结果是_____。
main()
{
int m=1,t=1;
for(;;)
{
m=m*t;
t++;
if(t>4)break;
}
printf("%d\n",m);
}
20、数字'0'的ascii码值为多少()
21、下列程序段的运行结果是________。
void sun()
{
int b=5;
}
main()
{
int b=1;
sun();
printf("b=%d",b);
}
22、下列程序段的运行结果是________。
int a[5]={1,2,3,4,5},*p;
p=a;
printf("%d", *(p=p+2) ) ;
23、若a 是int 型变量, 则表达式( a=4*5,a*2 ),a+6 的值为【】。
24、以下程序的输出结果是 ________ 。
main()
{
int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n",s);
}
25、在c语言中,用转义字符 \" 表示________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行
26、下列程序段的运行结果是________。
void fun()
{
int a=3;
}
main()
{
int a=1;
fun(- );
printf("a=%d",a);
}
27、#include <stdio.h>
void main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for (i=1;i<3;i++) for (j=0;j<i;j++) s+=a[i][j];
printf("%d\n",s);
}
28、下列程序段的运行结果是_____。
void pig( )          
{
float a=3.0;
}
main( )
{
float a=1.0;
pig( );
printf("a=%f",a);
}
29、以下程序运行结果是________。
void swap2(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void main( )
{
int a=100,b=200;
swap2(&a,&b);
printf("%d,%d",a,b);
}
30、使文件指针重新定位到文件读写的首地址的函数是________。
31、有1020 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请分析程序填空。
#include <stdio.h>
main()
{
int day, x1, x2;
day = 0;
x1 = 1020;
while (____1____)
{
x2 = ____2____;
x1 = x2;
day++;
}
printf("day=%d\n", day);
}
32、下面程序的运行结果是________。
#include<stdio.h>
main()
{
int i,t,sum=0;
for(t=i=1;i<=10;)
{
sum+=t;
++i;
if(i%3==0) t=-i;
else t=i;
}
printf("sum=%d",sum);
}
33、下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。请分析程序填空。
#include<stdio.h>
main()
{
int i,j,k;
printf("\n hong bai hei\n");
for(i=0;i<=3;i++)for( 【1】________;j<=5;j++)
{
k=8-i-j;
if( 【2】________) printf(" %3d %3d %3d\n",i,j,k);
}
}
34、c 语言规定,可执行程序的开始执行点是________。
35、float f=3.1415927;
printf("%f,%5.4f,%3.3f",f,f,f);
则程序的输出结果是________。
36、请补充main()函数,亥函数的功能是求方程ax2+bx+ e=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式(disc=b*b-4*a*c)小于0,则要求重新输入a、b、c的值。 例如,当a=1,b=2,c=1时,方程的两个根分别是:x1 =-1.00,x2=-1.00。 注意:部分源程序给出如下。 请勿改动函数中的其他任何内容,仅在横线上填入所编写的若干表达式或语旬。 试题程序:
void main()
{
double a,b,c,x1,x2,disc;
do
{
printf("input a,b,c:");
scanf("%1f,%1f,%1f",&a,&b,&c);
disc=b*b一4*a*c;
if(disc<0)
printf("disc=%1f\n input again!\n",disc);
}
while( ________);
printf("****The result****\n");
x1=(-b+ ________ (disc))/(2*a);
x2=(-b- ________(disc))/(2*a);
printf("\nx1=%6.21f\nx2=%6.21f\n",x1,x2);
}
37、数学表达式100<a或者a<-20改写为c语言表达式是________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。
38、int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b的值为______。
39、设int a=12,则表达式a/=a+a 运算后,a的值是______。
40、C语言中的每条基本语句以______作为结束符,每条复合语句以}作为结束符。