《2022年C语言程序设计综合复习资.docx》由会员分享,可在线阅读,更多相关《2022年C语言程序设计综合复习资.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源C 语言程序设计综合复习资料要求把握的章节:第 1 章、第 3 章第8 章、第 10 章(前 4 节)、第 11 章(前 6 节) 重点章节:第 3 章第 8 章、第10 章(前 4 节) 难点章节:第 8 章、第 10 章(前4 节)考试卷型:选择题(填空题)(20 )读程序题( 40)编程序题( 40)第 1 章 C 语言概述一、选择题 1能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序 B)编辑程序 C)说明程序 D)编译程序2. 在一个 C 程序中A )main 函数必需显现在全部函数之前 B)main 函数可以在任何地方出 现C)main 函数必需显现在全部函数
2、之后 D)main 函数必需显现在固定位 置3. C 语言中用于结构化程序设计的三种基本结构是A )次序结构、 选择结构、循环结构 B)if 、switch 、breakC)for 、while 、do-whileD )if、for 、continue4C 语言程序的基本单位是A 函数 B 过程 C 子例程D 子程序二、填空题1C 语言程序总是从函数开头执行;2C 语言是种面对 的程序设计语言, 其程序的基本单位是; .3C 语言中的函数由、两部分组成;4. 结构化程序设计中所规定的三种基本把握结构是、和;第 3 章数据类型、 运算符与表达式一、选择题 1以下关于 C 语言用户标识符的表达中正
3、确的 是A) 用户标识符中可以显现下划线和中划线(减号)B) 用户标识符中不行以显现中划线, 但可以显现下划线C) 用户标识符中可以显现下划线, 但不行以放在用户标识符的开头D) 用户标识符中可以显现下划线和数字, 它们都可以放在用户标识符的开头2C 语言中基本数据类型有A)整型、实型、规律型B)整型、字符型、规律型C)整型、实型、字符型D)整型、实型、字符型、规律型3在运算机中,一个字节所包含二进制位的个数是A)2B )4C )8D ) 16 4用 8 位无符号二进制数能表示的最大十进制 数为A)127B )128C )255D )2565. 在运算机系统中,储备一个汉字的国标码所需要的字节
4、数为A1B2C3D46. 在 C 语言中, char 型数据在内存中的储备形式是A)原码 B)补码 C)反码 D) ASCII 码7. 十六进制数 100 转换为十进制数为A)256B )512C )1024D )648. 十六进制数7A 转化成八进制数是A123B122C173D17 29. 十进制数 32 转化成十六进制数是A20BffC10D2110. 与十进制数 511 等值的十六进制数为A1FFB2FFC1FED2F E11. 以下选项中可作为 C语言合法整数的是A)10110BB )0386C )0XffaD )x2a212. 以下选项中合法的实型常数是A5E2.0BE-3C.2E
5、0D 1.3E13 依据 C 语言的语法规章,以下()是用户定义的合法标识符;AintBINTCjin#2D8f14 依据 C 语言的语法规章,以下合法标识符是AElseBelseCuser$2D5_examp15 以下不正确的字符常量是A8BxffC887D16 以下不正确的字符常量是A0BxggC0Da17. 以下选项中不合法的八进制数是A01B077C028D0018 以下运算符优先级最高的是A) .B ) +C) &D ) .= 19 如有说明: chars1=067,s2=1;就变量 s1,s2 在内存中各占的字节数是;A)11B)41C )31D )1220 以下不能定义为用户标识
6、符的是A) scanfB ) VoidC )_3com_D ) inte21 在 C 语言中,可以作为用户标识符的一组标识符是AvoiddefineWORDBa s_b3_224Else CSwitch-wercaseD4b DOSIG22 如有 :intx=1,n=5 ;就执行语句 x%=n%2 后, x 的值为A) 3B) 2C ) 1D ) 0 23 设全部变量均为整型,就表达式a=2,b=5,a+,b+,a+b的值是欢迎下载精品学习资源A10B9C8D724. 已知: chara= ;a intb=0 ;floatc=-1.2 ; doubled=0 ;执行语句: c=a+b+c+d
7、;后,变量 c的类型是A)charB ) intC ) doubleD )float25. 表示 x 0 或x1的正确的表达式是99,98D )c,b33 以下选项中非法的表达式是A) 0=x=A&ch=1|x1|x=1orx=1|x0 ;29. 已定义 c 为字符型变量,就以下语句中正确选项A)c=97 ;B) c=97 ;C) c=a ;D)c=97 ;30. 执行 intj,i=1 ;j=-i+ ;后 j 的值是A-1B-2C1D231. 以下选项中非法的表达式是A)a+2+B )i=j=0C ) char65+3D )x+1=x+1 32 已知小写字母的ASCII 码为 97 ,对于i
8、nta=99,b=b ;printf“ %c,%d” ,;a,的b结果是A)99,bB ) c,98C )就下面的表达式中, 值为0 的表达式是A) a&bB )0|1C )a|b+c&b cD ).ab&.c|137. 如有定义: inta=8 , b=5 , C;,执行语句C=a/b+0.4 ;后, C 的值是A1.4B1C2.0D238. 以下选项中,与k=n+ 完全等价的表达式是Ak=n,n=n+1Bn=n+1,k=nCk=+nDk+=n+139 设 a=3,b=4,c=5 ,就规律表达式:a|b+c&b=c的值是A) 1B) 0C )非 0D )语法错40. 如 x 为 int 型变
9、量,就逗号表达式x=4*5,x*5,x+25的结果是A) 20B )45C ) 100D )表达式不合法41. 如有语句 inti= 19,j=i%4 ;ASCII 码为 97 ,对于inta=99,b=b ;printf“ %c,%d” ,;a,的b结果是A)99,bB )c,98C ) 99,98D ) c,b44. 如有语句 inti= 19,j=i%4 ;printf%dn,j ;就输出结果是;A)3B )-3C )4.75D )045. 语句: printf%d,a=2&b=- 2;的输出结果为a)无输出 b)结果不确定 c)1d )246. 有定义语句: intx,y ;,如要通过
10、scanf%d,%d,&x,&y;语句使变量 x 得到数值11,变量 y 得到数值 12 , 下面四组输入形式中, 错误选项A)1112B )11,12C)11,12D )11,1247 设 a=3,b=4,c=5 ,就个数,不能正确输出B)运行时产生出错信息C)输出值为 2005D)输出值为 200650 设有如下程序段: intx=2,y=3 ;printf%dn,x,y;就以下表达中正确选项A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运行时产生出错信息C)输出值为 2D)输出值为 3二、填空题1 C 语言中规律 ”真”用表示,规律 ”假”用表示;2 在 C 语言中
11、,整数可用进制、进制和进制 3 种数制表示;3 十进制数 52 转化成八进制数是;4 十六进制数 7A 转化成八进制数是;5 十进制数 47 转化成八进制数是;欢迎下载精品学习资源6在 C 语言中, 101 是种特殊的字符常量, 它称为,其表示的字符为;7在 C 语言程序中,整型数可用十进制、 进制和进制 3 种数制表示; 070是个合法的整型数;8字符串 “ab034x79 ”的长度为;9. 十六进制数7A 转化成八进制数是;10. 语句: printf%d,a=-10&b=0 ;的输出结果为;11. 如 w=1,x=2,y=3,z=4,就条件表达式wx.w:y0.p/1 0:p%3 ;4
12、mainintx,y=0 ;printf“n%”c ,x9=9 ; printf“n%”d ,+x+,+y,x+y;第 5 章选择结构程序设计一、读程序, 写出程序执行结果1. voidmainintx=-9,y ;ifx0y=10 ;elseifx=0y=0 ;elseifxb ifb0c=0 ;elsec+ ;printf “%dn ”,c ;4. mainintx=100,a=20,b=10;x=1 ;else x=10 ;x=-1 ;printf “%d ”,x ;5 maininta=4,b=3,c=5,t=0;ifabt=a ;a=b ;b=t ;ifact=a ;a=c ;c=t
13、;printf%d%d%dn,a,b,c ;6 maininti=2 ;switchicase1:printf“ %d”;,i+ break ;case2:printf “ %d”;,i+ case3:printf “ %d”;,i+ break ;case4:printf “ %d”;,i+ +7.voidmainints= 3; switchs-2case0 ;case1:putchars+4;case2:putchars+4;break ;case3:putchars+3;default:putchars+2;8 voidmainintx=2 ;switch1+xcase0 ;case1
14、:printfap“ple ”; break ;欢迎下载精品学习资源;19 语句:intv1=5 ;ifabcase2:printf “hello ” ;break ;欢迎下载精品学习资源printf%d,a=2&b=- 2;的输出结果为;3mainintp=30 ;ifb.=15if.v1case3:printf “world ”; default:printf “thankyou ”欢迎下载精品学习资源;第 6 章循环把握一、选择题1对于循环 fork=16 ;3maininti,m=0,n=0,k=0 ;fori=9 ;i10&x0 ;printf “%dn ”,t;欢迎下载精品学习资源
15、k0 ;k-=3putchar *;default:k+ ;n+ ;欢迎下载精品学习资源输出是A)*B ) *C )*D )无限循环 2如有如下程序段,其中 s、a、b、c 均已定义为整型变量 ,且 a、c 均已赋值( c 大于 0)s=a ;forb=1 ;b=c ;b+s=s+1 ;就与上述程序段功能等价的赋值语句是A)s=a+b ;B) s=a+c ;C) s=s+c ;D) s=b+c ;3设有 inti,x ;就循环语句:fori=0,x=0 ;i=9&x.=876 ;i+scanf “%d ”,&x ;A)最多执行 10 次 B) 最多执行 9 次C)是无限循环 D)循环体一次也不
16、执行二、读程序, 写出程序执行结果1. mainintn=4 ;whilen-printf%2d,- n ;2. maininti ;fori=0 ;i1 ;i-forj=0 ;j11-2*i ;j+putchar ; forj=0 ;j2*i-1 ;j+putchar9 ;5. maininta ;fora=1 ;a0 ;y-j=j*x ;printf “j=%dn ”,j ;7. voidmainintn=-5 ;while+n printf%2d,+n;9 voidmainintx,y ;forx=1,y=1 ;y=10break ;ifx%2=1x+=5 ;continue ;x-=3
17、 ;printf%d%dn,x,y; 10 mainintk=4,n=0 ;for;nk ;n+ ;ifn%3.=0continue;k- ; printf%d,%dn,k,n;11. voidmaininti=1 ;whilei10if+i%5.=3continue;elseprintf%d,i;12. mainintk=0,m=0 ;inti,j ;fori=0 ;i2 ;i+forj=0 ;j3 ;j+ k+;k-=j ; m=i+j ;printf “ k=%d,m=%d ” , k,m ;13. voidmain14 voidmainintn1,n2 ;n2=5678 ;whilen
18、2.=0n1=n2%10 ;n2=n2/10 ;printf%d,n1 ;第 7 章数组一、选择题1 在执行inta3=1,2,3,4;语句后 a12 的值是A、B、C、D、 2 已知: inta3=1,2,3,4,5,6,7,8,9,0 ;就数组 a 的第一维的大小是A) 2B) 3C ) 4D )无法确定;3 以下能正确定义数组并正确赋初值的语句是A) intN=5,bNN ;B) inta12=1,3;C )intc2=1,2,3,4;D) intd32=1,2,34;4 以下不能正确定义二维数组的选项是A )inta22=1,2;B)inta2=1,2,3,4;C) inta22=1,
19、2,3;欢迎下载精品学习资源D)inta2=1,2,3,4;5. 有语句:chars110,s210= books ;就能将字符串books 赋给数组 s1 的正确语句是A)s1=books ;B) strcpys1,s2 ;C) s1=s2 ;D) strcpys2,s1 ;6. C 语言规范函数strcpys3,strcats1,s2的功能是A)将字符串 s1 复制到ifaij=0break;s+=aij ;printf%dn,s ;3. mainintp7=11,13,14,15,16,17,18,i=0,k=0 ;whilei7&pi%2k=k+pi ;i+ ; printf%dn,k
20、 ;4. main套;C) 函数的定义和调用都不答应嵌套;D) 函数的定义和调用都答应嵌套; 2如已定义的函数有返回值,就以下关于该函数调用的表达中错误选项A) 函数调用可以作为独立的语句存在B) 函数调用可以作为一个函数的实参 C)函数调用可以显现在表达式中给形参的是A)数组的第一个元素值B)数组中全部元素值C) 数组的首地址 D)数组的元素个数二、填空题1 用数组名作为函数调用时的实参, 就实参传递给形参的是;2 形参是变量;3 函数: floatppintx,inty , 该函数 pp 的函数类型是欢迎下载精品学习资源s2 中,再连接到 s3 之后inti,n=0,0,0,0,0;D)
21、函数调用可以作为一 ;欢迎下载精品学习资源B) 将字符串 s2 连接到s1 之后,再将 s1 复制到s3 中C) 将字符串 s2 复制到s1 中,再将 s1 连接到 s3之后D) 将字符串 s2 连接到s1 之后,再将 s3 复制到s1 中二、读程序, 写出程序执行结果1 mainintaa44=1,2,3,4,5fori=1 ;i=4 ;i+ni=ni-1*2+1 ;printf%d,ni ;5voidmainintstr33=1,2,3,4,5,6,7,8,9,i,j,t ;fori=0 ;i3 ;i+ forj=0 ;ji ;j+t=strij ;strij=strji ;strji=t
22、 ;fori=0 ;i3 ;i+forj=0 ;j0.x:-x;欢迎下载精品学习资源,6,7,8,3,9,10,2,4,2,9,6;j+printf“ %3d” ,strijreturn*p ;voidmain欢迎下载精品学习资源inti,s=0 ; fori=0 ;i4 ;i+s+=aai3 ;printf“ %n”d ,s; 2 maininta44=1,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0;inti,j,s=0 ;fori=0 ;i4 ;i+forj=0 ;j4 ;j+ifaijbreturna;elsereturnb ; main
23、intx=3,y=8,z=6,r;r=funfunx,y,2*z;printf%dn,r ;5. intfintxinty=0 ;staticz=3 ;y+ ;z+ ;returnx+y+z ;mainintw=2,k ;fork=1 ;k3 ;k+w=fw ;printf%dn,w ;6. voidfintx,intyintt ;ifxyt=x ;x=y;y=t ;maininta=4,b=3,c=5;fa,b ;fa,c ;fb,c ;printf%d,%d,%dn,a,b,c;7. intb=2 ;funint*ab+=*a ;returnb ; maininta=2,res=2 ;re
24、s+=fun&a ;printf“ %n”d ,res;8. intd=1 ;voidfunintpintd=5 ;d+=p+ ;printf “%d ”,d;maininta=3 ;funa ;d+=a+ ;printf%dn,d;9. intd=2 ;intfunintpstaticintd=3 ;d+=p ;printf%3d,d ;returnd ;voidmainprintf%3dn,fun2+fu nd ;10. intfints=1 ;staticinti=0 ;s+=i ;i+ ;returns ;voidmaininti,a=0 ;fori=0 ;i5 ;i+a+=f ;pr
25、intf%dn,a;11. intfints=1 ;staticinti=0 ;s+=i ;i+ ;returns ;maininti,a=0 ;fori=0 ;ibreturna ;elsereturnb ;mainintx=3,y=8,z=6,r;r=funfunx,y,2*z;printf%dn,r ;14 inta=100,b=200 ;voidfprintf“ %d,n%”d ,a,b; a=1 ;b=2 ;voidmaininta=5,b=7 ;f;printf“ %d,%n”d ,a,b;15 funintxstaticinta=3 ;a+=x ;returna ;voidmai
26、nintk=2,m=1,n ;n=funk ;n=funm ;printf “%dn ”,n ;第 10 章指针一、选择题1设有定义inta=1,5,7,9,11,13,*p=a+3 ;就*p-2,*a+4 的值是A) 511B )19C )59D )有错误2 设有定义inta=1,5,7,9,11,13,*p=a+3 ;就*p-3,*a+2 的值是A) 511B )17C )59D )有错误3 对于inta=1,2,3,4,5,6,p;p=a ;*p+3+=2 ;就*p,*p+3 的值为A15B13C14D164 设有定义char*p= “ abcde 0”;就printf“ %n”d ,s
27、trlenp;输出结果是A12B15C6D55 下程序段:chars20=abcd,*sp=s ;strcatsp,ABCD;putssp ;的输出结果是A) abcdABCDB ) ABCDabcdC ) ABCDD ) abcd6 设有定义语句: charstr20=Hello,B eijing,*p=str ;就printf%dn,strlenp+2 0 ;输出结果是A) 0B) 5C ) 7D ) 207 能正确运用指针变量的程序段是A) int*i=NULL ;B) float*f=NULL ;scanf%d,i ;*f=10.5 ;C) chart=m,*c=&t ;D) long
28、*L ;*c=&t ;L=0 ;8 以下函数的功能是:欢迎下载精品学习资源通过键盘输入数据, 为数组中的全部元素赋值;#defineN10voidarrinintxNinti=0 ;whileiNscanf%d,;在下划线处应填入的是A)x+iB )&xi+1C ) x+i+D )&x+i9如有以下定义和语句:inta=4,b=3,*p,*q,*w ;p=&a ;q=&b ;w=q ;q=NULL ;就以下选项中错误的语句是二、填空题1charstr110,str210=books ,就能将字符串 books 赋给数组 str1 的规范函数是;2. 如有说明: chars14=12,*ptr=
29、s1;就我们称指针变量 ptr 指向数组 s1 的,而*ptr+1的值是3. 对于3. voidfunchar*a,char* ba=b ;*a+ ;maincharc1=A,c2=a,*p1,* p2 ;p1=&c1 ;p2=&c2 ;funp1,p2 ;printf%c%cn,c1,c2;4. voidfint*s,intn1,intn 2inti,j,t ;i=n1 ;j=n2 ;c=*a+i ;*a+i=*a+j ;*a+j=c ;putsa ;7 maininta,k,*p=&a ;a=6 ;fork=1 ;k=*p ;k+ if*p%k.=0printf “%5d ”,k ;8.voidmaincharx=abcxyz;char*ptr ;forptr=&x2 ;ptrx+6 ;欢迎下载精品学习资源A)*q=0 ;