东北大学网络教育学院。
程序设计基础(c) 试卷(d卷)
学习中心姓名学号。
一、选择题(每题2分,共40分)
1.在c语言中,整数-8在内存中的存储形式是( )
a、1111 1111 1111 1000b、1000 0000 0000 1000
c、0000 0000 0000 1000d、1111 1111 1111 0111
2. 从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )
a、希尔排序 b、冒泡排序 c、插入排序 d、选择排序。
3. 若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )
b=(a=10,a+5,c=10);
printf("a=%d,b=%d,c=%d",a,b,c);
c=(a=10,b=5,a+b);
printf("a=%d,b=%d,c=%d",a,b,c);
a、a=10,b=15,c=10b、a=10,b=10,c=10
a=10,b=5,c=10a=10,b=5,c=10
c、a=10,b=10,c=10d、a=10,b=10,c=10
a=10,b=5,c=15a=10,b=5,c=5
4. 逻辑运算符两侧运算对象的数据( )
a、只能是0或1b、只能是0或非0正数。
c、只能是整型或字符型数据d、可以是任何类型的数据。
5. 若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )
a、a%2==1 b、!(a%2==0) c、!(a%2) d、a%2
6. 以下关于do-while循环不正确的描述是( )
a、d0-while的循环体至少执行一次。
b、do-while循环由do开始,用while结束,在while (表达式)后面不能写分号。
c、在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作。
d、do-while的循环体可以是复合语句。
7. 若有以下程序段:
for (m=1; m<=100; m++)
正确的描述是( )
a、)当y<0时整个循环结束b、y>=0时什么也不输出。
c、printf函数永远也不执行d、)最多允许输出100个非负整数。
8. 在c语言中,引用数组元素时,其数组下标的数据类型允许是( )
a、整型常量b、整型表达式
c、整型常量或整型表达式d、任何类型的表达式。
9. 若有说明:int a[3][4];则对a数组元素的非法引用是( )
a、a[0][2*1] b、a[1][3c、a[4-2][0] d、a[0][4]
10. 下面程序的运行结果是( )注:选择项a表示输出为空格)
char a[7]="abcdef";
char b[4]="abc";
strcpy(a,b);
printf("%c",a[5]);
a、 b、\0 c、e d、f
11. 以下判断正确的是( )
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=;
12. 以下能正确进行字符串赋值操作的是( )
a.char s[5]=;
b.char s[5]=;
c.char *s; *s="12345";
d.char *s="12345";
13. 若有以下语句,则对x数组元素引用不正确的是( )
int x[ ]ptr;
ptr=x;
a.*(ptr) b.*(ptrc.*(ptrd.*(ptr)
14. 以下正确的函数说明是( )
a、int fun(int a, b) b、float fun(int a; int b)
c、double fund、int fun(char a[ ]
15.以下正确的描述是( )
a、定义函数时,形参的类型说明可以放在函数体内。
b、return后面的值不能为表达式。
c、如果函数值的类型与返回值类型不一致,以函数值类型为准。
d、如果实参与形参的类型不一致,以实参类型为准。
16. c语言的编译系统对宏命令的处理是( )
a、在对源程序中其它成分正式编译之前进行的。
b、和c程序中的其它语句同时进行的。
c、在程序连接时进行的。
d、在程序运行时进行的。
17. 设有以下说明语句,则下面的叙述不正确的是( )
struct abc
stype;
a、struct是结构体类型的关键字。
b、abc是用户定义的结构体类型名。
c、m和n都是结构体成员名。
d、stype是用户定义的结构体变量名。
18. 链表不具备的特点是( )
a、可随机访问任意一个结点。
b、插入和删除不需要移动任何元素。
c、不必事先估计存储空间。
d、所需空间与其长度成正比。
19.系统的标准输入文件是指( )
a、键盘b、显示器 c、软盘d、硬盘。
20. 以下对c语言中共用体类型数据的叙述正确的是( )
a、可以对共用体变量名直接赋值。
b、一个共用体变量中可以同时存放其所有成员。
c、一个共用体变量中不能同时存放其所有成员。
d、共用体类型定义中不能出现结构体类型的成员。
二、完善程序题(每题5分,共30分)
1.给定一英文句子的字符串,统计其中的单词个数的函数。
int word_num(char *a)
int n=0,in_word=0;
for(; a; a
return n;
2. 下面程序的功能是将字符串a中下标值为偶数的元素由小到大排序,其它元素不变。
#include <>
main()
printf (“n”);
puts (a);
3. 下面的函数strcat(strl,str2)实现将字符串str2拼接到字符串strl后面的功能。请填空使之完整。
char*strcat(strl,str2)
char*strl.*str2;
char*t=strl;
while( 【1】 )strl++;
while( 【2】 )
return(t);}
4. 下面函数fun的功能是判断一个数是否为降序数(降序数是个位≤十位≤百位┈的数,只有一位的数也属于降序数),是返回1,否则返回0。根据题意,完善程序。
int fun ( int n)
int k=0;
while ( n )
if1return 0;
return 1;
5. 函数fun的作用是将指针p2所指字符串复制到指针pl所指内存空间。根据题意,完善程序。
fun( 【1
6. 已知文本文件中存放有若干学生(不超过100个)的姓名等信息,读出所有学生的内容并按以下要求整理后存入文本文件中。(要求:每个班只保留一个学生。)
#include ""
高级语言程序设计
总分 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...