高级语言程序设计

发布 2021-04-24 15:40:28 阅读 5016

东北大学网络教育学院。

程序设计基础(c) 试卷(b卷)

学习中心姓名学号。

一、选择题(每题2分,共40分)

1.下列关于c语言的叙述错误的是( )

a、大写字母和小写字母的意义相同

b、不同类型的变量可以在一个表达式中。

c、在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型。

d、 同一个运算符号在不同的场合可以有不同的含义。

2.下列对于线性链表的描述中正确的是( )

a、存储空间不一定是连续,且各元素的存储顺序是任意的。

b、存储空间不一定是连续,且前件元素一定存储在后件元素的前面。

c、存储空间必须连续,且前件元素一定存储在后件元素的前面。

d、存储空间必须连续,且各元素的存储顺序是任意的。

3. 若a为int类型变量,则执行以下程序段后a的值为( )

a=5;a*=a/=a++;

a、2b、1c、40d、3

4. 以下程序的输出结果是( )

main()

int a=0,b=1,c=0,d=20;

if(a) d=d-10;

else if(!b)

if(!c) d=15;

else d=25;

printf("d=%d",d);

a、d=10b、d=15c、 d=20d、 d=25

5. 若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )

a、a%2==1 b、!(a%2==0) c、!(a%2) d、a%2

6. 已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )

if(x>y)z=x;x=y;y=z;

a、x=10,y=20,z=30 b、x=20,y=30,z=30

c、x=20,y=30,z=10d、x=20,y=30,z=20

7. 设有程序段( )

int x=10;

while (x=0)

x=x-1;

a、while循环执行10次b、循环是无限循环。

c、循环体语句一次也不执行d、循环体语句只执行一次。

8. 以下程序段中是死循环的是( )

a、int n=1b、int n=1;

while (!ndo while(n);

9. 若二维数组a有m列,则在a[i][j]前的元素个数为( )

a、j*m+i b、i*m+j c、i*m+j-1 d、i*m+j+1

10. 以下能对一维数组a进行正确初始化的语句是( )

a、int a[10]=(0,0,0,0,0); b、int a[10]=;

c、int a=d、int a[10]=;

11. 下面程序( )每行程序前的数字为行号)

1 main{}

4 int i;

5 for(i=0;i<3;i++)scanf(%d",&a[i]);

6 for(i=1;i<10;i++)a[0]=a[0]+a[i];

7 printf("%f",a[0]);

a、没有错误 b、第3行有错误。

c、第5行有错误 d、第7行有错误。

12. 若有以下程序段:

int a=i,j,t;

for(i=1;i<5;i++)

a[j+1]=t; }

则该程序段的功能是( )

a、对数组a进行插入排序(升序) b、对数组a进行插入排序(降序)

c、对数组a进行选择排序(升序) d、对数组a进行选择排序(降序)

13. 判断字符串s1是否大于字符串s2,应当使用( )

a、if(s1>s2) b、if(strcmp(s1,s2))

c、if(strcmp(s2,s1)>0) d、if(strcmp(s1,s2>0))

14. 以下判断正确的是( )

a.char *s="string"; 等价于char *s; *s="string";

b.char str[10]=;等价于char str[10]; str=;

c.char *s="string"; 等价于char *s; s="string";

d.char str[10]=;等价于char str[10]; str=;

15. 以下程序段的输出结果是( )

char a[ ]program", ptr;

ptr=a;

for ( ptr putchar(*ptr);

16. 若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )

a.i=x[1][1] b.i=*(x+1)) c.i=*(x+1)+1) d.i=*(x[1]+1)

17. c语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )

a、地址传递b、单向值传递。

c、由实参传给形参,再由形参传回实参。

d、由用户指定传递方式。

18. 在一个源文件中定义的全局变量的作用域为( )

a、本文件的全部范围。

b、本程序的全部范围。

c、本函数的全部范围。

d、从定义该变量的位置开始至本文件结束。

19. 以下关于文件包含的描述中正确的是( )

a、每个c程序必须包含预处理命令:#include <>

b、#include 后面的文件名用双引号(""括起和尖括号(<>括起完全等效。

c、#include 命令行可以出现在源程序中需要的任何地方。

d、用#include 所包含的文件称为头文件,必须以。h作为扩展名。

20. 函数fgets(string,m,fp)的作用是( )

a、从fp所指向的文件中读取长度不超过m的字符串,存入由指针string指向的内存区域。

b、从fp所指向的文件中读取长度为m的字符串存入由指针string指向的内存区域。

c、从fp所指向的文件中读取m个字符串,存入由指针string指向的内存区域。

d、从fp所指向的文件中读取长度不超过m-1的字符串,存入由指针string指向的内存区域。

二、填空题(每题2分,共40分)

1.一个c程序的执行是从开始,到结束。

2.若有说明语句char c='\72',则变量c___

3. 表达式18/4*sqrt(4.0)/8值的数据类型为___

4. 当运行以下程序时,从键盘输入right?(注:表示回车),则下面程序的运行结果是。

#include "stdio,h"

main( )

char c;

while((c=getcharputchar(++c);

5. 下面程序段中循环的执行次数是。

a=10;b=0;

dowhile(a>=0);

6. 程序中如果用了数组名,它表示的数组的。

7. 下面程序的运行结果是___

main()

8. 用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态储存空间,st=(char

9. 下面程序运行后输出结果是。

int fa(int x)

int fb(int x)

int f(int(*f1)()int(*f2)()int x)

return f2(x)-n(x);}

main()

int i;

i=f(fa,fb,2);

printf("%d\n",i);}

10. 指针变量中只能存放。

11. 若有定义int (*p)[3];说明p是一个指针,它可以指向。

12. 欲将一个16进制的整型变量的高8位清零,而只保留低8位,可用的方法是。

高级语言程序设计

总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...

高级语言程序设计

班级学号 021110212 姓名 卢荼 同组同学。成绩。时间 2011.6 28 题目 班级档案管理系统。一 设计任务与目标。对一个有n个学生的班级,通过该系统实现对该班级学生的基本信息进行录入 显示 修改 删除 保存等操作的管理。功能要求 1 本系统采用一个包含n个数据的结构体数组,每个数据的结...

高级语言程序设计

36.下面程序的运行结果是。include void main int a 2,b 1,c 2 if aif b 0 c 0 else c printf c d c 参 考察知识点 if语句的嵌套。运行结果 c 2 下面程序的运行结果是。include void main int a,b,c a 3...