北京理工大学珠海学院。
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....