当前位置:首页 > C语言选择题复习精选
#define P 3.14 int y; main( ) { int a = 1;
函数名(a);
… /*若干执行语句*/
}
int函数名(int x) {return x*x;}
A.main B.y C.P D.print
65.已知有语句“FILE *fp;int x=123;fp =fopen(\,如果需要将变量x的值以文本形式保存到一个磁盘文件out.dat中,则以下函数调用形式中正确的是(B )。 A.fprintf(\ B.fprintf(fp, \C.fprinff(\ D.fprintf(\
66.已知有声明语句“char s1[10]= \,以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是(D )。 A.s3=s1,s1= s2, s2 = s3;
B.s3[0] = s1[0],s1[0] = s2[0],s2[0]=s3[0];
C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]); D.strcpy(s3,s1), strcpy(sl, s2), strcpy(s2, s3);
67.在定义任何一个函数时,下列选项中(B )是不可缺少的。 A.函数名之前的数据类型 B.函数名之后的一对圆括号 C.形式参数声明 D.函数体中的语句 68.已有数据类型定义和变量声明如下: struct person {int num;
char name[20], sex;
struct {int class; char prof[20];}in;
}a={20,\ 下列语句中正确的是(B )。 A.printf(\ B.printf(\.prof); C.printf(\ D.printf(\69.若有以下程序: int x;
int f(int y)
{return标识符;} # include
{int z=2;f(z);…}
则在函数f中return语句后允许出现的标识符是(B )。 A.x或w B.x或y C.z或w D.NULL 70.以下跳转语句中,只有(C )可以选择不唯一的跳转目的地。
A.continue; B.break; C.goto标识符; D.return; 71.在缺省情况下,标准C的编译系统中预定义的标准输出流stdout直接连接的设备是(D )。 A.软盘 B.硬盘 C.键盘 D.显示器
72.已有枚举类型定义:“enum letter{A, B, C=7, D, E};”,以下表达式中除(D )外,其他表达式的机内值均等于10。 A.?\\xb?-1 B.B+E C.010+2 D.0xf-3 73.已知数据类型定义和变量声明如下: struct sk
{int a; float b;}data[2], *p;
若有p=data,则以下对data[0]中成员a的引用中错误的是(A )。 A.data[0]->a B.data->a C.p->a D.(*p).a
74.已知有声明“char c=?1?; int x=300; float t=35000; double d=3.1234567e10;”,则以下表达式求值时除(D )外其结果都可能是不准确的。 A.x=t/c B.t=d/x C.t=d/1e5f D.t = x + c 75.已有预处理命令和声明如下: #define N 10 int a=2, c=1; double b=1.2;
下述程序段正确的是(C )。 A.switch(a)
{ case c: a--;break;
case c+1: a++;break; }
B.switch(a)
{ case N>0: a=1;break; case 1: a=0;break; }
C.switch(a)
{ case 2: b++;break; case ?0?: b=3; }
D.switch(b)
{ case 1.0: b++;break; case 1.2: b=1;break; }
76.若有以下声明和定义:
void fun(int c){printf(\ main( )
{void (*a) (int)=fun, *b(int), (*c) ( int ); /*调用fun函数语句位置*/ }
void *b(int c){ }
如果在main函数中需要调用fun函数,以下调用语句中错误的是(C )。 A.fun(1); B.(*a)(1); C.b=fun; (*b)(1); D.c=a; (*c)(1);
77.以下叙述正确的是(A )。
A.一个用C语言编写的程序在运行时总是从main函数开始逐条执行语句的 B.main函数是系统库函数
C.main函数中每行只能出现一条语句
D.main函数必须出现在所有其他函数之前 78.以下关于函数形式参数的声明中正确的是(A )。
A.int a[ ] B.int a [ ][ ] C.int a[ ]={0} D.int a[2][ ]
79.关于函数返回值,以下叙述中正确的是(B )。
A.函数返回值的类型由函数体内return语句包含的表达式的类型决定 B.函数返回值的类型由函数头部定义的函数类型决定
C.若函数体中有多个return语句,则函数的返回值是排列在最后面的return语句中表达式的值
D.若函数体内没有return语句,则函数没有返回值
80.已知字符A的机内编码为65,则执行下列函数调用语句时,不能输出字符B的是 (B )。
A.putchar(?B?);
B.putchar(\ C.putchar(66);
D.putchar(?\\x42?);
81.下列一维数组的声明中正确的是(C )。 A.int a[ ];
B.int n=10, a[n]; C.int a[10+1]={0};
D.int a[3]={1, 2, 3, 4}; 82.已知有结构类型定义:
typedef struct ex{long int num; char sex; struct ex*next; }student; 下列叙述错误的是(B )。 A.struct ex是结构类型
B.student是结构类型的变量名 C.ex可缺省
D.student不可缺省
83.下列程序段的输出结果是(C )。
int i, x[3][3]={9, 8, 7, 6, 5, 4, 3, 2, 1}, *p=&x[1][1];
for(i=0;i<4;i+=2)printf(\*(p+i)); A.5 2
B.5 1 C.5 3 D.9 7
84.已知有声明”char a[6], *p=a;”,现需要在程序运行过程中将字符串\,保存到a数组中,则下列选项中能正确完成此操作的表达式是(D )。 A.a[6]=\
B.a=\ C.p=\
D.strcpy(a, \
85.若要使表达式“p++”无语法错误,则变量p不能声明为(D )。 A.int p;
B.double p; C.int *p;
D.struct{int x;}p;
86.以下函数定义中正确的是(C )。
A.int fun(int a, b){ } B.int fun(int a[][]){} C.int fun(void){}
D.int fun(static int a, int b){} 87.已知有函数f的定义如下: int f(int a, int b)
{ if(a
在main函数中若调用函数f(2, 3),得到的返回值是(B )。 A.2
B.3 C.2和3 D.3和2
88.下列各选项都是在C语言程字段中增加的注释,其中注释方法错误的是(B )。 A.void main(/*int argc, char, *argv[ ]*/) { }
B.void main( )
{pri/*remark*/ntf(\
C.void main( ) { int x/*=10*/; printf(\
}
D.void main( )
{ int x=10;
/*printf(\}
89.若有定义和声明typedef enum{green, red, yellow, blue, b1ack}color; color flower;,则下列语句中正确的是(B )。
A.green=red; B.flower=red; C.color=red; D.enum=red;
共分享92篇相关文档