C语言程序设计答案-(陈明晰)中国铁道出版社
c语言程序设计教材全部答案
c__面向对象程序设计_课后答案_中国铁道出版社_陈维兴_林小茶 2
第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再由类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。
(2)需要用属性来描述它的某些特性。
(3)有一组操作,每一个操作决定了对象的一种行为。
(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:1966.10.1 工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
C语言程序设计答案-(陈明晰)中国铁道出版社
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
(完整版)《C语言程序设计》复习参考答案
第一章【随堂练习1-2】1 .下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:in elude、main、prin tf、sca nf用户自定义标识符:a、b、c3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数) 、函数体语句(说明语句、可执行语句) 。
答:函数首部:void main(),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
一. 单元练习一. 选择题1构成C语言程序的基本单位是()。
A .框架B .预处理C.函数 D .语句2 •在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()°A. 编辑B.编译C.连接D.运行3 •关于主函数,下列说法不正确的是()°A. —个完整的C语言应用程序有唯一的主函数B. 主函数的名称只能是m ai nC. 主函数可以被其他自定义函数调用D. C语言程序的运行从主函数开始,以主函数为核心展开4 .关于标识符,下列说法不正确的是()°A. 库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C. 用户自定义标识符中不区分大小写字母D. 标识符中可以出现下划线,且可以出现在标识符的任意位置5 .以下可用作用户自定义标识符的一组是()°A. void、return、ifB. printf、in elude、fabsC. Max、_abc、MainD. 2abc、pay$、sum-10二. 填空题1.______________________________________________________________ C语言程序一般由若干个函数构成,程序中应至少包含一个 _________________________________ ,其名称只能为°2.____________________________________ C语言程序中每条语句必须以结束。
C语言程序与设计课后答案(中国铁道出版社)
函数一、选择题1-5 ADCBD 6-10 DADAC11-15 DBDCC 16-17 DC二、填空题(1)3,2,2,3 (2)4,3,5 (3)t*10 (4)double max 从键盘上输入两个数据,输出最大值(5)m=fun(a,4)+fun(b,4)-fun(a+b,3) (6)a=1.0;b=1.0;s=1.0;(7)x x*x+1 (8)9 (10)-f指针一、选择题1-5 CADBC 6-10 CAACD 11-15 CACBD 16-20 ACCAA二、填空题(1)3 5 (2)5 3 (3)k *k (4)8 4 (5)0 7数组与指针一、选择题1-5 CBDCA 6-10 DCDAB 11-15 CADAD 16-20 BCBDD 21-25 ABBAC 26-30 DBDDB31-33 CCA二、填空题(1)1111 (2)24 (3)6 (4)19 (5)6 (6)5756 (7)2 4(8)1 2 3 (9)92 (10)580 5 60 0 9数组与函数一、选择题1-5 BADCA 6-10 BABCA 11-15 BACDA 16-17 BC二、填空题(1)s=18 (2)11 (3)br[i] (4)j<i a[i][j]=a[j][i] (5)x[i][i] x[i-1][j-1]+x[i-1][j](6)a[k][i] *sum x,&s (7)row a[row][colum] (8)j+1 i%2==1 (9)a[row][col]>max max<min字符串一、选择题1-5 CDAAC 6-10 ACBCB 11-15 DABDD 16-20 BCBDC 21-25 BDCBB 26-30 DAAAC31-35 CDDCA二、填空题(1)abcfg(2)efgh(3)*t(4)bcdefgha(5)gae(6)*2*4*6*8*(7)*t++(8)cdeab (9)s-1 *s++ (10)p+n(11)str+strlen(str)-1 t==0 huiwen(str) (12)s[i]>='0'&&s[i]<='9' (13)c=getchar() 1对C语言的深入讨论一、选择题1-5 CDCDB 6-10 DACDA 11-15 ADBDC 16-20 CAADA 21-25 CDDCB 26-28 DC 二、填空题(1)findbig (2)c(3)!knahT (4)3*sizeof(double) 1.50,2.50,3.75 (5)11110111 (6)/i结构体与共用体一、选择题1-5 DBDCB 6-10 CDBAD 11 (1)C (2)A (3)B 12-16 ACBDD二、填空题(1)struct node * (2)sizeof(struct node) (3)p!=NULL p->next (4)->next->data (5) 2002shangxian (6)struct DATE d={2006,10,1};文件一、选择题1-5 CDDBA 6-10 BCDCA 11-15 DBADA 16-17 DB二、填空题(1)"d1.dat","rb" (2)"a" (3)!feof(fp) (4)"wb""rb" (5)Hell (6)fopen ftell。
C语言程序设计(第二版)答案
参考答案习题二(P33)一.单选题1.C2.B3.D4.C5.A6.D7.D8.B9.B 10.D 11.D 12.C 13.C . 15. A 14题最后一句应为printf("%f\n",d*y);结果为2.2二.填空题1. 182. int float double3. 10 114. 八十六十5. %三.阅读程序题1.10,10,9,102.j=1,i=2k=3,i=3j=3,i=2k=1,i=1习题三(P52)一.单选题1.D2.C3.D4.B5.A6.B7.C8.A9.C 10.B 11. -1,37777777777,4294967295 二.填空题5. L6. -1三.阅读程序题1. 6 6 6.00 6.002. x=127,x= 127,x=177,x=7fY=123.4567 , y= 123.46 , y=123.456703. 2,14. 12345. 4,36. -6,-6四.程序设计题1.#include "stdio.h"#include "math.h"main(){float a,b,c,d,x1,x2;a=2;b=-3;c=-5;d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%.2f,x2=%.2f\n",x1,x2);}2.#include <stdio.h>main(){ float a,v,s;scanf("%f",&a);v=a*a*a;s=6*a*a;printf("v=%.2f,s=%.2f\n",v,s);}3.#include <stdio.h>main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);t=c;c=b;b=a;a=t;printf("a=%d,b=%d,c=%d\n",a,b,c);}4.#include <stdio.h>main(){ char s1,s2;s1=getchar();s2=s1-32;printf("%c\n",s2);}习题四(P70)一.单选题1.C2.D3.D4.B5.A6.D7.D8.B9.C 10.A 11.B 12.D 13.passwarnerror .14.C 15. C 16.B 17. B 18. C二.填空题1. 非0 02. k==03. n%7==0 && n%8==0 else三.阅读程序题1. a=1,b=02. c=1四.程序设计题1.#include <stdio.h>main(){ int a,b;char c;printf("INPUT A+(-*/)B\n");scanf("%d%c%d",&a,&c,&b);switch(c){case'+':printf("%d+%d=%d\n",a,b,a+b);break;case'-':printf("%d-%d=%d\n",a,b,a-b);break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':printf("%d/%d=%d\n",a,b,a/b);break;default:printf("INPUT ERROR!");}}2.#include <stdio.h>main(){ float x,y;scanf("%f",&x);if(x==0||x==2)y=0;else if(x>0) y=(x+1)/(x-2);else y=(x-1)/(x-2);printf("y=%f\n",y);}3.#include <stdio.h>main(){ int g;printf("请输入学生成绩:");scanf("%d",&g);printf("g=%d:",g);switch(g/10){case 10:printf("A\n");break;case 9:printf("B\n");break;case 8:printf("C\n");break;case 7:printf("D\n");break;case 6:printf("E\n");break;default:printf("F\n");}}4.#include <stdio.h>main(){ int x,n=0;scanf("%d",&x);if(x<=0||x>=10000)printf("Data Error!\n");else{if(x<10)n=1;else if(x<100)n=2;else if(x<1000)n=3;else n=4;}printf("n=%d\n",n);}习题五(P87)一.单选题1.B2.D3.C4.C5.B6.C7.D8.C9.A 10.D 11.B 12.B 13.B 14.D 15. C 二.填空题1. for语句while语句do-while语句2. a=14,y=263. k=14,n= -14. 395. s=196. 222227. 108. 79. 810. 5,5三.改错题应改为for(i=0;i<5;i++)j++;应改为int j=0;while(j<10){j++;i=j;} 注while(j<10)后不应有分号应改为while(j<10); 注while(j<10)后分号不能少s*=i;i++;应改为{s*=i;i++;}continue 应改为break四.程序设计题1.#include <stdio.h>main(){ int i,j,s=0;for(i=1,j=1;i<=100;i++,j=j*(-1))s=s+i*j;printf("s=%d\n",s);}1.(另一做法)#include<stdio.h>main(){int i,s;for(i=1,s=0;i<=100;i++)if(i%2==0)s=s-i;else s=s+i;printf ("%d\n",s);}2.#include <stdio.h>main(){ int i,j,s1=0,s2=0;for(i=0;i<10;i++){scanf("%d",&j);if(j>0)s1=s1+j;else s2=s2+j;}printf("s1=%d,s2=%d\n",s1,s2);}3.#include<stdio.h>main(){int i,s;for(i=6,s=0;i<=96;i=i+1)if(i%10==6||i/10==6)s=s+i;printf ("%d\n",s);}4.#include<stdio.h>main(){int i,a,b,c;for(i=100;i<=999;i++){a=(i%10);b=(i/10%10);c=(i/100);if(i==a*a*a+b*b*b+c*c*c)printf ("%d\n",i);}}5.#include <stdio.h>main( ){int i,j,k=0;for (i=1;i<=4;i++){for (j=1;j<=i;j++){k++;printf("%d",k%10);}printf("\n");}}6.#include <stdio.h>main( ){int i,j,k=0;for (i=-3;i<=3;i++){if(i<0)k=-i;else k=i;for(j=1;j<=k;j++)printf(" ");for(j=1;j<=7-2*k;j++)printf("*");printf("\n");}}习题六(P111)一.单选题1.D2.B3.C4.C5.C6.D7.A8.B二.填空题1. 20 0 192. 数组名3. 越界4. 65. j==k a[j][k]=1; a[j][k]=0;三.阅读程序题1. 6 5 43 2 12.aaabbbccc ddd3.2,2,1四.程序设计题1.#include<stdio.h>main(){ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s+=a[i][j];printf("%d",s);}2.#include <stdio.h>{ char a[80];int i,j=5; /*假设删除位置为5*/gets(a);for(i=j-1;a[i]!='\0';i++)a[i]=a[i+1];a[i]='\0';puts(a);}3.#include <stdio.h>#include <string.h>main(){ char a[80];int i,j=5; /*假设插入位置为5*/char s='t'; /*假设插入字符为t*/gets(a);for(i=strlen(a);i>j;i--)a[i+1]=a[i];a[j]='t';puts(a);}4.#include<stdio.h>main(){ int a[3][5]={1,3,5,7,9,2,4,6,8,10,3,5,8,7,6}; int i,j,s1[3]={0},s2[5]={0};for(i=0;i<3;i++)for(j=0;j<5;j++)s1[i]+=a[i][ j];for(i=0;i<5;i++)for(j=0;j<3;j++)s2[i]+=a[ j][i];for(i=0;i<3;i++){for(j=0;j<5;j++)printf("%6d",a[i][j]);printf (" |%6d\n",s1[i]);}for(i=0;i<33;i++) printf("-");printf("\n");for(i=0;i<5;i++) printf("%6d",s2[i]);printf("\n");}5.#include<stdio.h>{ char s[3][80];int a=0,b=0,c=0,d=0,e=0,i,j;for(i=0;i<3;i++) gets(s[i]);for(i=0;i<3;i++)for(j=0;s[i][j]!='\0';j++)if(s[i][j]>='A'&&s[i][j]<='Z')a++;else if(s[i][j]>='a'&&s[i][j]<='z')b++;else if(s[i][j]>='0'&&s[i][j]<='9')c++;else if(s[i][j]==32)d++;else e++;printf("%3d%3d%3d%3d%3d",a,b,c,d,e);}习题七(P145)一.单选题1.A2.B3.C4.A5.C6.D7.C8.B9.B 10.C 11.D 二.填空题1. 该函数内局部2. 整型3. k<=breturn y;4. x[i]return (ave);fun(a,20)5. 1;add(n-1);add(n);6. n*f(n-1)0;f(i)三.阅读程序,写出运行结果1.10,20,302.643.84. hlo5. sum=55四.程序设计题1.#include <stdio.h>main(){float add(float, float), sub(float, float);float aver(float, float),a,b;scanf("%f,%f",&a,&b);printf("add=%f, sub=%f\n ", add(a,b), sub(a,b)); printf("aver =%f", aver(a,b));}float add(float x, float y) {return(x+y);}float sub(float x, float y) {return(x-y);}float aver(float x, float y) {return((x+y)/2);} 2.#include<stdio.h>main(){ int a,b,c,abmax(int,int);scanf("%d%d%d",&a,&b,&c);printf("max=%d\n",abmax(abmax(a,b),c)); }int abmax(int a,int b){if(a>b)return a;else return b;}3.#include <stdio.h>main(){float x,fun(float, int);int n;scanf("%f%d",&x,&n);printf("%f\n", fun(x,n));}float fun(float x, int n){float y;if(n==0)y=1;else y=x*fun(x,n-1);return y;}4.#include <stdio.h>main(){long f(int);int n,k;scanf("%d",&n);for(k=1;k<=n;k++)printf("%ld,",f(k));printf("\n");}long f(int n){long y;if(n<=2)y=1;else y=f(n-1)+f(n-2); return y;}5.#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k,s;for(k=0;k<n/2;k++) {s=a[k];a[k]=a[n-k-1];a[n-k-1]=s;}}5. (另一做法)#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k;char b[50];for(k=0;k<n;k++)b[n-1-k]=a[k];b[k]=a[k];strcpy(a,b);}6.#include <stdio.h>#define KK 100main(){char a[KK];long sjz(char a[]);int i=0,f1=0;printf("input a data:");gets(a);for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9'||a[i]>='A'&&a[i]<='F'||a[i]>='a'&&a[i]<='f') continue;else {f1=1;break;}}a[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(a));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}6.(另一做法)#include <stdio.h>#define KK 100main(){char str[KK],c;long sjz(char a[]);int i=0,f1=0;printf("input a data:");while((c=getchar())!='\n'&&i<KK){if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f')str[i++]=c;else f1=1;}str[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(str));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}习题八(P181) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.C4.D5.C6.B7.C8.C9.C 13.D 14.B 15.A 16.C 17.A 二.填空题1. 指向取地址2. 2 +23. 286. *(p+5)7. ABCD A三.阅读程序题1.102.103.04. 3,65. 1 2 3 4四.程序填空题1.a,b,c或者&x,&y,&z max=*b或者max=y max=*c或者max=z2. ++ =*q ++ ++4. int *a,int *b b[j]=a[i] b[i++]5. *str+=3 *str>’z’&&*str<’a’||*str>’z’ a6. else 0 t[2*j+1]五.程序设计题1.#include <stdio.h>main(){int a[10],*p,*q,t;p=a;for(q=a;q<a+10;q++)scanf("%d",q);for(q=a;q<a+10;q++)printf("%5d",*q);printf("\n");q--;for(;p<q;p++,q--){t=*p;*p=*q;*q=t;}for(p=a;p<a+10;p++)printf("%5d",*p);printf("\n");}2.#include <stdio.h>#include <string.h>void main( ){ char a[50],*p1,*p2,t,n;gets(a);n=strlen(a);p1=a; p2=a+n-1;for(; p1<p2; p1++, p2--){t=*p1; *p1=*p2; *p2=t;}puts(a);}另一做法#include <stdio.h>main(){char str[20],*p=str;gets(str);while(*p)p++;p--;while(p>=str){printf("%c",*p);p--;}printf("\n");}3.#include <stdio.h>main(){int a[10],*p,*max,*min,t;for(p=a;p<a+10;p++)scanf("%d",p); for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");max=min=a;for(p=a+1;p<a+10;p++){if(*p>*max)max=p;if(*p<*min)min=p;}t=a[0];a[0]=*min;*min=t;t=a[9];a[9]=*max;*max=t;for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");}5.#include <stdio.h>int length(char *s){int n=0;while(*s){n++;s++;}return n;}main(){char str[20];int n;gets(str);n=length(str);printf("The string length is %d\n",n);}6.#include <stdio.h>main(){char str[81],*p=str,*q,t;gets(str);printf("The origenal string:\n");puts(str);for(p=str;*(p+1);p++)for(q=p+1;*q;q++)if(*q<*p){t=*p;*p=*q;*q=t;}printf("The result string:\n");puts(str);}习题九(P222) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.B4.D 8.B 9.B 10.C二.填空题1. 结构体成员结构体指针指向2. 343. 224.ex三.阅读程序题1.92.10,x3.134. 46 40 415. 06. 3839。
C语言程序设计实用教程 参考答案
C语言程序设计实用教程参考答案C语言程序设计是计算机科学中最基础和重要的一门课程,对于计算机专业的学生来说至关重要。
本教程将为初学者提供一份实用的参考答案,帮助他们学习和理解C语言的程序设计。
1. 概述C语言是一种通用的高级编程语言,最初由贝尔实验室的Dennis Ritchie开发。
它在计算机科学领域具有广泛的应用,特别在系统开发和嵌入式系统中非常常见。
2. 程序结构C语言的程序结构主要包含预处理指令、函数、语句和注释。
预处理指令通过“#”符号开头,用于引入头文件和宏定义。
函数是C语言中的基本模块,用于封装和组织代码。
语句是具体的执行指令,用于实现特定的功能。
3. 常用数据类型C语言提供了多种数据类型,如整数、浮点数、字符和字符串等。
其中整数可以分为有符号整数和无符号整数。
浮点数用于处理带有小数部分的数值。
字符类型用于表示单个字符,字符串类型用于表示多个字符的序列。
4. 控制结构控制结构是C语言中的重要概念,用于控制程序的流程和执行顺序。
常见的控制结构包括条件语句(if-else语句和switch语句)和循环语句(while循环、for循环和do-while循环)。
5. 数组和指针数组是一种用于存储相同类型数据的集合。
C语言中的数组可以一维或多维。
指针是一种特殊的变量类型,用于存储内存地址。
通过指针可以实现对其他变量的间接操作。
6. 函数函数是C语言中的重要概念,用于将代码封装成可复用的模块。
C语言提供了多种函数类型和参数传递方式。
函数的定义包括函数名、返回类型、参数列表和函数体。
7. 文件操作C语言提供了对文件的操作功能,包括文件的打开、读取、写入和关闭等。
文件操作需要使用标准库函数和文件指针来实现。
8. 动态内存分配C语言中可以通过动态内存分配函数(如malloc和free)来动态分配和释放内存。
动态内存分配可以提高程序的灵活性和效率。
9. 结构体和联合体结构体是一种自定义数据类型,用于封装不同类型的数据成员。
C语言课后题答案【陈明晰 主编】
#include"stdio.h"
main()
{ float x,y;
scanf("%f",&x);
if(x<0.0) y=0.0;
else if((x<5.0)&&(x!=2.0))
y=1.0/(x+2.0);
else if(x<10.0) y=1.0/x;
else y=10.0;
printf("%f\n",y);
k=(a++<=0)&&(!(b--<=0));
printf("%d%d%d%\n",k,a,b);}
A.0 0 3B.0 1 2C.1 0 3D.1 1 2
8.为表示关系x≥y≥z,应使用C语言表达式( A )。
A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)
C.(x>=y>=z)D.(x>=y)&(y>=z)
8.设x、y为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1.0。
9.设整型变量x、y、z均为5,则:
①执行x-=y-z后,x的值为5。
②执行x%=y+z后,x的值为5。
10.数学式的C语言表达式为a/b*c)。
三、简答题
1.字符常量与字符串常量有什么区别?
2.对于Turbo C系统来说,char型变量与int型变量在内存中存储数据的区别是什么?
A.fB.e(E)C.g(G)D.x
10.若float num=123.456,以%+10.4d的格式输出,结果正确的是(B)
C语言程序设计教材答案
第1章C语言概述1.一个主函数多个2.main()3.c obj exe三、程序填空题main()printf四、运行结果$$$$$$$$$$$$$$$$AAAAAAAAASSSSSSSSSSSSSS五、编程题void main(){printf("**********************************\n");printf("* 请完成以下功能*\n");printf("* 1、进入程序2、切换用户*\n");printf("* 3、更新程序4、删除程序*\n");printf("* 请选择(1-4):*\n");printf("**********************************\n");}第2章数据类型、运算符、表达式与基本输入输出二、填空题1.3,12.不定值3.14.05.1,0,0,06.-2647.88.8,8,109.1三、运行结果题1.n=12.n=3,a=2,b=33.32767,327684.<1>7.<2>6<3>3.<4>2<5>6.<!>0.3.<1>0.<2>0<3>0<4>2<5>10<6>5第3章顺序程序设计二、填空题1.dec:-1,oct:,hex:ffffffff,unsigned:2.dec:1,oct:1,hex:1,unsigned:13.dec:65,oct:41,AXCII:A4.3.,,3.1425.3.,3.56.31.,3.e+0017.c=K8.a=1,b= ,c=29.a=12,b=34510.c=A三、编程题1.#include<stdio.h>void main(){float r,h,v;scanf("%f%f",&r,&h);v=3.14*r*r*h;printf("v=%f\n",v);}2.#include<stdio.h>void main(){int n,s=0;scanf("%d",&n);s=(n+1)*(n+2)*n/3;printf("1*2+2*3+...+n(n+1)=%d\n",s);}3.#include<stdio.h>void main(){int a,b,n=0;scamf("%d%d",&a,&b);n=a/2+b/4;printf("n=%d\n",n);}4.#include<stdio.h>void main(){printf(" O\n");printf("OOOOOOOOOOO000\n");printf("O O 0\n");printf("O O 0\n");printf("OOOOOOOOOOO000\n");printf(" O\n");}第4章分支结构程序设计习题解1.缺省{ }时,else总是与上面最近的、没有匹配过的if 匹配。
《C语言程序设计实践教程》答案-完整版
4.2练习题一、选择题1.D2.B3.A4.B和D5.C6.A7.B二、填空题1.//或/* */2.主或main3.函数首部和函数体4.编译和连接5.公号5.2练习题一、选择题1.A2.D3.B4.B5.C6.C7.D8.A9.B10.B11.D12.B13.A或B14.C15.B17.D18.D19.C20.D21.B22.A23.D24.C25.C26.B27.C28.D29.A30.B二、填空题1.102,102.#define 宏名字符串3.14.n=15.-46.a=1,b= ,c=27.c=A8.n1=%d\nn2=%d9.a+b>c&&a+c>b&&b+c>a10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.712.013.1111000014.8,46.2练习题一、选择题1.A2.C3.D4.C5.A7.A8.D9.B10.C11.A12.A13.C14.B15.正确答案为:12345678二、填空题1.102.y=1 x%i==03.屏幕中间输出一个由星号组成的菱形4.15.136.(cx=getchar())!=-1 front=cx; 7.m%n8.49.*p px=&x py=&y三、读程序,写结果1.-12.3,1,-1,3.a=16,y=604.x=12,y=45.597.2练习题一、选择题1.B2.C3.C4.A5.D6.C8.D9.C10.D11.D12.D13.A14.B15.C16.B17.B18.A19.A20.D21.B22.D23.C24.D25.D26.C二、填空题1.‘a’02.a[k] a[k] a[k]3.0 64.A B C D EA5.1,66.k=p;7.i<j8.189.4,some string * test 10.you&me三、读程序,写结果1.5 4 8 2 02.10 24 15 6 3.love china! H w l 4.66 66 555.Front一、选择题1. A2. A3. B4. B5. B6. A7. D8. C9. A10. A11. A12. B13. B14. A15. B16. B17. C二、填空题1.122.Itis3.fun(n-1)*n fun(k)4.s[i]-t[i]5.n%m i-1 x[d]6.x=n x%10 x7.m=f(a,4)+f(b,4)-f(a+b,3)8.a=1,b=1三、读程序,写结果1.s=72.s=373.bij12一、选择题1. B2. C3. B4. D5. B6. A7. B8. D9. D10. B11. D12. A13. B14. C15. C16. C17. A18. D19. B20. D二、填空题1.b->day (*b).day2.DDBBCC3.zhang 170.000000wang 150.0000004.995.max=i min=i stud[max].name,stud[max].score stud[min].name,stud[min].score6.&r 1 feof(fp) break7.BBB AAA 1238.rewind三、读程序,写结果1.2002,shangxian2.32。
c语言程序设计课后习题答案第四版
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.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); // 存活期存款。
《C语言程序设计实验指导与习题集》练习题的参考答案(中国铁道出版社)期末测试题参考答案
附录四期末测试题一、选择题1.下面对C语言字符数组的描述中错误的是________。
A.字符数组可以存放字符串B.字符数组的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较2. 在宏定义#define PI3.14159中,用宏名PI代替一个________。
A. 常量B. 单精度数C. 双精度数D. 字符串3. 以下有关宏替换的叙述不正确的是________。
A. 宏替换不占用运行时间B. 宏名无类型C. 宏替换只是字符替换D. 宏名必须用大写字母表示4. 若有语句int w[5]={-4,6,0,-1,9};则以下说法错误的是_________。
A. w 是地址的概念B. 编译后,数组w占用连续的储存空间C. 表达式w+3是地址的概念D. 表达式*(w+1)的值为-45. 变量的指针,其含义是指该变量的______。
A. 值B. 地址C. 名称D. 一个标志6. 若有语句ch ar s[]=“WELCOME”;为得到字符串中的字符…w‟,如下_______的引用方法是错误的。
A. s[0]B. *(s+1)C. *sD.*(s+0)7. 若有语句int *point,a=4;point=&a;下面均代表地址的一组选项是________。
A. a,point,*&aB. &*a,&a,*pointC. *&point,*point,&aD. &a,&*point,point8. 若有赋值语句x=2,y=3; ,则x&y的位运算结果是_______。
A.0B. 2C. 3D. 59. 用feof(fp)函数判断文件是否结束时,如果文件结束,则函数值为________。
A. 1B. …\0‟C. 0D. NULL10. 对于库函数fread(buffer,size,count,fp),关于参数buffer的描述正确的是_____。
c语言部分课后题答案
else
t=90*x+(x-y)*60;
print f("总金额是%d",t);
}
EX5-11
#include<stdio.h>
Void main()
{ float g,y;
printf ("请输入价格:");
scanf("%f",&g);
if(g<=1000)
y=0;
}
EX4-6
#include<stdio.h>
void main()
{ floata,b;
floats;
printf("请输入三位数");
scanf("%f%f",&a,&b);
s=a*b/0.18;
printf("凡需后为%f",s);
}
EX4-7
#include<stdio.h>
void main()
printf("%d是闰年",year);
else
printf("%d不是闰年",year);
}
另:最牛算法:
#include<stdio.h>
void main()
{ inta;
printf("请输入一个整数年号");
scanf("%d",&a);
printf(a%(a%100?4:400)?"NO":"YES"); //建议看看赞叹一下即可,不必学习。。。
《C语言程序设计》课后习题参考答案
运行结果:13
4.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第12次落地时,第12次反弹多高?按四舍五入的方法精确到小数点后面四位。
#include "stdio.h"
main()
{
float hn,sn=100.0;
int i;
hn=sn/2;
for(i=2; i<=12; i++)
#include <math.h>
main()
{
int sum=0, i, j, yes;
for(i=2; i<=500; i++)
{
yes=1;
for(j=2; j<=sqrt(i); j++)
if(i%j==0)
{
yes=0;
break;
}
if(yes) sum+=i;
}
printf("%d\n", sum);
源代码
#include <stdio.h>
void main()
{
int a[5]={3,-5,8,2,9};
int sum=0;
float average = 0;
int max = a[0];
int min = a[0];
int i;
for(i=0; i<5;i++)
sum += a[i];
average = (float)sum/5;
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
void main( )
c 面向对象程序设计_课后答案_中国铁道出版社_陈维兴_林小茶
c++面向对象程序设计_课后答案_中国铁道出版社_陈维兴_林小茶.txt婚姻是键盘,太多秩序和规则;爱情是鼠标,一点就通。
男人自比主机,内存最重要;女人好似显示器,一切都看得出来。
网址/xxgc/showart.asp?art_id=13网址/xxgc/showart.asp?art_id=17软件工程学院/xxgc/index.asp第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再由类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。
(2)需要用属性来描述它的某些特性。
01062_C程序设计(第五版)课后答案
06
结构体、联合体与枚举类型
2024/1/27
28
结构体定义及使用
结构体类型的定义
使用`struct`关键字定义结构体类型,指定结构 体名称及包含的成员变量。
结构体变量的访问
使用`.`运算符访问结构体变量的成员,可以读取 或修改成员的值。
ABCD
2024/1/27
结构体变量的定义与初始化
定义结构体变量并为其成员变量赋值,可以通过 直接赋值或使用初始化列表进行初始化。
函数与模块化设计
在C语言中,函数是实现模块化设计的基本单位。通过将程序 划分为若干个独立的函数,可以实现代码的模块化和重用。 同时,合理的函数划分可以提高程序的可读性和可维护性。
22
05
指针与动态内存管理
2024/1/27
23
指针概念及操作
指针定义
指针是一种特殊类型的变量,它存储的是另一个变量的内存地址, 而不是实际的值。
函数类型
函数的类型指的是函数返回值的类型。在定义函数时,需要指定函数的类型, 以便编译器能够正确处理函数的返回值。
2024/1/27
21
模块化设计思想
2024/1/27
模块化设计
将大型程序划分为若干个独立的、可重用的模块,每个模块 实现一个特定的功能。模块化设计可以提高程序的可维护性 、可重用性和可扩展性。
10
04
switch语句根据表达式 的值选择不同的case执 行,适用于多个固定值 的判断。
循环结构
重复执行某段代码,直到 满足某个条件为止。
常见的循环结构有for循 环、while循环和dowhile循环。
2024/1/27
for循环适用于已知循环 次数的情况,可以方便地 控制循环的起始和结束。
《C语言程序设计教程》习题参考答案
本文由huangwen199002贡献 doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
语言程序设计教程》 《C 语言程序设计教程》习题参考答案 默认分类 2007-09-10 12:38:44 阅读 6618 评论 13 【习题 1】 一、简答题(在课本中寻找答案,略) 1.1 C 程序的基本结构包括哪些内容? 1.2 如何定义标识符? 1.3 输入格式、输出格式的组成包括哪些内容? 1.4 C 语言函数分为哪两类? 1.5 计算表达式的值应该考虑哪些方面? 1.6 上机调试程序的步骤如何? 二、判断并改错 1.7 C 程序执行的入口是 main()函数,所以 main 函数必须放在程序的开头。
错误:main 函数可以放在程序的任何位置。
并不限定在程序的开头。
1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1.9 编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则 生成目标程序。
1.10 scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确 1.11 注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容 不会编译到目标程序中。
1.12 所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成 C 语言能够接受的公式才能出现在源程序中。
三、编程题 1.13 在屏幕上输出自己名字的拼音。
提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用 printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径 r,圆的周长:2*3.14*r,输出结果保留 2 位小数可以用%.2f 1.15 输入两个整数,输出其中最大者。
C语言程序设计(铁道出版社第二版)课后习题参考答案
C语言程序设计课后习题参考答案第1章一、选择题1.C2.B3.A4.B5.D二、填空题1.main2. main3.有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性4. 顺序、分支和循环5. 自顶向下,逐步细化、模块化设计、限制使用goto语句第2章一、选择题1.C2.C3.B4.C5.A二、叙述题1. 向菜单或工具栏添加命令(1)单击“工具”菜单中的“自定义”,或者右单击菜单栏(或工具栏),在弹出的快捷菜单中选择“自定义”命令选项。
(2)在“命令”选项卡的“请选择要重排的菜单或工具栏”下,选择要更改的菜单或工具栏,如选择工具栏,在其对应的下拉列表框中选择“调试”,然后单击“添加命令”。
(3)在“添加命令”话框中,从“类别”列表中选择类别名称,然后从“命令”列表中选择要添加的命令。
(4)单击“确定”,再单击“关闭”。
2.项目和解决方案是Visual Studio 2010提供的两类容器。
项目是构成某个程序的所有项的容器,该程序可能是控制台应用程序、基于窗口的应用程序或某种别的程序,构成项目的项可以是源代码文件、窗体、类、资源文件等。
一个解决方案可包含一个或多个项目,以及一些其他项。
例如,一个分布式系统可能由若干个不同的程序组成,而各个程序是作为同一个解决方案内的项目开发的。
源文件只有放在相关的项目中才可以生成可执行程序。
3.在解决方案资源管理中,首先移除该项目中的例1.1程序代码,然后右单击源文件,如果没有建立例1.2的代码文件,则选择添加→新建项,并选择C++文件,输入文件名和后缀.c,之后输入相关代码,就可生成项目、运行程序了;如果例1.2代码已存于某个源文件中,则选择添加→现有项,添加该源文件,生成、运行即可。
4.在VC++ 2010的编译系统中,编译会从多个角度检测每个错误,如果从多个角度解释都有问题,则系统会提示有多个错误。
也就说,哪怕一个程序中只有一个错误,但生成项目时可能会出现了一系列编译错误和警告信息。
C语言程序设计教材参考答案
C语言程序设计》课后习题详细答案
printf(″(1) a=%d,b=%d,c=%d\n″,a,b ,c);
t=c; c=b; b=a; a=t;
printf(″(2) a=%d,b=%d,c=%d\n″,a,b,c);
}
第四章选择结构习题分析与解答
一、选择题
4.1【参考答案】A)
4.2【参考答案】A)
4.3【参考答案】A)
4.4【参考答案】D)
(6)设计输出语句。输出a、b、c和ave。
(7)把以上内容放在主函数的一对花括号中。
(8)编写程序如下:
main()
{ double a,b,c,ave;
printf(″Enter a ,b ,c :″);
scanf(″%lf%lf%lf″, &a, &b, &c );
ave=(a+b+c)/3;
2.15【参考答案】[1]4.2[2]4.2
2.16【参考答案】[1]{[2]}[3]定义[4]执行
2.17【参考答案】[1]关键字[2]用户标识符
2.18【参考答案】[1]int[2]float[3]double
2.19【参考答案】float a1=1.0, a2=1.0;
或float a1=1, a2=1;(系统将自动把1转换为1.0)
3.27【参考答案】x=127, x=127 , x=$127 ,x=$000127, x=%06d
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.%d
B.%c
C.%f
D.%o
2.下面变量说明中(C)是正确的。
A.char:a ,b ,c;
B.char a;b;c;
C.char a , b , c;
D.char a,b ,c
3.putchar()函数可以向终端输出一个(D )。
A.整型变量表达式值
B.实型变量值
C.字符串
D.字符或字符型变量值
B.符号语言 D.面向对象的语言
二、填空题 1.一个C 程序总是从 主函数 开始执行。 2.结构化程序由 顺序 、 选择 、 循环 三种基本结构构成。 3.一个C 程序只有一个名为 main 的主函数。 4.C 程序中的每个语句以 分号 结束。 5.C 程序中,函数由 函数首部 和 函数体 组成。 6.每个基本结构有 一个 入口和 一个 出口,没有 死循环 和 死语句 。 7.算法是 计算机解决问题所依据的步骤。
5.在C 语言中,书写八进制数时必须加前缀 0
;书写十六进制数时必须加前缀 0x 。
6.在微机上,int 型、short 型、long 型、float 型和double 型数据一般在内存中分别占 2
字节、 2 字节、 4 字节、 4 字节和 8 字节。
7.设有下列运算符:<<、+、++、&&、>=,其中优先级最高的是 ++ ,优先级最低的是 && 。
A.3,3,2
B.3,2,2
C.3,2,3
D.2,3,2
11.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a 的值是( D)。
A.3
B.0
C.9
D.-12
12.在下列运算符中,优先级最高的是( B)。
A.&&
B.%
C.=
D.>=
13.设整型变量a 的值为3,则计算表达式a---a 后,表达式的值为(B)。
5.设x=3.5,a=5,y=6.7,求算术表达式x+a%3*(int)(x+y)%2/4 的值。 6.设a=2,b=3,x=4.5,y=1.6,求表达式(float)(a+b)/2+(int)x%inty 的值。
7.设整型变量a=12,写出下列表达式运算后a 的值。
① a*=2+5
② a/=a+a
③ a+=a-=a*=a
8.写出下列程序的运行结果。
main()
{ char c1='A',c2='B',c3='C',c4='\101',c5='\h42';
printf("A%cb%c\t%c\tbc\n",c1,c2,c3);
printf("\t\b%c%c",c4,c5);
}
结果:AAbB C
6.以下能正确地定义整型变量a、b 和c 并为其赋初值5 的语句是(C )。
A.int a=b=c=5;
B.int a,b,c=5;
C.int a=5,b=5,c=5;
D.a=b=c=5;
7.已知ch 是字符型变量,下面正确的赋值语句是(B )。
A.ch='a+b';
B.ch='\xff';
C.ch='\08';
习题二
一、选择题
1.下列数据中属于字符串常量的是( B)。
A.ABC
B."ABC"
C.'abc'
D.'A'
2.在计算机内存中,'\n'占用的字节数是( C)。
A.4
B.3
C.1
D.2
3.字符串"ABC"在内存中占用的字节数是( D)。
A.6
B.8
C.3
D.4
4.在C 语言中,合法的长整型常数是 ( B)。
abc
AB
9.写出下面程序的运行结果。
main() { int i,j,m,n;
i=5; j=6; m=++i; n=--j; printf("%d,%d,%d,%d",i,j,m,n); } 结果:6,5,6,5
习题三
一、选择题
1. printf() 函 数 输 出 实 数 时 , 使 用 的 格 式 字 符 是 ( C )。
一、选择题
1.C 程序的基本单位是( A)。
A.函数
B.文件
2.C 程序中的变量(B )。
A.不用说明
C.先引用后说明
3.变量的说明在(B )。
A.执行语句之后
C.执行语句当中
4.C 语言是一种( C)。
A.机器语言
C.高级语言
习题一
C.语句
D.字符
B.先说明后引用 D.引用和说明顺序无关
B.执行语句之前 D.位置无关
其可以得出正确结果。 main() { int h=5; float r,d,s,v; d=2*3.14*r; s=3.14*r*r; v=s*h;
printf("d=%f,s=%f,v=%f",d,s,v); } 3.下 面 程 序 用 来 求 解 总 电 流 I,要 求 保 留 两 位 小 数 ,已 知 输 入 值 为 220,30,60,45 ,正 解 为 15.89 , 请分析得到15.00 的原因。找出错误后改正。 main( ) { int U,R1,R2,R3;
A.1
B.0
C.2
D.表达式出错
14.设整型变量a、b、c 的值均为2,表达式a---b+++c++的结果是( C)。
A.6
B.9
Байду номын сангаас
C.2
D.表达式出错
15.若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2 的值是( D)。
A.1
B.2.5
C.2
D.2.0
16.下列表达式中符合C 语言语法的赋值表达式是( C)。
A.\\
B.\ 0
C.\"
D.0x4
8.设整型变量a、b 的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0
B.1
C.2
D.3
9.设a 的值为5,执行下列语句后,b 的值不为2 的是( C)。
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=(float)a/2
10.执行语句x=(a=3,b=a--)后,x、a、b 的值依次是( C)。
12.使用 getchar()和 putchar()函数必须在源程序中加 #include"stdio.h" 。 三、简答及程序设计题
1.解释输入输出的概念。 2. 已 知 圆 柱 高 h=5, 要 求 输 入 圆 的 半 径 , 求 出 圆 周 长 、 圆 面 积 和 圆 柱 体 积 。 找 出 错 误 , 改 正 使
D.ch="\";
8.设x、y 均为float 型变量,则以下不合法的赋值语句是( B )。
A.++x;
B.y=(x%2)/10;
C.x*=y+8;
D.x=y=0;
9.以下格式符中,不能用来输入实型数的是( B )
A.f
B.e(E)
C.g(G)
D.x
10. 若float num=123.456,以%+10.4d 的格式输出,结果正确的是( B )
A.123.456000 B. 123.4560
C.123.4560
D.+123.4560
二、填空题
1.以下程序的输出结果是 x=1 y=2 *sum*=3
10 squaredis :100 。
main() { int x=1,y=2;
printf("x=%d y=%d *sum*=%d\n",x,y,x+y); printf("10 squared is :%d\n",10*10); } 2.以下程序的输出结果是 a=325 x= 3.14 。
8.设x、y 为int 型变量,且x=1,y=2,则表达式1.0+x/y 的值为 1.0 。
9.设整型变量x、y、z 均为5,则:
① 执行x-=y-z 后,x 的值为 5
。
② 执行x%=y+z 后,x 的值为 5 。
a
10.数学式
的C 语言表达式为 a/(b*c) 。
b×c
三、简答题
1.字符常量与字符串常量有什么区别? 2.对于Turbo C 系统来说,char 型变量与int 型变量在内存中存储数据的区别是什么? 3.整型变量可细分为哪六类? 4.什么是一个实型数据的规范化指数形式?
main() { int a=325;double x=3.1415926;
printf("a=%2d x=%7.2f\n",a,x); } 3.假设变量a 和b 均为整型,以下语句可以不借助任何变量把a、b 中的值进行交换。请填空:
a+=b
; b=a-b
; a- =b
;
4.若x 为int 型变量,则执行以下语句后x 的值是 -14
和 %d 与k 的类型不一致 。 9.putchar()函数可以向终端输出一个 字符 。 10.已有定义int i,j;float x;为将-10 赋给 i,12 赋给 j,410.34 赋给x,则对应以下scanf()