东北大学网络教育学院。
程序设计基础(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...