2022年电大_C语言程序设计形成性考核册答案缩写本 .pdf
《2022年电大_C语言程序设计形成性考核册答案缩写本 .pdf》由会员分享,可在线阅读,更多相关《2022年电大_C语言程序设计形成性考核册答案缩写本 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 / 10 一、选择题1. 在每个 C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。Amain BMAIN Cname D funtion 2C语言原程序文件的缺省扩展名为(A)。Acpp B exe Cobj DC 3由 C语言目标文件连接而成的可执行的缺省扩展名为(B)。Acpp B exe Cobj DC 4程序运行中需要从键盘输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。A空格或逗号 B逗号或回车 C回车或分号 D空格或回车5每个 C语言程序的编译错误分为(B)类。A1 B2 C3 D 4 6设 x 和 y 均为逻辑值,则x & y 为真的条件是(A)。A它
2、们均为真 B其中一个为真 C它们均为假 D其中一个为假7设有语句“ int a=12。a+=a*a。”,则执行结束后,a 的值为( C)。A12 B144 C 156 D288 8x0 & x=10 的相反表达式为(A)。Ax10 B x10 Cx=0 | x0 & x10 9字符串“ a+b=12n ”的长度为( B)。A6 B7 C8 D 9 10在下列符号常量定义中。错误的定义语句格式为(C)。Aconst M1=10 。 Bconst int M2=20 。 Cconst M3 10 Dconst char mark=3。11带有随机函数的表达式rand()%20 的值在( C)区间内
3、,A119 B120 C019 D 020 12当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。Afor B while Cdo-while Dswitch 13在 switch语句的每个case 块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句。Afor B if C do Dwhile 14 for 语句能够被改写为(D)语句。A复合 Bif Cswitch Dwhile 15下面循环语句执行结束后输出的i 值为( B)。for(int i=0。in/2)coutiendl。break 。 An/2 B n/2+1 Cn/2-1 Dn-1 16在
4、下面循环w语句中内层循环体S语句的执行次数为( D )。for(int i=0。in 。 i+) for(int j=i。jn 。j+)S 。An2 B(n+1)/2 Cn(n-1)/2 D n(n+1)/2 17在下面的do 循环语句中,其循环体被执行的次数为(A )。int i=0。do i+ 。while(i*i10)。A4 B3 C5 D 2 1. 在下面的一维数组定义中,(C)语句有语法错误。Aint a=1,2,3。Bint a10=0。Cint a 。 Dint a5。n 2在下面的二维数组定义中,(C)语句是正确的。Aint a5。Bint a5。Cint a3=1,3,5,2
5、。 Dint a(10) 3 假 定 一 个 二 维 数 组 的 定 义 语 句 为 “ int a34=3,4,2,8,6。”,则元素a12的值为(C)。A2 B4 C6 D8 4 假 定 一 个 二 维 数 组 的 定 义 语 句 为 “ int a34=3,4,2,8,6。”,则元素a21的值为(A)。A0 B4 C8 D6 5将两个字符串连接起来组成一个字符串时,选用(C)函数。Astrlen() B strcap() C strcat() Dstrcmp() 选择题1. 在下面的(C)函数声明语句存在语法错误。AAA(int a,int b) 。B AA(int ,int) C AA
6、(int a。int b) DAA(int a,int) 2在下面的(C )不能作为函数的返回类型。Avoid B int C new Dlong 3下面正确的函数原型语句是(B)。A int Function(void a)。B void Function(int)。C int Function(a)。D void int(double a)。4函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B)个。A1 B2 C4 D5 5下面的标识符中,(C)是文件级作用域。A函数形参 B语句标号 C外部静态类标识符 D自动类标识符6下面的标识符中,(B)具有全
7、局级作用域。A函数形参 B全局变量 C内部静态类标识符 D自动变量符7假定 p 是一个指向float型数据的指针,则p+1 所指数据的地址比p 所指数据的地址大( C )字节。A1 B2 C4 D8 8假定 a 为一个字符数组名,则a8 的地址比该数组的首地址大( B )个字节。A4 B8 C16 D32 9假定a 为一个数组名,则下面的( B )表示有错误。Aai B *a+ C *a D*(a+1) 10用calloc函数创建具有10 个整型元素的一维数组的正确语句是( C )。A int *p=calloc(10,2)。B int *p=callo(10。C int *p=calloc(
8、10,4)。D int *p=malloc(10)。11假定变量m定义为“ int m=7 。”,则定义p 的正确语句为( B )。Aint p=&m。Bint *p=&m。 C int &p=*m。 D int *p=m。12假定 k 是一个 double 类型的变量,则定义指向k 的变量 p 的正确语句为( B )。A double p=&k 。B double *p=&k。C double &p=*k 。D char *p= ”Thank you! ”。13假定一条定义语句为“int a10,x,*pa=a。”,若要把数组a 中下标为3 的元素赋值给x,则不正确的语句为( D )。A x
9、=pa3 。 B x=*(a+3) 。 C a=a3 。 Dx=*pa+3 。14假定有定义“int b10。int *pb。”,则不正确的赋值语句为( C )。A pb=b。 B pb=&b0 。 C pb=b+2。 Dpb=b5 。15 假 定 指 针 变 量p定 义 为 “ int *p=new int(100)。”,要释放p 所指向的动态内存,应使用语精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 10 页2 / 10 句( D )。A deletep。B delete *p 。 C delete &p。 D delete p。
10、16 假 定 指 针 变 量 p 定 义 为 “ int *p=calloc(30,sizeof(int)。”,要释放p所指向的动态内存,应使用语句( D )。A deletep 。 B deldete(p)。 C freep 。 D free(p) 。选择题1. 假定有“struct BOOKchar title40。 float price 。 。 struct BOOK *book。”,则不正确的语句为( A )。A struct BOOK *x=malloc(book)。 B struct BOOK x=“ C+ Programming” ,27.0 。 C struct BOOK *
11、x=malloc(sizeof(BOOK)。 D struct BOOK *x=&book。2. 假定有“struct BOOKchar title40。 float price 。 book 。”,则正确的语句为(B )。A struct BOOK x=&book。B struct BOOK *x=&book。C struct BOOK x=calloc(BOOK)。 D struct BOOK *x=BOOK。3表示文件结束的符号常量为(C )。A eof B Eof C EOF D feof 4 C 语言中系统函数fopen() 是( D )一个数据文件的函数。A 读取 B 写入C 关闭
12、 D 打开5从一个数据文件中读入以换行符结束的一行字符串的函数为(B )。A gets() B fgets() C getc() D fgetc() 6向一个二进制文件写入信息的函数fwrite() 带有( D )参数。A 1 B 2 C 3 D 4 单选题(每小题2分,共 20分) 1. 由C语言源程序文件编译而成的目标文件的默认扩展名为( D )。 A. cpp B. c C. exe D. obj 2设 x和y均为逻辑值,则x | y 为假的条件是x和y( C ) 。 A. 均为真 B. 其中一个为真 C. 均为假 D. 其中一个为假 3. 枚举 类型中的每个枚举常量的 值都是一个( A
13、 )。 A. 整数 B. 浮点数 C. 字符D. 记录 4. 循环语句“for(i=0 。 i5的相反表达式为_x+yb | b=5 的相反表达式为_a5 | by 逻辑值为_false_。35 若 x=5,y=10,则 x=y 逻辑值为_true_。36 假定 x=5 ,则执行“a=(x?10:20)。”语句后a的值为 _10_。37 执行“typedef int DataType。”语句后,在使用int定义整型变量的地方都可以使用_DataType_来定义整型变量。38 在 switch 语句中,每个语句标号所含保留字case后面的表达式必须是_ 整型 _ 。39 作为语句标号使用的C保留
14、字 case 和default 只能用于 _switch_语句的定义体中。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 10 页3 / 10 40 在 switch 语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)_ 不停止_ 执行。41 若 do 循环的“尾”为“while(+ib)_ 7与结构成员访问表达式(*fp).score 等价的表达式是_fp-score_。二、填空题(每小题2分,共 26分) 1. 在一个 C语言程序文件中,若要包含另外一个头文件或程序文件,则
15、应使用的预处理命令为_#include_。 2. 用于从键盘上为变量输入值的标准输入函数的函数名为_scanf_。 3. 假定一个枚举类型的定义为“enum RAab,ac,ad,ae。”,则ad 的值为_2_ 。 4 int类型的长度为_4_。 5. 执行“ int x=45,y=8。 printf(%d,x/y)。”语句序列后得到的输出结果为_5_。 6. 把表 达式x=x+y 转 换成 复合赋 值表 达式为_x+=y_。 7. 假定 x的值为 5,则执行“a=(x=6? 3: 8)。”语句后 a的值为_8_。 8. 假定一维字符指针数组的定义为“char* a5。”,则该数组占用 的存
16、储空间的字节数为_20_。 9. 假定二维数组的定义为“double aMN。”,则数组元素的行下标取值范围在_0M-1_之间。 10. 空字符串的长度为_0_。 11. 在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为_0_。 12. 若p指向 x,则 _*p_与x 的表示是等价的。 13. 直接访问表达式(*fp).score 所对应的间接访问表达式为_fp score_。三、写出下列每个程序运行后的输出结果1. #include void main() int x=5 。 switch(2*x-3) case 4:printf(%d ,x)。 case 7:prin
17、tf(%d ,2*x+1) 。 case 10:printf(%d ,3*x-1) 。 break 。 default:printf(%s ,defaultn) 。 printf(%sn,switch end.)。 输出结果为:11 14 switch end. Press any key to continue 2. #include void main() int i,s=0 。 for(i=1 。 i=6 。 i+) s+=i*i 。 printf(s=%dn,s)。 输出结果为:s=91. Press any key to continue 精选学习资料 - - - - - - - -
18、 - 名师归纳总结 - - - - - - -第 3 页,共 10 页4 / 10 3. #include void main() int i,s1=0,s2=0。 for(i=0。i10 。i+) if(i%2)s1+=i。 else s2+=i。 printf(%d %dn,s1,s2)。 输出结果为:25 20. Press any key to continue 4. #include void main() int n=10,y=1。 while(n-)y+。y+。 printf(y=%dn,y)。 输出结果为:y=21. Press any key to continue 5. #
19、include void main() int f,f1,f2,i。 f1=f2=1。 printf(%d %d ,f1,f2)。 for(i=3。i=10 。i+) f=f1+f2。 printf(%d ,f)。 if(i%5=0)printf(n)。 f1=f2。 f2=f。 printf(n)。 输出结果为:1 1 2 3 5 8 13 21 34 55 Press any key to continue 6. #include #include void main() int i,n。 for(n=2。n=20。n+) int temp=(int)sqrt(n)。/sqrt(n)求出
20、n 的平方根并取整 for(i=2。itemp)printf(%d ,n)。 printf(n)。 输出结果为:2 3 5 7 11 13 17 19 Press any key to continue 7. #include #include const int M=20。void main() int i,c2,c3,c5。 c2=c3=c5=0 。 for(i=1。i=M。i+) if(i%2=0)c2+。 if(i%3=0)c3+。 if(i%5=0)c5+。 printf(%d %d %dn,c2,c3,c5)。 输出结果为:10 6 4 Press any key to conti
21、nue 8. #include #include const int M=20。void main() int i,s。 for(i=1,s=0。i15 。i+) if(i%2=0 | i%3=0)continue。 printf(%d ,i)。 s+=i 。 printf(%dn,s)。 输出结果为:1 5 7 11 13 37 Press any key to continue 三、写出下列每个程序运行后的输出结果1. #include void main() int a10=12,39,26,41,55,63,72,40,83,95。 int i,i1=0,i2=0。 for(i=0。i
22、10 。i+) if(ai%2=1)i1+。 else i2+ 。printf(%d %dn,i1,i2)。 输出结果为:6 4 Press any key to continue 2. #include #include void main() int i。char *a5=student,worker,cadre,soldier,peasant 。 char *p1,*p2。 p1=p2=a0 。 for(i=0。i0)p1=ai。if(strcmp(ai,p2)0)p2=ai。 printf(%s %sn,p1,p2)。 输出结果为:worker cadre Press any key
23、to continue 3. #include int a10=4,5,6,15,20,13,12,7,8,9。void main() 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 10 页5 / 10 int i,s0,s1,s2。 s0=s1=s2=0 。 for(i=0。i10 。i+) switch(ai%3) case 0:s0+=ai。break 。case 1:s1+=ai。break 。case 2:s2+=ai。break 。 printf(%d %d %dn,s0,s1,s2)。 输出结果为:42 24 33 Pr
24、ess any key to continue 4. #include void main() char a=abcdbfbgacd。 int i1=0,i2=0,i=0。 while(ai) if(ai=a)i1+。 if(ai=b)i2+。 i+ 。 printf(%d %d %dn,i1,i2,i)。 输出结果为:2 3 11 Press any key to continue 5. #include void main() int a34=1,2,7,8,5,6,10,6,9,12,3,4。 int m=a00。 int ii=0,jj=0。 int i,j。 for(i=0。i3 。
25、i+) for(j=0。jm)m=aij。ii=i。jj=j。 printf(%d %d %dn,ii,jj,aiijj)。 输出结果为:2 1 12 Press any key to continue 6. #include void main() int a,b 。 for(a=1,b=2。b50。 ) printf(%d %d ,a,b)。 a=a+b 。 b=a+b 。 printf(n)。 输出结果为:1 2 3 5 8 13 21 34 Press any key to continue 四、写出下列每个函数的功能1. #include int SA(int a,int b) if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年电大_C语言程序设计形成性考核册答案缩写本 2022 电大 _C 语言程序设计 形成 考核 答案 缩写本
限制150内