|
一、单选题(共 15 道试题,共 60 分。) V 1. 以下正确的说法是( )
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后面的值不能为表达式
C. 如果函数的类型与返回值类型不一致,以函数类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
2. 使用scanf(“x=%f,y=%f”,&x,&y)要使x,y的值均为3.14,正确的输入是
A. 3.14,3.14
B. 3.143.14
C. x=3.14,y=3.14
D. x=3.14y=3.14
3. 下面程序#include "stdio.h" #include "string.h" main(){char *s1="AbDeG";char *s2="AbdEg";s1+=2; s2+=2;printf"%d\n",strcmp(s1,s2));}的运行结果是( )
A. 正数
B. 负数
C. 零
D. 不确定的值
4. 关于联合体,下面叙述不正确的是( )
A. 联合体变量中成员项共用同一存储空间,因此,联合体变量的地址和每一个成员项的地址是同一地址
B. 联合体变量中成员项所占存储空间量不同,因此,联合体中每一个成员项的地址不是同一地址
C. C语言规定不能对联合体变量赋值
D. 也不能通过直接引用变量名来得到成员项,这与结构体是相同的
E. 不允许将联合体变量作为函数参数,也不允许用联合体变量作为函数的返回值
5. C语言规定:在一个源程序中,main函数的位置( )
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
6. 设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar(m);putchar(' ');putchar(ch);后,则输出结果是( )
A. A1
B. lA
C. Al
D. 1A
7. 若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是( )
A. &p
B. a++
C. &(p+1)
D. &p[i]
8. 以下对C语言函数的有关描述中,正确的是
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. C函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个源程序文件中
9. 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上)( )
A. i*m+j
B. j*m+I
C. i*m+j-1
D. i*m+j+1
10. 有以下程序#include<stdio.h> main(){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf("%d,%d",*p,a[3]);},请问执行后的输出结果是( )
A. 1,4
B. 0,4
C. 1,6
D. 0,6
11. 下面程序的输出是( )main(){enum team {my, your=4,his,her=his+10};printf("%d%d%d%d\n",my,your,his,her);}
A. 0123
B. 04010
C. 04515
D. l4515
12. C源程序文件名为echo.c经过编译后,在命令行提示符下输入( ),则在屏幕上将显示good morning。 #include <stdio.h> main(int argc,char *argv[]) { int i; for (i=1;i<argc;i++) printf("%s%c",argv[i],(i<argc-1)?' ':'\n'); }
A. goodmorning
B. echogoodmorning
C. goodmorning
D. main(goodmorning)
13. 若有说明:int a[3][4];则对a数组元素的正确引用是( )
A. a[2][4]
B. a[1,3]
C. a[1+1][0]
D. a(2)(1)
14. 假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是( )
A. 8
B. 7
C. 6
D. 5
15. 设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为( )
A. float
B. char
C. int
D. double
二、判断题(共 10 道试题,共 40 分。) V 1. 结构体变量各元素在内存中是连续、按顺序排放的
A. 错误
B. 正确
2. strcmp3(char *s,char *t){for (;*t= =*s;){if (!*t) return 0; t++;s++;}return (*s-*t);}库函数strcmp(char*s,char*t)是功能相等的程序段
A. 错误
B. 正确
3. char *s="china";等价于char *s;s="china";
A. 错误
B. 正确
4. 在C 语言中,指针类型属于构造类型
A. 错误
B. 正确
5. 在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效
A. 错误
B. 正确
6. 如果int i=3,则printf(“%d”,-i++)的结果和i的值为-3和4
A. 错误
B. 正确
7. goto不是C语言的关键字
A. 错误
B. 正确
8. 若有说明int *p1,*p2,m=5,n;则p1=&m;p2=&p1;是正确的程序段
A. 错误
B. 正确
9. main(){short i;i=-4;printf("\ni:dec=%d, oct=%o, hex=%x, unsigned=%u\n",i,i,i,i);}以上程序的输出结果为i:dec=-4, oct=177774, hex=fffc, unsigned=65532
A. 错误
B. 正确
10. 对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3)
A. 错误
B. 正确
|
|