试卷详情
-
高级语言程序设计真题2005年下半年
-
[单项选择]执行语句printf("%x",-1);后输出结果是( )
A. -1
B. -ffff
C. 1
D. ffff
-
[填空题]
输入一个数字(范围在0~9之间,若不在此范围内显示输入错),输出对应的英文单词(Zero,One,Two,……,Nine)。
main( )
{
int i;
char *digit[10]={"Zero","One","Two","Three","Four",
"Five","Six","Seven","Eight","Nine"};
scanf("%d",______);/*第一空*/
printf("%d→",i);
if(______)/*第二空*/
printf("%s/n",digit[______]);/*第三空 */
else printf("Input error!/n");
}
-
[单项选择]设enum week{sun,mon,tue,wed,thu,fri,sat}day;,正确的赋值语句是( )
A. sun=0;
B. sun=day;
C. mon=sun+1;
D. day=sun;
-
[填空题]静态型外部变量的作用域是______。
-
[单项选择]下列转义字符中错误的是( )
-
[填空题]设int a=100,*p1=&a,**p2=&p1;,则表达式**p2的值是______。
-
[单项选择]设 struct {short a; char b; float c; }cs; 则sizeof(cs)的值是( )
A. 4
B. 5
C. 6
D. 7
-
[单项选择]设char s[10],*p=s;,下列语句中错误的是( )
A. p=s+5;
B. s=p+s;
C. s[2]=p[4];
D. *p=s[0];
-
[填空题]在执行循环结构或switch结构时,能够立即退出该结构的语句是______。
-
[填空题]
一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为"水仙花数"(如:153=13+53+33),找出所有的这种数。
main( )
{
int n,a,b,c;/*n、a、b和C分别为三位数自身及其个位、十位和百位*/
for(c=1;c<=9;c++)
for(b=0;b<=9;b++)
for(______;a++)/*第一空*/
{
n=______;/*第二空*/
if(a*a*a+b*b*b+e*c*c==______)/*第三空*/
printf("%d/n",n);
}
}
-
[简答题]
struct porb {char*name; int age; }
s[]={"LiHua",18,"WangXin",25,"LiuGuo",21};
#define N(sizeof(s)/sizeof(s[0]))
void f(struct porb a[],int n);
main( ) {
f(s,N);
} void f(struct porb a[],int n) {
int i;
for(i=0;i<n;i++)
printf("%s:d/n",a[i].name,a[i].age);
}
-
[单项选择]执行语for(i=1;i++<4;);后i的值是( )
A. 3
B. 4
C. 5
D. 不确定
-
[单项选择]使用语句scanf("a=%f,b=%f",&a,&b);输入变量a、b的值(口代表空格),正确的是( )
A. 125,2.4
B. 1.25口2.4
C. a=1.25,b= 2.4
D. a=1.25口b=2.4
-
[单项选择]下列错误的是( )
-
[单项选择]下列不属于C语言保留字的是( )
A. char
B. while
C. typedef
D. look
-
[简答题]
/*设从键盘输入:420<回车>*/
#include<stdio.h>
main( ) {
char c;
while((c=getchar( ))!=’/n’) switch(C-’0’) {
case 0:
case 1:putchar(c+2);
case 2:putchar(c+3);break;
case 3:putchar(c+4);
default:putchar(c+1);break;
}
printf("/n");
}
-
[填空题]设int a,b,c;则执行a=(b=3,c=5,b=10);后变量a的值是______。
-
[填空题]可以将被调函数中获得的值返回给主调函数的语句是______。
-
[单项选择]若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
A. 数组的第一个元素值
B. 数组元素的个数
C. 数组中全部元素的值
D. 数组首地址
-
[填空题]设int a=-3,b=7,c=-1;则执行(a==0)&&(a=a%b<b/c);后变量a的值是______。
-
[单项选择]设 #define N 3 #define Y(n)((N+1)*n) 则表达式2*(N+Y(54+1))的值是( )
A. 42
B. 48
C. 54
D. 出错
-
[单项选择]设intx[ ]={1,2,3,4,5,6,7,8,9,0),*p=x,k;且0≤k<10,则对数组元素x[k]的错误引用是()
A. p+k
B. *(x+k)
C. x [p-x+k]
D. *(&x[k])
-
[填空题]若未指定局部变量的存储类型,则其隐含的存储类型是______。
-
[单项选择]关于主函数的形式参数,下列说法正确的是( )
A. 可以有两个
B. 类型可以是实型
C. 不可以由用户自己定义名字
D. 是在程序编译时获得实际值
-
[单项选择]设floata=2,b=4,c=3;,以下C语言表达式与代数式计算结果不一致的是()
A. (a+b)*c/2
B. (1/2)*(a+b)*c
C. (a+b)*c*1/2
D. c/2*(a+b)
-
[单项选择]下列说法中错误的是( )
A. C语言中循环嵌套的层数没有限定
B. C语言中的内部函数只能在本文件中被调用
C. 用typedef语句定义的数据类型名称必须是大写字母
D. C语言中的continue语句,可以通过改变程序的结构而省略
-
[简答题]
mian( ) {
int i;
for(i=1;i<3;i++)f(i);
}
f(int j)
{static int a=100;
int k=1; ++k;
printf("%d/n",j+a+k);
a-=2;
}
-
[简答题]
#include<stdio.h>
long fun(int n)
{
long s;
if(n<=2)s=2;
else s=n+fun(n-1);
printf("%d/t",s);
return s;
}
main( )
{
fun(5);
printf("/n");
}
-
[填空题]函数调用时,若形参是一个变量,而对应的实参是一个有确定值的表达式,则函数参数的传递方式是______传递。
-
[单项选择]在位运算中,操作数左移一位,其结果相当于操作数( )
A. 乘以2
B. 除以2
C. 乘以4
D. 除以4
-
[单项选择]在C语言中,有值函数的数据类型是指( )
A. 函数形式参数的数据类型
B. 函数返回值的数据类型
C. 调用该函数时的实参的数据类型
D. 任意指定的数据类型
-
[单项选择]设int a=10,b=20,c=30;条件表达式a<b a=5:c的值是( )
A. 5
B. 10
C. 20
D. 30
-
[单项选择]下列关于C语言的叙述错误的是( )
A. 英文字母大小写不加以区分
B. 不同类型的变量可以出现在同一个表达式中
C. 在赋值表达式中赋值号两边的类型可以不同
D. 某些运算符在不同的场合可以有不同的含义
-
[填空题]设int x=2,y=1;则表达式x+++y的值是______。
-
[填空题]
将一个文本文件(ma.dat)拷贝到另一个文本文件(niu.dat)中。
#include<stdio.h>
main( )
{
FILE *ma,*niu;
ma=fopen(" ma.dat",______);/*第一空*/
niu=fopen("niu.dat","w");
while( ! feof(ma))fputc(fgetc(ma),______);/*第二空*/
fclose(niu);______;/*第三空*/
}
-
[简答题]输入某学生的数学(math)、英语(english)和C语言(c)的成绩,输出该学生这三门课的成绩、总成绩(sum)和平均成绩(aver)。
-
[单项选择]设inta=9,b=6,c;,执行语句c=a/b+0.8;后c的值是( )
A. 1
B. 1.8
C. 2
D. 2.3
-
[简答题]
void LE(int*a,int b)
{
int x=*a:
printf("%d/t%d/n",*a,b);
*a=b;b=x;
}
main( )
{
int x=10,y=25;
LE(&x,y);
printf("%d/t%d/n",x,y);
}
-
[填空题]设
int a[2][3]={1,2,3,4,5,6};
则数组元素a[1][0]的值是______。