程序设计C作业三有答案

合集下载

C程序设计习题答案第3版.doc

C程序设计习题答案第3版.doc

C程序设计习题答案第3版111111111111111111111111习题答案第一章1. 5# inelude <stdio.h>void main (){printf (〃* * * * * * * * *\n Very good! \n* ******* *\n〃); }1.6(法一)#inelude <stdio.h>main (){int a, b, c, max;scanf (〃%d, %d, %d〃,&a, &b, &c);max=(a>b) ?a:b;ma.x= (max>c) ?ma.x: c;printf (z/max=%d\n z,, max);}(法二)main () int a, b, c, max;scanf (〃%d, %d, %d〃,&a, &b, &c); if (a>b&&a>c) ma.x=a.;else if (b>c)ma.x=b;elsemax二c;printf (,,max=%d\n,z, max);}(法三)# include <stdio.h>void main(){int max(int x,int y, int z);int a, b, c, d;scanf (〃%d, %d, %d〃,&a, &b, &c);d=max (a, b, c);printf (,,max=%d\n,z, d);}int max(int x,int y, int z){int A, B;if(x>y) A二x;else A二y;if(z>A) B=z;else B二A;return(B);}第三章3.3(1)(10) 10= (12) 8= (a) 16(2)(32)10=(40)8=(20)16(3)(75) 10=(113)8= (4b)16(4)(-617)10=(176627)8= (fd97)16(5)(-111)10二(177621)8二(ff91)16(6)(2483) 10二(4663)8二(963) 16(7)(-28654) 10=(110022)8=(9012) 16(8)(21003) 10= (51013)8=(520b)163.6aabb (8)cc (8)abc(7) AN3.7main (){char cl二'C‘, c2二,h,, c3二'i , c4二,n , c5二'a'; cl+二4, c2+=4, c3+=4, c4+=4, c5+=4;printf (〃%c%c%c%c%c\rT, cl, c2, c3, c4, c5);}3.8main(){int cl,c2;cl二97;c2二98;printf (,z%c %c〃, cl, c2);}3.9=2. 5=3. 51""Lo亠 m 4 i・ a •避X—s 3■ , ■(g n r+i 4 nb3i a An c+ybyUycy •n3■1oggooofloatx, y fcharcl 》c2-aH3-b"4-CH5-X H 1・ 2・y H 2・4・Z H I 3・6.UH51274mH128765・ c H y 巴-C2—b 》-printf(、丿rr)-printf(、、au%2dbQ2dc*2dxrr“ p b“ c)-printf (、、X Q 8・6f 》y 28・6f 』Z 29・6f-rr,><y,z)八printf(、、x +y u %5・2fy+ZH%5・2fZ+XH%5・2fxn 、「x+y “y+z,z+x)-printf(、、UH%61dn=%91d\n 、「u,n)-printf (、、c l !l手cJ r手d(ASCII)cl 》cl)八printf(、、C 2''手c 》or手d(ASCII)\n 、、,c2,C2)-5 767. 856400, -789. 12396267.856400, -789. 12396267. 86-789. 12, 67. 856400, -789. 123962, 67. 856400, -789. 1239626. 785640e+001,-7. 89e+002A, 65, 101,411234567, 4553207,d68765535, 177777, ffff,-lCOMPUTER, COM4.6a=3 b二7/x二& 5 y二71.82/cl二A c2=a/4.710 20Aal.5 -3. 75 +1.4,67.8/(空3)10(空3)20Aal.5(空1)-3. 75(空1)(随意输入一个数),67.8 回车4.8main(){float pi, h, r, 1, s, sq, sv, sz;pi二3.1415926;printf (z,input r, h\n〃);scanf (〃%f, %f&r, &h);1二2*pi*r;s二t*r*pi;sq二4*pi*r*r;sv=4.0/3. 0*pi*r*r*r;sz=pi*r*r^h;printf (z,l=%6. 2f\rT, 1); printf (,z s=%6・ 2f\rT, s);printf(〃sq=%6・ 2f\rT, sq) printf (z,vq=%6・ 2f\n〃, sv) printf (,z vz=%6・ 2f\n", sz) }4.9ma.in(){float c, f;scanf &f);c=(5. 0/9. 0) * (f-32); printf(〃c=%5・ 2f\n〃,c);}4.10ttinclude^stdio. h" ma.in(){char cl,c2;scanf (〃%c, %c〃, &cl, &c2); putchar (cl);putchar (c2);printf(〃\rT);printf (〃%c%c\n〃, cl, c2);第五章5.3(DO (2)1 (3)1 (4)0 (5)15.4main (){int a, b, c;scanf (〃%d, %d, %d〃,&a, &b, &c); if (a<b) if (b<c)printf(〃max=%d\rT,c);elseprintf ("max^d'rT, b); else if(a<c)printf (z,max=%d\n〃, c);elseprintf (,,max=%d\n,z, a);}main (){int a, b, c, temp, max;scanf (〃%d, %d, %d〃,&a, &b, &c); temp二(a>b)?a:b; max二(c>temp)?c:temp; printf(〃max=%d〃,max);}5.5ma.in(){int x, y;scanf&x);if (x<l) y二x;else if (x〈10) y二2*xT ;else y二3*xTl;printf(〃y=%d〃,y);(case 9-g r a d e 'l >breakscasep ?g r a d e ''》-break-case7-g r a d e 'l a breakscase6-grade'lIy-break-case5-case4-case3-case2-case r rcase5?grade 1!E V -printf 弋score"手d 》gradeH%c 、「score 》grade)-5・6)main((inb score,templogic-char grade-logical-while(logic)(scanf(、gd、、,Kscore)-if(score〉H0&&score〈H100)logic"。

c程序设计第三版习题参考解答(全)

c程序设计第三版习题参考解答(全)

C程序设计(第三版)课后习题参考解答第1章 C语言概述1.5 参照本章例题,编写一个C程序,输出以下信息:******************************Very Good!******************************解:main ( ){printf(“****************************** \n”);printf(“\n”);printf(“ Very Good! \n”);printf(“\n”);printf(“****************************** \n”);}1.6 写一个程序,输入a,b,c三个值,输出其中最大者。

解:main ( ){int a,b,c,max;printf(“请输入三个数a,b,c: \n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf(“最大数为:%d ”,max);}第2章程序的灵魂——算法2.1 什么叫结构化的算法?为什么要提倡结构化的算法?解:由一些基本结构顺序组成的算法称为结构化的算法。

由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。

2.7 什么叫结构化程序设计?它的主要内容是什么?解:结构化程序就是用高级语言表示的结构化算法。

它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。

第3章数据类型、运算符与表达式3.4将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。

注:如果没有学过二进制和补码,此题可以不做。

解:各数据在内存中的存储形式如下表所示:变量的类型25 -2 32769int型00 (000011001)8 位111111111111111015100 … 001(溢出)14long型00 (000011001)24 11 (1110)3100... 0100 (001)16 14short型100 (000011001)8 111111111111111015100 … 001(溢出)14signed char(8位)100011001 11111110 00000001(溢出)unsigned int型00 (000011001)8 11 (110)15100 (001)14unsigned long型00 (000011001)24 11 (110)3100... 0100 (001)16 14unsigned short型00 (000011001)8 11 (110)15100 (001)8unsigned char型00011001 11111110 00000001其中int和short类型,其取值范围是-32768~32767。

《C语言程序设计》试题3及答案

《C语言程序设计》试题3及答案

三一.单项选择题?1.设int x=1,y=1;表达式(!x++ || y--)的值是_________??? A.0???? B. 1?????? C. 2???? D.-12.main( )? {? int n;???? ( n=6*4,n+6),n*2;???? printf(“n=%d\n”,n);? }?? 此程序的输出结果是______________.?? A.30??? B.? 24???? C.? 60????? D.? 483.若有如下定义,则__________是对数组元素的正确的引用。

?? int? a[10] , *p ;?? p=a ;?? p=a ;?? p=a ;?? p=a ;?? A.? *&a[10]???? B.? a[11]????? C.? *(p+10)????? D. *p4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________ ?? A.? 0???? B.? 4??? C.? - 4???? D.? 2???? 5.以下不能正确定义二维数组的语句是___________??? A . int a[2][2]={{1},{2}};???? B. int a[][2]={1,2,3,4};?? ?C. int a[2][2]={{1},2,3};????? D. int a[2][]={{1,2},{3,4}}; 6.程序段??? ??????的功能是将变量 u 、s中的最大值赋给变量t 。

??????? A.? if(u>s) t=u;t=s;?????? B. ?t=u;?? if(t ) ?t=s;???? ?C.? if(u>s) t=s;else t=u;? ??D . ?t=s; if(u ) ?t=u;7.下列程序段的输出结果是???? ??????。

void main(){?? int k;for (k=1;k<5;k++〉{ ?if(k%2!=0)??printf("#");else ??printf(“*”) ;? } }A. #*#*????? B . *#*#??? C.? ##?????? D. 以上都不对8.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是? (35)??? 。

C语言程序设计实验三答案

C语言程序设计实验三答案

实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。

2. 掌握利用if 结构实现选择结构的方法。

3. 掌握利用switch 结构实现多分支选择结构。

4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。

输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。

)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。

答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。

北航14秋《C++程序设计》在线作业三答案

北航14秋《C++程序设计》在线作业三答案

C++程序设计北航《C++程序设计》在线作业三一,单选题1. 假定k是一个double类型的变量,则关于变量p的正确定义语句为____A. double p=&k;B. int *p=&k;C. double &p=*k;D. char *p="Thank you!";?正确答案:D2. 下列叙述中正确的是:A. C++语言程序必须要有return语句B. C++语言程序中,要调用的函数必须在main()函数中定义C. C++语言程序中,只有int类型的函数可以未经声明而出现在调用之后D. C++语言程序中,main()函数必须放在程序开始的部分?正确答案:C3. 以下函数的返回结果是____.int function(char *x) { char *p=x; while(*p++); return(p-x-1); }A. 求字符串的长度B. 将字符串x连接到字符串p后面C. 将字符串x复制到字符串p中D. 将字符串x反向存放?正确答案:A4. 假定变量b和pb定义为"int b[10], *pb=b;",要将24赋值给b[1]元素中,不正确的语句是.____A. *(pb+1)=24;B. *(b+1)=24;C. *++b=24;D. *++pb=24;?正确答案:C5. 在下列运算符中,优先级最低的是A. ||B. !=C. <D. +?正确答案:A6. 以下标识符中不全是C++保留字的是____A. case for intB. default then whileC. bool class longD. goto return char?正确答案:B7. ()不是构造函数的特征A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置缺省参数D. 构造函数必须指定类型说明.?正确答案:D8. 如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是()A. 4B. 10C. 11D. 40?正确答案:A9. 虚函数使用关键字______。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

第一篇:《C语言程序设计教程》(第三版)课后习题参考答案C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。

C语言程序设计形考任务3答案

C语言程序设计形考任务3答案

一、选择题(共30分,每小题2分)题目1在下面的函数声明语句中,存在着语法错误的是()。

选择一项:a. AA(int a, int b)b. AA(int, int)c. AA(int a; int b)d. AA(int a, int)正确答案是:AA(int a; int b)题目2在下面的保留字中,不能作为函数的返回值类型的是()。

选择一项:a. voidb. intc. enumd. long正确答案是:enum题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。

选择一项:a. 1b. 2c. 4d. 8正确答案是:4题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。

选择一项:a. a[i]b. *a++c. *ad. *(a+1)正确答案是:*a++题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是()。

选择一项:a. int *p=calloc(10,2);b. int *p=calloc(10);c. int *p=calloc(10,4);d. int *p=malloc(10)正确答案是:int *p=calloc(10,4);题目6假定变量m定义为“int m=7;”,则下面正确的语句为()。

选择一项:a. int p=&m;b. int *p=&m;c. int &p=*m;d. int *p=m;正确答案是:int *p=&m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为()。

选择一项:a. double p=&k;b. int *p=&k;c. double &p=*k;d. char *p="Thank you!";正确答案是:char *p="Thank you!";题目8若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3次作业答案(红字为答案)
1. 下列叙述中错误的是()
A. 对于double 类型数组,不可直接用数组名对数组进行整体输入或输出
B. 数组名代表数组所占存储区的首地址,其值不可变
C. 在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示
D. 可以通过赋初值的方式确定数组元素个数
提示:请从数组下标的合法取值范围来考虑。

2. 已有定义char a[] = “xyz”,b[]={‘x’, ‘y’, ‘z’} ,以下叙述正确的是()
A. 数组a 和b 的长度相同
B. 数组a 的长度小于数组b 的长度
C. 数组a 的长度大于数组b 的长度
D. 上述说法均不正确
提示:此题考察字符数组长度和字符串长度之间的关系。

3. 以下能正确定义一维数组的选项是()
A. int num[];
B. #define N 100 int num[N]
C. int num[0..100];
D. int N = 100; int num[N];
提示:此题考察一维数组的维数界定问题。

4. 下列程序的输出结果是()
#include <stdio.h>
void main()
{
char a[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘\0’}; int i, j;
i = sizeof(a); j = strlen(a);
printf(“%d, %d\n”, i, j);
}
A. 9,9
B. 8, 9
C. 1, 8
D. 9,8
提示:此题考察字符数组长度和字符串长度之间的关系。

5. 以下不能正确定义二维数组的选项是()
A. int a[2][] = {{1, 2}, {3, 4}};
B. int a[][2] = {1, 2, 3, 4};
C. int a[2][2] = {{1}, {2}};
D. int a[2][2] = {{1}, 2, 3};
提示:此题考察二维数组初始化的规定。

6、C 语言规定,若未对函数返回类型加以说明,则函数的隐含类型为()
A. void
B. double
C. int
D. char
分析:教材中有答案,但我们不推荐大家在编程时省略函数返回类型。

7、若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是()
A. 函数调用可以作为独立语句存在
B. 函数调用可以作为一个函数的实参
C. 函数调用可以出现在表达式中
D. 函数调用可以作为左值而被赋值
分析:基本概念题,可查书或上机验证。

8、下列说法中错误的是()
A. 在不同的函数中可以使用相同名字的变量
B. 函数中的形参是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数的复合语句中定义的变量只在本函数范围内有效
分析:基本概念题。

考察变量的作用域和生命期。

9、下列说法中正确的是()
A. 定义函数时,形参的类型说明可以放在函数体内
B. return 后面的值不能为表达式
C. 如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准
D. 如果形参与实参的类型不一致,则以实参类型为准
分析:基本概念题,可查书或上机验证。

10、阅读下列程序段,其执行结果为()
#include <stdio.h>
void fun(int a)
{
int x = 5;
x += a++;
printf(“%d,”, x);
}
void main()
{
int a = 3, x = 1;
fun(a);
x += a++;
printf(“%d\n”, x);
}
A. 8,2
B. 8,3
C. 8,4
D. 8,5
分析:考察大家对传值调用和传址调用的理解。

11、阅读下列程序段,其执行结果为()
#include <stdio.h>
void main()
{
int a = 4, b = 6, c = 7;
double d;
double fun(int, int, int);
printf(“d = %lf\n”, fun(a, b, c));
}
double fun(int a, int b, int c)
{
return a % b * c;
}
A. 27
B. 27.000000
C. 28
D. 28.000000
分析:可上机验证,留意一下函数声明的方式,以及输出语句中对函数返回值的处理。

12、下列说法中不正确的是()
A. C 语言规定,不能在一个函数的内部再定义函数
B. 在没有声明函数返回值类型的情况下,默认函数返回值类型为int 型
C. 函数的类型可以是整型、实型、字符型,但不能是指针类型
D. 函数可以没有形参,但函数名后的括号不能省略
分析:基本概念题。

13、一个变量的指针就是()
A. 变量的名称
B. 变量的地址
C. 变量的类型
D. 变量的值分析:基本概念题。

14. 两个指针变量不能()
A. 相加
B. 相减
C. 比较
D. 指向同一地址
分析:基本概念题。

查书或上机验证。

15. 在C 语言中,对变量的访问方式是()
A. 能直接访问,也能间接访问
B. 能直接访问,不能间接访问
C. 不能直接访问,能间接访问
D. 直接、间接均不能
分析:基本概念题。

16. C 语句: int (* pa)[5]; 中,pa 表示的是一个()
A. 指针数组的名称
B. 指向整型变量的指针
C. 指向包含5 个整型元素的一维数组的指针
D. 指向函数的指针
分析:基本概念题。

17. C 语句int * func(); 中,func 表示的是()
A. 返回值为指针的函数名称
B. 指向整型变量的指针
C. 指向数组的指针
D. 指向函数的指针
分析:基本概念题。

18. 给定下列程序,假定从键盘输入数据1、2,则执行结果为()
#include <stdio.h>
void swap(int * p1, int p2)
{
* p1 = * p1 + p2;
p2 = p2 + * p1;
}
void main()
{
int a, b, * p1;
scanf("%d, %d", &a, &b);
p1 = &a;
swap(p1, b);
printf("a = %d, b = %d\n", a, b);
}
A. 3,5
B. a = 3, b = 5
C. 3, 2
D. a = 3,b = 2
分析:考察传值与传址的区别。

19. 给定下列程序,则运行结果为()
#include <stdio.h>
void fun(int x, int y, int * z)
{
* z = x – y;
}
void main()
{
int a, b, c;
fun(11, 5, &a);
fun(8, a, &b);
fun(a, b, &c);
printf(“%d, %d, %d\n”, a, b, c);
}
A. 2,4,6
B. 2, 6, 4
C. 6, 2, 4
D. 6,4,2
分析:传址与传值。

20. 给定下列程序,则其运行结果为()
#include <stdio.h>
void main()
{
static int array[][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19 ,21, 23}};
int (* p)[4], i, j, sum[3];
p = array;
for(i = 0; i < 3; i++)
{
sum[i] = 0;
for(j = 0; j < 4; j++)
sum[i] += *(*(p + i) + j);
printf(“%d, ”, sum[i]);
}
}
A. 16, 48, 80
B. 164880
C. 144
D. 80
分析:考察用指针变量遍历二维数组的方法。

重点在理解,否则考试时不可能有机会上机验证。

相关文档
最新文档