c语言的知识,C语言知识

一 . C语言知识思维导图

25217d2daca52db86f513318c958322b.png

二. 写出自己对以下语法的认识

1.If else:

If(语句1){

语句2;

} else {

语句3;

}

认识: 判断语句1,如果不成立的话做else后面语句3,成立的话就走语句2,可以有许多if else语句组合在一起,进行更复杂更多的判断,用这种语句要注意判断关系符号==<>等等,还有语句1是等式的话会有一个值,0或1,直接语句1为数字也是于是否等于0如果不等于就成立,等于就不成立,走else语句。

2.switch case:

Switch(ch){

Case a:语句1;break;

Default:语句;break;

}

认识:在switch()里得到一个字符或数字,在case里找到相应的地方执行语句,判断ch与a,成立就走后面语句,不成立就接下去找,分有break和无break的情况,有break就执行完语句就退出,如果执行语句后没有break,就接下去执行接下去不管case成不成立,执行语句一直到有break语句,没有break就一直到结束,还有default就是找不到对应的case就执行default的语句。提醒要注意是否有break,有和没有运行结果不一样。

3.for:

For(语句1;语句2;语句3){

}

认识:语句1进行需要的一开始变量赋值,执行一次,在接下去的循环当中就不会再用到了,如果不需要可以不写,但是后面的;号是一定要的,然后语句2是循环判断的条件每一次要进行循环要先进行语句2的判断,然后后面也要有;号,然后语句3是循环内我们写的语句做完后加在后面一定要进行的语句,通常是改变循环条件值得一个式子,后面就不用;号了,通常错误是有时会写错;或没写,通常是知道循环次数会使用for循环,比较好用。

5.While:

While(语句){

复合语句;

}

认识:语句里写的是判断条件,成立就执行大括号内的复合语句,不成立就退出while循环,还是一样要注意判断关系符,在后面的大括号里要写出可以改变判断值,使循环条件是在改变的,不然会一直循环还不知道怎么了,当遇到这种情况时,会没有答案输出,这时候就可以想到有可能是循环没结束。

6.do while:

Do{

复合语句;

}while();

认识: 这个循环是不管怎么样都会进去循环一次,然后再进去while后面()的循环条件进行判断,注意while()后是有一个;符号的,这种循环就是比其他的循环来说,会不管怎么样的进行一次循环,需要特殊使用。

7.Break和continue:

switch(整形表达式)

{

case 常量表达式1: 语句1;break;

case 常量表达式n: 语句n;break;

default: 语句n+1;

}

for(语句1; 语句2; 语句3)

{

语句1;

continue;

语句2;

}

认识:在通常使用在循环当中,在你某个条件后,在条件后加一个break他就会跳出整个循环体,不会再进行后面多余的循环,使得效率提高,是个很好用的词,在switch中,也是一样,找到对应的语句执行完,遇到break,就跳出switch;continue,当在普通代码顺序是,在语句1后面时,当做到在它之前语句完后,执行continue,会跳过语句2,做下一个语句,如果是在for循环当中,就会跳过语句2如果还有语句也会一直跳过,直接进行下一次循环。在for循环内,会进行语句3后,在判断循环条件,进行下一次循环。

三. pta分数截图

a6af572c75bc6c332e7785ed72c116af.png

eaec1c3b03d9cb26e7b62a5ede514e5f.png

c2f82e69467ceab93f1aab3f7ff6188d.png

四. pta题目分析

题目一:

d87b7e8f5e03adaef4385cc11aa5e3ea.png

首先:1.看到这种题目首先看到题目就会知道这是一个循环的问题,求前n项和。2.看到输入格式条件后知道要输入一个变量。3.再看到输出格式后知道输出标准和后面有精度要求,就知道要用到float或double定义要有位数要求,也就想到要怎么表达。

最后:然后用自己所学知识分析该如何做这个题目。我想到的是从后面到前面加,输入变量用n,用一个变量m=n*2-1,当n=2时就是两项就是m的值,这样可以知道第n位的分母,然后分母减2,一直到1,先一个循环,用double的变量sum算值,因为输出要double,所以一开始其他变量我也定义为double。下面是我的代码。(经供参考)

#include

int main()

{

double n,m;

double sum=0;

scanf("%lf",&n);

m=2*n-1;

while (m>0)

{

s+=1/m;

m-=2;

}

printf("sum = %.6f",s);

return 0;

}

题目二:

b0a2b0ec167a6b3fd3dfd6ab8068958c.png

首先:1.看到题目讲到三个整数,那就会要三个int的变量,然后比大小,我脑海就想到if else来比较。2.再去看输入格式和输出格式,输出需要有->这个符号就要记住,然后就是简单的三个数值用if else 比大小了。

最后:分析自己该怎么写代码,比较a和b,大的话就在比较b和c,大的话,那就是cba了,再按格式输出,小的话就再判断a与c,大的话bca,小的话就是bac,另一种情况也是如此就好了。下面是我的代码。(经供参考)

#include

int main()

{

int a;

int b;

int c;

scanf ("%d %d %d",&a,&b,&c);

if (a>b){

if(b>c){

printf("%d->%d->%d",c,b,a);

}else {

if(a>c){

printf("%d->%d->%d",b,c,a);

}else {

printf("%d->%d->%d",b,a,c);

}

}

}else {

if(a>c){

printf("%d->%d->%d",c,a,b);

}else {

if(b>c){

printf("%d->%d->%d",a,c,b);

}else {

printf("%d->%d->%d",a,b,c);

}

}

}

return 0;

}

题目三:

a14a8d71056f347387b96c3cd523ad0d.png

首先:1.看题目求奇数和,那就想到怎么判断是否是奇数。2.在看输入格式,以0和负数结束,那就要写个循环判断读入数据并判断是否是奇数,并加起来。3.在看输出格式,没什么要点,然后就在脑海里想好怎么写。

最后:在脑海里想好怎么写。1.定义变量a用来一个个读入数据,sum来统计奇数和,一开始要定义sum=0,不然sum会被系统分配不确定的值,答案就会不对。2.然后先读入一个数据,然后进去循环判断是否是0或负数,不是在判断是否是奇数,是就加到sum,不是就再读入一个数据,再去判断,最后得出结果。下面是我的代码。(经供参考)

#include

int main()

{

int a;

int sum=0;

scanf ("%d",&a);

while (a>0){

if (a%2>0){

sum+=a;

}

scanf ("%d",&a);

}

printf ("%d",sum);

return 0;

}

标签:语句,int,sum,知识,else,break,循环,C语言

来源: https://www.cnblogs.com/jiuweihong/p/11657092.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值