一、单选(20%,每题1分)
1、以下叙述不正确的是。
a、一个c源程序可由一个或多个函数组成。
b、一个c源程序必须包含一个main( )函数。
c、c程序的基本组成单位是函数。
d、在c程序中,注释说明只能位于一条语句的后面。
2、以下选项中,能用作用户标识符的是( )
a、void b、8_8 c、_0_ d、unsigned
3、若有定义:int x=3,y=4;则表达式!x||y的值为( )
a、1 b、0 c、3 d、4
4、对于类型相同的指针变量,不能进行的运算是( )
a、+ b、 -c、= d、==
5、以下程序段的运行结果是( )
enum weekdayweek=ee;
printf(“%d”,week);
a、ee b、5 c、 2 d、4
6、下面程序中,结构体变量a所占的内存字节数是( )
union u
char st[4]; int i; long l;};
struct a
int c; union u u;}a;
a、4 b、5 c、 6 d、8
7、以下程序的输出结果是( )
main( )
int a=p;
p=a;(p+3)+=2;
printf(“%d,%d”,*p,*(p+3));
a、2,4 b、 2,6 c、1,4 d、1,6
8、下面说法不成立的是( )
a、结构体可以嵌套定义 b、共用体可以嵌套定义
c、结构体的成员不可以是共用体
d、结构体的成员可以是共用体、结构体和基本数据类型。
9、以下程序的输出结果是( )
void main( )
char a=3,b=6; char c=a^b<<2; printf(“%d”,c);}
a、10b、20 c、27 d、28
10、以下对结构体变量stu1 中成员age的非法引用是( )
struct studentstu1,*p;
p=&stu1;
a、 b、 c、p->age d、(*p).age
11、当调用函数时,实参是一个数组名,则向函数传递的是( )
a、数组的首地址b、数组的长度
c、数组每一个元素的地址 d、数组每个元素中的值。
12、以下程序的输出结果是( )
#define sum(y) 1+y
main( )
int x=2;
printf(“%d”,sum(5)*x);}
a、 10 b、 11 c、12 d、15
13、以下运算符中优先级最高的是( )
ab、 14、在c 语言中,用“w”方式打开一个已含有10个字符的文本文件,并写入了5个新字符,则该文件中存放的字符是( ) 、新写入的5个字符。 b、新写入的5个字符覆盖原有字符中的前5个字符,保留原有的后5个字符。 c、原有的10个字符在前,新写入的5个字符在后。 d、新写入的5个字符在前,原有的10个字符在后。 15、若有定义:int *p,a=4; p=&a;则以下均代表地址的是( ) a、a,p b、&a,p c、&a,*p d、a,*p 16、下面函数调用正确的是( ) a、fopen(‘ b、fprintf(“%ld”,data,fp) ; c、fclose(“ 17、函数调用语句fseek(fp,-10l,2);的含义是( ) a、将文件位置指针移动到距离文件头10个字节处。 b、将文件位置指针从当前位置向文件尾方向移动10个字节。 c、将文件位置指针从当前位置向文件头方向移动10个字节。 d、将文件位置指针从文件末尾处向文件头方向移动10个字节。 18、以下程序运行后,屏幕显示file open error!,则可能的原因是( ) main() file *fp;char str[256]; fp = fopen(""rt"); if(fp==null) fscanf(fp,"%s",str); fclose(fp);} a、当前工作目录下有文件,但文件太小。 b、文件不能关闭。 c、当前工作目录下没有文件。 d、当前工作目录下有文件,但文件太大。 19、下面程序的输出结果是。 main( ) union us; printf(“%d”,a、28 b、1000 c、0 d、不确定。 20、.以下程序段运行后x的值为。 int a[9]=; int *p,*q; int i,x; p=&a[0]; q=&a[8]; for(i=0;i<3;i++) if(*(p+i)==q-i)) x=*(p+i)*2; a、2 b、4 c、6 d、8 二、填空(10%,每个空格1分) 1、对于整型变量x和y,语句for(x=0,y=0;(y!=20)&&x<4);x++)y++; 中的“y++;被执行次数为。 2、在c语言中,表示逻辑“真”值用___表示。 3、若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是。 4、若fp已正确定义并指向某个文件,当末遇到该文件结束标志时,函数feof(fp)的返回值是。 5、设int a[5]=,p;p=a;则语句*++p的值为。 6、c语言可以处理的文件类型是二进制文件和。 7、c语言函数返回类型的默认定义类型是。 8、设x=2,y=3,则表达式x<9、程序段char a=abc\0mis";printf("%d",strlen(a));运行后屏幕输出为___ 10、用来定义符号常量的预处理指令是。 三、程序分析题(24%,每题6分) #include<> void test(int *x,int *y) void main( ) int a=10,b=20; test(&a,&b); printf(“a=%d,b=%d”,a,b);} 运行结果:#include<> main( ) struct testx; printf(“%d,%c”,运行结果: #include<> main( ) file *fp;int i=1,j=2,k,n; fp=fopen(“ fprintf(fp,”%d”,i); fprintf(fp,”%d”,j); fclose(fp); fp=fopen(“ fscanf(fp,”%d%d”,&k,&n); printf(“%d,%d”,k,n); fclose(fp); 运行结果:4、void fun(char s1) *(s1+j)=’0’;} main( ) char str=morning”,*p; p=str; fun(p); puts(p);} 运行结果:四、程序填空题(16%,每个空格2分) 1、下列程序输出数组中的最大值及最小值。请填空。 #include<> main( ) int a[10]=; int *p,max,min; for(p=a;p 2、有3个学生的成绩需要保存在文件中。保存格式如下: 学生姓名,年龄,成绩,学生姓名,年龄,成绩,学生姓名,年龄,成绩,请完成下面这段源程序。 #include<> 考试课程 c语言程序设计考试时间 120分钟 本卷共有3道大题 一 单项选择题 40道小题,共45分 1 若已定义x和y为整型变量,且x 7,则表达式y 2.3 x 2的值是 1分 a 6 b 5 c 5.0 d 6.0 2 已知字母a的ascii码为十进制数65,且定义c2为字符型变量,则执行语句... 一 单项选择题。1.c语言源程序文件经过c编译程序编译连接之后生成一个后缀为 c 的文件。a c b obj c exe d bas 2.以下选项中不正确的整型常量是 c a 12l b 10 c 1,900 d 123u 3.表达式 c 的值是0。a 3 5 b 3 5.0 c 3 5 d 3 5... 一 单项选择题 每空 2 分,共 50 分 请将各小题正确答案的字母序号填到相应小题的下划线上 1.c语言的运算符按运算对象的数目可以分为 a 单目运算一种b 单目和双目运算符。c 单目 双目和三目运算符 d 单目 双目 三目运算和四目运算符。2.c语言表达式2 5 10的值是 a 0.04 b 4...C语言期末试卷
C语言期末试卷
C语言期末试卷A