C语言题库(本三).doc

上传人:小飞机 文档编号:4219577 上传时间:2023-04-10 格式:DOC 页数:26 大小:107KB
返回 下载 相关 举报
C语言题库(本三).doc_第1页
第1页 / 共26页
C语言题库(本三).doc_第2页
第2页 / 共26页
C语言题库(本三).doc_第3页
第3页 / 共26页
C语言题库(本三).doc_第4页
第4页 / 共26页
C语言题库(本三).doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《C语言题库(本三).doc》由会员分享,可在线阅读,更多相关《C语言题库(本三).doc(26页珍藏版)》请在三一办公上搜索。

1、 结构化程序设计语言编写的程序由三种结构组成:顺序结构、分支结构和 。一个完整的C程序可以有多个函数,其中有且只能有一个名为 的函数。数学式所对应的C语言表达式为 (m, 1/3.0)。在调用函数fopen(d:b.dat, r)时,若d盘根目录下不存在文件b.dat,则函数的返回值是 。执行下面程序段中的语句“k = A*A+1;”后k的值是 。#define B 2#define A B+1k = A*A+1;已有定义“float m;double n;int a;long b;char c;”,则表达式m+n*a/m+b/n+c值的类型为 。C语言有效的预处理命令总是以 开头。已有定义“

2、int a10, *p=a+3;”,则数组a 的最后一个元素是p 。已有定义“int n=12; double a;”,则执行语句“a=n/=5;”后,a的值为 。若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句是 。程序设计语言的发展经历了几个阶段:机器语言、汇编语言和 。一个C程序总是从 函数开始执行的。已有定义“double a=5, b=10;”,则计算ab的库函数调用形式是 。已有定义“char ch=a;”,则表达式ch=ch-a+A的值为字符 的编码。表示“xyz”的C语言表达式是x=y 。C语言有效的预处理命令总是以 开头。常量n的数据类型是 。

3、已有定义“int b10, *p=b, *q; q=&b5;”,则表达式q-p的值是 。在文件中,以符号常量EOF作为文本文件(字符流文件)的结束标记,EOF代表的值是 。若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句是 。结构化程序设计语言编写的程序由三种结构组成:顺序结构、 和循环结构。C语言中除复合语句外的其它所有语句都以 结束。已有定义“double a=10, b=5;”,则计算ab的库函数调用形式是 。C语言有效的预处理命令总是以 开头。已有定义“char a=1; int b=2; float c=3; double d=4;”,则表达式“c=a

4、+b+c+d”值的类型为 。用typedef定义一个长度为10的整型数组NUM的语句是 。执行下面程序段中的语句“k = A*A+1;”后k的值是 。#define B 2#define A B+1k = A*A+2;已有定义“int a4=1, 2, 3, 4, 5, 6, 7, 8, 9;”,则数组a第一维的大小是 。 程序中已使用预处理命令“#include”,为使语句“fp=fopen(asc.txt,r);”能正常执行,在该语句之前必须有定义FILE ;。执行“printf(%d,%d, a, b, c, d); ”后在屏幕上将输出 个整数。以下叙述中正确的是 A)程序设计的任务就是

5、编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned阅读以下程序 #include main() int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %fn”,case,printF); 该程序编译时产生错误,其出错原因是 A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用

6、户自定义标识符 C)定义语句无错,scanf不能作为输入函数使用 D)定义语句无错,printf不能输出case的值表达式:(int)(double)9/2)-(9)%2的值是 A)0 B)3 C)4 D)5 若有定义语句:int x=10;,则表达式x-=x+x的值为 A)-20 B)-10 C)0 D)10有以下程序 #include main() int a=1,b=0; printf(“%d,”,b=a+b); printf(“%dn”,a=2*b); 程序运行后的输出结果是 A)0,0 B)1,0 C)3,2 D)1,2设有定义:int a=1,b=2,c=3;,以下语句中执行效果与

7、其它三个不同的是 A)if(ab) c=a,a=b,b=c; B)if(ab) c=a,a=b,b=c; C)if(ab) c=a;a=b;b=c; D)if(ab) c=a;a=b;b=c;有以下程序 #include main() int c=0,k; for (k=1;kb?(bc?1:0):0;功能相同的是 A)if(ab)&(bc) k=1;else k=0; B)if(ab)|(bc) k=1;else k=0; C)if(a=b) k=0;else if(bb) k=1;else if(bc) k=1; else k=0;20)有以下程序 #include main() char

8、 s=“012xy”;int i,n=0; for(i=0;si!=0;i+)if(si=a&si2); printf(“%d %dn”,k,n); 程序运行后的输出结果是 A)0 2 B)1 3 C)5 7 D)1 2有以下定义语句,编译时会出现编译错误的是 A)char a=a; B)char a=n; C)char a=aa; D)char a=x2d;有以下程序#include main() char c1,c2; c1=A+8-4; c2=A+8-5; printf(“%c,%dn”,c1,c2);已知字母A的ASCII码为65,程序运行后的输出结果是 A)E,68 B)D,69 C

9、)E,D D)输出无定值有以下程序 #include void fun(int p) int d=2; p=d+; printf(“%d”,p); main() int a=1; fun(a); printf(“%dn”,a); 程序运行后的输出结果是 A)32 B)12 C)21 D)22以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647 int findmax (int x,int n) int i,max; for(i=0;iN;I+) max=MIN; if(max return max; 造成

10、错误的原因是 A)定义语句int i,max;中max未赋初值 B)赋值语句max=MIN;中,不应给max赋MIN值 C)语句if(max D)赋值语句max=MIN;放错了位置 有以下程序 #include main() int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(“%d,%d,%d,%dn”,m,n,*p,*q); 程序运行后的输出结果是 A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2若有定义语句:int a410,*p,*q4;且0i4,则错误的赋值是 A)p=a B)qi=ai C)p=ai D)p=

11、&a21有以下程序 #include #include main() char str 20=“One*World”, “One*Dream!”,*p=str1; printf(“%d,”,strlen(p);printf(“%sn”,p); 程序运行后的输出结果是 A)9,One*World B)9,One*Dream C)10,One*Dream D)10,One*World有以下程序 #include main() int a =2,3,5,4,i; for(i=0;i4;i+) switch(i%2) case 0:switch(ai%2) case 0:ai+;break; case

12、 1:ai-; break; case 1:ai=0;for(i=0;i1);输出结果是A)16B)8C)4D)2下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件下面表示中,不能用作C语言常量的是 。A0ULB(long)110C1e0Dx2c设有定义和声明如下:#define d 2int a=3; float b=3.14; char c=d;下面表达式中有语法错误的是 。Aa+Bb+Cc+Dd+若有枚举类

13、型定义“enum variA1, A2, A3, A4=6, A5, A6;”,则枚举常量A2和A6代表的值分别是 。A1,6B1,8C2,6D2,8下面数组声明语句中正确的是 。Aint n, an;Bint a;Cint a23=2,1,3;Dint a 3=2,1,3; 下面函数定义中正确的是 。Aint fun(int a, b)Bint fun(int a)Cint fun(void)Dint fun(static int a, int b)在C语言中,数字010是一个 。A十进制数B八进制数C十六进制数D非法数若有说明“int a34=0;,则下面正确的叙述是 。A只有元素a00可

14、得到初值B此说明语句不正确C数组a中各元素都可得到初值,但其值不一定为0D数组a中每个元素均可得到初值0如果有声明“int m,n=5,*p=&m;”,与m=n等价的语句是 。Am=*p;B*p=*&n;Cm=&n;Dm=*p;已有定义“char b6,*p=b;”,则正确的赋值表达式语句是 。Ab=China;B*b=China;Cp=China;D*p=China;已有定义“char ch5=a, b, c, d, *p=ch, i;”,则下面语句中不能正确输出ch数组全部元素值的是 。Afor(i=0; i4; i+) printf(%c, chi);Bfor(i=0; i4; i+)

15、printf(%c, *(ch+i);Cfor(i=0; i4; i+) printf(%c, *p+);Dfor(i=0; ia-2Bp-b-a-2C(p+1)-a-2Dp-a下面关于共用体类型的叙述正确的是 。A可以给共用体类型变量直接赋值B一个共用体类型变量中可以同时存入其所有成员C一个共用体类型变量中不能同时存入其所有成员D共用体类型定义中不能同时出现结构体类型的成员表达式 sizeof(abc)的值是 。A1B2C3D4下面选项中,不能用作用户标识符的是 。A&aB_00CFORDprint已知有声明“int x=3, y=4, z;”,则执行语句“z=1/2*(x+y);”后,z的

16、值是 。A0B3C3.5D4下列运算符中,优先级最低的是 。A*B!=C+D=一元二次方程ax2+bx+c=0有两个相异实根的条件是a0且b2-4ac0,下面选项中正确的表达式是 。Aa!=0, b*b-4*a*c0Ba!=0|b*b-4*a*c0Ca&b*b-4*a*c0D!a&b*b-4*a*c0 下面定义符号常量p为3.14中正确的是 。A#define p 3.14;B#define p(3.14)C#define p=3.14D#define p 3.14 已有定义“int x=4, y=3, z=5;”,下面4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是 。Ai

17、f(xy) z=x, x=y, y=z;Bif(xy)z=x, x=y, y=z;Cif(xy) z=x; x=y; y=z;Dif(ay)z=x; x=y; y=z;下面关于continue和break语句的叙述中正确的是 。Acontinue和break语句都可以出现在switch语句中Bcontinue和break语句都可以出现在循环语句的循环体中C在循环语句和switch语句之外允许出现continue和break语句D执行循环语句中的continue和break语句都将立即终止循环在while(e)语句中的e与下面条件表达式等价的是 。Ae=0Be=1Ce!=1De!=0若函数调用时

18、的实参为变量,则下面关于函数形参和实参的叙述中正确的是 。A实参和其对应的形参占用同一存储单元B形参不占用存储单元C相同名称的实参和形参占用同一存储单元D实参和其对应的形参占用不同的存储单元在C程序中,若对函数类型未加说明,则函数的隐含类型为 。AintBdoubleCvoidDchar下面函数中能正确计算n!(n13)的是 。Along f(long n)Blong f(long n)if(n=1)return 1;return n*f(n-1); else return n*f(n);Clong f(long n)Dlong f(long n)static long s,i; long s

19、=1,i;for(i=1;i=n;i+)s=s*i; for(i=1;i0&y0) 等价于 。A!(x0)|!(y0)B!x0|!y0C!x0&!y0D!(x0)&!(y0) 下面定义符号常量p为3.14中正确的是 。A#define p 3.14;B#define p(3.14)C#define p=3.14D#define p 3.14若变量已正确定义,语句“if(ab) k=0; else k=1;”和 等价。Ak=(ab)?1:0;Bk=ab;Ck=a=b;Da=b ? 0 : 1;下面关于continue和break语句的叙述中正确的是 。Acontinue和break语句都可以出现

20、在switch语句中Bcontinue和break语句都可以出现在循环语句的循环体中C在循环语句和switch语句之外允许出现continue和break语句D执行循环语句中的continue和break语句都将立即终止循环在C语言中while和do-while循环的主要区别是 。Ado-while的循环体至少无条件执行一次Bdo-while允许从外部转到循环体内Cwhile的循环控制条件比do-while的循环控制条件严格Ddo-while的循环体不能是复合语句关于函数返回值,下面叙述中正确的是 。A函数返回值的类型由函数体内return语句包含的表达式的类型决定B若函数体内没有return

21、语句,则函数没有返回值C若函数体中有多个return语句,则函数的返回值是排列在最后面的return语句中表达式的值D函数返回值的类型由函数头部定义的函数类型决定已有函数fun的定义“int fun(int a, int b) if(a0; j-=2)a+;Bfor(j=0; j15; j+=2)a+;Cfor(i=0; i0; i-=2)a+; 下面定义中错误的是 。Aint a=0xFF;Bdouble a=1.2e0.5;Clong a=2L;Dchar a=72;设有定义和声明如下:#define d 2int a=3; float b=3.14; char c=d;下面表达式中有语法

22、错误的是 。Aa+Bb+Cc+Dd+下面声明中错误的是 。Aint b2Bint b=0, 1Cint b3=0Dint b34=0下面函数定义的头部正确的是 。Aint fun(int a, b)Bint fun(int a, int a)Cint fun(int a, int b)Dint fun(char a , int b)对两个数组a和b进行如下初始化:char aabcd;char ba, b, c, d;则下面叙述正确的是 。Aa与b数组完全相同B数组a比数组b长度大Ca与b中存放的都是字符串Da与b长度相同若有说明“int a34=0;,则下面正确的叙述是 。A只有元素a00可

23、得到初值B此说明语句不正确C数组a中各元素都可得到初值,但其值不一定为0D数组a中每个元素均可得到初值0已有定义“int m=3, c, *a=&m, *b=&c;”,则下列语句中错误的是 。Aa=b=0;Ba=&c, b=a;C&a=&b;D*b=*a;已有定义“char b6,*p=b;”,则正确的赋值表达式语句是 。Ab=Chinese;B*b=Chinese;Cp=Chinese;D*p=Chinese;已有定义“int k, b10, *p=b;”,现需要将110保存到b0b9中,下面程序段中不能实现这一功能的是 。Afor(k=1; k10; k+)bk=k+1;Bfor(k=0;

24、 k10; k+)pk=k+1;Ck=1; while(pb+10)*p+=k+;Dk=1; while(pa-2Bp-b-a-2C(p+1)-a-2Dp-a若有结构类型定义“typedef struct int x, y2; ABC;”,则下面声明中正确是 。AABC x;Bstruct x;Cstruct abc x;Dstruct ABC x;若有定义和声明typedef enumgreen, red, yellow, blue, b1ackcolor; color flower;,则下列语句中正确的是 。Agreen=red;Bflower=red;Ccolor=red;Denum=r

25、ed;在下面各组标识符中,均可以用作变量名的一组是 。Aa02, IntBtable_1, a*.0C0_a, W13Dfor, point已知有声明“int x=3, y=4, z;”,则执行语句“z=1/3*(x+y);”后,z的值是 。A0B3C3.5D4已有定义“int a=4, b=5, c=6;”,则下列表达式中值为0的是 。Aa&bBa=bCa|b&cD!(!c|1)在 C 程序中,用 表示逻辑值“真”。A小于0的数B非0的数C非1的数D大于0的数 C源程序中的命令#include与#define是在 阶段被处理的。A预处理B编译C连接D执行已有预处理命令“#include ”和

26、声明“int x=4, y;”,下面语句中语法正确的是 。Aif(x%2=1)y=x;Bif(sqrt(x)%2)y=x;Cif(x=1)y=x;Dif(x=1)y=&x;下面关于continue和break语句的叙述中正确的是 。Acontinue和break语句都可以出现在switch语句中Bcontinue和break语句都可以出现在循环语句的循环体中C在循环语句和switch语句之外允许出现continue和break语句D执行循环语句中的continue和break语句都将立即终止循环下面关于循环语句的结论中错误的是 。A可以用while语句实现的循环,一定可以用for语句实现B可以用for语句实现的循环,一定可以用while语句实现C可以用do-while语句实现的循环,一定可以用while语句实现Ddo-while语句与while语句的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号