大学生活三个多月了。
接触C语言也从完全未知开始了长途跋涉的探索之旅,虽然现在我很明确这是一条没有尽头的路,就像所有的知识一样。
对C的感觉其实还好,没有所谓的排斥,没有所谓的畏难。
有的时候觉得特别累的时候就鼓励自己,嘿,加油吧,女孩儿能对这样子的东西保持原有的热情已经很棒啦。
呵呵,好吧。
从刚开始对C的完全懵懂,到现在会敲出一些简单基础的代码,还是会有一种说不出来的欣慰的。
每次C语言课上我都认认真真的听课,甚至有的时候感觉到自己可以提醒到老师什么,会有一点点的小开心吧。
C期中考试专业第一,如果那些比我考得好的人是其他系的那也许我也会混到系里第一?
好吧。这个不做猜想。已经过去了。
我对自己虽说不是特别的了解,但在这些事上还是颇有些自知之明的。
我自知C期中只不过是一些简单的选择题,最后一个编程题也刚好遇到了一个超级简单的。
一切都是运气在作怪。期末或许就没有这么好的运气了。这也不免让我觉得很忐忑。
有的时候明明看的懂书,看得懂那么多的程序,但就是在老师让编程序的时候脑子一下子变得空白了。
老师敲键盘各种快,噼噼啪啪的。然后在屏幕上出现的一串串代码,我就无奈了。
因为我觉得虽然我能在课堂上很好的配合老师,在做一些选择题的时候很好的选中正确的答案,但是在编程方面自己实在不行。
偶尔在编程的时候我完全想不通要实现这个程序,我究竟该怎么去设计它。
今天,我稍微有点想通了。师傅说,这就是一个数学问题。我就当这是一个数学问题去考虑。反正数学程序框图的题没少做,也做的得心应手。
加油吧。
以前都是把那些要记得东西随机新建一个word,之后忘记了就毫无意识的把它删了,以后尽量放在这里,偶尔还能回过头来复习。
那就从简单做起。简单有时候才是真的不容易。
/*
1.按作用域,C语言一般分为全局变量和局部变量。全局变量一旦声明就被默认初始化为适当类型的0,而局部变量被声明的时候其值是不可预料的,所以为了后续程序的正常使用,最好将其认为地初始化,否则有时会有灾难性的后果!
第二个问题,例如:
int main()
{
char a;//没有被初始化,可以在后面初始化,一般没危险性
char *p = &a;// 已初始化,指针p被赋予变量a的地址
char *q;//没有被初始化,相当危险!因为指针q是局部变量,此时的值是不确定,可能指向系统的重要数据,一旦在此变量被初始化前遇到类似下面的语句,就危险了:
q = &a;
}
*/_________________(摘自百度)
2.//#include<stdio.h>
int main()
{
int a=2,b=5;
int sum;
sum=a+b;
printf("The sum is:a+b=%d\n",sum);
}
#include<stdio.h>
int main()
{
int a,b;
int sum;
scanf("%d,%d",&a,&b);
sum=a+b;
printf("The sum is:a+b=%d\n",sum);
}
#include<stdio.h>
int main()
{
int a,b;
int sum;
sum=a+b;
printf("The sum is:a+b=%d\n",sum);
}//(事实证明,这个不好使……)
(就先写到这里,C语言期末考前,有任何想法都会写在这里啦。)
3.
int max(int x,int y);int main()//主函数
{
int a,b,c;//声明部分,定义变量
scanf("%d,%d",&a,&b);//输入变量a和b的值(这里只有输入它们两个的值下面的程序才可能正确执行,其本质也是因为上面那个程序所描述的。不初始化就要赋值)
c=max(a,b);//输出c的值(这里就要调用可以输出C的值的函数了,这个位置是实参,前面是不需要加入变量的类型的。但是要注意在形参部分和函数声明部分是一定要得)
printf("max=%d",c);//上一步找到了c的值,只要输出来就可以了。
}
int max(int x,int y) //定义max函数,函数值是整型的,形参x,y是整型。
{
int z;//max函数中的声明部分,定义本函数中用到的变量z为整型。
if(x>y)
z=x;//(个人觉得在程序中往往想要对第二个参数进行操作,都需要借助第三个变量。或者只是我现在所学过的是这样子的。)
else z=y;
return z;//将z的值返回,通过max带回调用处。return z和return(z)是没有差别的,除非返回的是一个表达式需要看清楚执行顺序。
}
4./*从键盘中输入任意一年,判断此年是不是闰年,能被4整除不能被100整除或者能被400整除*/
/*#include<stdio.h>
int main()
{
int year;
printf("请输入任意一年:");
scanf("%d",&year);
if(year%4==0&&year%100!=0||year%400==0)
printf("该年是闰年");
else
printf("该年不是闰年");
}*/
5//输入两个数按代数值由小到大的顺序输出这两个数
/*#include<stdio.h>
int main()
{
float a,b,temp;
scanf("%f,%f",&a,&b);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
printf("%f,%f",a,b);
}*/
/****************************************************************/
6/*//输入三个整数,输出其中的最大值
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b&&a>c)
printf("%d",a);
if(b>c&&b>a)
printf("%d",b);
if(c>b&&c>a)
printf("%d",c);
}
****************************************************************
#include<stdio.h>
int main()
{
int a,b,c,max;
printf("请输入三个整数:\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{
max=a;
if(c>max)
max=c;
printf("max=%d",max);
}
else
{
max=b;
if(c>max)
max=c;
printf("max=%d",max);
}
}*/
7//从键盘输入一个百分制的成绩,要求输出成绩等级
/*
#include<stdio.h>
int main()
{
int score;
printf("请输入一个百分制的数:");
scanf("%d",&score);
if(score>=85)
printf("成绩为A\n");
else if(score>=70)
printf("成绩为B\n");
else if(score>=60)
printf("成绩为C\n");
else
printf("成绩为D\n");
return 0;
}
*/
8/*
********************************************************************
//输入某年某月某日,判断这一天是这一年的第几天
#include<stdio.h>
void main()
{
int a,b,c,m=0;
printf("请输入x年X月x日:");
scanf("%d,%d,%d",&a,&b,&c);
switch(b)
{
case 1:
m=0;
break;
case 2:
m=31;
break;
case 3:
m=31+28;
break;
case 4:
m=31+28+31;
break;
case 5:
m=31+28+31+30;
break;
case 6:
m=31+28+31+30+31;
break;
case 7:
m=31+28+31+30+31+30;
break;
case 8:
m=31+28+31+30+31+30+31;
break;
case 9:
m=31+28+31+30+31+30+31+31;
break;
case 10:
m=31+28+31+30+31+30+31+31+30;
break;
case 11:
m=31+28+31+30+31+30+31+31+30+31;
break;
case 12:
m=31+28+31+30+31+30+31+31+30+31+30;
break;
}
c+=m;
if((a%4==0&&a%100!=0)||a%400==0&&b>2)
{
c=c+1;
printf("该天是本年的第%d天。",c);
}
}
*/
看懂很容易,但是自己敲出来好有压力。
9.#include<stdio.h>
int main()
{
int a=1, b=2, c=3,max;
max=++a||++b&&++c;
printf("%d",b);
}
(运算结果b=2)
10.
#include<stdio.h>
int main()
//把100~200之间不能被3整除的数输出
{
int num;
for(num=100;num<=200;num++)
{
// if(num%3==0)
//continue;
if(num%3!=0)
printf("%d\n",num);
}
}