___班《c语言程序设计》课程2004-2005期末考试卷。
班级 __学号___姓名___成绩。
一、选择题 23题46分。
二、程序阅读题 3题18分。
三、程序调试题 2题 12分。
四、程序设计题 3题 24分。
一、 选择题(46分,每题2分)
1.合法的c语言标识符是__。
a)2a b) sum c) default d) a*b
2. 下列运算符中,优先级最高的是___
abcd) !
3. 设int a=12,则执行完语句a+=a-=a*a后,a的值是。
a) 552 b) 264 c) 144 d) -264
4.选出以下语句的输出结果。
printf("%d",strlen("\t\”\065\xff\\"
a) 6 b) 14 c) 8 d) 输出项不合法,无正常输出。
5. 设有如下的函数:
ggg(double x)
return x*x;}
则函数返回值的类型。
a) 与参数x的类型相同 b)是void c)是int d)无法确定。
6. 若有以下说明和语句,请选出哪个是对c数组元素的正确引用。
int c[4][5],(cp)[5];
cp=c;a)cp+1 b)*(cp+3) c)*(cp+1)+3 d)*(cp+2)
7. 设有 static char str=beijing";则执行。
printf("%d",strlen(strcpy(str,"china"))
后的输出结果为。
a) 5 b) 7 c) 12 d)6
8. 设有说明语句int x; float y; 且使用下列格式的scanf语句:scanf (″x=%d, y=%f″, x, &y);
现要将数据17和71.9分别赋给x和y,则正确的输入是___
a) 17 71.9《回车》
b) x=17, y=71.9《回车》
c) 17《回车》 71.9《回车》
d) x=17《回车》 y=71.9《回车》
9. 设有如下的程序段:
char str=hello";
char *ptr=str;
执行完上面的程序段后,*(ptr+5)的值为。
a) '0' b)'\0' c)不确定的值 d) '0'的地址。
10.以下说法中正确的是__。
a) 在c语言中,要调用的函数必须在main()函数中定义。
b) c语言程序总是从第一个定义的函数开始执行。
c) c语言程序中,main()函数必须放在程序的开始部分。
d) c语言程序总是从main()函数开始执行。
11. 关于c程序的函数描述中,__是正确的。
a) 函数的定义不能嵌套,但函数的调用可以嵌套。
b) 函数的定义可以嵌套,但函数的调用不能嵌套。
c) 函数的定义和调用都可以嵌套。
d) 函数的定义和调用都不能嵌套。
12. 设a=5,b=6,c=7,d=8,m=2,n=2,执行。
(m=a>b)&&n=c>d)
后n的值为。
a) 1 b) 2 c) 0 d) 7
13.在c语言中,要求运算数必须是整型的运算符是。
a) %b) /c) 14.已知字母a的ascii码为十进制的65,下面程序的输出是。 a) 67,d b) b,c c) c,d d) 不确定的值。 main() char ch1,ch2; ch1='a'+'5'-'3'; ch2='a'+'6'-'3'; printf("%d,%c",ch1,ch2); 15.下面的程序。 a)有语法错误不能通过编译。 b)输出 * c)可以通过编译,但是不能通过连接,因而不能运行。 d) 输出 ## ##. main() int x=3,y=1,z=0; if(x=y+z) printf else printf 16.下面程序。 a) main()前面要加voidb)c=max(&a,&b)应改为c=max(a,b) c) max(&a,&b)应改为max(*a,*b) d) max()前面要加int main() int a,b,c; a=34;b=5; c=max(&a,&b); printf("max=%d",c); max(int p,int q) return (p>q?p:q);} 17. 设有如下枚举类型定义: enum color ; 则枚举量black的值是___ a) 2 b) 14 c) 7 d) 13 18.要引用结构体变量stud中的成员 age,以下错误的用法是: struct student stud=,18},*p=&stud; a (*p).age b c d p->age 19.下面函数的功能是。 a)求字符串的长度b)比较两个字符串的大小。 c) 将字符串x复制到字符串y d)将字符串x连接到字符串y后面。 int fun1( char *x) char *y=x; while(*y++) return(y-x-1); 20.设函数调用语句为:fun1( x,(y,z),10,fun2((x-1,y-1)))请问函数fun1到底有几个参数? a) 1 b) 5 c) 4 d) 6 21.下面的程序。 a)输出的是 1 b)输出的是 1和-2 c)输出的是 3和0 d)是死循环。 main() int x=3; dowhile(!(x)); 22.下列程序运行的正确结果是。 a) 4668 b)4664 c) 2464 d) 4666 void recursive(char c) printf("%c",c); if(c<'6') recursive(c+=2); printf("%c",c); main() recursive('4'); 23.下列程序运行的正确结果是。 a) 23 b)1 c) 26 d) -1 f(char *s) int k=0; while (*s) k+=*s++; return (k-262); main() printf("%d",f("14756")) 二.写出程序的运行结果(18%) /阅读程序“阅读把程序的运行结果写入文件“阅读中。 /阅读程序“阅读把程序的运行结果写入文件“阅读中。 /阅读程序“阅读把程序的运行结果写入文件“阅读中。 1. 阅读。 #include <> sub(int x,int y,int*z) z=y-x; main() int a,b,c; sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf("%d,%d,%d",a,b,c); 2. 阅读。 #include<> fun3(int x) static int a=3; a+=x;return(a); main() int k=2,m=1,n; n=fun3(k); n=fun3(m); printf("n=%d",n); 3. 阅读。 #include "" main() char *p,s=i practice turbo c!"; p=s;while (*p) *p++=p>='a'&&p<='z')?p-'a'+'a'):p; puts(s); 三.程序调试题12% 调试并运行程序“改错和“改错。 / 改错。/ 主程序执行函数调用语句:swap(a,b)的目的是要对。 / 整型变量a,b的值进行交换。 / 程序修改完成后,必须运行本程序一次。 #include<> void main() 增加void swap(int *p,int *q); int a=10,b=20; printf(“a=%d b=%d”,a,b); swap(a,b); swap(&a,&b); printf(“a=%d b=%d”,a,b); /**以下部分不能修改。 file *f; f=fopen("改错","w"); fprintf(f,"%d\t%d",a,b); fclose(f); //*不可修改部分到此结束*** /以下部分可以修改!** void swap(int p,int q); void swap(int *p,int *q) int t; t=p; p=q; q=t; /t=*p;*p=*q;*q=t; c 程序设计试卷。一 选择题。每小题3分,共15分 1 派生类能够直接访问的基类的成员是 a 公有成员 b 保护成员 c 私有成员 d 静态。2 下面是几条定义类的语句,不能被继承的类是 a abstract class figure b class figure c public class fi... 面向对象的程序设计c 试卷c 一 填空 每空2分,共20分 1 定义于函数外的变量称为。2 假定class1为一个类,则执行 class1 a 5 b 2 p 3 语句时,自动调用该类构造函数的次数为。3 利用操作符 语句序列p p 1 f p 5 的功能可以由一个语句完成。4 不借助于其他变量交换... c 程序设计课程期末考试试题 a卷 一判断题 正确打 a 错误打 b 每小题1分,共计20分 1在面向对象的编程中,和数据合并为一个不可分割的对象。2对象是有确定简介且与要处理的问题相关的概念或事物。3每个对象都称为它的类的一个示例。类中的对象具有相同的属性和共同的行为。4多态性是指相同的函数可以在...C程序设计试卷1C程序设计
C 程序设计试卷C
C 程序设计试卷 A