2025年c高级语言程序设计B试题,2001年下高级语言程序设计一试卷

c高级语言程序设计B试题,2001年下高级语言程序设计一试卷答案 高级语言程序设计 一 试卷 第一部分 选择题 一 单项选择题 本大题共 20 小题 每小题 1 分 共 20 分 在每小题列出的四个选项中只有一个选项是符合题目要求的 请将正确选项前的字母填在题后的括号内 1 C 语言程序编译时 程序中的注释部分 A 参加编译

大家好,我是讯享网,很高兴认识大家。

答案

高级语言程序设计*一*试卷

第一部分 选择题

一、单项选择题 *本大题共20小题,每小题1分,共20分* 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1. C语言程序编译时,程序中的注释部分 ( )

A. 参加编译,并会出现在目标程序中

B. 参加编译,但不会出现在目标程序中

C. 不参加编译,但会出现在目标程序中

D. 不参加编译,也不会出现在目标程序中

2. 下列表达式的值为0的是 ( )

A. 3﹪5

B. 3/5.0

C. 3/5

D. 3<5

3. 正确的C语言用户自定义标识符是 ( )

A. print

B. float

C. when?

D. random﹪2

4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是 ( )

A. 0和2

B. 0和3

C. 1和2

D. 1和3

5. 下列叙述中,正确的是 ( )

A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致

B. 宏名必须用大写字母表示

C. 宏替换不占用运行时间,只占编译时间

D. 在程序的一行上可以出现多个有效的宏定义

6. 下列保留字中用于构成循环结构的是 ( )

A. if

B. while

C. switch

D. default

7. 与语句if*a>b*if*c>d*x = 1;else x = 2;等价的是 ( )

A. if*a>b*{if*c>d* x = 1;else x = 2;}

B. if*a>b*{if*c>d* x = 1;} else x = 2;

C. ifa>b* && *c>d x = 1;else x = 2;

D. if*a< =b* x = 2;else if *c>d* x = 1;

8. 设 char x =′a′;则printf*″x = ﹪c, y = ﹪c \ n″,x,97*;的输出是( )

A. x = a,y = 97

B. x = 97,y = a

C. x = 97,y = 97

D. x = a,y = a

9. 设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是( )

A. 2

B. 3

C. 4

D. 无确定值

10. 执行下列程序

int a[3][3]={ {1},{2},{3}};

int b[3][3]={1,2,3};

main

{printf*″﹪d \ n″,a[1][0] + b[0][0]*;}

后输出的结果是 ( )

A. 0

B. 1

C. 2

D. 3

11. 设char str[100];int i = 5;则引用数组元素的错误形式是 ( )

A. str[i + 10]

B. *str + i*

C. *str + i - 1*

D. str + + * + i*

12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是 ( )

A. p + = 2, * + + p

B. p + = 2, * p + +

C. p + = 3, * p

D. p + = 2, + + * p

13. 在函数内,定义变量时存储类型符可省略的是 ( )

A. auto

B. static

C. extern

D. register

14. 执行下列程序

int a = 3, b = 4;

void fun*int x1, int x2*

{printf*″﹪d, ﹪d \ n″, x1 + x2, b*;}

main

{int a = 5, b = 6;fun*a, b*;}

后输出的结果是 ( )

A. 3,4

B. 11,1

C. 11,4

D. 11,6

15. 设有定义语句

struct

{int a;float b;} d[3]={ {1,4},{2,5},{6,7}};

则printf*″﹪3.1f \ n″,d[2]. a * d[2]. b/d[1]. b*;的输出是 ( )

A. 2.5

B. 2.0

C. 8.0

D. 8.4

16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;

则枚举常量a2和a3的值分别为 ( )

A. 1和2

B. 2和3

C. 7和2

D. 7和8

17. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 ( )

A. 2和2

B. 2和5

C. 5和2

D. 5和5

18. 在文件使用方式中,字符串″rb″表示 ( )

A. 打开一个已存在的二进制文件,只能读取数据

B. 打开一个文本文件,只能写入数据

C. 打开一个已存在的文本文件,只能读取数据

D. 打开一个二进制文件,只能写入数据

19. 执行下列程序

# define F*y* 15>>y

# define PRINT*a* printf*″﹪d″,a*

main

{

PRINT*F*2;

}


讯享网

后输出的结果是 ( )

A. 3

B. 3.5

C. 14

D. 7.5

20. main函数可以带两个形参,一般分为argc和argv,其中argv可以定义为( )

A. int argv;

B. char * argv[];

C. char argv[];

D. char argv[];

第二部分 非选择题

二、填空题 *本大题共10小题,每小题2分,共20分*

21. 初始化值是0.618的双精度变量a的定义形式为_____________________。

22. 表达式 !10! = 1的值是____________________。

23. “2024. 表达式a = 1,a + 1,a + + 的值是___________________。

25. 设int i = 5;则循环语句while *i > = 1* i - -;执行后,i的值为_______________。

26. 被调函数在执行结束时,这个函数中定义的__________________类型的变量不被释放。

27. 设

struct student

{

int no;

char name[12];

float score[3];

} sl,* p = &sl;

用指针法给sl的成员no赋值1234的语句是___________________。

28. C语言程序中对文本文件的存取是以________________为单位进行的。

29. 设char string[] =″This_is_a_book!″;则数组的长度应是________________。

30. 设int a[2][3] = { {2},{3}};则数组元素_____________________的值为3。

三、程序分析题 *本大题共5小题,每小题5分,共25分* 阅读下列程序,将输出结果写到各题右侧的空白处

31. int a = 200;

main

{int i;

for*i = 1;i< = 5;i + +*

{a + + ;

printf*″﹪d,″,a*;

s

}

{

s

{static int a = 20;

a + + ;

printf*″﹪d \ n″,a*;

}

32. # include ″stdio.h″

main

{char c;

c = getchar;

if*c> =′a′&&c< =′z′* ‖c> =′X′&&c< =′Z′*c = c - 23;

printf*″﹪c \ n″,c*;

}

设从键盘上输入Next ↙

33. # define N 7

main

{int i,j,temp,a[N]={1,2,3,4,5,6,7};

for*i = 0;i{j = N - 1 - i;

temp = a[i];a[i]=a[j];a[j]=temp;

}

for*i = 0;i}

34. struct porb

{char * name;

int count;

}x[]={″Li ning″,19,″Lang ping″,21,″Zhu jian hua″,20};

main

{int i;

for*i = 0;i<3;i + + *

printf*″﹪s: ﹪d \ n″,x[i].name,x[i].count*;

}

35. main

{union

{short a;char ch;

}M;

M.a = 100;M.ch =′A′;

printf*″﹪d,﹪d,﹪c \n″,sizeof*M*,M.a,M.ch*;

}

四、程序填充题 *本大题共3小题,每小题6分,共18分* 给出下列程序,将横线处缺少的部分补上,使其能正确运行。

36. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。

void sort*int b[],int n*

{ int i,j,t;

for*i = 0;ifor*______;jif*b[i]_____b[j]*

{t = b[i];_____________;b[j]=t;}

}

main

{ int a[]={5,8,6,2,7,4,1,3};

int i;

sort*a,8*;

for*i = 0;i<8;i ++ *

printf*″﹪5d″,a[i]*;

printf*″\ n″*;

}

37. 输入一字符串*换行为结束标志*统计其中数字*0,1,2,…,9不单独统计*、空白和其它字符出现的次数。

# include ″stdio.h″

main

{ char c;

int ___________________________;

whilec = getchar*! =′\ n′*

{

if*__________________________*digit + + ;

else if*c = =′′‖c = =′\ t′* ++ blank;

else __________________________;

}

printf*″digit =﹪d,blank =﹪d,other =﹪d \ n″,digit,blank,other*;

}

38. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。

main

{int i,x,a[10];

for*i = 0;i<10;i ++ *scanf*″﹪d″,___________*;

scanf*″﹪d″,&x*;printf*″﹪d″,x*;

for*i = 0;i<10;i ++* if*_________________*break;

if *i _________10*printf*″ position:﹪d \ n″,i*;

else printf*″ Not found! \ n″,x*;

}

五、程序设计题 *第39小题5分,第40、41小题各6分,共17分*。

39. 求出10至1000之内能同时被2、3、7整除的数,并输出。

40. 求1到100之间的奇数之和及偶数之和,并将二者输出。

41. 输入一字符串,检查是否回文 *回文是指正反序相同,如,LeveL*,若是则输出“Yes”,否则输出“No”。

小讯
上一篇 2025-03-06 20:19
下一篇 2025-02-06 22:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/67504.html