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