专升本c语言上机笔记Word文档下载推荐.docx

上传人:b****2 文档编号:400890 上传时间:2023-04-28 格式:DOCX 页数:27 大小:111.73KB
下载 相关 举报
专升本c语言上机笔记Word文档下载推荐.docx_第1页
第1页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第2页
第2页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第3页
第3页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第4页
第4页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第5页
第5页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第6页
第6页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第7页
第7页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第8页
第8页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第9页
第9页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第10页
第10页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第11页
第11页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第12页
第12页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第13页
第13页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第14页
第14页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第15页
第15页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第16页
第16页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第17页
第17页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第18页
第18页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第19页
第19页 / 共27页
专升本c语言上机笔记Word文档下载推荐.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

专升本c语言上机笔记Word文档下载推荐.docx

《专升本c语言上机笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《专升本c语言上机笔记Word文档下载推荐.docx(27页珍藏版)》请在冰点文库上搜索。

专升本c语言上机笔记Word文档下载推荐.docx

11.先编译后运行程序代码检查无误,运行时总是说stido.h有问题,此时需要检查[options]菜下的【directoried】【includedirectoried】。

如查出路径不一致,需要将整个tuboc文件夹复制到指定的【includedirectoried】下。

12.程序运行后,如果代码出现问题,需要重新编辑时,可能会出现无法输入代码的现象,此时需要按f6进入编辑状态。

(菜单里面选编辑项然后按回车)

13.退出turboc,quit(alt+x)记得随时保存

14.注意改写和插入的转换用insert

实例1:

输入圆的半径分别计算出远的面积area,圆的周长c1,输出结果要有相应的文字说明。

#include<

stdio.h>

#definePI3.1415

main()

{

doublearea,c1;

intr;

printf("

pleaseinputradinsofacircle:

"

);

scanf("

%d"

&

r);

area=PI*r*r;

c1=2*PI*r;

Theareaofacircleid:

%f"

area);

Thec1ofacircleid:

c1);

}

实例2:

输出园的面积(半径为1-10)面积大于100时停止。

[在(C:

\Turbo_C\tc\INCLUDE)名为01](注意getchar()才能显示)

#include<

intr;

doublearea;

for(r=1;

r<

=10;

r++)

if(area>

100)

break;

%d%8.2f\n"

r,area);

getchar();

 

C++

C和c++注意事项:

1.保存的默认路径:

C:

\JMSOFT\CYuYan

2.编译、生成可执行文件、运行可以分开操作,也可直接点击运行按钮。

Vc++6.0注意事项:

1.开始->

microsoftvisualc++(进入程序)

2.文件->

新建选项->

新建窗口中(文件选项)->

c++sourcefiel->

给文件起名,必须要写.c->

确定->

代码编辑区->

保存

3.文件的存储路径要记住

4.保存文件后,编辑文件,随时保存

5.先编译、链接、再执行。

6.vc++中可以写汉字

第二部分:

能够使用if、switch语句,while、do-while及for来解决实际问题的程序代码

If题:

编写程序判断正整数即是3的倍数也是7的倍数,是输出yes,否则输出no。

#include"

stdio.h"

voidmain()

intx;

x);

if(x%3==0&

&

x%7==0)

yes"

else

no"

Switch题:

编写程序实现计算器的功能:

读入两个数(a1和a2)及一个运算符(opt),计算表达式a1opta2的值,其中opt可以是+、-、*、/四中运算符中的任何一种(用switch语句实现)

floata1,a2,a3;

charopt;

请输入要计算的式子:

%f%c%f"

a1,&

opt,&

a2);

/*注意&

注意‘+’*/

switch(opt)

{

case'

+'

:

a3=a1+a2;

break;

/*注意break*/

-'

a3=a1-a2;

*'

a3=a1*a2;

/'

if(a2==0)

{printf("

被除数为零重新输入"

exit

(1);

}/*注意exit退出程序*/

a3=a1/a2;

default:

printf("

重新输入"

}

%f%c%f=%f"

a1,opt,a2,a3);

While和do-while题:

求1~n正整数和。

Sum别忘记赋初值=0

While:

inti=1,n;

longsum=0;

scanf("

n);

while(i<

=n)

sum+=i;

i++;

sum);

Do-while:

inti=1,n,sum=0;

do

}while(i<

=n);

For题:

编写程序完成用100元人民币换成1元、2元、5元的所有兑换方案。

inti,j,k;

for(k=0;

k<

=20;

k++)

for(j=0;

j<

=50;

j++)

i=100-k*5-j*2;

if(i>

=0)

100元人民币可换%d张1元,%d张2元,%d张5元\n"

i,j,k);

}

第三部分:

能够利用好数组求和、求最大值、最小值、查找、排序等经典实际问题。

数组题:

求最大值、最小值、求和、求平均

#defineN50

inta[N],max,min,sum,i,n;

doubleave;

请输入要录入成绩的学生人数,不多于50个人!

\n"

请输入%d个同学的成绩,成绩之间用空格分开:

n);

for(i=0;

i<

n;

i++)

a[i]);

/*不能是数组名*/

max=min=sum=a[0];

/*定义时不能连等定以后能*/

for(i=1;

if(max<

a[i])max=a[i];

if(min>

a[i])min=a[i];

sum+=a[i];

ave=(double)sum/n;

最高分是:

max);

最低分是:

min);

总分是:

平均分:

ave);

排序

inta[10]={10,9,8,2,5,1,7,3,4,6},i,j,k,temp;

10;

printf("

a[i]);

9;

k=i;

for(j=k+1;

j++)/*元素的比较最小*/

{

if(a[k]>

a[j])k=j;

}

temp=a[i];

a[i]=a[k];

a[k]=temp;

}

查找

inta[N],i,n,score;

请输入要查找的成绩:

score);

if(a[i]==score)break;

if(i==n)

else

printf("

第四部分:

能够进行函数实参和形参的定义,以及参数的传递,能够使用函数的嵌套调用和递归调用,编写常见的的函数如:

求和、阶乘、计算平均分、排序等问题。

函数题:

利用函数调用求最大值、最小值、求和、求平均、排序(选择排序法做升序(小的在上))

选择排序:

设定一个变量,存小的数在数组中的下标,n个数(外层循环控制比较趟数n-1,里层循环做每趟比较出一个最小数,控制比较次数)

644859729734

第一趟(5次)344859729764

第二趟(4次)(不动)4859729764

第三趟(3次)(不动)59729764

第四趟(2次)(不动)649772

第五趟(1次)(不动)7297

floatmax(floata[],intlength);

floatmin(floata[],intlength);

floatsum(floata[],intlength);

floataverage(floata[],intlength);

voidsort(floata[],intlength);

floatscore[N],ma,mi,s,ave;

inti,n;

请输入学生的人数不能超过50人!

请输入%d个学生的成绩输入的成绩用空格分开!

scanf("

score[i]);

ma=max(score,n);

/*数组可以不写[]里的*/

mi=min(score,n);

s=sum(score,n);

ave=average(score,n);

sort(score,n);

/*排序函数没返回值不能用“=”*/

最高分:

%f\n"

ma);

最低分:

mi);

总分是:

s);

平均分:

floatmax(floata[],intlength)

inti;

floatmax;

max=a[0];

length;

a[i])

max=a[i];

returnmax;

floatmin(floata[],intlength)/*把最大值函数复制改max为min'

<

'

改为'

>

*/

floatmin;

min=a[0];

min=a[i];

returnmin;

floatsum(floata[],intlength)/*把最小值函数复制改min为sum>

改为sum+=a[i]*/

floatsum;

sum=a[0];

sum+=a[i];

returnsum;

floataverage(floata[],intlength)/*把最小值函数复制改函数名sum为averagereturn改为returnsum/length;

returnsum/length;

voidsort(floata[],intlength)/*排序没返回值*/

floattemp;

length-1;

{

/*重点填空k是基准*/

j++)/*j是基准点k后面的数*/

if(a[k]>

a[j])

k=j;

/*小的放k里*/

a[k]=temp;

从小到大排序为:

%4.1f"

阶乘(递归调用:

一定要在自定义函数中不断地调用自己)

举例:

intff(intn)

S=ff()

}

intfac(intm)/*递归调用*/

ints;

if(m<

0)printf("

错误的数据请重新输入"

elseif(m==0||m==1)s=1;

elses=m*fac(m-1);

/*重要*/

returns;

intn,y;

请输入一个正整数:

y=fac(n);

%d!

=%d"

n,y);

/*!

阶乘符号5的阶乘等于120*/

第五部分:

能够用指针实现对一维数组的编程。

指针题:

设有一个数列,包含10个数(一堆数组),已经按升序排好。

要求编写程序,把从指定定位置开始的n个数按逆序重新排列并输出新的完整数列(一堆数组)。

进行逆序处理时要求使用指针方法。

(例如:

数列为2468101214161820,若要求把第4个数开始数(第i个数,下标i-1)排序(5个数的下标3+5-1,数出n个数,最后一个数的下标)

第i个数开始数:

这个数的下标是i-1

数n个数,最后一个数的下标是i-1+n-1

第4个数开始数:

这个数的下标是3

数出5个数,最后一个数的下标:

4-1+5-1=7

I=4n=5时n知道时/2知道换几次

2461614121081820

*指针变量和普通变量搭建关系:

Inta=5,*p;

//普通变量需要先定义后使用,指针变量必须先定义赋值后使用

P=&

a;

*指针变量与一对数组搭建关系:

Int[a]={1,2,3,4,5},*p;

P=a;

//p=&

a[0]p=&

a[2]

inta[10],i,p,num,*q1,*q2,temp;

请输入十个已近按升序排序好的整数!

请输入指定的位置:

p);

请输入重新排序的数量:

num);

for(q1=&

a[p-1],q2=&

a[p-1+num-1];

q1<

q2;

q1++,q2--)/*p是int不是地址*/

temp=*q1;

*q1=*q2;

*q2=temp;

%3d"

第六部分:

能够定义和使用结构体类型变量(结构体指针变量)。

结构体变量题:

利用结构体类型编写程序,输入一名同学的英语成绩和数学成绩,然后计算两科成绩的总和。

(结构体类型可不写)

structscore//score是结构体类型就像int,该类型可以定义变量、指针变量

floateng;

floatmath;

floatsum;

}sc1,*p;

//sc1是score类型的变量

p=&

sc1;

/*p要想调用成员,必需和结构体变量搭建关系sc1.engsc1.mathsc1.sum*/

%f%f"

sc1.eng,&

sc1.math);

//调用p->

eng(*p).manth

p->

sum=sc1.eng+(*p).math;

p->

sum);

第七部分:

文件的打开、关闭和复制操作。

(书前三例题)

总结:

(其文件名时注意扩展名)

一、用字符型数组存放文件名,通过控制台输入文件名

1、程序的默认路径C:

\JMSOFT\CYuYan\bin(控制台标题栏写的)

2、读取的文件要放在默认的路径下,可以直接输入文件名称。

3、如果读取的文件没有存放在默认路径,需要写文件存放的全部路径,例如:

C:

\a.txt

(不好使时用试试C:

\\JMSOFT\\CYuYan\\aa.txt)

*注意存放文件名的数组的长度。

文件复制a放b里题

main()

FILE*in,*out;

//文件类型的指针变量,存文件的全称

charinfile[50],outfile[50];

//一个存读,一个存写注意[]内的大小20以上

%s"

infile);

outfile);

if((in=fopen(infile,"

r"

))==NULL)/*打开infileoutfile两个文件*/

Cannotopeninfle.\n"

//没开成功

exit(0);

if((out=fopen(outfile,"

w"

))==NULL)

Cannotopenoutfile.\n"

while(!

feof(in))/*看看到没到尾部*/

fputc(fgetc(in),out);

//读一个写一个

fclose(in);

//关文件

fclose(out);

命令行传参

C++:

运行菜单->

编译成目标文件->

生成可执行文件

点击带参数运行不在默认里需要写路径

VC++的命令行传参路径:

1.先建obj

2.创建exe

3.工程菜单->

设置->

调试选项卡->

程序变量中输入参数。

4.按!

按键运行(和c++实验系统不一样)

*在编译后运行前输入参数

*复制的文本文件应该和c的源程序文件放在同一个路径下。

stdlib.h"

FILE*source,*target;

voidmain(intargc,char*argv[])

{

charc;

if(argc!

=3)

error!

source=fopen(argv[1],"

target=fopen(argv[2],"

while(!

feof(source))/*只要不是文件尾就执行*/

{

c=getc(source);

putc(c,target);

fclose(source);

fclose(target);

第二次课

内存变量存最后一次值

///**/都是注释符

数组:

存相同类型的变量

结构体:

存放不同类型的变量

重点算法:

1.求和(求平均就是和/个数)

sum=0或(第一个值)

For()

Sum=sun+@/*@可能是变量数组结构体成员*/sum+=

2.求阶乘(第归调用)

P=1

For()

P=p*@p*=

3.求极值(循环嵌套分支)

Max/min=一堆数中的第一个数

for

If(max/min<

/>

a[i])(max在尖那面,min在开口那面)

Max/min=a[i](把if条件复制下变

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2