资源描述
黄石理工学院 《高级语言程序设计》 试卷
1、不能作为C语言标识符的是( B )
A、__char B、#M C、abc D、A_B_C
2、下面哪个表达式的值为4 ( D )
A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5)
3、判断char型 变量c1是否为大写字母的正确表达式( C )
A、 ’A’<=c1<=’Z’ B、 (c1>=’A’)&(c1<=’Z’)
C、 (c1>=’A’)&&(c1<=’Z’) D、 (‘a<=c1’)AND(‘Z’>=c1)
4、源程序要正确地运行,必须要有什么函数?( C )
A. printf函数 B. 自定义的函数 C. main函数 D. 不需要函数
5、在C语言中逻辑“真”等价于以下( D )
A、整数1 B、大于0的数 C、小于0的数 D、不等于0的数
6、若a为整型变量,且有以下语句 ( D )
a=-017L;
printf("%d\n",a);
则下面哪个说法是正确的?
A. 赋值不合法 B. 输出值为-17 C. 输出为不确定值 D. 输出值为-15
7、以下程序的运行结果是( D )
main()
{int x=1,y=2,z=3;
z+=x>y?++x:++y;
printf(“%d”,z);
}
A、1 B、2 C、3 D、6
8、如果对以下程序进行编译和运行,其结果为( D )
main()
{int x,y; x=555;y=x+2;
y=x+2;
printf(“x=%d”,x,y);}
A、 程序不能通过编译,出现错误提示信息
B、 程序能通过编译,不出现错误提示信息
C、 程序能通过编译,但不能运行
D、 显示 x=555
9、在C语言的if语句中,用作判断的表达式为 ( A )
A. 关系表达式 B. 逻辑表达式 C. 算术表达式 D. 任意表达式
10、请问:下面这个程序段的输出是什么?( A )
int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A. a=7 b=8 c=7 B. a=7 b=9 c=7 C. a=8 b=9 c=7 D. a=8 b=9 c=8
11、若有以下说明和语句,且0<=i<10, 则下面哪个是对数组元素的错误引用? ( C )
int a[]={1,2,3,4,5,6,7,8,9,0}, *p, i;
p=a;
A. *(a+i) B. a[p-a] C. p+i D. *(&a[i])
12、下列程序执行后输出的结果为( D )
#include<stdio.h>
abc()
{ static int x=0; ++x; printf(“%d”,x);}
main()
{ abc(); abc();abc();}
A、000 B、111 C、1,2,3 D、123
13、下列程序的输出结果为(C )
main()
{ int a[5]={2,4,5,6,10},*p,**k;
p=a; k=&p; printf(“%d”,*(P++)); printf(“%d\n”,**k); }
A、4 4 B、2 2 C、2 4 D、4 6
14、. 该源程序执行后,屏幕上显示什么?( C )
void main()
{
int a;
float b;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
}
A. a=%d,b=%f\n B. a=%d,b=%f C. a=4,b=9.50 D. a=4,b=9.
15、以下程序的输出结果为( C )
#include<stdio.h>
main()
{ int a=010,b=10; printf(“%d,%d\n”,a++,--b); }
A、10,10 B、8,10 C、10,9 D、8,9
16、若输入12和8,以下程序的输出结果为(A )
main()
{ int a,b,num1,num2,temp;
scanf(“%d,%d”,&num1,&num2);
if(num1>num2)
{temp=num1; num1=num2;num2=temp;}
a=num1; b=num2;
while(b!=0)
{temp=a%b; a=b;b=temp;}
printf(“%d,%d”,a,num1*num2/a);
}
A、4,24 B、3,24 C、5,25 D、4,25
17、若有以下说明和语句,则输出结果是 ( C )
char str[]="\"c:\\abc.dat\"";
printf("%s",str);
A. 字符串中有非法字符 B. \"c:\\abc.dat\" C. "c:\abc.dat" D. "c:\\abc.dat"
18、若k为整型,以下while循环执行( B )次.
k=2;
while(k=0)
printf("%d",k),k--;
printf("\n");
A. 无限次 B. 0次 C. 1次 D. 2次
19、若要定义b为5*10的二维数组,正确的定义语句为( D )
A、float b(5,10) B、float b[5,10]
C、float [5][10] D、float b[5][10]
20在下列语句中,不正确的是( D )
A、 c=2*max(a,b) B、m=max(a,max(b,c))
C、printf(“%d”,max(a,b)) D、int max(int x,int max(int y,int z))
1、 若已知a=10,b=15,c=1。则表达式a*b&&c的运算结果为___1____。
2、 有以下函数调用语句,请问函数fun1有几个参数____4__________。
fun1(x,(y,z),10,fun2((x-1,y-1)))
3、C语言的基本数据类型分为___int___、___float______、___char_________。
4、程序的三种基本结构为_____顺序______、_____循环______、_______选择____。
5、有以下语句:int a,b;scanf(“a=%d ,b=%d”,&a,&b);为使变量a,b的值分别为12 ,34
则输入数据的形式为________a=12,b=34______________________________。
6、若程序片段为i=1;if(i<=0)printf(“####”) else printf(“****”);则输出为_________________。
7、#include<stdio.h>
main()
{char a[10]=”123456789”,*p; p=&a[4]; puts(p); }
以上程序的输出结果为___56789_______。
8、下面程序的运行结果是__6__________。
main()
{ struct cmplx
{int x;
int y;}cnum[2]={1,3,2,7};
printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);
}
9、C语言的数组名是一个________常量,不能对其进行自增(减)运算。
1、这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、,20个数的和及它们的平均值。请填空。
void main()
{
char array[20]___;
int max,min,average,sum=0;
int i;
for(i=0;i<_20__;i++)
{ printf("请输入第%d个数:",i+1);
scanf("%d",_&array[i]__);
}
max=array[0];
min=array[0];
for(i=0;i<=_20__;i++)
{ if(max<array[i])
_max=array[i];__
if(min>array[i])
__min=array[i];_
sum=_sum+array[i]__;
}
average = _sum/20__;
printf("20个数中最大值是%d,",max);
printf("最小值是%d,",min);
printf("和是%d,",sum);
printf("平均值是%d.\n",average);
}
}
1、 写出运行结果
#include<stdio.h>
main()
{ int i,j;
for(i=5;i>=1;i--)
{for(j=1;j<=i;j++) putchar(‘$’);
for(j=1;j<=5-i;j++) putchar(‘&’);
putchar(‘\n’);
}
}
$$$$$
$$$$&
$$$&&
$$&&&
$&&&&
3、写出运行结果
void main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{case 0:a++; break;
case 1: b++; break;
}
case 2: a++;b++; break;
case 3: a++;b++;
}
printf(“\na=%d,b=%d”,a,b);
}
a=2,b=1
第 3 页 共 3 页
展开阅读全文