电脑编程C语言入门(自学)
1、程语语言其实是一个很初级的工具,但是又必须熟练的掌握它,学懂一门编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好。可是如果不会写字,那就一定写不出文章来。
2、在学习C语言之前,应该学好计算机基础。里面的很多概念对于C程序员都是非常重要的。如果在着手学习C之前,或者已经开始学习C,但是碰到了很多问题,应该再把计算机基础的书拿来好好看看。如果有足够的耐心,十足的毅力,应该再学习C语言之前学学汇编,这会对许多比较细腻的概念有清醒的认识。那么可以在看完一遍C语言的教材后再看,但是一定要看一遍,一定会受益匪浅。不管看什么书,先认真地看懂,不要贪速度,应该力求深入的理解。如果能够比较熟练的解决一本教材上的所有习题,那么就应该转入对算法的学习,尽管此时的C语言还称不上精通,有许多细节问题还不了解,许多问题还没有碰到,但是这些问题会在后面的工作和学习中得到解决的。
3、不需要多少资料,掌握一本《The C Programming Language》就足够了。继续学习就更加容易。建议不要找捷径,通过考试除外,真正的水平提高是建立在编程实践积累基础上的,必须一个一个程序的完成才能提高。
C语言作业:结构体编程练习 在屏幕上模拟显示一个数字式时钟 源代码能给我的话+50,感谢
程序运行正确,只是有一点点的小瑕疵,
for (t=0; t<50000000; t++)
控制一秒延迟,这里在我的系统上面,还需要加一个零,计时器才差不多相当于过1秒。
不知道LZ有什么潜在疑问呢?
C语言中如何表示数值的范围
在C语言中用到数值范围一般有如下两种情况:
1 逻辑判断中确定某数在某个范围内。
比如判断数c在[a,b]区间内可以写作
(a<=c) && (c <= b)
2 使计算结果处于某个范围内。
比如计算时间时,当前时间为n点,经过m小时后是几点,由于时间仅取值在0点到23点,所以对数值范围需要做约束。对于此可以用模除(%)来限定。
(n+m)%24
其它关于数值范围限定的问题,都可以从这两种情况中延伸获得。
比如下面两个例题就是两种情况的应用。
例一,输入起始天的星期数(1-7),及天数n,计算经过n天后是星期几。
分析,这个是第二种的典型应用,不过数据规模为1到7,与之前说的0起始情况略有不同,可以通过转换达到目的,代码如下:
#include <stdio.h>
int main()
{
int s,n;
scanf("%d%d",&s,&n);
s --;//将s-1;这样用0-6代表星期一到日
s +=n;
s%=7;//通过模除限定结果
s++;//转换回1-7的表示方法
printf("%d
", s);//输出结果
return 0;
}
例二,依照下面的公式计算,直到结果小于0或者大于100为止,f(0)由外部输入。
如果f(n)为奇数,f(n+1)=2f(n)
否则f(n+1) = f(n)/2-10
输出计算结果。
题目很清晰,直接输入并循环计算,直到符合退出条件为止。 对于条件的判断就是第一种情况的简单应用了。
代码如下:
#include <stdio.h>
int main()
{
int r;
scanf("%d",&r);
while(r >= 0 && r <= 100)//对结果进行范围判断
{
if(r & 1) r *= 2; //奇数的情况。
else r=r/2-10;//偶数的情况。
}
printf("%d
", r);
return 0;
}
C语言,求三角形面积:从键盘输入三个顶点坐标(x1,y1)(x2,y2)(x3,y3)假设可能构成
#include
#include
float dis(float x1,float y1,float x2,float y2)
{
float dx,dy;
dx=x1-x2;dy=y1-y2;
return sqrt(dx*dx+dy*dy);
}
int main()
{
float x1,x2,x3,y1,y2,y3,p,s,a,b,c;
scanf("%f %f",&x1,&y1);
scanf("%f %f",&x2,&y2);
scanf("%f %f",&x3,&y3);
a=dis(x1,y1,x2,y2);
b=dis(x2,y2,x3,y3);
c=dis(x1,y1,x3,y3);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%f
",s);
return 0;
}
运行结果
我想用C语言写一个程序向女朋友表白,求源代码!!!
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define I 20
#define R 340
int main()
{
int i,j,e;
int a;
for(i=1,a=I;i<I/2;i++,a--){
for(j=(int) ( I-sqrt(I*I-(a-i)*(a-i)) );j>0;j--)
printf(" ");
for(e=1;e<=2*sqrt(I*I-(a-i)*(a-i));e++)
printf("3");
for(j=(int) ( 2*( I-sqrt(I*I-(a-i)*(a-i)) ) );j>0;j--)
printf(" ");
for(e=1;e<=2*sqrt(I*I-(a-i)*(a-i));e++)
printf("3");
printf(" ");
}
for(i=1;i<80;i++)
{
if(i==25){
printf(" I LOVE YOU! ");
i+=30;
}
printf("3");
}
printf(" ");
for(i=1;i<=R/2;i++){
if(i%2||i%3)continue;
for(j=(int) ( R-sqrt(R*R-i*i) );j>0;j--)
printf(" ");
for(e=1;e<=2*( sqrt(R*R-i*i) - (R-2*I) );e++)
printf("3");
printf(" ");
}
long time;
for(; ;)
{
system("color a");
for(time=0;time<99999999;time++);
system("color b");
for(time=0;time<99999999;time++);
system("color c");
for(time=0;time<99999999;time++);
system("color d");
for(time=0;time<99999999;time++);
system("color e");
for(time=0;time<99999999;time++);
system("color f");
for(time=0;time<99999999;time++);
system("color 0");
for(time=0;time<99999999;time++);
system("color 1");
for(time=0;time<99999999;time++);
system("color 2");
for(time=0;time<99999999;time++);
system("color 3");
for(time=0;time<99999999;time++);
system("color 4");
for(time=0;time<99999999;time++);
system("color 5");
for(time=0;time<99999999;time++);
system("color 6");
for(time=0;time<99999999;time++);
system("color 7");
for(time=0;time<99999999;time++);
system("color 8");
for(time=0;time<99999999;time++);
system("color 9");
for(time=0;time<99999999;time++);
system("color ab");
for(time=0;time<99999999;time++);
system("color ac");
for(time=0;time<99999999;time++);
system("color ad");
for(time=0;time<99999999;time++);
system("color ae");
for(time=0;time<99999999;time++);
system("color af");
for(time=0;time<99999999;time++);
}
return 0;
}
C语言逗号表达式:a=(x=1,x++,x+2),x=?,a=?
逗号表达从左到右依次执行
a=(x=1,x++,x+2)1.x=1
2.x++ 此时x已加1
3.x+2 到这x已经等于2 而x+2没有改变x自身的值
所以正确结果是x=2,a=4
错了找我。
C语言编程:输入一批正整数(以零或负数为结束标志),求其中的奇数和。
#include<stdio.h>
int even(int num) { return num%2; }
int main() { int sum=0,num=0; printf("Input integers:"); while (1) { scanf("%d",&num); if (num<=0) break; if (even(num)) sum+=num; } printf("The sum of the odd numbers is:%d ",sum); return 1; }
在C语言中,输入20个数,统计其中正数,负数,零的个数
#include<stdio.h> int main(void) { int a[20]; int b=0,c=0,d=0; int i; printf("enter 20 number: "); for(i=0;i<20;i++) { scanf("%d",&a[i]); if(a[i]>0) b++; else if(a[i]<0) c++; else d++; } printf("the b c d is: %d %d %d ",b,c,d); return 0; }