C语言试题期末小结答案

发布 2021-04-20 22:37:28 阅读 1434

北京理工大学珠海学院。

c语言程序设计》试卷分析。

一、选择题(每小题1分,共15分)

1.以下叙述中不正确的是___c __

a.在c中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。

b. 在c中,在调用函数时,实际参数和对应形参在类型上只需赋值兼容。

c. 在c中,静态变量如果不初始化,值为不定值。

d. 在c中,函数形参是局部变量。

2. 设有如下枚举类型定义:

enum color=;

枚举量green和black的值分别为___a___

a. 2,102 b. 2,5 c. 1,5d. 1,102

3. 设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是_ d __

a. 把x和y按从大到小排列 b. 把x和y按从小到大排列。

c. 无确定结果d. 交换x和y中的值。

4. 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)))在此函数调用语句中实参的个数是___a___

a.3b.4c.5d.6

5. 若有以下的定义:

int a=p=a;

则值为3的表式是___a___

a. p+=2, *pb. p+=2,*+p

c. p+=3, *kpd. p+=2,++p

6. 设有如下的变量定义:

int i=8, k, a, b;

unsigned long w=5;

double x=1.42, y=5.2;

则以下符合c语言语法的表达式是___a __

a.a+=a-=(b=4)*(a=3b. x%(-3);

c. a=a*3=2d. y=float(i)

7. 以下程序段的输出结果是___a __

char s=141\141abc\t";

printf ("d",strlen(s));

a. 9b. 12c. 13d. 14

8. 要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确执行此功能的函数是___d __

*x,int *yb. funb(int x,int y)

int *pint t;

p=*x;*x=*y;*y=*pt=x;x=y;y=t;}

c. func(int *x,int *yd. fund(int x,int y)

*x=*y;*y=*xx=*x+*y; *y=*x-*y; *x=*x-*y; }

9. 以下程序的输出结果是___d __

main()

int a=12,b=12;

printf("%d,%d",-a,++b);

a. 10 10b. 12 12c. 11 10d. 11 13

10. 以下对c语言函数的有关描述中,正确的是___a __

a. 在c中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参。

b. c函数既可以嵌套定义又可以递归调用。

c. 函数必须有返回值,否则不能使用函数。

d. c程序中有调用关系的所有函数必须放在同一个源程序文件中。

11. 下面能正确进行字符串赋值操作的语句是__c___

a. char s[5]=;

c. char *s;s=" s; scanf("%s",s);

12. 以下程序的输出结果是_b___

main()

char ch[3][5]=;

printf("\s\"",ch[1]);

a. "aaaab. "bbbc. "bbbcc" d. "cc"

13. 以下能对一维数组a进行正确初始化的语句是___d __

a. int a[10]= 0,1b. int a

c. int[10] a=;

14. 设有程序段:int k=0;while(k) k--;则下面描述正确的是___d __

a. while循环执行10次 b.无限循环

c. 循环体语句执行1次 d.循环体语句一次也不执行。

15. 若有以下定义:

char s[20]="programming",*ps=s;

则不能代表字符o的表达式是___d __

a. ps+2 c. ps[

二、填空题(每小题1分,共10分)

1.在c语言中,每条语句和数据定义的最后必须有_①_号。

2.在c语言中,以/*开始,以*/为结束的部分,称为___注释语句_。

3.c语言的源程序文件,扩展名为_③_c __

4.要在程序中使用putchar()函数,应该包含的头文件为___

5.一个正确的c语言源程序文件,必须通过___编译_、_链接_之后才能执行。

6. 设有以下语句。

int a=5,b=8,c=3;

if(a>c) b=a;a=c;c=b;

执行后,变量a、b、c中的值分别为 ⑦3 、 5 、 5 。

7. 在c语言中,静态局部变量用关键字__⑩static __进行声明。

三、阅读下列程序,写出输出结果。(每小题4分,共20分)

#include <>

void func(int n);

main()

int i;

for (i = 0; i < 2; i++)

void func(int n)

static int t = 1;

printf("t=%d", t++)

#include <>

main()

int n = 0;

char c;

while((c=getcharn')

printf("value=%d", n);

程序运行时输入为:2008《回车》 时,则程序运行结果是:__

#include<>

int ss(char *s)

main()

struct stu

void f(struct stu p),}

= s[1].num; =s[1].totalscore;

main()

struct stu s[2]=,

f(s[0]);

printf("%d %3.0f", s[0].num, s[0].totalscore);

main()

char w[10]=,k;

for (k=1;k<3;k++)

printf("%s",&w[k][k]);

四、读程序,并填空(每小题3分,共30分)

1.下面函数实现strcmp的功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符的ascii码值之差作为函数值返回。

int mystrcmp(char s,char t)

int i;

for (i=0i++)

return (s[i]-t[i]);

2.下面程序用于读入10个字符串,然后找出最大的字符串并打印。

#include <>

#include <>

main()

char str[10][80],maxstring[80];

int i;

printf("enter ten strings:");

for (i=0; i<10; i++)

strcpy(maxstring, str[0]);

for (i=1; i<10; i++)

printf("the max string is:%s",maxstring);

3.以下程序将输入的十进制数以八进制的形式输出。

C语言试题2 答案

题1 有如下程序 define double x x x i 5 double 5 i的值是多少?并说明为什么?30,i 5 5 5 题2 定义了unsigned int i unsigned char p p指向内存一地址。现在要比较i所在4个字节和p指向的连续4个字节的内容是否一样。请依题意写出...

C语言期末试题2023年C

c语言考试题。说明 考试成绩分为两部分 实验占10 卷面笔试占90 满分为100分。本试卷为卷面笔试部分,卷面满分为90分。一 填空题 10分,第1小题4分,其余每空1分 1 设有下列登记表,请采用最佳方式定义一种数据类型来表示这些数据的集合。其中,配偶姓名用spousename表示,子女人数用ch...

C语言年试题及其答案

0 引言 1 1历年川大考研真题讲评 1 1.1 四川大学2000年攻读硕士学位研究生入学考试试题及答案 1 1.2 四川大学2001年攻读硕士学位研究生入学考试试题及答案 6 1.2.1第2001年 c语言程序设计题目 6 1.3 四川大学2002年攻读硕士学位研究生入学考试试题及答案 12 1....