C语言第七、八章补充作业-答案

合集下载

《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语言教材第七章习题答案

c语言教材第七章习题答案

c语言教材第七章习题答案《C语言教材第七章习题答案》在学习C语言的过程中,掌握基本的语法和逻辑结构是非常重要的。

第七章的习题涉及到了一些较为复杂的概念和技巧,需要我们对C语言有更深入的理解和掌握。

1. 题目:编写一个程序,计算并输出1到100之间所有偶数的和。

答案:我们可以使用循环结构和条件判断来解决这个问题。

具体的代码如下: ```#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```这段代码使用了for循环来遍历1到100之间的所有数字,然后通过条件判断判断是否为偶数,如果是偶数则累加到sum中,最后输出sum的值。

2. 题目:编写一个程序,输出九九乘法表。

答案:九九乘法表是一个经典的练习题,通过嵌套循环可以很容易地实现。

具体的代码如下:```#include <stdio.h>int main() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {printf("%d*%d=%d\t", j, i, i*j);}printf("\n");}return 0;}```这段代码使用了两层嵌套的for循环,外层循环控制行数,内层循环控制列数,通过printf语句输出乘法表中的每一项。

通过解答以上两道习题,我们不仅复习了C语言中的循环结构和条件判断,还锻炼了我们的编程思维和逻辑能力。

希望大家在学习C语言的过程中能够多多练习,不断提升自己的编程水平。

谭浩强C语言基础7-8章例题

谭浩强C语言基础7-8章例题
a求数组a中的所有元素之和b求数组a中的所有元素之积c求数组a中部分元素之和d求数组a中部分元素之积第8章例3下列程序的输出结果是
例1
请读程序: #include <stdio.h> #include <string.h> main() { char s1[20]="AbCdEf", s2[20]="aB"; printf("%d\n",strcmp(s1,s2)); } 上面程序的输出结果是________。 A) 32 B) 0 C) -32 D) 不确定的值
例5
请读程序片段(注意字符串内没有空格): printf("%d\n",strlen("ATS\n012\1\\")); 上面程序片段的输出结果是————。 A) 11 B) 10 C) 9 D) 8
例6
给出以下定义: char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 ________。 A) 数组x和数组y等价 B) 数组x和数组y的长度相同 C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度
#include <conio.h> #include <stdio.h> main( ) { long s, t, sl=10; clrscr(); printf("\nPlease enter s:"); scanf("%ld", &s); /************found************/ t = s / 10; while ( s > 0) { s = s/100; t = s%10 * sl + t; /************found************/ sl = sl*100; } printf("The result is: %ld\n", t); }

C语言程序设计课后习题答案Word版

C语言程序设计课后习题答案Word版

第1章(P18)一.单项选择题1.B2.B3.B4.C5.A6.C7.D8.C二. 填空题1. main2. 反斜杠3. 常量、变量、运算符、函数调用、表达式、保留字4. 一 , main , main5. 326. 由字母或下划线开头的字母、数字、下划线组成的一串符号第2章(P39)一.选择题1. D2.B3.B4.B5.D6.A7.B8.D9.A 10.B 11.C 12.C 13.B 14.B15.A 16.D二.填空题1. 控制代码、ASCII码字符集中的任意字符、特殊字符、换行符、Tab符号、左退一格符号、换页符号、响玲符号2. 其值可以发生变化的量 , 变量名 , 变量值 , 存储单元 , short int , -32768~32767 ,long int , -231~(231-1) , unsigned short , 0~65535 , unsigned long , 0~(232-1)3. 自增、自减 , 加和减 , +、-、×、/、% , 自增、自减4. 不同类型混合运算时,由编译系统自动完成5. (1)7 (2)6 (3)7 (4)1 (5)10 (6)0 (7)1 (8)0 (9)0 (10)0三. 运行程序题1. 27.0000002.13.700000第3章(P55)一.选择题1.A2.A3.C4.B5.C6.B二. 填空题1. 回车 , 输入的字符 , 从标准设备(键盘)读入一个字符2. 按用户指定的格式从键盘上把数据输入到指定的变量中 , 格式字符串开头标志 , 控制输入数据的格式 , 输入八进制整数 , 输入单个字符 , 输入字符串3. 一个字符 , #include<stdio.h>4. 按用户指定的格式 , 把指定的数据输出到屏幕上显示 , 格式字符串开头的标志 , 指定输出格式 , 以八进制形式输出无符号整数 , 以小数形式输出单、双精度数 , 输出单个字符 , 输出字符串 , 以%f、%e中较短的宽度输出单、双精度实数.5. (1) -200 , 2500 (2)i=-200 , j=2500 (3)i=-200j=25006. 12 , 0 , 07. 分号8. 100(回车) 100(空格)25.8(空格)1.89234 100(TAB)25.8(TAB)1.8923425.81(回车)1.892349. x=127 , x= 127 , x= 177 , x= 12710. a=513.789215 , a= 513.79 , a= 153.78921500 , a= 513.78921500三. 运行程序题1. a=27; b=15; c=32. p=73. 5 105,34.73125134.73, 34.7312A,65computer, computer4. 575, 767.856400,-789.12402367.86, -789.12,67.856400,-789.124023,67.856400,-789.1240236.78564e+01, -7.9e+02A,65,101,411234567,1234567,d68765529,177771,fff9,-7COMPUTER, COM第四章(P76)一.选择题1.D2.C3.D4.C5.B6.D7.B8.A9.B 10.A 11.C 12.D 13.A 14.A 15.D 16.A 17.A 18.B 二.填空题1.结构化控制、结构、程序的性能、运行2.执行循环体一次、再判断表达式的值、判断、执行3.switch语句、循环语句、循环体三.运行程序题1.(1)0 (2)1 (3)1 (4)0 (5)12.#$#$#$&3.3667784. *************************四.完善程序题1.fabs(t)、t、-s2.=’*’、’\n’、YES第五章(P100)一.选择题1.B2.A3.B4.C5.C6.A7.B8.A9.C二.填空题1.20、0、192.数组名3.越界三.运行程序题1.3572.*************************3.18104.输出一个3×3矩阵的转置矩阵四.完善程序题1.k、-12.&a[i][j]、a[i][i]+a[i][2-i]3.ndigit[10]、ndigit[ch-‘0’]++第六章(P130)一.选择题1.D2.D3.B4.A5.D6.A7.A8.B9.B 10.A 11.B 12.D 13.A 14.A 二.填空题1.函数内部2.函数内部、局部3.return、void4.fun()、extern三.运行程序题1.122.93.10214.215.a=5,b=3a*b=15a+b=86.11101121011310114101151017.238.2226四.修改程序题1.在主函数前加上:float mul(float a,float b);把float mul(float a,b)改为float mul(float a,float b) 2.把z=fabs(x-y);改为z=abs(x-y);3.把输入的整数转换为字符串逆序输出第七章(P160)一、选择题A D D C DB D B A C二、填空题1、取内容、取地址2、3、+33、xyz、x4、1002、1004、1008、1001、10065、286、4、a[2][0]7、6、a[3]三、运行程序题1、porm2、ga3、88884、307四、完善程序题1、++i、i2、0、z第八章(P194)一、选择题D BCBCBDBC二、运行程序题1、36、40、412、133、zhao4、1,1二、填空题1、成员、用指针访问成员2、343、12、6.0000004、34、125、2、36、struct node *next7、num!=p1->info && p1->link=NULL、head=p1->link、p2->link=p1->link第九章(P209)一、选择题1-8 CC A DCDC ( 3错. 32->64)二、填空题1、72、PR(x); PR(y);三、运行程序题1、932、2 123、a=14,b=15,c=04、Hid Ted5、R=2.5 circ=15.707963 area=19.634954第10章(P219)一、B A A A DB AC A C二、1. ~ << >> & ^ |2. 0x22 0xbbbb 0x bb99 001101100 最高补0 最高补101011011 11011011三、1. 12342.15765375765四、 1. 12 <<2. 15 -1第11章一、 B C D B BC C B D二、 1. “w”“rb”“ab+”“rt”“wt+”2. 缓冲文件系统非缓冲文件系统三、完善程序题1、rewind(fp);fp2、"a+";"r";fp1四、编写程序题1、从键盘输入一个字符串(以“#”作为结束符),把文本输出到磁盘文件e.dat中。

C语言第7次作业

C语言第7次作业

C语⾔第7次作业单选题:1、若要求在if后⼀对圆括号中表⽰a不等于0的关系,则能正确表⽰这⼀关系的表达式为________。

A.a < > 0B.!aC.a=0D.a!=0学⽣答案: C参考答案: D2、若变量都已经说明,则以下程序段输出为( )a=10;b=50;c=30;if (a > b) a=b; b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);A.a=10 b=50 c=10B.a=10 b=30 c=10C.a=50 b=30 c=10D.a=50 b=30 c=50学⽣答案: C参考答案: B3、以下程序的输出结果是main(){ int a= -1,b=1;if((++a < 0)&& ! (b-- < =0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A.-1 1B.0 1C.1 0D.0 0学⽣答案: B参考答案: C{ int a,b,s;scanf("%d%d",&a,&b);s=a;if (a < b) s=b;s=s*s;printf("%d\n",s);}A.14B.16C.18D.20学⽣答案: C参考答案: B5、下⾯的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf("****");else printf("####");}A.有语法错误不能过通过编译B.输出****C.可能通过编译,但是不能通过连接,因⽽不能运⾏D.输出####学⽣答案: C参考答案: D6、请读程序:main(){ float x,y;scanf("%f",&x);if(x < 0.0) y=0.0else if((x < 5.0)&&(x!=2.0))y=1.0/(x+2.0);else if( x < 10.0) y=1.0/x;}若运⾏时从键盘上输⼊2.0(表⽰回车),则上⾯程序的输出结果是A.0.000000B.0.250000C.0.500000D.1.000000学⽣答案: B参考答案: C7、执⾏下⾯语句后的输出为( )int i= -1;if (i < =0)printf("****\n")else printf("%%%%\n")A.****B.%%%%C.%%%%CD.有语法错,不能执⾏学⽣答案: B参考答案: D8、在执⾏以下程序时,为了使输出结果为t=4,则给a和b输⼊的值应满⾜的条件是main( ){ int s,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a < 0)s=s+1;if(a > b)t=s+1;else if(a= =b)t=5;else t=2*s;printf("t=%d\n",t);}A.0 > a > bB.a=0 < b参考答案: D9、下列语句正确的是( )A.if(a > b > c) temp=aB.if((a=b) > 0) temp=aC.int a=b=c=4D.int a;scanf(%d,a)学⽣答案: C参考答案: B10、与 y=(x > 0?1:x < 0?-1:0);的功能相同的if语句是A.if(x > 0) y=1; else if(x < 0) y=-1; else y=0;B.if(x) if(x > 0) y=1; else if(x < 0) y=-1; else y=0;C.y=-1 if(x) y=1; else if(x==0) y=0; else y=-1;D.y=0 if(x > -0) if(x > 0) y=1; else y=-1;学⽣答案: B参考答案: A11、有如下程序main0{ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++case 2: a++;b++}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2学⽣答案: B参考答案: Aif(x < 0.0) y=0.0;else if(x < 10.0) y=1.0/x; else y=1.0;printf("%f\n",y);}该程序的输出结果是A.0.000000B.0.250000C.0.500000D.1.000000学⽣答案: C参考答案: C13、有如下程序main(){ int a=2,b=-1,c=2;if(a < b)if(b<0) c=0;else c++printf("%d\n",c);}该程序的输出结果是A.0B.1C.2D.3学⽣答案: C参考答案: C14、若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是A.switch(a+b); {case 1:y=a+b;break; case 0:y=a-b;break; case3:y=b-a,break; }B.switch(a*a+b*b) {case 3: case 1:y=a+b;break; }C.switch a {case c1:y=a-b;break; case c2:y=a*d;break; default:x=a+b; }D.switch(a-b) {default:y=a*b;break; case 4:x=a+b;break; case15、已知 int x=10,y=20,z=30;以下语句执⾏后x,y,z的值是if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=20学⽣答案: C参考答案: B16、请阅读以下程序:main( ){int a=5,b=0,c=0;if(a==b+c) printf("***\n");else printf("$$$\n");}以上程序A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$学⽣答案: B参考答案: D17、读下列程序:#includemain(){float a,b,t;scanf(”%f,%f”,&a,&b);if(a>b){t=a;}prinff(”%5.2f,%5.2f'’,a,b);}运⾏时从键盘输⼊3.8和-3.4,则正确的输出结果是( )。

c语言程序设计课后习题答案第7章

c语言程序设计课后习题答案第7章

#include<stdio.h>main(){int a[10],n,sum=0,i;float ave;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++){scanf("%d",&a[i]);sum=sum+a[i];}ave=1.0*sum/n;printf("ave=%.2f\n",ave);}/*练习7-2*/#include<stdio.h>main(){int a[10],n,i;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++){printf("第%d个:\n",i+1);scanf("%d",&a[i]);printf("倒序:\n");while(a[i]!=0){printf("%d",a[i]%10);a[i]=a[i]/10;}printf("\n");}}#include<stdio.h>main(){int a[5],x,i,k=0;printf("enter 5 ge zheng shu:\n");for(i=0;i<5;i++)scanf("%d",&a[i]);printf("enter x:\n");scanf("%d",&x);for(i=0;i<5;i++)if(a[i]==x){printf("xia biao wei : %d\n",i);k=1;}if(k==0)printf("Not Found\n");}/*练习7-4*/#include<stdio.h>main(){int a[10],n,i,k=0,x,max;printf("enter n:\n");scanf("%d",&n);printf("enter %d ge zheng shu:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);max=a[0];for(i=1;i<=n-1;i++)if(max<a[i]){max=a[i];k=i;}printf("max=%d xia biao=%d",max,k);x=a[n-1];a[n-1]=a[k];a[k]=x;printf("\n");for(i=0;i<n;i++)printf(" %d ",a[i]);printf("\n");}/*练习7-11*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;str[i]='\0';printf("再输入一个字符:\n");str[80]=getchar();for(j=0;j<=i-1;j++)if(str[80]==str[j])count++;printf("%c字符在字符串中出现的次数为:%d\n",str[80],count);for(j=0;j<=i-1;j++)putchar(str[j]);printf("\n");}/*习题七1*/#include<stdio.h>main(){int x,y,n,a[10],i,min,max;printf("输入n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);min=0;for(i=1;i<n;i++)if(a[min]>a[i])min=i;max=0;for(i=1;i<n;i++)if(a[max]<a[i])max=i;x=a[min];a[min]=a[0];a[0]=x;y=a[max];a[max]=a[n-1];a[n-1]=y;for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}/*习题七2*/#include<stdio.h>main(){int x,n,a[10],i,j,max;printf("输入n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++){ max=i-1;for(j=i;j<n;j++)if(a[max]<a[j])max=j;x=a[max];a[max]=a[i-1];a[i-1]=x;}for(i=0;i<n;i++)printf("%4d",a[i]);printf("\n");}/*习题七4*/#include<stdio.h>main(){int m,n,a[6][6],i,j,b[6]={0};printf("输入m:\n");scanf("%d",&m);printf("输入n:\n");scanf("%d",&n);printf("输入%d和%d的矩阵:\n",m,n);for(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);b[i]=b[i]+a[i][j];}}printf("shu chu:\n");for(i=0;i<m;i++){for(j=0;j<n;j++)printf(" %d",a[i][j]);printf("\n");}printf("shu chu hang he :\n");for(i=0;i<m;i++)printf("%4d",b[i]);printf("\n");}/*习题7.6*/#include<stdio.h>main(){char str[80];int i,j;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("倒序输出:\n");for(j=i-1;j>=0;j--)putchar(str[j]);printf("\n");}/*新7.6*/#include<stdio.h>main(){int a[10],i,n;printf("输入整数n:\n");scanf("%d",&n);printf("输入%d个整数:\n",n);for(i=0;i<n;i++){scanf("%d",&a[i]);}printf("倒序输出:\n");for(i=0;i<n;i++){printf("%5d",a[n-1-i]);}printf("\n");}/*习题7.7*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("输出其中的大写辅音字母:\n");for(j=0;j<=i-1;j++)if(str[j]>='B'&&str[j]<='Z'&&str[j]!='E'&&str[j]!='I'&&str[j]!='O'&&str[j]!='U'){putchar(str[j]);count++;}printf("\n");printf("大写辅音字母数量为:%d\n",count);}/*习题7.8*/#include<stdio.h>main(){char str[80];int i,j,count=0;printf("输入一个以回车符结束的字符串:\n");i=0;while((str[i]=getchar())!='\n')i++;printf("输出相应交换后的字符串:\n");for(j=0;j<=i-1;j++)if(str[j]>='A'&&str[j]<='Z')str[j]=155-str[j];for(j=0;j<=i-1;j++)putchar(str[j]);printf("\n");}上文已完。

C语言程序设计教程 第七章 课后习题参考答案

C语言程序设计教程 第七章 课后习题参考答案
printf("原数组为:\n");
for(i=0;i<N;i++)
{
printf("%4d",a[i]);
}
bubble_sort(a,N);
printf("\n");
}
void bubble_sort(int a[],int n)
{
int i,j,tmp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
for(i=0;i<n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
for(i=0;i<n;i++)
{
printf("%-4d",a[i]);
}
}
P1985对称矩阵
#include<stdio.h>
void print(int a[][3],int rows,int cols);
int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j,m=0,n=0;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
for(i=0;i<M;i++)
m++;

苏小红c语言程序设计课后答案

苏小红c语言程序设计课后答案

苏小红c语言程序设计课后答案苏小红的《C语言程序设计》是一本广泛使用的教材,它以清晰的结构和丰富的示例,帮助学生掌握C语言的基础知识和编程技巧。

课后答案对于学生来说是一个重要的学习资源,可以帮助他们检查自己的学习成果,加深对知识点的理解。

以下是一些可能的课后答案示例,用于帮助学生复习和理解C语言程序设计的相关概念。

第一章:C语言概述1. C语言的发展历史:C语言由Dennis Ritchie在20世纪70年代初期开发,最初用于UNIX操作系统的编写。

2. C语言的特点:C语言是一种结构化语言,具有高度的灵活性和强大的功能,能够进行底层系统编程。

第二章:C语言基础1. 数据类型:C语言提供了多种数据类型,包括整型(int)、浮点型(float和double)、字符型(char)等。

2. 变量声明:变量在使用前必须声明,声明时需要指定数据类型和变量名。

第三章:运算符和表达式1. 算术运算符:包括加(+)、减(-)、乘(*)、除(/)等。

2. 赋值运算符:如`=`,`+=`,`-=`等,用于给变量赋值或进行运算后赋值。

第四章:控制结构1. 条件语句:如`if`,`else if`,`else`,用于根据不同的条件执行不同的代码块。

2. 循环语句:包括`for`循环、`while`循环和`do-while`循环,用于重复执行代码块。

第五章:数组1. 一维数组:存储相同类型的元素,可以通过下标访问数组元素。

2. 多维数组:如二维数组,可以看作是数组的数组。

第六章:函数1. 函数定义:使用`return`类型和函数名来定义函数。

2. 函数调用:通过函数名和必要的参数来调用函数。

第七章:指针1. 指针变量:存储另一个变量的内存地址。

2. 指针运算:包括地址运算和指针的增减。

第八章:结构体和联合体1. 结构体:可以包含不同类型的数据成员。

2. 联合体:所有成员共享相同的内存位置。

第九章:预处理指令1. 宏定义:使用`#define`来定义常量或代码片段。

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

第七章数组补充作业【1】在C语言中,引用数组元素时,其数组下标的数据类型允许是 C 。

A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式【2】以下对一维整型数组a的正确说明是 D 。

A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];【3】若有说明:int a[10];则对a数组元素的正确引用是 D 。

A)a[10] B)a[] C)a(5) D)a[10-10]【4】以下能对一维数组a进行正确初始化的语句是 C 。

A)int a[10]=(0,0,0,0,0); B)int a[10]={};C)int a[]={0}; D)int a[10]={10*1};【5】以下对二维数组a的正确说明是 B 。

A)int a[3][]; B)double a[1][4];C)float a(3,4); D)float a(3)(4);【6】若有说明:int a[3][4];则对a数组元素的正确引用是 D 。

A)a[2][4] B)a[1,3] C)a(2)(1) D)a[1+1][0]【7】以下不能对二维数组a进行正确初始化的语句是 C 。

A) int a[2][3]={0};B) int a[][3]={{1,2},{0}};C) int a[2][3]={{1,2},{3,4},{5,6}};D) int a[][3]={1,2,3,4,5,6};【8】指出下面各说明语句中哪些是合法的:(多选)A. int abcd[0x80];B. char 9ab[10];C. char chi[-200];D. int aaa[5]={3,4,5};E. float key[]={,,1,0};F. char disk[];G. int n,floppy[n]; H. int cash[4]={1,2,3,4,5,6};答案: ADE【9】下面程序中有错误的行是 D (每行程序前面的数字表示行号)。

1 main()2 {3 float a[3]={1};4 int i;5 scanf(“%d”,&a);6 for(i=1;i<3;i++) a[0]=a[0]+a[i];7 printf(“a[0]=%d\n”,a[0]);8 }A)3 B)6 C)7 D)5【10】请回答下列问题。

(1)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。

___(2)该数组下标的取值范围是从___到___(从小到大)。

(3)如何用scanf函数输入数组的第二个元素。

___(4)如何用赋值语句把39存入第一个元素。

___(5)如何表示把第六个和第四个元素之和存入第一个元素。

___答案: int array[10] = {9,4,7,49,32,-5};0 9scanf("%d",&array[1]);array[0] = 39;array[0] = array[5] + array[3];【11】若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 A 。

(假设a[0][0]位于数组的第一个位置上。

)A)i*m+j+1 B)j*m+i C)i*m+j-1 D)i*m+j【12】若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是 B 。

A)2 B)3 C)4 D)无确定值【13】定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是 A 。

for(k=0;k<3;k++) printf("%d",a[k][2-k]);A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7【14】若有以下程序段:……int a[]={4,0,2,3,1}; i,j,t;for(i=1;i<5;i++){t=a[i]; j=i-1;while(j>=0&&t>a[j]){ a[j+1]=a[j]; j--; }a[j+1]=t;}……则该程序段的功能是 B 。

A)对数组a进行插入排序(升序)B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序)D)对数组a进行选择排序(降序)【题15】当运行以下程序时,从键盘输入:AhaMA Aha<CR>(<CR>表示回车),则下面程序的运行结果是 D 。

#include <>main(){char s[80],c=‘a’;int i=0;scanf(“%s”,s);while(s[i]!=‘\0’){if(s[i]==c) s[i]=s[i]-32;else if(s[i]==c-32) s[i]=s[i]+32;i++;}puts(s);}A)ahAMa B)AhAMa C)AhAMa ahA D)ahAMa ahA【题16】设数组a包括10个整型元素。

下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。

请填空。

main(){int a[10],b[10],i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(【1】;i<10;i++)【2】for(i=1;i<10;i++){printf(“%3d”,b[i]);if(【3】==0) printf(“\n”);}}【1】i=1 【2】b[i]=a[i]+a[i-1] 【3】(i%3)【题17】下面程序将十进制整数转换成n进制。

请填空。

main(){int i,base,n,j,num[20];printf(“Enter data that will be converted\n”);scanf(“%d”,&n);printf(“Enter base\n”);scanf(“%d”,&base);do{i++;num[i]=n【1】base;n=n【2】base;}while(n!=0);printf(“The data %d has been converted into the %d--basedata:\n”,n,base);for(【3】)printf(“%d”,num[j]);}【1】% 【2】/ 【3】j=i; j>=1; j--【题18】下面程序的功能是将二维数组a中每个元素向右移一列,最右一列换到最左一列,移后的数组存到另一二维数组b中,并按矩阵形式输出a和b。

请填空。

例如:array a: array b:4 5 6 6 4 51 2 3 3 1 2main(){int a[2][3]={4,5,6,1,2,3},b[2][3];int i,j;printf(“array a:\n”);for(i=0;i<=1;i++){for(j=0;j<3;j++){printf(“%5d”,a[i][j]);【1】;}printf(“\n”);}for(【2】;i++) b[i][0]=a[i][2];printf(“array b:\n”);for(i=0;i<2;i++){for(j=0;j<3;j++)printf(“%5d”,b[i][j]);【3】;}}【1】b[i][j+1]=a[i][j] 【2】i=0;i<2 【3】printf(“\n”)编程答案:[1] #define M 50main(){int a[M], c[5], i, n = 0, x;printf(“Enter 0 or 1 or 2 or 3 or 4, to end with –1\n”);scanf(“%d”, &x);while (x != -1){if (x >= 0 && x <= 4){a[n] = x;n++;}scanf(“%d”, &x);}for (i=0; i<5; i++)c[i] = 0;for (i=0; i<n; i++)c[a[i]]++;printf(“The result is:\n”);for (i=0; i<=4; i++)printf(“%d:%d\n”,i c[i]);printf(“\n”);}[2] main(){int a [5][5], i, j, n = 1;for (i=0; i<5; i++)for (j=0; j<5; j++)a[i][j] = n++;printf(“The result is:\n”);for (i=0; i<5; i++){for (j=0; j<=i; j++)printf(“%4d”, a[i][j]);printf(“\n”);}}[3] #include <>#include <>main(){char a[80], b[] = “ab”, max;int i = 1, j;printf(“Input a string\n”);gets(a);puts(a);max = a[0];while (a[i] != ‘\0’){if (a[i] > max){max = a[i];j = i;}i++;}for (i=strlen(a)+2; i>j; i--)a[i] = a[i-2];a[i+1] = ‘a’;a[i+2] = ‘b’;puts(a);}第八章函数补充作【题1】以下正确的说法是 B 。

建立函数的目的之一是A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅D)减少程序文件所占内存【题2】以下正确的说法是 B 。

A)用户若需调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义C)系统根本不允许用户重新定义标准库函数D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调【题3】若调用一个函数,且此函数中没有return语句,则正确的说法是 D 。

该函数A)没有返回值B)返回若干个系统默认值C)能返回一个用户所希望的函数值D)返回一个不确定的值【题4】以下不正确的说法是 D 。

C语言规定A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以为任意类型D)形参应与其对应的实参类型一致【题5】以下正确的说法是 C 。

相关文档
最新文档