c语言程序设计实训教程答案 c语言程序设计实训心得
大家好,如果您还对c语言程序设计实训教程答案不太了解,没有关系,今天就由本站为大家分享c语言程序设计实训教程答案的知识,包括c语言程序设计实训心得的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
C语言程序设计实训教程的中国铁道出版社出版图书
书名:C语言程序设计实训教程(第二版)
套系名称:高职高专计算机系列规划教材
书号:978-7-113-13740-3
版次:2-3
开本:16开
页码:216页
作者:宋海民贾学斌
出版时间:2011-12-01
定价:25元
适用专业:计算机专业
出版社:中国铁道出版社本书是《C语言程序设计(第二版)》的配套实训教材。全书共分5章,包括Visual C++ 6.0集成开发环境、C程序设计上机实训、二级C语言等级考试辅导、二级C语言等级考试模拟试题精选、习题与解答等内容。
本书是一本实用性较强的C语言程序设计实训教程和二级C语言等级考试辅导教材。本书适合作为高职高专各专业学生学习C语言程序设计的实训教材,也可供在校教师以及相关专业工程技术人员参考使用,对于参加全国计算机等级考试二级C语言考试的读者也具有一定的辅导价值。第1章 Visual C++ 6.0集成开发环境 1
1-1 Visual C++ 6.0集成开发
环境的使用 1
1-1-1 C++ 6.0开发
环境概述 1
1-1-2建立控制台应用程序 10
1-1-3多文件C程序的开发 14
1-1-4项目中文件的删除和
插入 15
第2章 C语言程序设计上机实训 17
2-1上机实训的指导思想和要求 17
2-1-1上机实训的目的 17
2-1-2上机实训前的
准备工作 18
2-1-3 C语言程序的建立、
编译、连接及执行 18
2-1-4上机实训的要求 18
2-1-5实训内容的安排 18
2-2 C语言程序设计实训内容 19
实训1 C语言程序的运行环境
和运行方法 19
实训2简单C语言程序设计 22
实训3选择结构程序设计 27
实训4循环程序设计 29
实训5数组 30
实训6函数、变量的作用域
和存储类型 35
实训7指针 40
实训8构造数据类型 44
实训9文件 50
实训10编译预处理 55
实训11位运算 58
实训12 C语言程序设计项目
开发 60
实训13 C语言程序课程设计 74
第3章二级C语言等级考试辅导 76
3-1 C语言概述辅导 76
3-1-1常见错误分析 76
3-1-2笔试知识重点
难点分析 76
3-2基本数据类型、运算符及
表达式辅导 77
3-2-1常见错误分析 77
3-2-2笔试知识重点
难点分析 78
3-3数据的输入输出辅导 81
3-3-1常见错误分析 81
3-3-2笔试知识重点
难点分析 82
3-4结构化程序设计辅导 85
3-4-1常见错误分析 85
3-4-2笔试知识重点
难点分析 86
3-5数组辅导 92
3-5-1常见错误分析 92
3-5-2笔试知识重点
难点分析 95
3-6函数辅导 96
3-6-1常见错误分析 96
3-6-2笔试知识重点
难点分析 99
3-7指针辅导 101
3-7-1常见错误分析 101
3-7-2笔试知识重点
难点分析 102
3-8构造数据类型辅导 103
3-8-1常见错误及应用技巧 103
3-8-2笔试知识重点难点
分析 104
3-9文件辅导 109
3-9-1常见问题及易犯的
错误 109
3-9-2笔试知识重点
难点分析 110
3-10编译预处理辅导 112
3-10-1常见问题及易犯的
错误分析 112
3-10-2笔试知识重点
难点分析 112
3-11位运算辅导 114
3-11-1常见错误分析 114
3-11-2笔试知识重点
难点分析 114
第4章二级C语言等级考试
模拟试题精选 116
4-1笔试模拟试题及参考答案 116
4-1-1笔试模拟试题一 116
4-1-2笔试模拟试题一
参考答案 127
4-1-3笔试模拟试题二 127
4-1-4笔试模拟试题二
参考答案 137
4-1-5笔试模拟试题三 138
4-1-6笔试模拟试题三
参考答案 149
4-1-7笔试模拟试题四 150
4-1-8笔试模拟试题四
参考答案 160
4-2上机模拟试题及参考答案 160
4-2-1上机模拟试题一 160
4-2-2上机模拟试题一
参考答案 162
4-2-3上机模拟试题二 163
4-2-4上机模拟试题二
参考答案 164
4-2-5上机模拟试题三 165
4-2-6上机模拟试题三
参考答案 166
4-2-7上机模拟试题四 166
4-2-8上机模拟试题四
参考答案 168
第5章习题与解答 169
附录A全国计算机等级考试二级C语言
考试大纲 195
附录B全国计算机等级考试公共基础
知识考试大纲 198
附录C全国计算机等级考试二级C语言
应试技巧 200
附录D实训报告书写参考格式 205
参考文献 206
o你好,能给我发一份《单片机C语言程序设计实训100例
【程序80】
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
1.程序分析:
2.程序源代码:
main()
{int i,m,j,k,count;
for(i=4;i<10000;i+=4)
{ count=0;
m=i;
for(k=0;k<5;k++)
{
j=i/4*5+1;
i=j;
if(j%4==0)
count++;
else
break;
}
i=m;
if(count==4)
{printf("%d\n",count);
break;}
}
}
【程序81】
题目:809*??=800*??+9*??+1其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
1.程序分析:
2.程序源代码:
output(long b,long i)
{ printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i);
}
main()
{long int a,b,i;
a=809;
for(i=10;i<100;i++)
{b=i*a+1;
if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)
output(b,i);}
}
==============================================================
【程序82】
题目:八进制转换为十进制
1.程序分析:
2.程序源代码:
main()
{ char*p,s[6];int n;
p=s;
gets(p);
n=0;
while(*(p)!='\0')
{n=n*8+*p-'0';
p++;}
printf("%d",n);
}
==============================================================
【程序83】
题目:求0—7所能组成的奇数个数。
1.程序分析:
2.程序源代码:
main()
{
long sum=4,s=4;
int j;
for(j=2;j<=8;j++)/*j is place of number*/{ printf("\n%ld",sum);
if(j<=2)
s*=7;
else
s*=8;
sum+=s;}
printf("\nsum=%ld",sum);
}
==============================================================
【程序84】
题目:一个偶数总能表示为两个素数之和。
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
#i nclude"math.h"
main()
{ int a,b,c,d;
scanf("%d",&a);
for(b=3;b<=a/2;b+=2)
{ for(c=2;c<=sqrt(b);c++)
if(b%c==0) break;
if(c>sqrt(b))
d=a-b;
else
break;
for(c=2;c<=sqrt(d);c++)
if(d%c==0) break;
if(c>sqrt(d))
printf("%d=%d+%d\n",a,b,d);
}
}
==============================================================
【程序85】
题目:判断一个素数能被几个9整除
1.程序分析:
2.程序源代码:
main()
{ long int m9=9,sum=9;
int zi,n1=1,c9=1;
scanf("%d",&zi);
while(n1!=0)
{ if(!(sum%zi))
n1=0;
else
{m9=m9*10;
sum=sum+m9;
c9++;
}
}
printf("%ld,can be divided by%d\"9\"",sum,c9);
}
==============================================================
【程序86】
题目:两个字符串连接程序
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
main()
{char a[]="acegikm";
char b[]="bdfhjlnpq";
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!='\0'&&b[j]!='\0')
{if(a[i]{ c[k]=a[i];i++;}
else
c[k]=b[j++];
k++;
}
c[k]='\0';
if(a[i]=='\0')
p=b+j;
else
p=a+i;
strcat(c,p);
puts(c);
}
==============================================================
【程序87】
题目:回答结果(结构体变量传递)
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
struct student
{ int x;
char c;
} a;
main()
{a.x=3;
a.c='a';
f(a);
printf("%d,%c",a.x,a.c);
}
f(struct student b)
{
b.x=20;
b.c='y';
}
==============================================================
【程序88】
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
1.程序分析:
2.程序源代码:
main()
{int i,a,n=1;
while(n<=7)
{ do{
scanf("%d",&a);
}while(a<1||a>50);
for(i=1;i<=a;i++)
printf("*");
printf("\n");
n++;}
getch();
}
==============================================================
【程序89】
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
1.程序分析:
2.程序源代码:
main()
{int a,i,aa[4],t;
scanf("%d",&a);
aa[0]=a%10;
aa[1]=a%100/10;
aa[2]=a%1000/100;
aa[3]=a/1000;
for(i=0;i<=3;i++)
{aa[i]+=5;
aa[i]%=10;
}
for(i=0;i<=3/2;i++)
{t=aa[i];
aa[i]=aa[3-i];
aa[3-i]=t;
}
for(i=3;i>=0;i--)
printf("%d",aa[i]);
}
==============================================================
【程序90】
题目:专升本一题,读结果。
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
#define M 5
main()
{int a[M]={1,2,3,4,5};
int i,j,t;
i=0;j=M-1;
while(i{t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
i++;j--;
}
for(i=0;i printf("%d",*(a+i));
}
【程序91】
题目:时间函数举例1
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
#i nclude"time.h"
void main()
{ time_t lt;/*define a longint time varible*/ lt=time(NULL);/*system time and date*/ printf(ctime(<));/*english format output*/ printf(asctime(localtime(<)));/*tranfer to tm*/ printf(asctime(gmtime(<)));/*tranfer to Greenwich time*/}
==============================================================
【程序92】
题目:时间函数举例2
1.程序分析:
2.程序源代码:
/*calculate time*/#i nclude"time.h"
#i nclude"stdio.h"
main()
{ time_t start,end;
int i;
start=time(NULL);
for(i=0;i<3000;i++)
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
end=time(NULL);
printf("\1: The different is%6.3f\n",difftime(end,start));
}
==============================================================
【程序93】
题目:时间函数举例3
1.程序分析:
2.程序源代码:
/*calculate time*/#i nclude"time.h"
#i nclude"stdio.h"
main()
{ clock_t start,end;
int i;
double var;
start=clock();
for(i=0;i<10000;i++)
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
end=clock();
printf("\1: The different is%6.3f\n",(double)(end-start));
}
==============================================================
【程序94】
题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。
1.程序分析:
2.程序源代码:
#i nclude"time.h"
#i nclude"stdlib.h"
#i nclude"stdio.h"
main()
{char c;
clock_t start,end;
time_t a,b;
double var;
int i,guess;
srand(time(NULL));
printf("do you want to play it.('y' or'n')\n");
loop:
while((c=getchar())=='y')
{
i=rand()%100;
printf("\nplease input number you guess:\n");
start=clock();
a=time(NULL);
scanf("%d",&guess);
while(guess!=i)
{if(guess>i)
{printf("please input a little smaller.\n");
scanf("%d",&guess);}
else
{printf("please input a little bigger.\n");
scanf("%d",&guess);}
}
end=clock();
b=time(NULL);
printf("\1: It took you%6.3f seconds\n",var=(double)(end-start)/18.2);
printf("\1: it took you%6.3f seconds\n\n",difftime(b,a));
if(var<15)
printf("\1\1 You are very clever!\1\1\n\n");
else if(var<25)
printf("\1\1 you are normal!\1\1\n\n");
else
printf("\1\1 you are stupid!\1\1\n\n");
printf("\1\1 Congradulations\1\1\n\n");
printf("The number you guess is%d",i);
}
printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
if((c=getch())=='y')
goto loop;
}
==============================================================
【程序95】
题目:家庭财务管理小程序
1.程序分析:
2.程序源代码:
/*money management system*/#i nclude"stdio.h"
#i nclude"dos.h"
main()
{
FILE*fp;
struct date d;
float sum,chm=0.0;
int len,i,j=0;
int c;
char ch[4]="",ch1[16]="",chtime[12]="",chshop[16],chmoney[8];
pp: clrscr();
sum=0.0;
gotoxy(1,1);printf("|---------------------------------------------------------------------------|");
gotoxy(1,2);printf("| money management system(C1.0) 2000.03|");
gotoxy(1,3);printf("|---------------------------------------------------------------------------|");
gotoxy(1,4);printf("|-- money records--|-- today cost list--|");
gotoxy(1,5);printf("|------------------------|-------------------------------------|");
gotoxy(1,6);printf("| date:--------------||");
gotoxy(1,7);printf("|||||");
gotoxy(1,8);printf("|--------------||");
gotoxy(1,9);printf("| thgs:------------------||");
gotoxy(1,10);printf("|||||");
gotoxy(1,11);printf("|------------------||");
gotoxy(1,12);printf("| cost:----------||");
gotoxy(1,13);printf("|||||");
gotoxy(1,14);printf("|----------||");
gotoxy(1,15);printf("|||");
gotoxy(1,16);printf("|||");
gotoxy(1,17);printf("|||");
gotoxy(1,18);printf("|||");
gotoxy(1,19);printf("|||");
gotoxy(1,20);printf("|||");
gotoxy(1,21);printf("|||");
gotoxy(1,22);printf("|||");
gotoxy(1,23);printf("|---------------------------------------------------------------------------|");
i=0;
getdate(&d);
sprintf(chtime,"%4d.%02d.%02d",d.da_year,d.da_mon,d.da_day);
for(;;)
{
gotoxy(3,24);printf(" Tab __browse cost list Esc __quit");
gotoxy(13,10);printf("");
gotoxy(13,13);printf("");
gotoxy(13,7);printf("%s",chtime);
j=18;
ch[0]=getch();
if(ch[0]==27)
break;
strcpy(chshop,"");
strcpy(chmoney,"");
if(ch[0]==9)
{
mm:i=0;
fp=fopen("home.dat","r+");
gotoxy(3,24);printf("");
gotoxy(6,4);printf(" list records");
gotoxy(1,5);printf("|-------------------------------------|");
gotoxy(41,4);printf("");
gotoxy(41,5);printf("|");
while(fscanf(fp,"%10s%14s%f\n",chtime,chshop,&chm)!=EOF)
{ if(i==36)
{ getch();
i=0;}
if((i%36)<17)
{ gotoxy(4,6+i);
printf("");
gotoxy(4,6+i);}
else
if((i%36)>16)
{ gotoxy(41,4+i-17);
printf("");
gotoxy(42,4+i-17);}
i++;
sum=sum+chm;
printf("%10s%-14s%6.1f\n",chtime,chshop,chm);}
gotoxy(1,23);printf("|---------------------------------------------------------------------------|");
gotoxy(1,24);printf("||");
gotoxy(1,25);printf("|---------------------------------------------------------------------------|");
gotoxy(10,24);printf("total is%8.1f$",sum);
fclose(fp);
gotoxy(49,24);printf("press any key to.....");getch();goto pp;
}
else
{
while(ch[0]!='\r')
{ if(j<10)
{ strncat(chtime,ch,1);
j++;}
if(ch[0]==8)
{
len=strlen(chtime)-1;
if(j>15)
{ len=len+1; j=11;}
strcpy(ch1,"");
j=j-2;
strncat(ch1,chtime,len);
strcpy(chtime,"");
strncat(chtime,ch1,len-1);
gotoxy(13,7);printf("");}
gotoxy(13,7);printf("%s",chtime);ch[0]=getch();
if(ch[0]==9)
goto mm;
if(ch[0]==27)
exit(1);
}
gotoxy(3,24);printf("");
gotoxy(13,10);
j=0;
ch[0]=getch();
while(ch[0]!='\r')
{ if(j<14)
{ strncat(chshop,ch,1);
j++;}
if(ch[0]==8)
{ len=strlen(chshop)-1;
strcpy(ch1,"");
j=j-2;
strncat(ch1,chshop,len);
strcpy(chshop,"");
strncat(chshop,ch1,len-1);
gotoxy(13,10);printf("");}
gotoxy(13,10);printf("%s",chshop);ch[0]=getch();}
gotoxy(13,13);
j=0;
ch[0]=getch();
while(ch[0]!='\r')
{ if(j<6)
{ strncat(chmoney,ch,1);
j++;}
if(ch[0]==8)
{ len=strlen(chmoney)-1;
strcpy(ch1,"");
j=j-2;
strncat(ch1,chmoney,len);
strcpy(chmoney,"");
strncat(chmoney,ch1,len-1);
gotoxy(13,13);printf("");}
gotoxy(13,13);printf("%s",chmoney);ch[0]=getch();}
if((strlen(chshop)==0)||(strlen(chmoney)==0))
continue;
if((fp=fopen("home.dat","a+"))!=NULL);
fprintf(fp,"%10s%14s%6s",chtime,chshop,chmoney);
fputc('\n',fp);
fclose(fp);
i++;
gotoxy(41,5+i);
printf("%10s%-14s%-6s",chtime,chshop,chmoney);
}}}
==============================================================
【程序96】
题目:计算字符串中子串出现的次数
1.程序分析:
2.程序源代码:
#i nclude"string.h"
#i nclude"stdio.h"
main()
{ char str1[20],str2[20],*p1,*p2;
int sum=0;
printf("please input two strings\n");
scanf("%s%s",str1,str2);
p1=str1;p2=str2;
while(*p1!='\0')
{
if(*p1==*p2)
{while(*p1==*p2&&*p2!='\0')
{p1++;
p2++;}
}
else
p1++;
if(*p2=='\0')
sum++;
p2=str2;
}
printf("%d",sum);
getch();}
==============================================================
【程序97】
题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
main()
{ FILE*fp;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{printf("cannot open file\n");
exit(0);}
ch=getchar();
ch=getchar();
while(ch!='#')
{fputc(ch,fp);putchar(ch);
ch=getchar();
}
fclose(fp);
}
==============================================================
【程序98】
题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
main()
{FILE*fp;
char str[100],filename[10];
int i=0;
if((fp=fopen("test","w"))==NULL)
{ printf("cannot open the file\n");
exit(0);}
printf("please input a string:\n");
gets(str);
while(str[i]!='!')
{ if(str[i]>='a'&&str[i]<='z')
str[i]=str[i]-32;
fputc(str[i],fp);
i++;}
fclose(fp);
fp=fopen("test","r");
fgets(str,strlen(str)+1,fp);
printf("%s\n",str);
fclose(fp);
}
==============================================================
【程序99】
题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
main()
{ FILE*fp;
int i,j,n,ni;
char c[160],t,ch;
if((fp=fopen("A","r"))==NULL)
{printf("file A cannot be opened\n");
exit(0);}
printf("\n A contents are:\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{c[i]=ch;
putchar(c[i]);
}
fclose(fp);
ni=i;
if((fp=fopen("B","r"))==NULL)
{printf("file B cannot be opened\n");
exit(0);}
printf("\n B contents are:\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{c[i]=ch;
putchar(c[i]);
}
fclose(fp);
n=i;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(c[i]>c[j])
{t=c[i];c[i]=c[j];c[j]=t;}
printf("\n C file is:\n");
fp=fopen("C","w");
for(i=0;i<n;i++)
{ putc(c[i],fp);
putchar(c[i]);
}
fclose(fp);
}
==============================================================
【程序100】
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
1.程序分析:
2.程序源代码:
#i nclude"stdio.h"
struct student
{ char num[6];
char name[8];
int score[3];
float avr;
} stu[5];
main()
{int i,j,sum
跪求《C语言程序设计》课本习题答案!!!
习题1参考答案
一、选择题 1. A 2. D
二、填空题
1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8
3.关键字
4.编辑、编译、链接和运行
三、简答题 1.答:
(1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。
(2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。(3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。
(4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。
(5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。(6)C语言与汇编语言相比,可移植性好。
(7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。
2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答:
(1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!