2023年C语言程序设计+复习题库.pdf
《2023年C语言程序设计+复习题库.pdf》由会员分享,可在线阅读,更多相关《2023年C语言程序设计+复习题库.pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 一、填空 1.break语句通常用于 switch/循环 中。2.C 语言对数组下标的引用一般从 0 开始。3.C 语言中,一个函数一般由两个部分组成,它们是 函数首部 和 函数体 。4.C 标准库函数中,字符串的处理函数包含在 string.h 头文件中,数学函数包含在 math.h头文件中。5.C 程序的运行需要经过 编译 和 链接 两步进行。6.C 程序中用 /*/括起来的内容是程序的注释语句。7.C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括 函数类型 、函数名 和 函数参数 。8.C 语言提供的三种逻辑运算符是&,/,!。9.C 语言源程序经过编译后,生成文件的后缀
2、名是.c 。10.C 语言源程序经过连接后,生成文件的后缀名是 .exe 。11.C 语言中,关系表达式和逻辑表达式的值是 1/0 。12.C 语言中的标识符只能由三种字符组成,他们是 字母,数字,下划线 。13.C 语言中的每条基本语句以 ;作为结束符,每条复合语句以 作为结束符。14.C 语言中函数返回值的类型是由 函数类型 决定的。15.C 源程序的基本单位是 函数 。16.int a=2,b=3;表达式 a b?a+:+b的值为 4 。17.int x=1,y=1,z=1;x+=y+=z;则表达式 xbc的值是 0 。19.定义一个指针 p,它指向一个有 6 个整型元素的一维数组,定义
3、语句为 int *p=a6;。20.定义一个指针数组 p,它有 4 个元素,每个指针指向一个整型数据,定义语句为 int*p4;。21.赋值语句是由 =加上一个分号构成。22.构成数组的各个元素必须具有相同的 类型 。23.关系表达式 x+y5的相反表达式为 x+y!5 。24.函数 strlen(12340 xy)的值为:9 。25.函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。26.函数体用 开始,用 结束。27.结构化设计中的三种基本结构是 顺序,选择,循环 。28.如果一个函数无返回值,定义它时函数类型应是 void 。29.若 x、y、z 均为 int 型变量,则
4、描述“x 或 y 中有一个小于 z”的表达式是 (x|y)=10 or a=0|a=10&a=10|a=A&ch=Z)?ch+32:ch的值是 B A)Z B)a C)z D)A 31、表示关系 X =Y =Z的 C 语言表达式为 A A.(X =Y)&(Y =Z)B.(X =Y)AND(Y =Z)C.(X =Y =Z)D.(X =Y)&(Y =Z)32、如果 a=4,b=3,c=2,d=1,则条件表达式 ab?a:c d?c:d的值是 A A)1 B)2 C)3 D)4 33、语句 printf(%d n,12&12);的输出结果是 B A.12 B.1 C.24 D.0 34、若有条件表达
5、式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是 B A.(exp=0)B.(exp!=0)C.(exp=1)D.(exp!=1)35、若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式 D A)a0 B)!a C)a=0 D)a 36、设 x、y、z、t 均为 int 型变量,则执行以下语句后,t 的值为 C x=y=z=1;t=+x|+y&+z;A)不定值 B)4 C)1 D)0 37、对表达式 for(表达式 1;表达式 3)可理解为 B A.)for(表达式 1;0;表达式 3)B)for(表达式 1;1;表达式 3)C)f
6、or(表达式 1;表达式 1;表达式 3)D)for(表达式 1;表达式 3;表达式 3)38、语句 while(!e);中的条件!e 等价于 A A)e=0 B)e!=1 C)e!=0 D)e 39、下面程序段的运行结果是 D for(i=1;i=5;)printf(%d,i);i+;A)12345 B)1234 C)15 D)无限循环 40、设执行变量 y 值为 3,执行下列循环语句后,变量 y 的值是 C 接两步进行程序中用括起来的内容是程序的注释语句语言函数是由函数首部和函数体两部分组成其中函数首部包括函过连接后生成文件的后缀名是语言中关系表达式和逻辑表达式的值是语言中的标识符只能由三
7、种字符组成他们是字母型决定的源程序的基本单位是函数表达式的值为则表达式的值为当时表达式的值是定一个指针它指向一个有个整型元 do y+;while(y+4);(A)3 (B)4 (C)5 (D)6 41、执行语句:for(i=1;i9;i+)后;变量 i 的值是 B (A)10 (B)9 (C)不定 (D)11 42、执行语句:for(i=1;i=9;i+);后变量 i 的值是 A A.10 B.9 C.不定 D.11 43、在定义一个一维数组时,不能用来表示数组长度的是 D A)常量 B)符号常量 C)常量表达式 D)已被赋值的变量 44、判断字符串是否相等,应当使用 D (A)if(a=b
8、)(B)if(a=b)(C)if(strcpy(a,b)(D)if(!strcmp(a,b)45、执行程序段 char str20=a,b,c,0;int len=strlen(str);变量 len 的值 C A.20 B.4 C.3 D.3 或 4 或 20 46、若有说明:char c10=E,a,s,t,0;,则下述说法中正确的是 D A)c7不可引用 B)c6可引用,但值不确定 C)c4不可引用 D)c4可引用,其值为空字符 47、运行下面程序段的输出结果是 A char s110=S,e,t,0,u,p,0;printf(%s,s1);A)Set B)Setup C)Set up
9、D)Set 48、以下程序段的输出结果是 B char s=an apple;printf(%dn,strlen(s);A)7 B)8 C)9 D)10 49、下列一维数组初始化语句中,正确且与语句 float a=0,3,8,0,9;等价的是 D A)float a6=0,3,8,0,9;B)float a4=0,3,8,0,9;C)float a7=0,3,8,0,9;D)float a5=0,3,8,0,9;50、如有定义语句 int a=1,8,2,8,3,8,4,8,5,8;,则数组 a 的大小是 A A)10 B)11 C)8 D)不定 51、若二维数组 a 有 m 列,则在 ai
10、j前面的元素个数为 B A.j*m+i B.i*m+j C.i*m+j-1 D.i*m+j+1 52、在定义 int a56;后,数组 a 中的第 10 个元素是 C A)a25 B)a24 C)a13 D)a15 53、以下二维数组 a 的正确说明是 C A)int a1,1;B)float a(3,4);C)double a14;D)float a(3)(4);54、在定义 int a54;之后,对 a 的引用正确的是 C A)a24 B)a1,3 C)a43 D)a50 接两步进行程序中用括起来的内容是程序的注释语句语言函数是由函数首部和函数体两部分组成其中函数首部包括函过连接后生成文件
11、的后缀名是语言中关系表达式和逻辑表达式的值是语言中的标识符只能由三种字符组成他们是字母型决定的源程序的基本单位是函数表达式的值为则表达式的值为当时表达式的值是定一个指针它指向一个有个整型元 55、若有说明:int a34;则对 a 数组元素的正确引用是 C(A)a24 (B)a1,3 (C)a1+10 (D)a(2)(1)56、以下对二维数组 a 的正确说明是 C A.int a3 B.float a(3,4)C.double a14 D.float a(3)(4)57、若有定义:int b3;则数组元素的不合法引用是 D(A)b1 (B)b0 (C)b2 (D)b3 58、对以下说明语句 i
12、nt a10=6,7,8,9,10;的正确理解是 B A)将 5 个初值依次赋给 a1 至 a5 B)将 5 个初值依次赋给 a0 至 a4 C)将 5 个初值依次赋给 a6 至 a10 D)因为数组长度与初值的个数不相同,所以此语句不正确 59、设已定义:int x24=1,2,3,4,5,6,7,8;则元素 x11的正确初值是 A A.6 B.5 C.7 D.1 60、在 int a 3=1,3,2,4,5,6,0中 a11的值是 D A、0 B、6 C、5 D、2 61、设已定义:int x24=1,2,3,4,5,6,7,8;则元素 6 对应的是 A A.x11 B.x12 C.x21
13、 D.x22 62、以下正确的函数定义形式是 A A.double fun(int x,int y)B.double fun(int x;int y)C.double fun(int x,int y);D.double fun(int x,y);63、有如下函数调用语句 func(rec1,rec2+rec3,rec4,rec5);该函数调用语句中,含有的实参个数是 B A)3 B)4 C)5 D)有语法错误 64、在 C 语言中,全局变量的存储类别是 A A)static B)extern C)void D)register 65、在 C 语言中,以下说法中正确的是 A A.实参与其对应的形
14、参各占用独立的存储单元 B.实参与其对应的形参占用同一个存储单元 C.只有当实参与形参同名时才占用同一个存储单元 D.实参占用存储单元,但形参是虚拟的,不占用存储单元 66、C 语言中,简单变量做实参时,它和对应的形参之间的数据传递方式是 B(A)地址传递 (B)单向值传递(C)由实参传给形参,再由形参传递给实参(D)同用户指定传递方式 67、在一个源文件中定义的全局变量的作用域为 B A.本文件的全部范围 B.从定义该变量开始至本文件结束 接两步进行程序中用括起来的内容是程序的注释语句语言函数是由函数首部和函数体两部分组成其中函数首部包括函过连接后生成文件的后缀名是语言中关系表达式和逻辑表达
15、式的值是语言中的标识符只能由三种字符组成他们是字母型决定的源程序的基本单位是函数表达式的值为则表达式的值为当时表达式的值是定一个指针它指向一个有个整型元 C.本函数的全部范围 D.本程序的全部范围 68、如果一个函数位于 C 程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量 C A)为全局变量,在本程序文件范围内有效 B)为局部变量,只在该函数内有效 C)为局部变量,只在该复合语句中有效 D)定义无效,为非法变量 69、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是 D A)实参将其地址传递给形参,并释放原先占用的存储单元 B)实参将其地址传递给形参
16、,调用结束时形参再将其地址回传给实参 C)实参将其值传递给形参,调用结束时形参再将其值回传给实参 D)实参将其值传递给形参,调用结束时形参并不将其值回传给实参 70、以下叙述中,不正确的是 B A)在同一 C 程序文件中,不同函数中可以使用同名变量 B)在 main 函数体内定义的变量是全局变量 C)形参是局部变量,函数调用完成即失去意义 D)若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用 71、对于 C 语言的函数,下列叙述中正确的是 A A)函数的定义不能嵌套,但函数调用可以嵌套 B)函数的定义可以嵌套,但函数调用不能嵌套 C)函数的定义和调用都不能嵌套 D)函
17、数的定义和调用都可以嵌套 72、数组定义为:int a45;引用“a1+3”表示的是 A(A)a 数组第 2 行第 4 列元素的地址 (B)a 数组第 2 行第 4 列元素的值 (C)a 数组第 4 行的首地址 (D)a 数组第 1 行第 3 个元素的地址 73、若定义:int a=511,*b=&a;则 printf(%dn,*b);的输出结果为 D A.确定值 B)a 的地址 C)512 D)511 74、若有 int a10=1,2,3,4,5,6,7,8,9,10;int*p=a;则值为 9 的表达式是 B A.*p+9 B.*(p+8)C.*p+=9 D.p+8 75、若有说明语句:
18、int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量 a、b、c的语句是 A。A)scanf(%d%d%d,&a,&b,d);B)scanf(%d%d%d,&a,&b,&d);C)scanf(%d%d%d,a,b,d);D)scanf(%d%d%d,a,b,*d);接两步进行程序中用括起来的内容是程序的注释语句语言函数是由函数首部和函数体两部分组成其中函数首部包括函过连接后生成文件的后缀名是语言中关系表达式和逻辑表达式的值是语言中的标识符只能由三种字符组成他们是字母型决定的源程序的基本单位是函数表达式的值为则表达式的值为当时表达式的值是定一个指针它指向一个有个整型元 76、
19、设有语句”int a=1,3,5,7,9,*p=&a0;”则值为 7 的表达式是 C A.*p+3 B.*p+4 C.*(p+3)D.*(p+4)77、已知赋值语句 wang.year=2004;则 wang的变量类型是 C A.字符或文件 B.整型或实型 C.共用或结构 D.实型或指针 78、设有以下说明语句:struct stu int a;float b;stutype;则下面的叙述不正确的是 C Astruct是结构体类型的关键字 Bstruct stu是用户定义的结构体类型名 Cstutype是用户定义的结构体类型名 D.a 和 b 都是结构体成员名 79、下列关于结构的语法错误的是
20、 D A结构是由用户自定义的一种数据类型 B结构中可设定若干个不同数据类型的成员 C结构中成员的数据类型可以是另一个已定义的结构 D在定义结构时,可以为成员设置默认值 80、说明一个结构体变量时,系统分配给它的内存是 A A各成员所需内存量的总和 B结构中第一个成员所需内存量 C成员中占内存量最大者所需的容量 D结构中最后一个成员所需内存量 三、程序理解 1以下程序运行结果是#include int main()int a,b,c,d;a=b=5;c=(a+)+(a-)-(a+);d=(b+)-(+b)+(-a);printf(a=%d,b=%dn,a,b);printf(c=%d,d=%dn
21、,c,d);return 0;接两步进行程序中用括起来的内容是程序的注释语句语言函数是由函数首部和函数体两部分组成其中函数首部包括函过连接后生成文件的后缀名是语言中关系表达式和逻辑表达式的值是语言中的标识符只能由三种字符组成他们是字母型决定的源程序的基本单位是函数表达式的值为则表达式的值为当时表达式的值是定一个指针它指向一个有个整型元 2以下程序运行结果是#include int main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:b=+a;case 2:a+;b+;break;case 3:+a;+b;printf(a=%d,b=%dn,a,b);
22、return 0;3以下程序运行结果是#include int main()int a,b,c=246;a=c/100%9;b=(1)&(-1)|0;printf(%d,%dn,a,b);return 0;4以下程序运行结果是#include int main()int a=-1,b=4,k;k=(+a=0)&(b-=0);printf(%d,%d,%dn,k,a,b);return 0;5以下程序运行结果是#include 接两步进行程序中用括起来的内容是程序的注释语句语言函数是由函数首部和函数体两部分组成其中函数首部包括函过连接后生成文件的后缀名是语言中关系表达式和逻辑表达式的值是语言中的
23、标识符只能由三种字符组成他们是字母型决定的源程序的基本单位是函数表达式的值为则表达式的值为当时表达式的值是定一个指针它指向一个有个整型元 int main()int a=5,b=60,c;if(ab)c=a*b;printf(%d*%d=%dn,b,a,c);else c=b/a;printf(%d/%d=%dn,b,a,c);return 0;6以下程序运行结果是#include int main()int a=60,b=5,c;if(ab)c=a*b;printf(%d*%d=%dn,b,a,c);else c=b/a;printf(%d/%d=%dn,b,a,c);return 0;7以
24、下程序运行结果是#include int main()int a=1,b=10;do b-=a;a+;while(b-0);printf(%d,%dn,a,b);return 0;8以下程序运行结果是#include int main()int x;for(x=10;x3;x-)if(x%3)x-;-x;-x;接两步进行程序中用括起来的内容是程序的注释语句语言函数是由函数首部和函数体两部分组成其中函数首部包括函过连接后生成文件的后缀名是语言中关系表达式和逻辑表达式的值是语言中的标识符只能由三种字符组成他们是字母型决定的源程序的基本单位是函数表达式的值为则表达式的值为当时表达式的值是定一个指针它
25、指向一个有个整型元 printf(%d,x);return 0;9以下程序运行结果是#include int main()int i;for(i=1;i6;i+)if(i%2!=0)printf(A);continue;printf(B);printf(n);return 0;10 以下程序运行结果是#include int main()int i;for(i=1;i6;i+)if(i%2=0)printf(A);break;printf(B);printf(n);return 0;11 以下程序运行结果是#include int main()int i,x33=1,2,3,4,5,6,7,8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 语言程序设计 复习 题库
限制150内