C语言期末试卷A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(每空2 分,共50 分)
(请将各小题正确答案的字母序号填到相应小题的下划线上)
1.C语言的运算符按运算对象的数目可以分为。
A)单目运算一种B)单目和双目运算符
C)单目、双目和三目运算符D)单目、双目、三目运算和四目运算符
2.C语言表达式2/5*10的值是。
A) 0.04 B)4 C)4.0 D)0
3.已知变量f和i的类型说明如下:
float f=12.34; int i;
则以下符合C语言语法的表达式是。
A) i=(int)f%5 B) i=int(f)%5
C) i=f%5 D) i=(int f)%5
4.能正确表示数学式1≤x≤5的C语言表达式是。
A)1 <=x<=5 B)(x> =1)&(x<=5 )
C)(x>=1 )&&(x<=5) D)(1 < =x)||(5> =x)
5.设变量c的数据类型是char,i的数据类型是int,f的数据类型是float,
则C语言表达式c*i+c*f-i+100值的数据类型为。
A)int B) float C) char D)不确定
6.在下列选项中,合法的C语言用户标识符的是。
A)int B)sin C)if D)i+j
7.C程序的执行从开始。
A)程序中的第1个语句B)程序中的第1个函数
C)名为main 的函数D)包含文件的第1个函数
8.凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为。
A)自动(auto) B)静态(static) C)字符串D)字符或字符型变量值
9.以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数
据的是。
main()
{int x,y;
scanf("x=%d,y=%d",&x,&y);
printf("x+y=%d",x+y);
}
(说明:用
A)10_20
C)10
20
10.下面程序的运行结果是。
main()
{
int a,b;
a=32767;
b=a+1;
printf("a=%d,b=%d\n",a,b);
}
A)a=32767,b=-32768 B)a=32767,b=32768
C)a=32767,b=1 D)运行出错
11.在C语言中,以下错误的描述是。
A)break语句不能用于循环语句和switch语句外的任何其它语句
B)在switch语句中使用break语句或continue语句的作用相同
C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循
环
D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
12.在C语言中,数组作为函数的形参,函数调用时,若用数组名作为函数的实
参,则实际上传递给形参的是。
A)数组首地址B)数组的第一个元素值
C)数组中全部元素的值D)数组元素的个数
13.C语言编译系统对宏命令是。
A)在程序运行时进行替换处理
B)在程序连接时进行处理
C)和源程序中其它C语句同时进行编译
D)在对源程序中其它成份正式编译之前进行处理
14.设 x、y为整型变量且已赋值,将其中较大的值输出的、正确的 if 语句
是。
A) if ( x >y ) printf ( “ %d ” , x );
B) if ( x >y ) printf ( “ %d ” , x );printf ( “ %d ” , y );
C) if ( x >y ) ; printf ( “ %d ” , x ); else printf ( “ %d ” , y );
D) if ( x >y ) printf ( “ %d ” , x ); else printf ( “ %d ” , y );
15.对以下程序段描述正确的是。
x=10;
while(x) x=x/4;
A) 不执行循环体B) 循环体执行一次C) 循环体执行二次D) 死循环
16.在C语言中,引用数组元素时,对数组下标的数据类型以下说法错误的
是。
A) 数组下标可以用整型常量B) 数组下标可以用整型变量
C) 数组下标可以用任意类型的表达式D) 数组下标可以用整型表达式
17.以下C函数的功能是。
int fun(int x,int y)
{ int z=0;
z=x>y?x:y;
return z; }
A) 求x 和y二者中的最大值B) 求x 和y二者中的最小值
C) 返回一个不确定的值D) 返回函数值为“0”
18.定义数组:int s[10];则数组元素下标的取值。
A) 最小值为1,最大值为10 B) 最小值为0,最大值为10
C) 最小值为0,最大值为9 D) 最小值为1,最大值为9
19.已知 int i,s[4][5];不能表示数组第3行第3列元素值的是。
A) * ( * ( x) )+ 3 B) x [ 3 ] [ 3 ]
C) * ( * ( x + 3 ) + 3 ) D) * ( x [ 3 ] + 3 )
20.以下C函数的类型是。
fun (float f )
{ printf ( “ %f \n ” , f ) ; }
A) int B) float C) void D) 无法确定
21.设char *s1,s2[255]=“programing” ;以下操作正确的是。
A) *s1 = “function”;B) s2=“function”;s1=s2;
C) s1 = “function”;s2=s1;D) *s2='P';s1 =s2 ;
22.设有说明语句:
struct student
{ int num,age; };
struct student stu[3]={{6001,20},{6003,21},{6005,19}};
struct student *p=stu;
则下面的C语言表达式中,值为6003的是。
A) ++(p->num) B) (p++)->num
C) (*p++).num D) (*++p).num
23.已有定义 int ( * p ) ( ) ; 则指针 p 可以。
A) 代表函数的返回值B) 指向函数的入口地址
C) 代表函数的类型D) 代表函数返回值的类型
24.若用下列语句输出26个大写英文字母:
(1)for(a='A';a<='Z';a++) printf("%c",a);
(2)for(a='Z';a>='A';a--) printf("%c",a);
(3)for(a='A';a<='Z';) printf("%c",a++);
(4)for(a='A';a++<='Z';) printf("%c",a);
以下说法正确的是。
A)全都能输出B)只有前三个语句可以输出
C)只有前两个语句可以输出D)只有第一个语句可以输出
25.设以下程序用来求三个元素的数组中,第1个元素与第3个元素之和(程序
每行前面的数字表示行号)。
1 main()
2 { int a[3]={3*0},i;