C语言程序设计第三篇问题答疑材料(

合集下载

C语言程序设计(第三版)谭浩强著 各章习题答疑

C语言程序设计(第三版)谭浩强著 各章习题答疑

以八、 /* 以八、十六进制输出 */
} ???? 是对应的带符号短整数。 输出结果是八进制整数 十六进制整数
2
3.9 计算某个表达式的值。 通用程序清单如下: stdio.h” #include ”stdio.h stdio.h void main() { ?????? x; 计算表达式值存入x x=( 表达式 );/* 计算表达式值存入x */ printf(”% printf( %?\n”,x); ,x); } ?????? 表达式对应的数据类型符(需事先判断) ? 表达式为整型,则为d 表达式为实型,则为f 3
第七章习题答疑(二)
折半查找法在排序数组中查找某个数。 上课时已有提示。 7.13 字符串连接(b[]中字符串连接到a[]中字符串后) 设:a[10]=”12 ,b[]=”abc 12”, abc” 12 abc (1)找到a串的’\0’的下标(i=2) ’ (2)j=0; 当型循环(b[j]!=’\0’) ’\ ’ a[i]=b[j],i++,j++ (3)a[i]=’\0’ \ 7.15 字符串复制(b[]中字符串复制到a[]中) 设:a[10]=”12”,b[]=”abc” (1)i=0; 当型循环(b[i]!=’\0’) a[i]=b[i],i++ (2)a[i]=’\0’ 7.9
18
第十章习题答疑(一)
输入3个整数,按照由小到大顺序输出。 int x,y,z,*px=&x,*py=&y,*pz=&x; 用以前的程序,其中的x、y、z换成*px、*py、*pz 10.3 输入10个整数存入一维数组a[10],将其中最小数与第1 个数交换,最大数与最后一个数交换。 要求编3个函数: 10 10 输入10个整数、交换、输出交换后的10个整数。 输入函数: void in(int *p,int n) 输出函数: void out(int *p,int n) 交换函数: void change(int *p,int n) 其中寻找最大最小数的方法: int *q,*max,*min; for (max=min=p,q=p+1;q<p+n;q++) { if(*max<*q) max=q; if(*min>*q) min=q; } 19 交换的方法:*p和*min,*(p+n-1)和*max 10.1

C语言程序设计(第3版)-参考答案

C语言程序设计(第3版)-参考答案

C语言程序设计(第3版)-参考答案C语言程序设计(第3版) - 参考答案C语言是一种广泛应用于软件开发领域的编程语言,它具有高效、简洁、灵活等特点。

《C语言程序设计(第3版)》是一本经典的教材,本文将提供一些参考答案,帮助读者更好地理解和掌握C语言程序设计。

一、基础知识1. 什么是C语言?C语言是一种通用的编程语言,由贝尔实验室的Dennis Ritchie开发,在20世纪70年代广泛流行起来。

它被设计为一种低级语言,可以直接操作计算机硬件,并提供了足够的抽象层次来方便高级程序设计。

2. 如何输出“Hello, World!”?在C语言中,使用printf函数可以输出文本信息。

要输出“Hello, World!”,可以使用以下代码:```#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```3. 如何定义和使用变量?在C语言中,可以使用关键字`int`、`float`、`char`等定义变量。

例如:```int age = 20;float weight = 60.5;char grade = 'A';```定义后的变量可以用于存储不同类型的值,并在程序中进行操作和输出。

二、控制流程1. 什么是条件语句?条件语句允许程序通过判断条件来选择性地执行不同的代码块。

在C语言中,常用的条件语句是`if`语句。

例如:```if (score >= 60) {printf("Pass\n");} else {printf("Fail\n");}```根据变量`score`的值,判断学生是否及格并输出相应结果。

2. 什么是循环语句?循环语句可以重复执行一段代码块,以达到多次执行的目的。

在C 语言中,常用的循环语句有`for`、`while`和`do while`。

C语言程序设计(第3版)第3章习题参考答案

C语言程序设计(第3版)第3章习题参考答案

习题三参考答案(1)从键盘输入一个年份值,判断是否闰年。

设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。

#include "Stdio.h"#include "Conio.h"int main(void){int iYear;printf("please input the year:");scanf("%d",&iYear);if(iYear%400==0||(iYear%4==0&&iYear%100!=0))printf("%d is leap",iYear);elseprintf("%d is not leap",iYear);getch();return 0;}(2)从键盘输入三个整数,按由小到大的顺序输出。

#include "stdio.h"main(){int i,j,k,max;scanf("%d%d%d",&i,&j,&k);max=i>j?i:j;max=max>k?max:k;printf("max=%d",max);getch();}(3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。

试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。

#include "Stdio.h"#include "Conio.h"int main(void){int iWeek,iHours ;float fSalary,fTaxes;printf("please input the week number(1-7):");scanf("%d",&iWeek);printf("please input the work hours(1-12):");scanf("%d",&iHours);switch(iWeek){case 1:case 2:case 3:case 4:case 5:fSalary=20*iHours;fTaxes=fSalary*0.045;break;case 6:case 7:fSalary=3*20*iHours;fTaxes=fSalary*0.045;break;}printf("the salary is %f ,the taxes is %f",fSalary,fTaxes);getch();return 0;}(4)从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积并输出;如不能,输出不能构成三角形的信息。

c语言程序设计(科学出版社)课后习题解答

c语言程序设计(科学出版社)课后习题解答

第3章习题解答第1章1.C 言语程序主要由预处理命令、函数、注释等组成。

.2.填空(1)分号(2)main(3)stdio.h3.源程序:include<stdio.h>main( ){printf(“XXXXXXXXXXXXXXXXXXXXXXXXX\n〞); printf(“Hello World!\n〞);printf(“XXXXXXXXXXXXXXXXXXXXXXXXX〞);}4.源程序:include <stdio.h>main( ){int a, b, c; /X 定义变量X/scanf(“%d〞, &a); /X 输入第—个整数X/scanf(“%d〞, &b); /X 输入第二个整数X/c=a-b; /X 计算差X/printf(“%d-%d=%d〞,a,b,c); /X 输出结果X/}5.(1)<stdio.h>(2)x=10;(3)printf(“s=%d\n〞,s);第2章1.(1) c(2) a(3) b g(4) a d e(5) d2. a. 5 b. 295 c. 4 d. 29 e. 93. a.x=4,y=6b. x=4,y=3f.x=3,y=64. 165.include<stdio.h>main(){int a,b,c;scanf("%d%d",&a,&b);c=aXb;printf("%dX%d=%d",a,b,c);}第3章1.(1) b(2) b(3) d(4) a(5) b2.(1)&a,&b(2)l,s3. printf(“x=%.2f,y=%.2f\n〞,x,y);4.include<stdio.h>main(){int num1,num2,num3,sum;float average;scanf("%d%d%d",&num1,&num2,&num3);sum=num1+num2+num3;average=sum/3.0;printf("sum=%d,average=%.2f\n",sum,average);}5.include<stdio.h>main(){int hour,minute,second,total; /X 定义变量代表时、分、秒和总秒数X/ scanf("%d",&total);hour=total/3600;minute=total%3600/60;second=total%3600%60;printf("%dhours:%dminutes:%dseconds\n",hour,minute,second);}第4章1.(1) a(2) b(3) b(4) b(5) b2. 03.(1) 6(2) 4(3) 1(4) 14.include <stdio.h>main( ){int x,y;scanf("%d",&x);if (x>-5 &x<0)y=5Xx;if (x == 0)y=-1;if (x>0 &x<10)y=2Xx+1;printf("x=%d,y=%d\n",x,y);}5.include <stdio.h>main( ){int score,rank; /X score 表示成绩,rank 表示级别X/ printf("Please input score:");scanf("%d",&score);rank=score/10;switch(rank){case 10:case 9: printf("成绩等级为:A\n"); break;case 8: printf("成绩等级为:B\n"); break;case 7: printf("成绩等级为:C\n"); break;case 6: printf("成绩等级为:D\n"); break;default:printf("成绩等级为:E\n"); break; }}6.include<stdio.h>void main(){int n;printf("Please input the digit:");scanf("%d",&n);switch(n){case 1:printf("Jan \n");break;case 2:printf("Feb \n");break;case 3:printf("Mar \n");break;case 4:printf("Apr \n");break;case 5:printf("May \n");break;case 6:printf("Jun \n");break;case 7:printf("Jul \n");break;case 8:printf("Agu \n");break;case 9:printf("Sep \n");break;case 10:printf("Oct \n");break;case 11:printf("Nov \n");break;case 12:printf("Dec \n");break;}}第5章1.(1) b(2) a(3) b(4) d(5) d2. 7,13. y=-14. m=65. 10,146. 37. 58. ABABCDCD9.include <stdio.h>main ( )int i;long int sum=0;for (i=2;i<=200;i+=2)sum+=i;printf("2+4+6+...+200=%ld",sum); }10.include <stdio.h>main(){long int n;int sum = 0;printf("Please input the nber:"); scanf("%ld",&n);while(n != 0){sum += n % 10;n /= 10;}printf("%d\n", sum);}第6章1.(1) d(2) b(3) d(4) c(5) a2. 113. 34. 56895. 12,66. (1) i--(2) n7. (1) char k; (2) i<j8.include <stdio.h>main( ){float a10];int i;float sum=0,average;for (i=0;i<10;i++)printf("a%d]=",i);scanf("%f",&ai]);sum+=ai];}average=sum/10;printf("average is %.2f\n",average);}9.include <stdio.h>define N 10main( ){int aN],i,target,found;for (i=0;i<N;i++)scanf("%d",&ai]);printf("Please input a number:");scanf("%d",&target);i=0;while(i<N &target != ai])i++;found = i<Ni:-1;printf("%d\n",found);}10.include <stdio.h>define N 80main( ){char strN];int len=0,i=0;printf("Please input a string:");gets(str);while (stri++!= 0) len++;printf("the length of string is %d.\n",len); }第7章1. 212. 1363. 164. (1) func (2) m++5. 96. 1,6,3,2,37. 2,5,1,2,3,-28.include <stdio.h>int fun(int a,int b,int c);main( ){int a,b,c,max;printf("Please input three numbers:"); scanf("%d%d%d",&a,&b,&c);max=fun(a,b,c);printf("Max is %d.\n",max);}int fun(int a,int b,int c){int max;max= a>b(a>ca:c):(b>cb:c);return max;}9.include <stdio.h>long int sum(int n);main( ){int n;printf("n=");scanf("%d",&n);printf("Sum=%ld.\n",sum(n));}long int sum(int n){if (n = = 1 ) return 1;else return sum(n-1)+n;}10.include <stdio.h>void fun(n);main( ){int n;printf("n=");scanf("%d",&n);fun(n);}void fun(n)if (n = = 0) return;else{fun(n/2);printf("%-2d",n%2);}}第8章1.(1) b(2) d(3) b(4) c(5) c2. 83. 1234567894. 2 3 4 5 65. 3456. 1 2 3 4 5 67. bi8. bcdefgha9. p=sum10.include <stdio.h>include <string.h>main(){char str80];char Xp1, Xp2;gets(str);p1=str;p2=str+strlen(str)-1;while (p1<p2 &Xp1++ == Xp2-- ) ; puts( p1<p2 "不是回文" : "是回文" ); }第9章1.a. define F(x) (x)X(x)X(x)b. define F(x) (x)%4c. define F(x,y) (x)X(y)<1001:02.b. 4c. define DOUBLE(x) 2X(x)3. d4. -205. N is undefined6. 7.57. y=68.include <stdio.h>define SW AP(a,b) {int temp;temp=a;a=b;b=temp;}main(){int x,y;printf("x=");scanf("%d",&x);printf("y=");scanf("%d",&y);SWAP(x,y)printf("x=%d,y=%d.\n",x,y);}第10章1.struct student{int sno;char sname10];char sex;}stu1,stu2;2. 123. 合法的有a,b,dc.改成s.u.rectangle.length=25;e.改成s.u.circle.radius=5;f.改成s.u.circle.radius=5;4. a,b,c,d (说明:变量b 有确定的值之后,b++是合法的。

c语言程序设计第三版谭浩强课后习题及答案

c语言程序设计第三版谭浩强课后习题及答案

c语言程序设计第三版谭浩强课后习题及答案C语言程序设计是一门基础而重要的编程课程,谭浩强教授的《C语言程序设计》第三版是许多高校计算机专业学生的必修教材。

课后习题是检验学生对课程内容掌握程度的重要手段,以下是部分习题及答案的示例。

# 第一章:C语言概述习题1:简述C语言的特点。

答案: C语言是一种结构化编程语言,具有以下特点:1. 简洁、紧凑、贴近硬件。

2. 丰富的运算符和数据类型。

3. 具有结构化控制语句。

4. 支持模块化程序设计。

5. 可移植性好。

习题2:为什么说C语言具有“高级语言”的特点?答案: C语言被称为高级语言,因为它:1. 抽象了机器语言的复杂性。

2. 允许使用变量名代替内存地址。

3. 提供了丰富的控制结构和数据类型。

4. 支持高级的编程概念,如函数、数组和指针。

# 第二章:数据类型、运算符和表达式习题3:写出C语言中的基本数据类型。

答案: C语言中的基本数据类型包括:- 整型:`int`- 浮点型:`float` 和 `double`- 字符型:`char`习题4:解释赋值运算符的右结合性。

答案:赋值运算符的右结合性意味着当多个赋值运算符出现在同一个表达式中时,它们将从右向左进行计算。

例如,在表达式 `a = b = c;` 中,首先计算 `b = c`,然后将结果赋值给 `a`。

# 第三章:控制语句习题5:描述if语句的基本用法。

答案: if语句用于基于条件执行代码块。

基本语法如下:```cif (条件) {// 条件为真时执行的代码} else {// 条件为假时执行的代码}```其中条件是一个表达式,如果其值为真(非零),则执行if块中的代码;如果为假(零),则执行else块中的代码。

习题6:举例说明for循环的使用。

答案: for循环用于重复执行一段代码,直到给定条件不再满足。

基本语法如下:```cfor (初始化表达式;条件表达式;更新表达式) {// 循环体}```例如,打印0到9的数字:```cfor (int i = 0; i < 10; i++) {printf("%d ", i);}```以上是部分习题及答案的示例。

《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语言第四版答案第三章,《C语言程序设计》课后习题答案(第三章)

c语言第四版答案第三章,《C语言程序设计》课后习题答案(第三章)

c语⾔第四版答案第三章,《C语⾔程序设计》课后习题答案(第三章)3.3 请写出下⾯程序的输出结果.结果:575 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,17777,ffff,-1COMPUTER, COM3.4 ⽤下⾯的scanf函数输⼊数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',问在键盘上如何输⼊?main(){inta,b;floatx,y;charc1,c2;scanf("a=%d b=%d,&a,&b);scanf("x=%f y=%e",&x,&y);scanf("c1=%c c2=%c",&c1,&c2);}解:可按如下⽅式在键盘上输⼊:a=3 b=7x=8.5 y=71.82c1=A c2=a(说明:在边疆使⽤⼀个或多个scnaf函数时,第⼀个输⼊⾏末尾输⼊的"回车"被第⼆个scanf函数吸收,因此在第⼆\三个scanf函数的双引号后设⼀个空格以抵消上⾏⼊的"回车".如果没有这个空格,按上⾯输⼊数据会出错,读者⽬前对此只留有⼀初步概念即可,以后再进⼀步深⼊理解.)3.5 ⽤下⾯的scanf函数输⼊数据使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=57.8,请问在键盘上如何输⼊数据?scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&c1,&c2,&y,&z);解:main(){inta,b;floatx,y,z;charc1,c2;scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y,&z);}运⾏时输⼊:10 20Aa1.5 -3.75+1.5,67.8(注解:按%5d格式的要求输⼊a与b时,要先键⼊三个空格,⽽后再打⼊10与20。

C程序设计题目集答案之第3章

C程序设计题目集答案之第3章

判断题1-1在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

(1分)1-2在switch语句中,每一个的case常量表达式的值可以相同。

(1分)1-3case语句后如没有break,顺序向下执行。

(1分)1-4if(a=5) 是允许的。

(1分)1-5在switch语句中,可以根据需要使用或不使用break语句。

(1分)1-6(1分)1-7if-else语句的一般形式如下,若表达式的值为“真”,则执行语句1;否则,就执行语句2。

(1分)1-8if-else语句的一般形式如下,其中的语句1、语句2只能是一条语句。

(1分)1-9为了检查以下else-if语句的三个分支是否正确,至少需要设计5组测试用例,即x的取值至少有五组(小于0的数、0、大于0且小于15的数、15和大于15的数)。

(1分)1-10(1分)1-11在switch语句中,必须使用default。

(1分)1-12为了检查以下嵌套的if语句的三个分支是否正确,至少需要设计3组测试用例,即(1分)1-13在if语句中,必须出现else。

(1分)1-14if(a>b) {t=a;a=b;b=t;}是3条c语句。

(1分)1-15switch语句中多个case标号可以共用一组语句。

(1分)单选题2-1为了避免嵌套的条件分支语句if~else二义性,C语言规定,C程序中的else 总是与( )组成配对关系。

(2分)A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if下列叙述中正确的是()。

(2分)A.break语句只能用于switch语句B.在switch语句中必须使用defaultC.break语句必须与switch语句中的case配对使用D.在switch语句中,不一定使用break语句下列程序段的输出结果是()。

(2分)A.0B.1C.2D.3下列程序段的输出结果是()。

c语言-C程序设计(第四版)谭浩强_课后习题答案第3章

c语言-C程序设计(第四版)谭浩强_课后习题答案第3章

C程序设计(第四版)谭浩强_课后习题答案第3章第3章最简单的C程序设计——顺序程序设计373.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

活期利息每一季度结算一次printf("p1=%f\n",p1); // 输出按第1方案得到的本息和printf("p2=%f\n",p2); // 输出按第2方案得到的本息和printf("p3=%f\n",p3); // 输出按第3方案得到的本息和printf("p4=%f\n",p4); // 输出按第4方案得到的本息和printf("p5=%f\n",p5); // 输出按第5方案得到的本息和return 0;}3-2-2#include <stdio.h>#include <math.h>int main(){double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

何钦铭-C语言程序设计(第3版)部分课后习题参考答案.docx

何钦铭-C语言程序设计(第3版)部分课后习题参考答案.docx

何钦铭《C语言程序设计》(第3版)课后习题参考答案习题11.对C 语言来说,下列标识符中哪些是合法的,哪些是不合法的?total, _debug, Large&Tall, Counter1, begin_解答:合法标识符:total, _debug, Counter1;不合法标识符:Large&Tall, begin_。

2.改写本章1.4 节中的流程图1.2,求1~100 中能被6 整除的所有整数的和。

解答:3.改写本章1.4 节中的程序,求1~100 中能被6 整除的所有整数的和,并在编程环境中验证该程序的运行结果。

解答:#include <stdio.h>int main(void){int i, sum = 0;for(i = 1; i <= 100; i++)if (i % 6 == 0)sum = sum + i;printf("%d", sum);return 0;}4.对于给定的整数n(n>1),请设计一个流程图判别n 是否为一个素数(只能被1 和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构与循环结构。

解答:在流程图中,分支结构和循环结构如图1.2 所示,自上而下的2 个实线框和2 个虚线组成了顺序结构。

习题21.求整数均值:输入4 个整数,计算并输出这些整数的和与平均值,其中平均值精确到小数点后1 位。

试编写相应程序。

解答:#include <stdio.h>int main (void){int num1, num2, num3, num4;double average, sum;scanf ("%d%d%d%d", & num1, & num2, & num3, & num4);sum = num1+ num2+ num3 + num4;average = sum / 4;printf ("Sum = %.0f; Average = %.1f\n", sum, average);return 0;}2.阶梯电价:为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50 千瓦时(含50 千瓦时)以内的,电价为0.53 元/千瓦时;超过50 千瓦时的,超出部分的用电量,电价上调0.05 元/千瓦时。

2014-2015第二学期 《c语言程序设计》问题答疑材料课件

2014-2015第二学期 《c语言程序设计》问题答疑材料课件

《C语言程序设计》问题答疑材料一、论坛提过得问题总结1.常用的C语言调试编译器?Microsoft Visual Studio 2010,WinTc等,推荐使用Visual Studio 2010。

2.如何正确掌握解决程序中编写顺序?编程中出现的令学生困惑的顺序问题主要是是程序调用过程中出现的顺序问题吧,要学会调试,跟踪代码,总的来讲,C语言是顺序结构程序!3.表达式和表达式语句如何区分?前者是一个数学概念,后者是C语言语法概念!4.汇编语言和c语言有什么区别?汇编语言更接近及其语言,直接对内存如寄存器操作。

C是高级语言,在C 编程中看不到对内存的直接操作!5.C语言中指针是变量么?如果是那指针的变量值是什么?指针其实是指向内存中的地址,值在相应的地址中存放!6.C语言和C++是什么关系C是面向过程语言;C++是面向对象语言;一个切身体会是:C语言中的struct已经有了C++中面向对象的感觉。

在C++中要体会对类、象、继承这些关键词,这是面向对象的要义所在!7.C语言和C#有什么区别?C是过程语言,而C#是面向对象语言,两个是有根本的差别的,基本上可以说没有联系,之所以叫C#主要是因为历史的原因,c适合做芯片级的开发,底层应用的开发,而C#适合做桌面级开发和浏览器级的开发。

8.字串符和与指针有什么区别?字串符是一种数据形式;指针是内存访问形式。

它俩并没有联系,只是我们说可以用指针来操作字符创串,如*p="hello world"。

9.C++与Java有什么联系吗C++与Java都是面向对象编程语言,这一点是相似的。

Java语言摒弃了C++ 中指针的操作,更加安全!10.Static关键字在C语言中的作用?static全局变量与普通的全局变量区别:static全局变量值初始化一次,防止在其他文件单元中被引用。

static函数与普通函数区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。

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

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

c程序设计第三版习题参考解答(全) C程序设计第三版习题参考解答本文为《C程序设计第三版习题参考解答》的全文内容。

为了更好地适应题目要求,文章将按照解答问题的方式进行分段,每个问题对应一个小节。

以下是各个问题的解答:第一章:C概述和程序设计基本原则1. 什么是计算机程序?计算机程序是一系列指令的集合,用于告诉计算机执行特定的任务。

它由一系列语句组成,每条语句都包含了计算机可以理解和执行的命令。

2. C语言的起源和发展历程是什么?C语言是由贝尔实验室的Dennis Ritchie于20世纪70年代初开发的一种通用高级编程语言。

C语言基于早期的B语言进行了扩展和改进,成为了应用广泛且高效的编程语言。

3. 编译和解释有什么区别?编译是将源代码一次性转换为机器语言的过程。

它将整个源代码文件编译成可执行文件,然后可以直接在计算机上运行。

解释是逐行解析源代码并立即执行的过程。

解释器逐行读取源代码并将其转换为机器代码,然后立即执行转换后的代码。

4. C程序的一般结构是什么样的?C程序的一般结构包括预处理指令、函数声明、全局变量声明、main函数以及其他函数的定义。

预处理指令用于包含头文件、定义宏等。

函数声明用于声明函数的名称和参数。

全局变量声明用于声明全局变量。

main函数是C程序的入口点,也是程序执行的起始位置。

第二章:C基本语法和数据类型1. C中的注释有哪些类型?在C中,注释分为单行注释和多行注释。

单行注释以"//"开头,多行注释以/*开头,以*/结尾。

2. 什么是变量?变量是在程序中用来存储数据的存储区域。

每个变量都有一个名称和一个数据类型,可以通过变量名来引用它所存储的数据。

3. C语言中的常量有哪些类型?C语言中的常量分为整型常量、实型常量、字符常量和字符串常量。

整型常量表示整数值,实型常量表示实数值,字符常量表示单个字符,字符串常量表示一串字符。

4. C语言中的运算符有哪些类型?C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、自增自减运算符等。

《C语言程序设计》复习思考题

《C语言程序设计》复习思考题

《C语言程序设计》复习思考题第一章复习思考题请说明C语言的主要特点。

何谓标识符?标识符有何限制?C语言可以使用哪些数据类型?*C语言中有哪些算述运算符?C语句有何特点?注释语句的格式和作用是什么?第二章复习思考题2.1.什么叫逻辑表达式?C语言中有哪些逻辑关系运算符?2.2.for, while和do语句有何异同?2.3.if语句有哪些不同的格式?如何使用?2.4.试说明break语句和continue语句功能和用法。

2.5.如何正确使用switch语句?第三章复习思考题3.1.请说明C语言程序结构的一般形式?3.2.函数在C语言程序中的地位和作用是什么?如何定义和说明函数?何谓函数原型法?3.3.何谓局部变量?何谓静态变量?何谓全程变量?如何使用?在程序中,它们应出现在什么位置?可否重名?3.4.函数返回值的类型如何说明?何谓空类型void?试说明return语句的功能和用法。

3.5.何谓形参?何谓实参?如何正确调用函数?何谓递归调用?第四章复习思考题4.1.何谓数组?它有何特点?如何定义说明和使用?数组的下标范围是什么?4.2.如何对全局数组和静态数组进行初始化?何谓变长数组?4.3.整个数组可否作为函数的参数?数组名传递的是何信息?4.4.何谓字符串?何谓字符串常量?如何输入输出字符串?4.5.如何使用标准库中的字符串函数和字符函数?字符类型变量如何取值?第五章复习思考题5.1.何谓结构?它有何特点?如何定义说明?如何访问结构成员变量?5.2.整个结构可否作为函数的参数或返回值?结构变量名传递的是何信息?5.3.如何对全局数组和静态结构变量或结构数组进行初始化?5.4.结构可否嵌套?如何定义说明?一个结构为什么不可嵌套自己?5.5.何谓联合?它有何特点?如何定义说明?如何访问联合成员变量?第六章复习思考题6.1.在计算机中,数据(变量或常量)如何存放?何谓地址空间?每个变量的地址值指是什么*?何谓间接寻址方式存取数据?6.2.何谓指针?它有何特点?如何定义说明?指针的作用是什么?6.3.指针变量取什么数值?指针变量运算符&和*的含义是什么?指针变量为何要初始化?如何初始化?指针有哪些算术运算符和关系运算符?按什么规则进行?6.4.用指针作为参数有何好处?何谓″传址″(或″传名″)的调用?函数如何回送信息?不同的回送信息途径有什么区别?6.5.用指针和用数组访问内存的方式有何共同处?又有何重要的差别?何谓字符串指针或字符指针?它与字符数组有什么异同之处?6.6.何谓指针型函数?函数返回指针类型变量如何定义和使用?malloc()函数功能是什么?如何引用它?6.7.何谓结构指针?如何定义说明和引用?用结构指针作为参数有何好处?6.8.如何构成链表?链表有何用处?如何构成二叉树?如何实现遍历二叉树?*6.9.何谓针型数组?何谓多级针型?何谓函数指针?它们如何定义说明?如何使用它们?第七章复习思考题7.1.何谓枚举?如何定义说明?枚举变量取何值?用枚举变量有何好处?7.2.何谓位域?如何定义说明?有哪些位操作运算符?如何使用?7.3.什么是寄存器变量?它的使用有何限制?7.4.何谓类型定义?其优点是什么?7.5.数据类型自动转换原则是什么?为什么要进行强制的数据类型转换?如何实现?第八章复习思考题8.1.什么是予处理程序?有哪几种予处理语句?8.2.何谓宏定义和宏替换?何谓宏定义类函数?它与真正的函数有何区别?8.3.何谓文件包含?应用文件包含的目的是什么?8.4.何谓条件编译?如何使用?第九章复习思考题9.1.C语言程序的所有输入和输出操作为什么必须通过函数调用来实现?9.2.何谓文件指针?如何取得?9.3.有哪些常用的输入和输出库函数?如何使用?9.4.什么是命令行参数?如何实现?第十章复习思考题10.1.为何要用单独编译?何谓外部变量和外部函数?何谓静态的全局变量?何谓静态函数?10.2.何谓系统调用?如何使用函数system()来实现?10.3.为什么要用自顶向下的方法来开发C语言程序?如何进行?如何使用make文件?10.4.如何考虑提高程序的效率?回顾在编程和调试中曾出现过的错误并总结经验教训。

《C语言程序设计》第三版课后答案

《C语言程序设计》第三版课后答案

《C语言程序设计》第三版课后答案第一章:C语言基础知识1.1 C语言的历史和特点C语言是由贝尔实验室的Dennis Ritchie在20世纪70年代初开发的一种高级计算机编程语言。

C语言具有简洁、高效、可移植性强等特点,成为了编写系统软件和应用软件的首选语言。

1.2 C语言的开发环境为了编写和运行C语言程序,我们需要安装并配置相应的开发环境。

常用的开发环境包括Code::Blocks、Dev-C++和Eclipse等。

这些开发环境提供了编辑器、编译器和调试器等工具,方便我们进行程序开发和调试。

1.3 C语言的基本语法C语言的基本语法包括关键字、标识符、数据类型、变量、常量、运算符和控制语句等。

关键字是C语言预先定义的词汇,如int、if、for等。

标识符是程序中自定义的名称,用于标识变量、函数等。

数据类型包括整型、浮点型、字符型和指针型等。

变量是存储数据的位置,常量是不可修改的数据。

运算符用于进行数学和逻辑运算。

控制语句包括条件语句和循环语句,用于控制程序的执行流程。

第二章:C语言基本程序设计2.1 程序的结构C语言程序由多个函数组成,其中main函数是程序的入口,是程序执行的起点。

在main函数中,我们可以调用其他函数来完成具体的任务。

一个基本的C语言程序结构包括包含头文件、定义变量、执行语句和返回值等部分。

2.2 输入和输出输入和输出是C语言程序中常见的操作。

标准库提供了一系列函数,如printf和scanf,用于输出和输入数据。

其中printf函数用于格式化输出数据,scanf函数用于接收用户的输入。

2.3 运算和赋值C语言支持多种运算符,如算术运算符、关系运算符、逻辑运算符和位运算符等。

这些运算符可以用于数值计算和条件判断。

赋值运算符用于给变量赋值。

2.4 条件语句条件语句根据条件的成立与否来决定程序的执行路径。

C语言提供了if语句和switch语句来实现条件控制。

if语句根据条件的真假来执行不同的代码块。

c语言面试题及参考答案汇总三

c语言面试题及参考答案汇总三

c语言面试题及参考答案汇总三(3) c语言面试题及参考答案汇总三(3)「篇一」下面的声明都是什么意思?const int a;int const a;const int *a;int * const a;int const * a const;//前两个的作用是一样,a是一个常整型数。

第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。

第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。

最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。

如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。

顺带提一句,也许你可能会问,即使不用关键字 const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:1) 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。

如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。

(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。

)2) 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。

3) 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。

简而言之,这样可以减少bug的出现。

Volatile8. 关键字volatile有什么含意?并给出三个不同的例子。

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。

精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。

下面是volatile变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)3) 多线程应用中被几个任务共享的变量回答不出这个问题的人是不会被雇佣的。

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

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

3.12 出下面表达式运算后 a 的值,设原来 a=12。设 a 和 n 都已定义为整型变量。 (1)a+=a (3)a*=2+3 (5)a%=(n%=2),n 的值等于 5 (2)a-=2 (4)a/=a+a (6)a+=a-=a*=a
解: (1)24 (3)60 (5)0 (2)10 (4)0 (6)0
注:如果没有学过二进制和补码,此题可以不做。
解:各数据在内存中的存储形式如下表所示: 变量的类型 int 型 long 型 short 型 signed char(8 位) unsigned int 型 unsigned long 型 unsigned short 型 unsigned char 型
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); }
第 4 章 最简单的 C 程序设计——顺序程序 设计
4.4 若 a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51247,n=128765,c1=’a’,c2=’b’, 想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出) 。 要求输出的结果如下: a=□3□□b=□4□□c=□5 x= 1.200000,y= 2.400000,z= -3.600000 x+y=□3.60□□y+z=-1.20□□z+x=-2.40 u= □51247□□n=□□□128765 c1=‟a‟□or□97(ASCII) c2=‟b‟□or□98(ASCII) 解: main ( ) { int a,b,c; long int u,n; float x,y,z; char c1,c2; a=3;b=4;c=5; x=1.2;y=2.4;z= -3.6; u=51247;n=128765; c1=‟a‟;c2=‟b‟; printf(“\n”); printf(“a=%2d□□b=%2d□□c=%2d\n”,a,b,c); printf(“x=%.6f,y=%.6f,z=%.6f\n”,x,y,z); printf(“x+y=□%.2f□□y+z=%.2f□□z+x=%.2f\n”,x+y,y+z,z+x); printf(“u=%6ld□□n=%9ld\n”,u,n); printf(“c1=‟%c‟ or %d(ASCII)\n”,c1,c1); printf(“c2=‟%c‟ or %d(ASCII)\n”,c2,c2); }

c语言程序设计(第3版)的习题答案

c语言程序设计(第3版)的习题答案

c语言程序设计(第3版)的习题答案c语言程序设计(第3版)的习题答案本文为《c语言程序设计(第3版)》中的习题答案汇总,旨在帮助读者更好地理解和掌握该教材。

以下是各章节习题的详细解答:第1章:计算机概述习题1:答案:计算机是一种能够接受输入数据、对其进行逻辑和算术运算,并产生输出结果的电子设备。

习题2:答案:计算机主要由中央处理器(CPU)、主存储器、输入设备和输出设备四个主要部分组成。

......第2章:c语言概述习题1:答案:C语言是一种通用的高级编程语言,由贝尔实验室的Dennis Ritchie于1972年开发。

习题2:答案:C语言的特点包括高效性、可移植性、灵活性和丰富的操作符与控制语句。

......第3章:数据类型、运算符和表达式习题1:答案:C语言中的基本数据类型包括int、float、double、char等。

习题2:答案:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。

......第4章:程序控制结构习题1:答案:C语言中的程序控制结构主要包括顺序结构、选择结构和循环结构。

习题2:答案:顺序结构是指程序按照语句的顺序依次执行,没有分支和循环。

......第5章:函数习题1:答案:C语言中的函数由函数头和函数体组成。

习题2:答案:函数的定义包括函数名、返回类型、参数列表和函数体。

......第6章:数组和字符串习题1:答案:数组是一组相同类型的数据元素的集合。

习题2:答案:C语言中的字符串是以空字符'\0'结尾的字符数组。

......第7章:指针习题1:答案:指针是用来存储另一个变量的地址的变量。

习题2:答案:指针变量可以通过取地址运算符(&)获取普通变量的地址。

......第8章:结构和共用体习题1:答案:结构是由不同数据类型的成员组成的复合类型。

习题2:答案:共用体(union)是一种特殊的数据类型,它可以存储不同类型的数据,但在同一时间只能存储其中的一种。

C程序设计配套PPT及课后习题答案C3-数据类型

C程序设计配套PPT及课后习题答案C3-数据类型

unsigned & signed
实际应用中,大部分常量的值是正的,如学生年龄,身高 等。为此定义了“unsigned -无符号类型 “unsigned”-无符号类型,指代无符号数 值,如123,4687等。 但是还有一些数字是负数:如-123, -3等,用“signed “signed” 有符号类型来定义。 -有符号类型 如果一个变量,既不指定为unsigned, 也不指定为signed, 则默认为 signed 默认为 signed。 无符号整型变量中可以存放的正数的范围比有符号整型变 量中存放的范围扩大一倍。(见43页:图 3.4 3.4) 见43页 int a; unsigned int b; -32768~32767 0~65535
ቤተ መጻሕፍቲ ባይዱ 3.5.4
字符串常量
定义:字符串常量是用一对双引号括起来的若干字符序列。 定义:字符串常量是用一对双引号括起来的若干字符序列。 双引号括起来的若干字符序列 例如, do.”、 morning.”等 例如,“How:字符串中字符的个数称为字符串长度。 字符串长度:字符串中字符的个数 morning. 等,都是字 字符的个数称为字符串长度 字符串长度 do you do. 、“Good称为字符串长度。 符串常量,其长度分别为14 13(空格也是一个字符)。 14和 符串常量,其长度分别为14和13(空格也是一个字符)。 空串:长度为0的字符串( 空串:长度为0的字符串(即一个字符都没有的字符 紧连的双引号 )。表示为“”(一对紧连的双引号)。 表示为“” 串)。表示为“”(一对紧连的双引号)。 注意:如果反斜杠和双引号作为字符串中的有效字符, 注意:如果反斜杠和双引号作为字符串中的有效字符, 反斜杠 作为字符串中的有效字符 则必须使用转义字符。 则必须使用转义字符。 例如,I say:"Goodbye!" →"I say:\"Goodbye!\"" 例如, say:\"Goodbye!\

《C语言程序设计》基本知识点解答(三)

《C语言程序设计》基本知识点解答(三)

C语言程序设计基本知识点解答(三)第五章选择结构程序设计Q116 如何进行选择结构的程序设计?(选择结构)A116 “选择结构”也可以叫做“分支结构”。

在一个合理Array的“选择结构”中,总是先进行某个条件的判断,然后根据判断的结果选择执行预先设定的操作。

其流程图如下:可见,要想实现“选择结构”,需要2个条件:①能表达条件判断的运算符:即关系运算符和逻辑运算符②能实现判断并选择的控制语句:即if和switch语句Q117 什么是关系运算符?(关系运算符)A117 关系运算符也叫“比较运算符”,用于对两个数据进行比较判断的。

C语言中一共有6种关系运算符,分别是 < 小于、<= 小于等于、> 大于、>= 大于等于、== 等于、!= 不等于。

用这6种运算符按规定把运算量连接起来构成的式子就是关系表达式。

其中,参与关系运算的数据可以是常量、变量或任何合法的表达式。

比如:a * a <= 100、NowIndex == MaxIndex。

所有6种关系运算符的优先级都比算术运算符低,而== 等于、!= 不等于两个运算符的优先级又比其它四个关系运算符低。

所有6种关系运算符的结合性都是从左向右。

Q118 C语言中如何表示一个关系表达式的值?(关系表达式)A118 关系表达式进行的是关系运算,也就是“比较运算”。

比较的结果只可能有两个:“真”或“假”。

对应于实际生活中,就是“成立”还是“不成立”,“正确”还是“不正确”,“对”还是“不对”这样一些比较和判断的结果。

可见,关系运算的结果的特点是:只有两种可能的结果;任何时候答案只可能是其中的一个;两种可能是相互对立不可能同时出现的。

这样的特点正对应于数学上的“逻辑值”:“真”或“假”。

所以最终的结论就是:关系表达式的值是“逻辑值”,即“真”或“假”。

C语言中分别以“1”和“0”来代表。

就是说,如果关系表达式的值为“真”,则得到整数1;如果值为“假”,则得到整数0。

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

问题答疑材料
1、以下程序的输出结果是()
#define ADD(x)(x)+(x)
main(){
int a=4,b=6,c=7,d=ADD(a+b)*c;
printf(“d=%d”,d);
}
A d=70
B d=140
C d=280
D d=80
答:d=ADD(a+b)*c;=(a+b)+(a+b)*c=(4+6)+(4+6)*7=80
2、请问在自己的计算机上运行C语言程序,是否首先要安装C语言编译系统?
答:是的,你可以安装turbo C或者其它的C运行环境。

3、字符串“China”在内存中占用几个字节?
答:一个字符占一个字节,另外在字符串结尾处系统补了一个'\0'表示字符串结束,它也占一个字节,加上5个字符,所以字符串“China”在内存中占用6个字节。

4、语言中结构体与共用体的区别?
答:共用体是构造数据类型,也叫联合体。

它使几个不同类型的变量共占一段内存(相互覆盖),每次只有一个能使用。

结构体则不然, 每个成员都会有存储空间的,可以一起用。

5、int a[2][2]={1,2,3,4};
int *p;
p=a[0];
printf("%d",p[0]);
还有为什么p[0]前面不用*号呢?
答:p=a[0]表示p指向数组a[2][2]包含的一维数组a[0]的首地址,当执行printf("%d",p[0]);时,打印出p[0][0]的值,为1。

实际上可以写成等价表达式printf("%d",*p);因为*p与p[0]是等价的,所以p[0]前不用*。

6、已知在ASCII字符集中,字母A的序号为65,下面程序main(){char c=’A’;int
i=10;c=c+10;i=c%i;printf(“%c,%d\n”,c,i);}的输出结果为( )
选项:
a、75,7
b、75,5
c、K,5
d、因存在非图形字符,无法直接显示出来
答:A的ASCII对应的整形值为65,c=c+10,所以c=75,即为K,同时i=75/10=5
7、判断char型变量c1是否小写字母的正确表达式为
选项:
a、'a'<=c1<='z'
b、(c1>='a')&&(c1<='z')
c、(c1>=a)&&(c1<=z)
d、('a'<=c1)||('z'>=c1)
答:(c1>='a')&&(c1<='z')
8、C语言和C++有什么区别么?
答:C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言。

C++语言是C语言的超集,也就是说C++是C语言的延伸。

区别应该说表现在编程思想上,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。

C++是面向对象的,强调程序的分层、分类,
以抽象为基础,进行对象的定义与展示,即程序设计。

java语言也是一
种面向对象的语言。

9、怎么区分表达式和表达式语句?
答:C中,一个语句的最后面要有分号;,如果没有,就不是语句,所以表达式后面再加上分号,就成了表达式语句.
10、在C语言中运算符的优先级从高到低的排列顺序是什么?
答:按运算符优先级从高到低:单目运算符->双目运算符->三目运算符->赋值运算符->逗号运算符特别在双目运算符中,按运算符优先级从高到
低:算术运算符->移位运算符->关系运算符(其中== 和!=优先级又较低)->逻辑运算符(按位与-〉按位异或-〉按位或-〉逻辑与-〉逻辑或)!
11、设char c[5]={…a‟,‟b‟,‟\0‟,‟c‟,‟\0‟};则printf(“%s”,c);的输出是?
答:输出ab。

‘\0’就表示字符串结束,printf就不输出后面的字符。

12、求1!+2!+3!+。

+10!
#include <stdio.h>
void main(void)
{
float s = 0, t = 1;
int n;
for (n=1; ___; n++) {
___;
___;
}
printf(“1!+2!+3!+。

+10!=%f”, s);
答:#include<stdio.h>
void main()
{
float s=0,t=1;
int n;
for(n=1;n<=10;n++)
{
t=t*n;
s=s+t;
}
printf("1!+2!+3!+……+10!=%e\n",s);
}
13、语言中形参到实参传递是双向的吗?
答:不能。

实参对形参是单向的值传递。

也就是说形参中的值改变不会影响实参的值。

14、以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20;
printf("%d,%d,%d\n",x,y,z); }
答: x=020,以0开头,表示这是一个8进制的数字。

所以x=2*8^1+0*8=16。

y=0x20,以0x开头,表示这是一个16进制的数字。

所以x=2*16^1+0*8=32。

z=20,表示这是一个10进制的数字。

所以x=20
15、以下程序中,while 循环的次数是()。

#include <stdio.h>
void main(void)
{int i = 0;
while (i<10) {
if (i<1) continue;
if (i==5) break;
i++;
}
}
A) 1B) 死循环,不能确定次数C) 6D) 10
答:死循环,不能确定次数
因为i<0为假,所以执行continue,继续判定循环条件,成为死循环。

16、函数的定义不可以嵌套,但函数的调用可以嵌套?
答:C语言中,所有函数的定义都是互相平行和独立的,一个函数的定
义不能包含另一个函数的定义,即不允许函数的嵌套定义,但函数的调
用可以通过一个函数来调用另一个函数来实现,这就形成了函数的嵌套
调用。

17、指针数组和数组指针怎样区分?
答:指针数组,故名思义,就是指针的数组,数组的元素是指针;数组指针,同样,就是指向数组的指针。

相关文档
最新文档