#include
#include
#include
#define N 300
void input(); //输入模块
void save(); //保存模块
void read(); //读盘模块
void ready();
void list(); // 列表模块
void sfbc(); //是否保存
void del(); // 删除模块
void modify(); // 修改模块
void search(); // 查询模块
double gzjs(int a); //工资计算模块
int check(); //
void ygdl(); //员工登陆
struct wor_info
{
char gh[8]; //工号
char xm[7]; //姓名
char xb[3]; //性别
char zw[21]; //职位(jingli,zhuguan,yuangong)
int nl; //年龄
int gl; //工龄
float tc; //提成
double gz; //工资
};
struct wor_info wor[N+1];
int CurrentCount=0;
void main()
{
int dl,xz=1;
printf("\n 欢迎实用员工基本信息管理系统\n\n\n");
printf("\n请输入您的登陆类型(1--管理登陆,2--员工登陆查看(信息录入后方可查看))\n");
scanf("%d",&dl);
if(dl==2)
ygdl();
else
if(dl==1)
{
if(check()!=0)
{
printf("\n您无权实用本系统..........\n\n");
system("pause");
}
else
{
while(xz!=0)
{
printf("\n请输入相应的功能:\n");
printf(" 1-录入\n 2-排列\n 3-保存\n 4-读取\n 5-查询\n 6-修改\n 7-删除\n 0-结束\n 请选择:");
scanf("%d",&xz);
switch(xz)
{
case 1:
input();break;
case 2:
list();break;
case 3:
save();break;
case 4:
read();break;
case 5:
search();break;
case 6:
modify();break;
case 7:
del();break;
case 0:
printf("\n\n谢谢使用本系统!\n\n");system("pause");
default:
printf("\n无此功能,请重新选择.......\n");
system("pause");
}
}
}
}
}
void input()
{
char sfjx=1;
while(sfjx!=0)
{
if(CurrentCount==N)
{
printf("\n人数已达上限,不能添加!!!\n");
sfjx=0;
}
else
{
CurrentCount++;
printf("\n请输入一个人员的相关信息(工号,姓名,性别,职位(jingli,zhuguan,yuangong),年龄,工龄,提成(小数))\n");
scanf("%s%s%s%s%d%d%f",wor[CurrentCount].gh,wor[CurrentCount].xm,wor[CurrentCount].x b,wor[CurrentCount].zw,&wor[CurrentCount].nl,&wor[CurrentCount].gl,&wor[CurrentCount].tc) ;
wor[CurrentCount].gz=gzjs(CurrentCount);
printf("\n是否继续(0-结束,其他-继续):");
scanf("%d",&sfjx);
}
}
}
void save()
{
FILE *fp;
fp=fopen("xjjbxx.txt","w");
if(fp==NULL)
printf("\n文件打开不成功,信息无法保存!!!\n");
else
{
fprintf(fp,"%d",CurrentCount);
for(int i=1;i<=CurrentCount;i++)
{
fprintf(fp,"\n%9s%8s%4s%21s%6d%6d%8.2f %6.2f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i] .zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz);
printf("\n");
}
fclose(fp);
printf("\n信息已成功保存!!!\n");
}
}
void read()
{
FILE *fp;
fp=fopen("xjjbxx.txt","r");
if(fp==NULL)
printf("\n文件打开不成功,信息无法读取!!!\n");
else
{
fscanf(fp,"%d",&CurrentCount);
for(int i=1;i<=CurrentCount;i++)
{
fscanf(fp,"%s%s%s%s%d%d%f%f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,&wor[i].nl,&wor[i]. gl,&wor[i].tc,&wor[i].gz);
printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d 提成: %6.4f 工资:%8.2f",
wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz=gzjs(i));
printf("\n");
}
fclose(fp);
printf("信息已成功读取!!!\n");
}
}
void ready()
{
FILE *fp;
fp=fopen("xjjbxx.txt","r");
if(fp==NULL)
printf("\n文件打开不成功,信息无法读取!!!\n");
else
{
fscanf(fp,"%d",&CurrentCount);
for(int i=1;i<=CurrentCount;i++)
{
fscanf(fp,"%s%s%s%s%d%d%f%f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,&wor[i].nl,&wor[i]. gl,&wor[i].tc,&wor[i].gz);
}
fclose(fp);
}
}
void list()
{
int i,j;
for(i=1;i for(j=CurrentCount;j>1;j--) if(strcmp(wor[j].gh,wor[j-1].gh)<0) { wor[0]=wor[j]; wor[j]=wor[j-1]; wor[j-1]=wor[0]; } printf("\n........员工基本信息表\n"); printf(" 工号姓名性别职位年龄工龄提成工资\n"); for(i=1;i<=CurrentCount;i++) { printf("%9s%8s%4s%21s%6d%6d%6.2f %9.2f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wo r[i].nl,wor[i].gl,wor[i].tc,wor[i].gz); printf("\n"); } } void sfbc() { int sfbc=0; printf("\n信息以改变,是否保存(1-保存,其他-不保存)\n"); scanf("%d",&sfbc); if(sfbc==1) { list(); save(); printf("\n信息已成功保存!\n"); } else printf("\n信息未保存\n"); } void del() { char dcgh[8]; int sfjx=1,i,j; while(sfjx!=0) { printf("\n请输入一个待删员工的工号:"); scanf("%s",dcgh); strcpy(wor[0].gh,dcgh); i=CurrentCount; while(strcmp(wor[i].gh,dcgh)!=0) i--; if(i==0) printf("查无此人!!\n"); else { printf("\n此人的详细信息如下:\n"); printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d 提成: %f 工资:%f\n", wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz); printf("\n按任意键开始删除...........\n"); system("pause"); for(j=i+1;j<=CurrentCount;j++) wor[j-1]=wor[j]; CurrentCount--; printf("\n已成功删除........\n"); system("pause"); } printf("\n是否继续(0-结束,其他-继续):"); scanf("%d",&sfjx); } sfbc(); } void modify() { char dcgh[8]; int sfjx=1,i; while(sfjx!=0) { printf("\n请输入一个待修改员工的工号:"); scanf("%s",dcgh); strcpy(wor[0].gh,dcgh); i=CurrentCount; while(strcmp(wor[i].gh,dcgh)!=0) i--; if(i==0) printf("查无此人!!\n"); else { printf("\n此人的详细信息如下:\n"); printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d 提成: %f 工资:%f\n", wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz); printf("\n请输入新内容.........\n"); printf("\n请输入一个人员的相关信息(工号,姓名,性别,职位(jingli,zhuguan,yuangong),年龄,工龄,提成)\n"); scanf("%s%s%s%s%d%d%f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,&wor[i].nl,&wor[i].gl ,&wor[i].tc); wor[i].gz=gzjs(i); printf("\n已成功修改.............\n"); } printf("\n是否继续(0-结束,其他-继续):"); scanf("%d",&sfjx); } sfbc(); } void search() { char dcgh[8]; int sfjx=1,i; while(sfjx!=0) { printf("\n请输入一个员工的工号:"); scanf("%s",dcgh); strcpy(wor[0].gh,dcgh); i=CurrentCount; while(strcmp(wor[i].gh,dcgh)!=0) i--; if(i==0) printf("查无此人!!\n"); else { printf("\n此人的详细信息如下:\n"); printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d 提成: %f 工资:%f\n", wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz); } printf("\n是否继续(0-结束,其他-继续):"); scanf("%d",&sfjx); } } double gzjs(int a) { double gz; if(strcmp(wor[a].zw,"jingli")==0) gz=3000.0+(wor[a].tc+wor[a].gl/100.0)*3000.0; if(strcmp(wor[a].zw,"zhuguan")==0) gz=2000.0+(wor[a].tc+wor[a].gl/100.0)*2000.0; if(strcmp(wor[a].zw,"yuangong")==0) gz=1000.0+(wor[a].tc+wor[a].gl/100.0)*1000.0; return(gz); } int check() { int count=0,name,pass; while(count<=2) { printf("\n请输入用户及密码:"); scanf("%d%d",&name,&pass); count++; if((name==1)&&(pass==1)) count=10; else if(count>2) count=5; } if(count==10) return 0; else return 1; } void ygdl() { int i; char name[7],password[8]; ready(); printf("\n请输入你的姓名:\n"); scanf("%s",name); strcpy(wor[0].xm,name); i=CurrentCount; while(strcmp(wor[i].xm,name)!=0) i--; if(i==0) printf("\n无此用户\n\n"); else { printf("\n请输入你的工号\n"); scanf("%s",password); if(strcmp(wor[i].gh,password)==0) { printf("\n你的信息如下:\n"); printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d 提成: %6.4f 工资:%8.2f\n", wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz=gzjs(i)); } else printf("\n密码错误\n"); } } 1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max {char #include 剪刀石头布源代码 #include 简单计算器 #include 加油站加油问题 #include C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y); }elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x); C语言程序设计 <一> 1、程序运行从main()函数开始,也从main()函数结束。 2、函数是C程序的基本单位,由函数头和函数体组成。 3、C语言源程序是由函数组成,它们的数目可以有多个。 4、在C语言源程序中,是必须有一个函数名为main的函数。main()后的小括号()没有任何内容,它不可以省略。 5、C程序中的语句用分号结束,在一个程序行上可以有多个语句,一个C 语句能写在多个程序行上。 6、函数体是由一对大括号围起来语句序列组成。小括号是函数的标志。 二、C语言的组成元素 1、命令、函数和变量等是组成程序的基本对象,每一个程序对象都需要一个名字来标识,程序对象的名称就是标识符。 2、在C语言中,标识符分为用户标识符和系统标识符。 3、用户标识符是指在程序中由程序员为变量、函数、数组等程序对象自行命名的标识符。 4、系统标识符是指C语言编译系统内部预定义的用于表示命令数据内型的标识符,又称保留字符。 5、基本字符集 英文字母:a~z和A~Z。 阿拉伯数字:0~9。其他字符:()、[ ]、+、-、*、/、%、<、>、<=、>=、==、!=、!、&&、‖、++、--、+=、-=、*=、/=、%=。它们是由1~2个字符组成。用作C语言的运算符;还包括:空格、换行符,回车符,单双引号,大括号,逗号,分号,反斜线,它们在程序中起到分隔和定界作用。 6、标识符:是用于标识命令;变量、函数,数组,数据类型等程序对象名称的字符序列。 7、组成标识符的合法字符有:字母,数字,下划线,三种,数字不能作首字符。 三、执行C语言程序 1、单击“开始”——“程序”——“附件”——“命令提示符”。 2、按功能键<10>激活菜单,执行“File”——“NEW”(ALT+回车)全屏。 3、 教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分 习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A 5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ± ~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15 6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7. 8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一 #include getch(); } #include 创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* 1.要求在屏幕上输出下一行信息。 This is a c program. 程序: #include sum=a+b; printf(“sum is %d\n”,sum); return 0; } 3.求两个整数之间的较大者。 程序: #include } 4.有人用温度计测量出华氏发表示的温度(如69°F),今要 求把她转换成以摄氏法表示的温度(如20℃)。 公式:c=5(f-32)/9. 其中f代表华氏温度,c代表摄氏温度。 程序: #include C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII) c语言课程设计源代码标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N] 学校运动会管理系统问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include<> #include<> #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"}; char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing); iming,n_number[0])==0) iming); iming,n_number[h])==0) for(int s=0;s /*PL/0 编译系统C版本头文件pl0.h*/ # define norw 13 //a number of reserved word /*关键字个数*/ # define txmax 100 //length of identifier table /*名字表容量*/ # define nmax 14 //max number of digits in numbers /*number的最大位数*/ # define al 10 //length of identifier /*符号的最大长度*/ # define amax 2047 //maximum address /*地址上界*/ # define levmax 3 //max depth of block nesting /*最大允许过程嵌套声明层数[0,lexmax]*/ # define cxmax 200 //size of code array /*最多的虚拟机代码数*/ /*符号*/ enum symbol{ nul, ident, number, plus, minus, times, slash, oddsym, eql, neq, //slash斜线 lss, leq, gtr, geq, lparen, //leq :less than or equal to; gtr: great than;lparen:left parenthesis rparen, comma, semicolon,period, becomes,//comma逗号semicolon分号period句号becomes赋值号 beginsym, endsym, ifsym, thensym, whilesym, writesym, readsym, dosym, callsym, constsym, varsym, procsym, }; #define symnum 32 /*-------------*/ enum object{ //object为三种标识符的类型 constant, variable, procedur, }; /*--------------*/ enum fct{ //fct类型分别标识类PCODE的各条指令 lit, opr, lod, sto, cal, inte, jmp, jpc, //书本P23 }; #define fctnum 8 /*--------------*/ struct instruction //指令 { enum fct f; //功能码 int l; //层次差 int a; //P23 }; //A.2 C 版本 /*编译和运行环境: *1Visual C++6.0,VisualC++.NET and Visual C++.NET 2003 *WinNT, Win 200, WinXP and Win2003 *2 gcc version 3.3.2 20031022(Red Hat Linux 3.3.2-1) *Redhat Fedora core 1 *Intel 32 platform *使用方法: *运行后输入PL/0 源程序文件名 *回答是否输出虚拟机代码 *回答是否输出名字表 *fa.tmp 输出虚拟机代码 *fa1.tmp 输出源文件及其各行对应的首地址 *fa2.tmp 输出结果 *fas.tmp 输出名字表 */ #include 1.5请参照本章例题,编写一个C程序,输出以下信息: ************ Very Goodj! ************ 解: 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 《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号 C语言程序设计(第三版)习题答案 习题一 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2 (5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10 二、简答题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法具有哪些特点? 答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。 4. 结构化程序设计方法的三种基本结构是什么? 答:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S流程图最大的区别是什么? 答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图或N-S流程图表示求解以下问题的算法。 1. 从键盘输入10个整数,求出其中的最小数并输出。 2. 求1+2+3+…+100的值。 3. 求10~50的所有素数之和。 4. 求下列分段函数的值。 四、请参照本章例题,编写一个简单的C程序,输出以下三行信息。 ************************** Yangtze University ************************** #include printf(" Yangtze University\n"); printf("**************************\n"); } 习题二 一、选择题 1~10: B C D C D D B C A A 11~20: D A C D B D B A C D 二、填空题 1.字母 L 或字母 l 2. %c(或字符) 、 %d(或整数) 3.在程序运行过程中,其值可以在一定的范围内变化的量 4. '\0' 5.小数形式、指数形式 6.关键字、预定义标识符、用户标识符 7.字母、数字、下划线、数字 8. 18 9. 2 、 1 、 30 10.双精度实数或double 11.赋值、逗号、 20 、 20 、 20 、 4 12. 4 、 4 习题三 一、选择题 1~10: B C C B C C C D C C 注:第4题答案D为: 10 22↙ 33↙ 二、填空题 1. printf 、 scanf 2. h 3. "%5d" 4. '\0' 5. e 、 E 6. 6 7. s 、 c 8. * 9. - 、 + 10. i 三、编程题 1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。例如输入的时间为4258秒,则输出结果为:1小时10分58秒。 经典C语言源代码 1、(1)某年某月某日是星期几 #include case 2:printf("Tuesday\n"); break; case 3:printf("Wednesday\n"); break; case 4:printf("Thursday\n"); break; case 5:printf("Friday\n"); break; case 6:printf("Saturday\n"); break; case 0:printf("Sunday\n"); break; } } return 0; } 1、(2)某年某月某日是第几天(一维数组) #include "stdio.h" void main() { int i, flag, year, month, day, dayth; int month_day[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; printf("请输入年/月/日:\n"); scanf_s("%d/%d/%d", &year, &month, &day); dayth = day; flag = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0); if (flag) month_day[2] = 29; C语言程序设计(第三版)习题库 1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include } xx,1,,3、有一函数:y,2x,11,x,10 写一程序,输入x值,输出y 值。 ,,3x,11x,10, #include 1》分解质因数的程序: #include 2》看你的星座的程序: #include C语言课程设计 综合性程序设计报告之源程序 设计题目:电脑公司进销存管理系统 专业:冶金工程 学号:8090507 姓名:刘欢 成绩: ____________ 设计时间: 2010年 11月 03 日 二.开题说明 1.问题概要 该系统用于处理某电脑公司的设备买入,卖出,仓储等设备账目。在买入设备时,记录设备的数量型号(如computer,keyboard)和价钱,并在库房记录中添加设备,在卖出设备时从库房中减掉该设备,并根据卖出的数量型号和价钱得出每一笔买出的利润。每个一段时间盘点库房和账目计算出利润等数据。 基本要求: 有货物管理(设备的添加,删除,修改) 有账目管理 可以查询账目清单 可以计算年度或月份或季度利润。 2.问题分析: 先定义合适的结构体,存储物品信息。在程序中建立一个文件用于存储,凡进行了进货操作的物品在文件中都有记录,进货时由于尚不知售货时间与售价、利润,故此三项(实际为四项,时间分为年、月两项)暂先赋值为零,待进行售货操作时再输入各数值,其中利润由系统自动计算得出并保存。账目清单分为已售、仓储两部分,由此可看到所有购进、卖出的货物信息。月利润查询可查得所输入年月的各类所售货物数量与利润。 三.功能模块 四.源程序 #include <> #include <> #include <> #include <> #include <> #define LEN sizeof(struct object) #define FORMAT1 "\t%-8d%-11s%%-6d%-4d\n" #define DATA1 (p1+i)->num,(p1+i)->name,(p1+i)->inprice,(p1+i)->inyear,(p1+i)->inm onth #define FORMAT2 "\t%-8d%-11s%%%%-6d%-4d%-6d%-4d\n" #define DATA2 (p1+i)->num,(p1+i)->name,(p1+i)->inprice,(p1+i)->outprice,(p1+i)->p rofit,(p1+i)->inyear,(p1+i)->inmonth,(p1+i)->outyear,(p1+i)->outmonC语言程序设计第三版谭浩强课后习题答案完整版
C语言源代码
C语言程序设计第三版习题库答案
C语言源程序
C语言程序设计教程第三版(李凤霞)习题答案
简单易懂的C语言源代码(供初学者使用)
c语言程序代码
C语言程序设计第三版谭浩强课后习题答案完整版
c语言课程设计源代码
PL0源代码(C语言版)
PL0-C语言源代码
c语言程序设计(第3版)的习题答案
《C语言程序设计》基本知识点
C语言程序设计答案(第三版)杜友福word文档
经典C语言源代码
C语言程序设计(第三版)习题库
几个简单的c语言源程序
c语言进销存管理系统源程序