试卷详情
-
高级语言程序设计-5
-
[单项选择]结构体变量各成员内存分配的顺序是( )
A. 顺序的
B. 逆序的
C. 随机的
D. 只分配一个最大成员内存占用量
-
[单项选择]假定所有变量均已正确说明,下列程序段运行后x的值是( ) a=b=c=0;x=60; if(!a)x--; else if(b)if(c)x=3; else x+=4;
A. 3
B. 4
C. 60
D. 63
-
[填空题]下面程序把从终端读入的文本(用"@"作为文本结束的标志)复制到一个名为bi.dat的新文件中,请填空。
#include<stdio.h>
FILE *fp;
main( )
{char ch;
if((fp=______)==NULL)/*第一空*/
exit(0);
while((______)!=’@’)/*第二空*/
fputc(ch,fp);
______;/*第三空*/
}
-
[填空题]阅读下列程序:
#include<stdio.h>
#define MAXCOUT 4
void fun( )
main( )
{int cout;
for(cout=1;tout<=MAXCOUT;cout++)
fun( );
}
void fun( )
{int j=0;
j+=2;printf("%d",j);
}
-
[单项选择]char型常量在内存中存放的是( )
A. 二进制代码值
B. 十进制代码值
C. 十六进制代码值
D. ASCⅡ代码值
-
[填空题]从计算机的角度来讲,______是计算机程序中解决问题的方法步骤。
-
[简答题]#include<stdio.h>
main( )
{int i,j,row,col,max;
int a[3][4]={{1,2,3,4,},{10,4,20,6,},{0,-1,-3,-5,}};
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]>max)
{max=a[i][j];row=i;col=j;)
printf("max=%d,row=%d,col=%d/n",max,row,col);
}
-
[填空题]完善下面程序段,以使其完成以下数学函数的计算。
#include<stdio.h>
#include<math.h>
main( )
{float x,y,f1,fun( );
scanf("%f%f",&x,&y);
f1=x*x/fun(______);/*第一空*/
printf("A=%f/n",f1);
}
float fun(float f)
{float f2;
f2=f*f+sqrt(1+_____/*第二空*/+______);/*第三空*/
return(f2);
}
-
[填空题]下面程序段的输出结果是______。
#include<stdio.h>
int b=1:
int func(int *a)
{*a+=b;return(*a);)
main( )
{int a=2,res=1;
res+=func(&a);
printf("%d%d/n",a,res);}
-
[填空题]函数strcmp( )和函数strcat( )包含在头文件______中。
-
[填空题]设有如下程序段:
int j=0,sum=1;
do{
sum+=j++;}
while(j<6);
printf("%d/n",sum);
上述程序段的输出结果是______。
-
[填空题]现在程序的输出是______。
#include<stdio.h>
main( )
{int arr[10],j,k=0;
for(j=0;j<10;j++)
arr[j]=j;
for(j=1;j<4;j++)
k+=arr[j]+j;
printf("%d/n",k);
}
-
[单项选择]以下属于C语言保留字的是( )
A. define
B. put
C. fclose
D. extern
-
[单项选择]执行以下程序段后,m的值是( ) int a[2][3]={{1,2,3},{4,5,6)}; int m,*ptr; ptr=&a[0][0]; m=(*ptr)*(*(ptr+2))*(*(ptr+4));
A. 15
B. 24
C. 45
D. 不确定
-
[简答题]#include<stdio.h>
main( )
{int a[]={2,4,6,8,10};
int y=1,x,*P;
p=&a[1];
for(x=0;x<3;X++)
y+=*(p+x);
printf("%d/n",y);
}
-
[填空题]下面程序的输出是______。
#include<stdio.h>
main( )
{char x=0.40;
printf("%d/n",x=x<<1);}
-
[单项选择]若有以下定义和语句: char *s1="12345",*s2="1234": printf("%d/n",strlen(strcpy(s1,s2))); 则输出结果是( )
A. 4
B. 5
C. 6
D. 不确定
-
[填空题]设有int x=11;表达式(x++*1/3)的值是______。
-
[单项选择]C语言中错误的int类型常数是( )
A. 123
B. 1F7
C. 038
D. OxAF
-
[简答题]#include<stdio.h>
main( )
{char *p[]={"BOOL","OPK","H","ASD");
int;
for(i=3;i>=0;i--,i--)
printf("%s",*(p+i));
printf("/n");
}
-
[单项选择]sizeof(float)是( )
A. 函数调用
B. int型表达式
C. float型表达式
D. 非法表达式
-
[单项选择]若x、y均是int型变量,则执行以下语句后的结果是( ) for(x=1;x<5;x+=2) for(y=1;y<5;y++) {printf("%2d",x*y); if(y==4)printf("/n"); }
A. 1 2 3 4 3 6 9 12
B. 2 3 4 5 3 4 5 6
C. 1 2 3 4 5 6 9
D. 2 3 4 3 6 9 6 9 12
-
[简答题]从键盘上输入一个3*5的矩阵,将其转置后形成5*3的矩阵输出。
-
[单项选择]设有下列数据定义语句,则"printf("%d/n",d[0].y/d[0].x*d[1].x);"的输出是( ) struct{int x;int y;}d[2]={{1,3},{2,7)};
A. 0
B. 1
C. 3
D. 6
-
[填空题]以下循环体的执行次数是______。
#include<stdio.h>
main( )
{int j,k;
for(j=0,k=1;j<=k+1;j+=2,k--)
printf("%d/n",j);)
-
[单项选择]若定义了int a;char b;float c;, 则表达式a*b-c的类型是( )
A. float
B. char
C. int
D. double
-
[单项选择]下面程序段所表示的数学函数关系是( )
y=-1
if(x!=0)if(x<0)y=1;else y=0;
-
[填空题]以下程序能将字符串Program!反向打印出来,请填空。
#include<stdio.h>
void out(char *str)
{char *s=______;/*第一空*/
if(*s==NULL)return:
while(______)s++;/*第二空*/
s--;
printf("%c/n",*s);
______=NULL;/*第三空*/
out(str);
}
main( )
{char c[]="Program!";
out(c);}
-
[简答题]输入30个学生的学号和3门课程的成绩(整数),统计并输出3门课程总分最高的学生的学号和总分。
-
[单项选择]现有下列程序语句,执行后的结果是( ) #include<stdio.h> void main( ) {char s1[100]="123",s2[100]="qwer"; puts(s1);puts(s2); printf("%s%s",s1,s2); }
A. 123 qwer 123 qwer
B. 123 qwer 123qwer
C. 123qwerl23qwer
D. 123qwer 123qwer
-
[单项选择]若有以下定义,则不能正确地表示数组中的元素的是( ) char *s="1,2,3,4,5,6,7,8,9,0,";
A. *s
B. s[9]
C. *(s+1)
D. *(s+10)
-
[单项选择]设整型变量m、na、b的值均为1,执行(m=a==b)||(n=a>b)后m,n的值是( )
A. 0,1
B. 1,0
C. 1,1
D. 0,0
-
[填空题]函数调用自身的调用是______。
-
[简答题]#include<stdio.h>
int d=1:
int fun(int p)
{d+=P++;
printf("%d",d);
}
main( )
{int a=3;
fun(a);
d+=a++;
printf("%d/n",d);
}