C程序设计试卷

发布 2021-04-24 20:14:28 阅读 5349

___班《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程序设计试卷1C程序设计

c 程序设计试卷。一 选择题。每小题3分,共15分 1 派生类能够直接访问的基类的成员是 a 公有成员 b 保护成员 c 私有成员 d 静态。2 下面是几条定义类的语句,不能被继承的类是 a abstract class figure b class figure c public class fi...

C 程序设计试卷C

面向对象的程序设计c 试卷c 一 填空 每空2分,共20分 1 定义于函数外的变量称为。2 假定class1为一个类,则执行 class1 a 5 b 2 p 3 语句时,自动调用该类构造函数的次数为。3 利用操作符 语句序列p p 1 f p 5 的功能可以由一个语句完成。4 不借助于其他变量交换...

C 程序设计试卷 A

c 程序设计课程期末考试试题 a卷 一判断题 正确打 a 错误打 b 每小题1分,共计20分 1在面向对象的编程中,和数据合并为一个不可分割的对象。2对象是有确定简介且与要处理的问题相关的概念或事物。3每个对象都称为它的类的一个示例。类中的对象具有相同的属性和共同的行为。4多态性是指相同的函数可以在...