C语言基础班18章练习册汇总.docx
- 文档编号:28938968
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:104
- 大小:82.15KB
C语言基础班18章练习册汇总.docx
《C语言基础班18章练习册汇总.docx》由会员分享,可在线阅读,更多相关《C语言基础班18章练习册汇总.docx(104页珍藏版)》请在冰豆网上搜索。
C语言基础班18章练习册汇总
目录
第一章C语言程序设计概述……………………………………………………………………2
第一部分基本概念……………………………………………………………………2
一、基础题……………………………………………………………………………2
二、提高题……………………………………………………………………………3
三、历年真题…………………………………………………………………………3
第二部分数据类型、运算符与表达式………………………………………………4
一、基础题……………………………………………………………………………4
二、提高题……………………………………………………………………………5
三、历年真题…………………………………………………………………………7
第三部分位运算………………………………………………………………………8
一、基础题……………………………………………………………………………8
二、提高题……………………………………………………………………………9
三、历年真题…………………………………………………………………………11
第二章程序流程控制……………………………………………………………………………11
第一部分顺序结构与输入/输出方法………………………………………………11
一、基础题……………………………………………………………………………11
二、提高题……………………………………………………………………………13
三、历年真题…………………………………………………………………………13
第二部分条件分支结构………………………………………………………………14
一、基础题……………………………………………………………………………14
二、提高题……………………………………………………………………………16
三、历年真题…………………………………………………………………………19
第三部分循环结构……………………………………………………………………20
一、基础题……………………………………………………………………………20
二、提高题……………………………………………………………………………21
三、历年真题…………………………………………………………………………23
第三章数组与字符串……………………………………………………………………………26
一、基础题……………………………………………………………………………26
二、提高题……………………………………………………………………………27
三、历年真题…………………………………………………………………………30
第四章函数与变量……………………………………………………………………………31
一、基础题……………………………………………………………………………31
二、提高题……………………………………………………………………………32
三、历年真题…………………………………………………………………………34
第五章编译预处理………………………………………………………………………………36
一、基础题……………………………………………………………………………36
二、提高题……………………………………………………………………………37
三、历年真题…………………………………………………………………………38
第六章指针……………………………………………………………………………………39
一、基础题……………………………………………………………………………39
二、提高题……………………………………………………………………………40
三、历年真题…………………………………………………………………………42
第七章结构体和其他类型………………………………………………………………………44
一、基础题……………………………………………………………………………44
二、提高题……………………………………………………………………………47
三、历年真题…………………………………………………………………………48
第八章文件………………………………………………………………………………………49
一、基础题……………………………………………………………………………49
二、提高题……………………………………………………………………………49
三、历年真题…………………………………………………………………………50
附:
08年9月真题………………………………………………………………………………53
第一章C语言程序设计概述
第一部分:
基本概念
一、基础题
【l】一个C程序的执行是从。
A.本程序文件的第一个函数开始,到本程序main函数结束
B.本程序的main函数开始,到main函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
【2】以下叙述不正确的是。
A.一个C源程序可由一个或多个函数组成
B.C程序的基本组成单位是函数
C.一个C源程序必须包含一个main函数
D.在C程序中,注释说明只能位于一条语句的后面
【3】C语言规定:
在一个源程序中,main函数的位置。
A.必须在最前面B.必须在系统调用的库函数的后面
C.可以任意D.必须在最后
【4】一个C程序是由。
A.一个主程序和若干子程序组成B.函数组成
C.若干过程组成D.若干子程序组成
【5】C语言程序的三种基本结构是()
A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构
C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构
【6】算法的空间复杂度是指()
A.算法程序的长度B.算法程序中的指令条数
C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
【7】结构化程序设计的主要特征是()
A.封装和数据隐藏B.继承和重用
C.数据和处理数据的过程分离D.把数据和处理数据的过程看成一个整体
【8】算法是一种()
A.加工方法B.解题方案的准确而完整的描述C.排序方法D.查询方法
【9】结构化程序由三种基本结构组成,三种基本结构组成的算法()
A.可以完成任何复杂的任务B.只能完成部分复杂的任务
C.只能完成符合结构化的任务D.只能完成一些简单的任务
答案:
1.B;2.D;3.C;4.B;5.A;6.D;7.C;8.B;9.A
二、提高题
【l】C源程序的基本单位是。
:
【2】一个源程序中至少应包括一个。
【3】在一个C源程序中,注释部分两侧的分界符分别为和。
【4】在c语言中,输入操作是由库函数完成,输出是由库函数完成。
【5】一个C程序由若干个C函数组成,各个函数在文件中的书写位置为。
A.任意B.第一个函数必须是主函数,其他函数任意
C.必须完全按调用的顺序排列D.其他函数必须在前,主函数必须在最后
【6】下列叙述中正确的是()
A.C语言编译时不检查语法
B.C语言的子程序有过程和函数两种
C.C语言的函数可以嵌套定义
D.C语言中,根据函数能否被其它源文件调用,被区分为内部函数和外部函数
【7】下列叙述正确的是()
A.在模块化设计中,一个模块应该尽量多的包括与其它模块联系的信息
B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节
C.在模块化设计中,一个模块内部的控制结构也要符合结构化原则
D.在程序设计中,不能同时采用结构化程序设计方法与模块化程序设计方法
【8】在设计程序中,应采纳的原则之一是()
A.不限制goto语句的使用B.减少或取消注解行
C.程序越短越好D.程序结构与有助于读者理解
【9】下列叙述不正确的是()
A.在C程序中,%是只能用于整数运算的运算符
B.在C程序中,无论是整数还是实数,都能正确无误地表示
C.若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值
D.在C程序中,语句之间必须要用分号;分隔
答案:
1.函数;2.main函数;3./**/;4.scanf()printf();5.A;6.D;7.C;8.D9.B
三、历年真题
【1】以下说法正确的是()
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
【2】以下叙述中正确的是()
A.函数的定义不可以嵌套,但函数的调用可以嵌套
B.函数的定义可以嵌套,但函数的调用不可以嵌套
C.函数的定义和调用都可以嵌套
D.函数的定义和调用都不可以嵌套
【3】08年4月。
以下叙述中正确的是()
A.C程序中的注释只能出现在程序的开始位置和语句的后面
B.C程序书写格式严格,要求一行只能写一个语句
C.C程序书写格式自由,一个语句可以写在多行上
D.用C语言编写的程序只能放在一个程序文件中
【4】07年9月.C语言源程序名的后缀是()
A..exeB..CC..objD..cp
【5】07年9月.以下叙述中正确的是()
A.C语言程序将从源程序中第一个函数开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
D.main可作为用户标识符,用以命名任意一个函数作为主函数
【6】在C程序中,可以作为用户标识符的一组标识符是()
A.voiddefineWORDB.as_b3_224Else
C.Switch-wercaseD.4bDOSIG
答案:
1.C;2.A;3.C;4.B;5.C;6.B
第二部分:
数据类型、运算符与表达式
一、基础题
【l】以下四个字符序列中,能用作用户自定义的标志符是。
A.putcharB.doubleC.A123_D.int
【2】在C语言中,合法的长整型常数是。
A.0LB.4962710C.324-562&D.216D
【3】以下选项中合法的字符常量是。
A.”B”B.’\010’C.68D.D
【4】假定x和y为double型,则表达式x=2,y=x+3/2的值是。
A.3.500000B.3C.2.000000D.3.000000
【5】以下合法的赋值语句是。
A.x=y=100B.d--;C.x+y;D.c=int(a+B.;
【6】以下程序的输出结果是。
main()
{charc=’z’;
printf(”%c”,c-25);
}
【7】若a为int类型,且其值为8,则执行完表达式a+=a%=a%3后,a的值是。
A.8B.3C.2D.0
【8】设有定义“floaty=3.45678;intx;”,则以下表达式中能实现将y中数值保留小数点后2位,第三位四舍五入的表达式是。
A.y=(y*100+0.5)/100.0B.x=y*100+0.5,y=x/100.0
C.y=y*100+0.5/100.0D.y=(y/100+0.5)*100.0
【9】设x和y均为int型变量,且x=9和y=3,则以下语句
printf(“%d,%d”,x++,--y);
的输出结果是。
A.10,3B.9,3C.9,2D.10,2
【10】有如下程序
main()
{inta=5,b=-3,c=4;
printf(“%d%d\n”,(++a,b++),c-2);
}
运行该程序的输出结果是。
A.-42B.-32C.-42D.-22
【11】若a1,a2,a3,a4均为整型变量,则以下选项中,符合C
语法规则的表达式是( )
Aa1=25%3.3Ba2=a1+a3=3*5Ca3=078Da4=0xa2
【12】假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为。
【13】字符串”\n\”defg\101\x5B\t”的长度为。
【14】若a是int型变量,则下面表达式的值为。
(a=3+5,a*2),a*6
【15】经过下述赋值后,变量x的数据类型是,y的值是。
intx=100;
doubley;
y=(int)(float)x;
【16】语句:
x++;++x;x=x+l:
x=l+x:
,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)
【17】以下程序的输出结果为()
#include
main()
{
inta=2;
a%=4-1;
printf(“%d,”,a);
a+=a*=a-=a*=3;
printf(“%d”,a);
}
A)2,0B)1,0C)-1,12D)2,12
。
答案:
1.C;2.A;3.B;4.D;5.B;6.A;7.D;8.B;9.C;10.B;11.D;12.9;13.9;14.48;15.整型100.0;16.x+=l;或x-=-1;17.A
二、提高题
【1】设有说明“intx=10,y=4,f;floatm;”,执行表达式“f=m=x/y”后,
则f,m的值分别是( )
A 2、2.5 B 3、2.5 C 2.5、2.5 D 2、2.0
【2】在数学式
中,变量x和y的取值为整数,变量a和b的取
值为实数,在C程序中对应的正确表达式是( )
A 3/5*x*y/a/bB3*x*y/5/a/b
C3*x*y/5*a*bD3/a/b/5*x*y
【3】表达式“(a=4*5,b=a*2),b-a,a+=2”的值是()
A2B20C22D42
【4】设有说明“inta=3,b=5,m;”,则执行表达式
“m=a<=3&&a+b<8”后,m的值为()
AtrueBfalseC0D1
【5】设有说明“intx=5,y=7,z=8;”,执行表达式“z+=x++||y++||z++”
后,则x,y,z的值分别为( )
A6、7、9 B6、8、10 C6、8、8 D6、8、1
【6】设有说明“inta=15,b=17,c;”,执行表达式“c=a||(b+=b)”后,
则a,b,c的值分别为( )
A15、17、1 B1、34、35 C15、34、1 D15、17、15
【7】设有说明“inta,b,c;a=b=c=5;”,执行表达式
“b+=++a>b&&++c>b”后,则a,b,c的值分别为( )
A6、7、6 B6、6、6 C6、6、5 D6、1、6
【8】设有定义“intj,i;”,则执行“j=(i=1,1+9)>9?
i++||++i:
++i;”
后,i,j的值为( )
A10,10 B2,2 C2,3 D2,1
【9】设“intx=2,y=3,z=(++x<=y--)?
((--y==1)?
y--:
--y):
y--;”,
则x,y,z的值为( )
A3,0,1B2,0,0C3,1,1D2,2,1
【10】若有定义:
intb=17;floata=4.5,c=6.5;则下面表达式的值为。
a+(int)(b/3*(int)(a+C./2)%4
【11】若int类型数据占两个字节,则下列语句的输出结果是()
intk=-1;
prinntf(“%d,%u\n”,k,k);
A.-1,-1B.-1,32767
C.-1,32768D.-1,65535
【12】以下程序的输出结果是。
main()
{inta=l,b=2,c=3,k;
k=a+++b+++c;
printf(“k=%dc=%d\n”,k,C.;
}
【13】若x为int型变量,则执行以下语句后,x的值为。
x=5;
x+=x-=x*x;
【14】下列程序的输出结果是16.00,请将程序填完整()。
main()
{inta=9,b=3;
float,x=,y=2.1,z;
z=a/2十b*x/y+l/2;
printf(%5.2f\n",z);
}
设有语句“floatx=2.9;inta=5,b;b=a+x”,则变量b的值()
【15】“inta=5,b=7,c=15,d;d=b>a||(c=a+b).”,则c的值是( )
【16】有“inta=5;a+=a-=-a*a;”,则a的值是()
【17】句”inta=2,b=3,c=2;a+=b*=(++b-c++);”,变量b的值是()
【18】下列不合法的十六进制数是()
A.oxffB.0XcdeC.0x11D.0x23
【19】在C语言中,下列合法的字符常量是()
A.’\039’B.’\x76’C.’ab’D’/n’
答案:
1.D;2.D;3.C;4.C;5.A;6.A;7.B;8.D;9.A;10.7.5;11.D;12.k=6c=3;13.-40;14.8.4;15.15;16.60;17.8;18.A;19.B
三、历年真题
【1】06年9月(14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是________。
A.++x,y=x-- B.x+1=y C.x=x+10=x+y D.double(x)/10
【2】06年9月(17)有以下程序
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是________。
A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1
【3】06年9月(24)以下选项中,值为1的表达式________。
A.1-"0" B.1-"\0" C."1"-0 D."\0"-"0"
【4】08年4月。
以下选项中不合法的标志符是()
A)printfB)FORC)&aD)_00
【5】08年4月。
以下选项中不属于字符常量的是()
A)‘C’B)“C”C)‘\xcc’D)’\072’
【6】08年4月。
设变量已正确定义并赋值,以下正确的表达式是()
A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0
【7】08年4月。
以下语句中正确的是()
A)inta=b=0;B)charA=65+1,b=’b’;C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.1;
【8】08年4月。
有以下程序段
charch;intk;
ch=’a’;k=12;
printf(“%c,%d”,ch,ch,k);
printf(“k=%d\n”,k);
已知字符a的ASCII码十进制代码为97,则执行上述愁段后输出结果是()
A)因变量类型焉格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个食不符,输出为零值或不定值
C)a,97,12k=12
D)a,97,k=12
【9】08年4月。
书变量已正确定义为整型,则表达式n=i=2,++i,i++的值为。
【10】07年9月。
可在C程序中用做用户标识符的一组标识符是()
A)andB)DateC)HiD)case
_2007y-m-dDr.TomBigl
【11】07年9月。
以下选项中,合法的一组C语言数值常量是(A)028 B)12. C).177 D)0x8A
. 5e-3 OXa23 4c1.5 10,000
-0xf 4.5e0 Oabc 3.e5
【12】07年9月,以下关于long、int和short类型数据占用内存大小的叙述中正确的是()
A)均占4个字节B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义D)由C语言编译系统决定
【13】07年9月。
(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是()
A)x=y==5;B)x=n%2.5;C)x+n=I;D)x=5=4+1;
【14】07年9月。
以下正确的字符串常量是()
A)"\\\"B)’abc’C)OlympicGamesD)""
【15】07年4月。
设有定义:
intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()
A)k++B)k+=1C)++kD)k+1
【16】07年4月。
有以下程序,其中%u表示按无符号整数输出
main()
{unsignedintx=oxFFFF;/*x的初值为十六进制数*/
printf("%u\n",x);
}
程序运行后的输出结果是()
A)-1B)65535C)32767D)0xFFFF
【17】07年4月。
以下合法的字符型常量是()
A)'\x13'B)'\081'C)'65'D)"\n"
【18】07年4月。
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。
以下不能将变量c中的大写字母转换为对应小写字母的语句是()
A)c=(c-'A')%26+'a'B)c=c+32C)c=c-'A'+'a'D)c=('A'+c)%26-'a'
答案:
1-5ABBAB6-10CBD3A11-15BDADA16-18BAD
第三部分位运算
一、基础题
【1】设有定义语句:
charc1=92,c2=92;,则以下表达式中值为零的是()
A)c1^c2B)c1&c2C)~c2D)c1|c2
【2】有以下程序
main()
{unsignedchara,b;
a=4|3;
b=4&3;
printf(“%d%d\n”,a,b);
}执行后输出结果是()
A)70B)07C)11D)430
【3】有以下程序
main()
{intx=3,y=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 18 练习 汇总