安徽工业大学大一c语言期末考试试题
一 选择题(7分,每小题0.5分)
1.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是( D )。
A 552 B 144 C 264 D -264
2.下列标识符中,不能作为合法的C用户定义标识符的是( D )。
A a3_b3 B void C _123 D IF
3.下列整数值中,不正确的八进制或十六进制数值常量是( C )。
A 0xcd B -017 C -ox123 D 0xfdc
4.若给定条件表达式(M)?(a++):(a--),则其中表达式M和( A )等价。
A M==0 B M=1 C M!=1 D M!=0
5.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为( C )。
A 只能是逻辑表达式 B只能是关系表达式
C 只能是逻辑表达式或关系表达式 D可以是任意表达式
6.以下程序的输出结果为( A )。
main( )
{ char c;
int i;
for(i=65;i<68;i++)
{ c=i+32;
switch(c)
{ case ‘a’:printf("%c,",c);break;
case ‘b’:case ‘e’:printf("ok,");
default: printf("end");
}
}
}
A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok
7.数组名作为实参数传递给函数时,数组名被处理为( C )。
A 该数组的长度 B 该数组的元素个数
C 该数组的首地址 D 该数组中各元素的值
8.关于return语句,下列正确的说法是( )。
A 可以在同一函数中出现多次 B 在主函数中不能出现
C 必须在每个函数中出现 D 只能在除主函数之外的函数中出现一次
9.以下程序的输出结果为( B )。
#define A 3
#define B(a) (A+1)*a
main()
{ int x;
x=3*A+B(7);
printf("x=%d\n",x);
}
A x=93 B x=37 C x=60 D x=90
10.设有以下定义,则以下对变量w的赋值( )是错误的。
enum week{sun,mon=4,tue,wed,thu,fri,sat}w;
A w=sun; B w=(enum week)4; C w=san; D w=(enum week)9;
11.以下定义结构体类型st1,其中正确的是( )。
A typedef struct student
{ int num; int age; }STD;
STD st1;
B struct st1{int num,age;}s;
C struct { int num; float age;}st1;
D struct st1 {int num; int age; }
12.若有下面的变量定义,以下语句中合法的是( B )。
int i,a[10],*p;
A p=a+2; B p=a[5]; C p=a[2]+2; D p=&(i+2);
13.若有以下定义和语句,则值为12的表达式是( )。
struct wc{ int a;int *b;}*p;
int x0[]={11,12},x1[]={31,32};
static struct wc x[2]={100,x0,300,x1};
p=x;
A *++p->b B ++p->a C p->b D *(p++)->b
14.要打开一个已存在的非空文件“file”用于修改,选择正确的语句( )。
A fp=fopen("file","r"); B fp=fopen("file","w");
C fp=fopen("file","r+"); D fp=fopen("file","w+");
二 判断对错,对的划“√”,错的划“×”(5分,每小题0.5分)
1.在Turbo C中,实型数据在内存中占4个字节。( )
2.若有形参定义:int a[10];则a++是合法的表达式。( )
3.若有宏定义:#define PI 3.14i5926,则系统预编译时会报错。( )
4.函数的递归调用不过是一个函数直接地调用它自身。( )
5.定义在main函数后的任何函数都需在main中进行函数声明。( )