四川大学C语言期末试题(最新版)
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题1分,共16分)
1.对于一个正常运行的C程序,以下叙述中正确的是A 。
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行是从程序的第一个函数开始,在main函数结束
C)程序的执行是从main函数开始,在程序的最后一个函数中结束
D)程序的执行是从程序的第一个函数开始,在程序的最后一个函数中结束
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B 。
A)字母 B)减号 C)数字字符 D)下划线
3.下列定义变量的语句中错误的是 C 。
A)int _if; B)double If;C)char forch D)float x&;
4.以下选项中可作为C语言合法常量的是 A 。
A)-80 B)-0819C)-1el.0 D)-168.0e
5.以下能正确定义且赋初值的语句是 。
A)int a=b=16; B)char c=97;
C)float x=x+1.8; D)double x=1.23E2.0
6.设有定义:“int a=1,b=6,c=8;”,则以下选项中值为0的表达式是 。
A)(!a==1)&&(!b==0)B)(a
C)a && b D)a || b
7.下列叙述正确的是 D 。
A)break语句只能用于switch语句
B)break语句只能用于循环语句
C)break语句必须与switch语句中的case配对
D)break语句可用于switch语句和循环语句中
8.在以下给出的表达式中,与while(E)中的“(E)”不等价的表达式是 C 。
A)(E!=0) B)(E>0 || E<0)C)(E==0) D)(!E==0)
9.以下数组定义中错误的是 。
A)int x[][3]={0,1,2,3};
B)int x[2][3]={{1,2}, {3,4}, {5,6}};
C)int x[][3]={{1,2,3},{4,5,6}};
D)int x[2][3]= {1,2,3,4,5,6};
10.在C语言中,函数返回值的类型最终取决于 。
A)函数定义时的函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时的实参的类型
D)函数定义时形参的类型
11.设已有定义:“float a;”,则以下对指针变量p进行定义且赋初值的语句中正确的是 。
A)float *p = 1068; B)int *p= (int)a;
C)float p=&a; D)float *p=&a;
12.若有说明语句:“float *p,a;”,则能通过scanf语句正确给输入项读入数据的程序段是 。
A)*p=&a; scanf("%f",p); B)*p=&a; scanf("%lf",p);
C)p=&a; scanf("%f",*p); D)p=&a; scanf("%f",p);
13.若有以下说明和定义:
union dt
{
short int a;
char b;
double c;
} data;
以下叙述中错误的是 。
A) data的每个成员起始地址都相同
B)变量data所占的内存字节数与成员c所占字节数相等
C)程序段“data.a=6;printf("%f\n ",data.c);”输出结果为6.000000
D) data可以作为函数的实参
14.以下叙述中正确的是 。
A)在源文件的一行上可以有多条预处理命令
B)宏名必须用大写字母表示
C)宏替换不占用程序的运行时间
D)前面都是错语的
15.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 。
A)EOF B)1C)0 D)NULL
16.以下叙述中错误的是 。
A)改变函数形参的值,不会改变对应实参的值
B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)函数的形参可为指针类型
二、填空题(第小题2分,共14分)
1.已定义“char ch=6;int i=6,j;”,执行“j=ch || i++”以后,i的值为 。
2.设有定义语句:“int a[][8]={{0},{1},{2}};”,则数组元素a[1][2]的值为 。
3.已知int a=3,a的地址为1008,则&a= 。
4.设有定义:“FILE *fp;”,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。
fp =