高级语言程序设计模拟试卷(三)

高级语言程序设计模拟试卷(三),第1张

高级语言程序设计模拟试卷(三),第2张

模拟试卷(三)

一、单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。多选不给分。每题1分,共20分)

1.以下选项中属于c语言的数据类型是( )。
(1)复数型号 (2)逻辑型号 (3)双精度型号 (4)集合型

2.以下不正确的转义字符是( )。
(1)'\\' (2)'\"' (3)'074' (4)'\0'

3.设x和y均为int型变量,则下列语句
x+=y;
y=x-y;
x-=y;
的功能是( )。
(1)把x和y按从大到小排序幕 (2)把x和y按从小到大排序
(3)无确定结果 (4)交换x和y的值

4.执行下述程序的输出结果是( )。
#include
main()
{
printf("%d\n",NULL);
}
(1)不确定的值 (2)0 (3)-1 (4)1

5.执行下述程序的输出结果是( )。
#include
main()
{
int x=100,a=10,b=20,ok1=5,ok2=0;
if (a if (b!=15)
if (!ok1)
x=1;
else
if (ok2)
x=10;
x=-1;
printf("%d\n",x);
}
_(1)-1 (2)0 (3)1 (4)不确定的值

6.执行以下程序的输出结果是( )。
#include
main()
{
int i;
for (i='A';i<'r';i++,i++)
printf("%c",i+32);
printf("\n");
}
(1)编译不通过 (2)aceg (3)acegi (4)abcdefghi


7.以下不形成死循环的是( )。
(1) for (;;x+=i);
(2) while (1) x++
(3) for (i=10;;i--) sum+=i;
(4) for (;(c=getchar())!='\n';) printf("%c",c);

8.若有以下定义和语句
char s[10];
s="abcd";
printf("%s\n",s);
则结果是(以下“ ”代表空格)( )。
(1)输出abcd (2)输出a
(3)输出abcd (4)有语法错误,编译不能通过

9.下列关于带初始赋值的字符数组说明中,错误的是( )。
(1) char str[]={'T','u','r','b','o',' ','c','\o'};
(2) char str[7]="Turbo C";
(3) char str[]="Turbo C";
(4) char *str="Turbo C";

10.若已定义
int a[]{0,1,2,3,4,5,6,7,8,9},*p=a,i;
且假定已对i赋值(0i9)。则对数组a中数组元素不正确的引用是( )。
(1)a[p-a] (2)*(&a[i]) (3)p[i] (4)a[10]

11.以下程序运行后,输出结果是( )。
#include
main()
{
static char a[]="ABCDEFGH",b[]="abCDefGh";
char *p1,*p2;
int k;
p1=a;p2=b;
for (k=0;k<=7;k++)
if (*(p1+k)==*(p2+k))
printf("%c",*(p1+k));
printf("\n");
}
(1)ABCDEFG (2)CDG (3)abcdefgh (4)abCDefGh

12.执行下述程序的输出结果是( )。
#include
main()
{
char *s1,*s2;
s1=s2="abcd";
while (*s2!='\0')
putchar(*s2++);
while (--s2>=s1)
putchar(*s2);
putchar('\n');
}
(1)abcdabcd (2)abcddcba (3)dcbadcba (4)dcbaabcd

13.以下对c语言中有关函数的描述中,正确的是( )。
(1)在c中,调用函数时,只能把实参的值传给形参,形参的值不能传给实参
(2)c函数既可以嵌套定义又可以递归调用
(3)函数必须有返回值,否则不能使用函数
(4)c程序中有调用关系的所有函数必须放在同一个源程序文件中

14.在下列结论中,错误的是( )。
(1)c语言允许函数的递归调用
(2)c语言中的continue语句,可以通过改变程序的结构而省略
(3)有些递归程序是不能用非递归算法实现的
(4)c语言不允许在函数中再定义函数

15.执行下述程序的输出结果是( )。
#incllude
int func(int u,int v);
main()
{
int a=24,b=16,c;
c=func(a,b);
printf("%d\n",c);
}
int func(int u,int v)
{
int w;
while (v)
{
x=u%v;
u=v;
v=w;
}
return (u);
}
(1)6 (2)7 (3)8 (4)9

16.下述程序执行后的输出结果是( )。
#include
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{
printf("%c",st[i]);
if (i<3)
{
i+=2;
func2(i);
}
}
void func2(int i)
{
printf("%c",st[i]);
if 9i<3)
{
i+=2;
func1(i);
printf("\n");
}
(1)hello (2)hel (3)hlo (4)hlrn

17.字符'0'的ASCII代码值为十进制的48,且数组中序号为国为民的数组元素在内存低位。执行以下程序的输出结果是( )。
#include
main()
{
union
{
int i[2];
long k;
char c[4];
} r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0]);
}
(1)39 (2)9 (3)38 (4)8

18.设有下述变量说明语句
struct
{
int i;
char c;
float f;
} st;
union
{
int i;
char c;
float f;
} un;
则执行如下printf语句后的输出结果是( )。
printf("%d,%d\n",sizeof(st),sizeof(un));
(1)7,4 (2)7,7 (3)4,7 (4)4,4

19.已知对于一个二进制文件,调用标准库函数fread的语句形式如下
fread(buffer,size,count,fp);
那么其中buffer所代表的是( )。
(1)一个整型变量,表示要读入的数据项总数
(2)一个文件指针,指向要读入的文件
(3)一个指针,指向要存放读入数据的地址
(4)一个存储区,存放要读入的数据项

20.下列选项中,不会引起二义性的宏定义是( )。
(1)#define POWER(X) X*X
(2)#define POWER(X) (X)*(X)
(3)#define POWER(X) (X*X)
(4)#define POWER(X) ((X)*(X))

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 高级语言程序设计模拟试卷(三)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情