浙江科技学院 C语言(2010-2011-1)试卷-2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江科技学院考试试卷
浙江科技学院
2010 - 2011 学年第 1 学期考试试卷 B 卷
考试科目 C 语言程序设计 考试方式 闭卷 完成时限 2小时 拟题人 题库 审核人 批准人 2011年1月10日 机械、电气、信息等 学院 2010 年级 理工科 专业
命题:
说明:
1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;
2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;
3. 考试完成后,必须将试卷与答卷同时交回。
一、判断题(本大题共12小题,每小题1分,共12分) 1. 在C 程序中,每行中只能写一条语句。 2. for 循环是先执行循环体语句,后判断表达式。
3. continue 的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,
接着再一次进行循环判断。
4. 定义函数时,形参的类型说明可以放在函数体内。
5. 当调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。
6. 在程序中凡是以#号开始的语句行都是预处理命令行, 预处理命令行都必须以#
号开始。
7. C 语言结构体类型变量在程序运行期间,只有最开始的成员驻留在内存中。 8. “FILE *p”的作用是定义一个文件指针变量,其中的“FILE”是在stdio.h 头文件
中定义的。
9. 在不同的函数中可以使用相同名字的变量。
10. 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。
专业班 学 姓 ………………………………………………………………………装订线……………………………………………………………………………………
11.假设有int a[10], *p; 则p=&a[0]与p=a等价。
12.构成数组的各个元素可以有不同的数据类型。
二、单选题(本大题共20小题,每小题1分,共20分)
1.有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为()。
A. 6
B. 7
C. 8
D. 9
2.以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z
的C语言表达式是()。
A. x/y*z
B. x*(1/(y*z))
C. x/y*1/z
D. x/y/z
3.设有:
int a=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后n的值是()。
A. 1
B. 2
C. 3
D. 4
4.以下4个选项中,不能看做一条语句的是()。
A. ;
B. a=5,b=2.5,c=3.6;
C. if(a<5);
D. if(b!=5)x=2;y=6;
5.设有数组定义: char array[]="China"; 则数组array所占的空间为()。
A. 4个字节
B. 5个字节
C. 6个字节
D. 7个字节
6.以下程序有语法错误,有关错误原因的正确说法是()。
main()
{ int G=5,k;
void prt_char();
...
k=prt_char(G);
...
}
A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
7.下面程序应能对两个整型变量的值进行交换。以下正确的说法是()。
main()
{ int a=10,b=20;
printf("(1)a=%d,b=%d\n",a,b);
swap(&a,&b);
printf("(2)a=%d,b=%d\n",a,b);
}
swap(int p,int q)
{ int t;
t=p;p=q;q=t;
}
A. 该程序完全正确
B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行
语句不变)即可
D. 以上说法都不对
8.有以下程序
#define F(X,Y)(X)*(Y)
main()
{ int a=3, b=4;
printf("%d\n", F(a++, b++));
}
程序运行后的输出结果是()。
A. 12
B. 15
C. 16
D. 20
9.若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是。
A. a,point,*&a
B. &*a,&a,*point
C. *&point,*point,&a
D. &a,&*point,point
10.已定义以下函数
fun(char *p2, char *p1)
{ while((*p2=*p1)!=’\0’){p1++;p2++;}
}
函数的功能是()。
A. 将p1所指字符串复制到p2所指内存空间
B. 将p1所指字符串的地址赋给指针p2
C. 对p1和p2两个指针所指字符串进行比较
D. 检查p1和p2两个指针所指字符串中是否有’\0’
11.下面说明不正确的是()。
A. char a[10]="china";
B. char a[10],*p=a;p="china"
C. char *a;a="china";
D. char a[10],*p;p=a="china"
12.以下定义中 int(*prt)[3],标识符prt()。
A. 定义不合法
B. 是一个指针数组名,每个元素都是一个指向整数变量的指针
C. 是一个指针,它指向一个具有三个元素的一维数组
D. 是一个指向整型变量的指针
13.若有说明语句
char a[]="It is mine";
char *p="It is mine";
则以下不正确的叙述是()。
A. a+1表示的是字符t的地址
B. p指向另外的字符串时,字符串的长度不受限制
C. p变量中存放的地址值可以改变
D. a中只能存放10个字符