C语言考试问题及答案

上传人:tia****nde 文档编号:36842345 上传时间:2018-04-03 格式:DOC 页数:16 大小:96.50KB
返回 下载 相关 举报
C语言考试问题及答案_第1页
第1页 / 共16页
C语言考试问题及答案_第2页
第2页 / 共16页
C语言考试问题及答案_第3页
第3页 / 共16页
C语言考试问题及答案_第4页
第4页 / 共16页
C语言考试问题及答案_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C语言考试问题及答案》由会员分享,可在线阅读,更多相关《C语言考试问题及答案(16页珍藏版)》请在金锄头文库上搜索。

1、一、单项选择题:(1)以下叙述中错误的是A)C 语言中对二进制文件的访问速度比文本文件快B)C 语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为 fp 的文件指针D)C 语言中的文本文件以 ASCII 码形式存储数据(2)以下与函数 fseek(fp,0L,SEEK_SET)有相同作用的是 A)feof(fp)B)ftell(fp)C)fgetc(fp)D)rewind(fp)(3) 若 fp 已正确定义并指向某个文件,当未遇到该文件结束标志时函数 feof(fp)的值为A) 0 B) 1 C) 1 D) 一个非 0 值(4) 下列关于 C 语言数据文件的叙述

2、中正确的是A) 文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B) 文件由二进制数据序列组成,C 语言只能读写二进制文件C) 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D) 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(5) 以下叙述中不正确的是A)语言中的文本文件以 ASC码形式存储数据B)语言中对二进制文件的访问速度比文本文件快C)语言中,随机读写方式不适用于文本文件D)语言中,顺序读写方式不适用于二进制文件 (6) 以下程序企图把从终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符# 号时结束输入和输出操作,但程序

3、有错。#include main() FILE *fout; char ch;fout=fopen(abc.txt,w);ch=fgetc(stdin);while(ch!=#) fputc(ch,fout);ch=fgetc(stdin);fclose(fout);出错的原因是A) 函数 fopen 调用形式错误 B) 输入文件没有关闭C) 函数 fgetc 调用形式错误 D) 文件指针 stdin 没有定义(7) 以下叙述中错误的是A) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以B) 在程序结束时,应当用 fclose 函数关闭已打开的文件C) 在利用 fread 函数从二进制文

4、件中读数据时,可以用数组名给数组中所有元素读 入数据D) 不可以用 FILE 定义指向二进制文件的文件指针(8) 在 C 程序中,可把整型数以二进制形式存放到文件中的函数是A) fprintf 函数 B) fread 函数 C) fwrite 函数 D) fputc 函数(9) 标准函数 fgets(s, n, f) 的功能是A) 从文件 f 中读取长度为 n 的字符串存入指针 s 所指的内存B) 从文件 f 中读取长度不超过 n-1 的字符串存入指针 s 所指的内存C) 从文件 f 中读取 n 个字符串存入指针 s 所指的内存D) 从文件 f 中读取长度为 n-1 的字符串存入指针 s 所指

5、的内存(10)以下程序的功能是进行位运算main() unsigned char a, b;a=73; b= 4 printf(“%d %dn“,a,b);程序运行后的输出结果是A)4 3 B)7 3 C)7 0 D)4 0(11)有以下程序main()int c=35; printf(“%dn“,c程序运行后的输出结果是 A) 0B) 70C) 35D) 1(12) 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是A) c1c2 B) c1a=4|3;b=4printf(“%d %dn”,a,b(;执行后输出结果是A) 7 0 B) 0 7 C) 1 1 D) 43

6、 0(14) 有以下程序main() int x=3, y=2,z=1;printf(“%dn“,x/y程序运行后的输出结果是A) 3 B) 2 C) 1 D) 0(15) 整型变量 x 和 y 的值相等、且为非 0 值,则以下选项中,结果为零的表达式是A) x | y B) x | y C) x 表达式(b2)/(b1)的值是A) 0 B) 2 C) 4 D) 8(17) 设有如下定义:int x=l,y=-1;,则语句:printf(“%dn“,(x- 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中正确的说明 是A) double myadd(double a,B)

7、; B) double myadd(double,double);C) double myadd(double b,double A) ;D) double myadd(double x,double y);(4) 若已定义的函数有返回值,则以关于该函数调用的叙述中正确的是A) 调用可以作为独立的语句存在 B) 调用可以作为一个函数的实参C) 调用可以出现在表达式中 D) 调用可以作为一个函数的形参(5) 有以下函数定义: void fun( int n, double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun 的错误调用语句是A) fun(int y,double m);

8、 B) k=fun(10,12.5);C) fun(x,n); D) vold fun(n,x);(6) 在一个 C 程序中错误的描述A) main 函数必须出现在所有函数之前 B) main 函数可以在任何地方出现C) main 函数必须出现在所有函数之后 D) main 函数必须出现在固定位置(7) C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型不是A) void B) int C) float D) double(8) 若有以下程序 #include void f(int n); main() void f(int n);f(5); void f(int n) printf(

9、“%dn“,n); 则以下叙述中正确的是A) 若只在主函数中对函数 f 进行说明,则只能在主函数中正确调用函数 fB) 若在主函数前对函数 f 进行说明,则在主函数和其后的其它函数中都可以正确调用 函数 fC) 对于以上程序,编译时系统会提示出错信息:提示对对 f 函数重复说明D) 函数 f 无返回值,所以可用 void 将其类型定义为无值型(9) 以下所列的各函数首部中,错误的是A) void play(var :Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integ

10、er,b as integer)(10) 以下叙述中正确的是A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(11) 以下说法中不正确的是A) C 语言程序总是从第一个的函数开始执行B) 在 C 语言程序中,要调用的函数必须在 main()函数中定义C) C 语言程序总是从 main()函数开始执行D) C 语言程序中的 main()函数必须放在程序的开始部分(12) 在 C 语言中,不合法的长整型常数是 A) 0L B) 4962710 C) 0.0548387

11、43D) 2.1869e10 (13) 在下列选项中,正确的赋值语句是 A) +t; B) n1=(n2=(n3=0);C) k=i=j;D) a=b+c=1; (14) 可以把字符串:Hello!赋给数组 b 的语句是 A) char b10=H,e,l,l,o,!; B) char b10;b=“Hello!“; C) char b10;strcpy(b,“Hello!“); D) char b10=“Hello!“; (15) 若程序中有下面的说明和定义 struct abc int x;char y; struct abc s1,s2; 则不会发生的情况是 A) 编译进错 B) 程序将

12、顺利编译连接执行 C) 能顺利通过编译连接但不能执行 D) 能顺利通过编译但连接出错(16) 不能正确表示 a10 或 a0 的关系表达式是 A)a=10 or a=10a=10a=10 a=10 or a=10a=10a=10 a #include main() char ss10=“12345“; gets(ss);printf(“%sn“,ss); A) ABCB) ABC9 C) 123456ABCD) ABC456789(31) 若有以下的说明和语句: main() int t32, *pt3,k; fpr(k=o; ksB) *p*s C) apas D) p-ap-s(33) 若

13、有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个 数错误的是 A)3B)4C)5 D)6(34) 下面程序的输出不正确的是 int w=3; main() int w=10; printf(“%dn“,fun(5)*w); fun(int k) if(k=0) return w; return(fun(k-1)*k); A)360 B)3600 C)1080D)1200(35) 要求函数的功能是在一维数组中查找值;若找到则返回所在的下标值,否则返回 0; 数列放在到中。可以正确执行的函数是 A)funa(int *a,int n,in

14、t x )B)funb(int *a,int n,int x) *a=x; int k; while(an!=x)n-; for(k=1;kb) B) typedef v2=int;C) typedefv1 int v3;D) typedef v4: int;(43) 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式不正确 的是A) 地址传递 B) 单向值传递C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定(44) 以下函数值的类型不正确的是 fun ( float x ) float y; y= 3*x-4; return y; A) int B) 不确定C) void D) float(45) 以下程序的输出结果不正确的是main() char c=z; printf(“%c”,c-25); A) a B) Z C) z-25D) y(46) 以下选项中,正确的的字符常量是 A) t B) 17 C) “n” D) xaa(47) 若有说明:int i, j=2,*p=,不能完成 i=j 赋值功能的语句是 A) i=*p; B) p*=*C) i= D) i=*p;(48) 以下定义语句中,正确的是 A) int a=1,2; B) char *a3;C) char s10=”test”;D) i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号