二级C语言笔试复习(单选部分)教程文件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
则以下函数调用形式中正确的是 D 。
A. c=fun( a, 4, b ); B. c=fun( a[ ], 4, &b ); C. c=fun( a[4], 4, b ); D. c=fun( a, 4, &b );
9.若有枚举类型定义:
enum list1{ x1, Baidu Nhomakorabea2, x3, x4=6, x5, x6 };
4.若有声明:“ char c=256; int a=c;”,则执行该 程序段后a的值是 C 。 A. 256 B. 65536 C. 0 D. -1
5.若在一个C源程序中“e1”和“e3”是表达式,“s”
是语
句,则下列选项中B与语句 “ for( e1; ; e3 ) s; ” 功
能
等同的语句是
则枚举常量x2和x6代表的值分别是 B 。
A. 1,6
B. 1,8
C. 2,6
D. 2,8
10.已知在函数f中声明了局部变量x,如果希望 f 函 数第一次被调用返回后变量x中存储的数据保持 到下次 f 函数被调用时仍可以使用,则在声明x 时必须指定其存储类型为 C 。
A. auto
B. register
A. \xff
B. 5L
C. aEb
D. 3.14U
13.若程序中已有相应的声明,则下列语句中错误的 是D 。 A.printf(i==4 ? "%6d\n" : "%6d" , i); B.i==4 ? printf("%6d\n", i) : printf("%6d" , i); C.for( i=10 ; ; i-- ) if( i==1 ) break; D.for( i=10 ; ; ) if(i--); break;
3.若有声明“ long a, b; ”且变量 a 和 b 都需要通过 键盘输入获得初值, 则下列语句正确的是 D 。
A. scanf ( "%ld%ld, &a, &b" ) ; B. scanf ( "%d%d" , a , b ) ; C. scanf ( "%d%d" , &a , &b) ; D. scanf ( "%ld%ld" , &a , &b ) ;
16. 若有声明: int x[10]={0, 1, 2, 3,4, 5, 6, 7, 8, 9}, *p; 则下列值不为4的表达式是 C 。
A. p=x, *(p+4) C. p=x+3, *(p++)
B. p=x+4, *p++ D. p=x+3, *++p
17. 若有声明:int i, k=1; unsigned j; ,则下列语句 执行时会出现无限循环的语句是 A 。
列
B
叙述中错误的是
。
A. a[2][3] 与 q[2][3] 等价 B. a[2][3] 与 p[2][3] 等价 C. a[2][3] 与 *(p+11) 等价 D. a[2][3] 与 p=p+11, *p 等价
7.若有结构类型定义 typedef struct test { int x, y[2]; }TEST;
A. for( j=15; j>0; j-=2 ) k++; B. for( j=0; j<15; j+=2 ) k++; C. for( i=0; i<15; i+=2 ) k++; D. for( i=15; i>0; i-=2 ) k++;
18. 已知A盘根目录下有文本文件data.txt且程序中已 有声明: FILE *fp; ,若程序需要先从data.txt文 件中读出数据,修改后再写入 data.txt文件中, 则 调用fopen函数的正确形式是 C 。
。
A. e1; while(10) s; e3; B. e1; while(10) { s; e3; } C. e1; while(10) { e3; s; } D. while(10) { e1; s; e3; }
6.若有声明“int a[3][4], *p=a[0] , (*q)[4]=a;”,则下
A. fp=fopen( "a:\\data.txt" , "rw" );
B. fp=fopen( "a:\\data.txt" , "w+" );
C. fp=fopen( "a:\\data.txt" , "r+" );
D. fp=fopen( "a:\\data.txt" , "r" );
19. 以下选项均为fun函数定义的头部,则其中错误的 是B 。 A. int fun( int x, int y[ ] ) B. int fun( int x, int y[x] ) C. int fun( int x, int y[3] ) D. int fun( int x, int *y )
二级C语言笔试复习(单选部分)
1.在下列C语言源程序的错误中,通常不能在编译 时发现的是 C 。
A. 括号不匹配 B. 非法标识符 C. 数组元素下标值越界 D. 程序结构不完整
2. 在以下各组标识符中,均可以用作变量名的一组 是A 。 A. a01 , Int B. table_1 , a*.1 C. 0_a , W12 D. for , point
C. static
D. extern
11.下列叙述中正确的是 C 。
A. main函数必须出现在其他函数之前 B. main函数中至少必须有一条语句 C. 程序总是从main函数的第一条语句开始执行 D. C 程序总是在执行完main函数的最后一条语
句后结束
12. 以下常量表示中正确的是 B 。
则以下声明中正确的是 A 。
A. struct test x ; B. struct x ; C. test x ; D. struct TEST x ;
8.若有声明: long fun( int *x, int n, long *s ); int a[4]={ 1, 2, 3, 4 }; long b, c;
14. 若有声明: “ float f=123.45678; ”,则执行语句 “ printf( “%.3f ”, f ); ” 后,输出结果是 B 。
A. 1.23e+02 C. 123.456780
B. 123.457 D. 1.234e+02
15.若有声明: “ int x=2, y=1, z=0; ”,则下列关系表 达式中有语法错误的是 A 。 A. x>y=2 B. z>y>x C. x>y==1 D. x==( x=0, y=1, z=2 )
A. c=fun( a, 4, b ); B. c=fun( a[ ], 4, &b ); C. c=fun( a[4], 4, b ); D. c=fun( a, 4, &b );
9.若有枚举类型定义:
enum list1{ x1, Baidu Nhomakorabea2, x3, x4=6, x5, x6 };
4.若有声明:“ char c=256; int a=c;”,则执行该 程序段后a的值是 C 。 A. 256 B. 65536 C. 0 D. -1
5.若在一个C源程序中“e1”和“e3”是表达式,“s”
是语
句,则下列选项中B与语句 “ for( e1; ; e3 ) s; ” 功
能
等同的语句是
则枚举常量x2和x6代表的值分别是 B 。
A. 1,6
B. 1,8
C. 2,6
D. 2,8
10.已知在函数f中声明了局部变量x,如果希望 f 函 数第一次被调用返回后变量x中存储的数据保持 到下次 f 函数被调用时仍可以使用,则在声明x 时必须指定其存储类型为 C 。
A. auto
B. register
A. \xff
B. 5L
C. aEb
D. 3.14U
13.若程序中已有相应的声明,则下列语句中错误的 是D 。 A.printf(i==4 ? "%6d\n" : "%6d" , i); B.i==4 ? printf("%6d\n", i) : printf("%6d" , i); C.for( i=10 ; ; i-- ) if( i==1 ) break; D.for( i=10 ; ; ) if(i--); break;
3.若有声明“ long a, b; ”且变量 a 和 b 都需要通过 键盘输入获得初值, 则下列语句正确的是 D 。
A. scanf ( "%ld%ld, &a, &b" ) ; B. scanf ( "%d%d" , a , b ) ; C. scanf ( "%d%d" , &a , &b) ; D. scanf ( "%ld%ld" , &a , &b ) ;
16. 若有声明: int x[10]={0, 1, 2, 3,4, 5, 6, 7, 8, 9}, *p; 则下列值不为4的表达式是 C 。
A. p=x, *(p+4) C. p=x+3, *(p++)
B. p=x+4, *p++ D. p=x+3, *++p
17. 若有声明:int i, k=1; unsigned j; ,则下列语句 执行时会出现无限循环的语句是 A 。
列
B
叙述中错误的是
。
A. a[2][3] 与 q[2][3] 等价 B. a[2][3] 与 p[2][3] 等价 C. a[2][3] 与 *(p+11) 等价 D. a[2][3] 与 p=p+11, *p 等价
7.若有结构类型定义 typedef struct test { int x, y[2]; }TEST;
A. for( j=15; j>0; j-=2 ) k++; B. for( j=0; j<15; j+=2 ) k++; C. for( i=0; i<15; i+=2 ) k++; D. for( i=15; i>0; i-=2 ) k++;
18. 已知A盘根目录下有文本文件data.txt且程序中已 有声明: FILE *fp; ,若程序需要先从data.txt文 件中读出数据,修改后再写入 data.txt文件中, 则 调用fopen函数的正确形式是 C 。
。
A. e1; while(10) s; e3; B. e1; while(10) { s; e3; } C. e1; while(10) { e3; s; } D. while(10) { e1; s; e3; }
6.若有声明“int a[3][4], *p=a[0] , (*q)[4]=a;”,则下
A. fp=fopen( "a:\\data.txt" , "rw" );
B. fp=fopen( "a:\\data.txt" , "w+" );
C. fp=fopen( "a:\\data.txt" , "r+" );
D. fp=fopen( "a:\\data.txt" , "r" );
19. 以下选项均为fun函数定义的头部,则其中错误的 是B 。 A. int fun( int x, int y[ ] ) B. int fun( int x, int y[x] ) C. int fun( int x, int y[3] ) D. int fun( int x, int *y )
二级C语言笔试复习(单选部分)
1.在下列C语言源程序的错误中,通常不能在编译 时发现的是 C 。
A. 括号不匹配 B. 非法标识符 C. 数组元素下标值越界 D. 程序结构不完整
2. 在以下各组标识符中,均可以用作变量名的一组 是A 。 A. a01 , Int B. table_1 , a*.1 C. 0_a , W12 D. for , point
C. static
D. extern
11.下列叙述中正确的是 C 。
A. main函数必须出现在其他函数之前 B. main函数中至少必须有一条语句 C. 程序总是从main函数的第一条语句开始执行 D. C 程序总是在执行完main函数的最后一条语
句后结束
12. 以下常量表示中正确的是 B 。
则以下声明中正确的是 A 。
A. struct test x ; B. struct x ; C. test x ; D. struct TEST x ;
8.若有声明: long fun( int *x, int n, long *s ); int a[4]={ 1, 2, 3, 4 }; long b, c;
14. 若有声明: “ float f=123.45678; ”,则执行语句 “ printf( “%.3f ”, f ); ” 后,输出结果是 B 。
A. 1.23e+02 C. 123.456780
B. 123.457 D. 1.234e+02
15.若有声明: “ int x=2, y=1, z=0; ”,则下列关系表 达式中有语法错误的是 A 。 A. x>y=2 B. z>y>x C. x>y==1 D. x==( x=0, y=1, z=2 )