c项目源码
1. 请描述一下一个简单的c语言源程序代码都包括哪些
教材中的hello world程序应该是众所周知的最简单的C语言编译出来的程序。
那么他的源代码包括什么呢,其实也就只有一个main.c文件,这里的main可以是你喜欢的任何名字,而.c理论上是不能改动的,否则编译器可能默认不识别。
如果你说的是.c文件里的东西,那么一个最简单实现hello world的.c里面一般会包含:
头文件:类似include <studio.h>
主函数:int main(int argc, char *argv[])
其他函数:可有可无
2. 用C语言编程,要完整的源代码;谢谢!
/*万年历*/
#include<stdio.h>
#include<stdlib.h>
int isLeap(int year) //判断闰年
{
if(year%4!=0)
{
return 0;
}
else if(year%100!=0)
{
return 1;
}
else if(year%400!=0)
{
return 0;
}
else
{
return 1;
}
}
int GetMonthDays(int year,int month)//判断天数
{
switch(month){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;break;
case 4:case 6:case 9:case 11:return 30;break;
case 2:if(isLeap(year)==1)
{
return 29;
}
else
{
return 28;
};break;
default:return 0;
}
}
int GetWeekDay(int year,int month,int day)//判断days天是星期几
{
int days;//总天数
int i=1;//计月份
int weekday;
days=(year-1)*365+(year-1)/4+(year-1)/400-(year-1)/100;
while(i<month)
{
days+=GetMonthDays(year,i);
i++;
}
days+=day;
weekday=days%7;
return weekday;
}
void PrintMonthCalender(int startDay,int days)//输出日历
{
int m=0;//计数空
int n=1;//计日期
while(m<startDay)
{
printf(" ");
m++;
}
while(n<=days)
{
printf("%d ",n);
if((n+m)%7==0)
{
printf("\n");
}
n++;
}
}
main()
{
int year,month,startDay,days;
printf("Please input year and month:");
scanf("%d %d",&year,&month);
startDay=GetWeekDay(year,month,1)%7;
days=GetMonthDays(year,month);//取得起始天和天数
printf("The result is:\n %d-%d\nSun. Mon. Tue. Wed. Thu. Fri. Sat.\n",year,month);
PrintMonthCalender(startDay,days);
system("pause");
return 0;
}
哇咔咔。。终于找到了,我们上个月的作业,哦哦呵呵。。。给我分吧
3. C语言项目的一些问题
告诉你一个好地方:CSDN。
做个cmd版的音乐播放器,就可以学好C语言的基础了。
指针、链表、排序、文件等重点。
4. 如何看c语言标准库函数的源代码
很遗憾,标准库中的函数结合了系统,硬件等的综合能力,是比较近机器的功能实现,所以大部分是用汇编完成的,而且已经导入到了lib和dll里了,就是说,他们已经被编译好了,似乎没有代码的存在了.
能看到的也只有dll中有多少函数被共享.
第三方可能都是dll,因为上面也说了,dll是编译好的,只能看到成品,就可以隐藏代码,保护自己的知识产权,同时也是病毒的归宿...... 当然,除了DLL的确还存在一种东西,插件程序~~~
5. C语言的源代码是什么意思啊
C语言源代码,就是依据C语言规则所写出的程序代码,常见的存储文件扩展名为.c文件和.h文件,分别对应C源文件(source file)和C头文件(header file)。
C语言是一门编程语言,简单点说,就是由人类书写按照一定规范书写的字符,通过一定手段(编译链接)转换后,可以让电脑或者其它电子芯片"读懂",并按照其要求工作的语言。
在所有的编程语言中,C语言是相对古老而原始的,同时也是在同类语言中更接近硬件,最为高效的编程语言。
(5)c项目源码扩展阅读:
C语言广泛应用于底层开发。它的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
它能提供了许多低级处理的功能,可以保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
6. 如何在Android系统源码中添加C项目
以hello_android为例,步骤如下:
1、在external目录下创建hello_android目录,然后在hello_android目录中编写hello_android C语言实现文件hello_android.h,hello_android.c:
(注:hello_android目录可以放置在Android系统源码下的任意目录中,并非一定要在external下。)hello_android.h
#include<stdio.h>
#include<stdlib.h>void makePrintf(char *str)
{
printf("%s", str);
}hello_android.c
#include <stdio.h>
#include <stdlib.h>
#include "hello_android.h"int main(int argc, char** argv)
{
makePrintf("hello, android!\n");return 0;
}
2、编写负责编译的Android.mk文件:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES := hello_android.cLOCAL_C_INCLUDES += $(LOCAL_PATH)LOCAL_MODULE := hello_androidLOCAL_MODULE_TAGS := enginclude $(BUILD_EXECUTABLE)
3、利用mm编译生成hello_android二进制可执行文件;
4、将helllo_android文件复制到/system/bin目录下执行:
#./hello_android
hello, android!
5、代码结构
$ pwd
external/hello_android
$ tree
7. 求简单的C程序设计源代码!
例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。
本题使用数组来处理,用数组a[100]存放产生的确100个随机整数,数组x[10]来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x[1]中,个位是2的个数存放在x[2]中,……个位是0的个数存放在x[10]。
void
main()
{
int
a[101],x[11],i,p;
for(i=0;i<=11;i++)
x[i]=0;
for(i=1;i<=100;i++)
{
a[i]=rand()
%
100;
printf("%4d",a[i]);
if(i%10==0)printf("\n");
}
for(i=1;i<=100;i++)
{
p=a[i]%10;
if(p==0)
p=10;
x[p]=x[p]+1;
}
for(i=1;i<=10;i++)
{
p=i;
if(i==10)
p=0;
printf("%d,%d\n",p,x[i]);
}
printf("\n");
}
8. 求C语言课程设计源代码 急~!!
#include "stdio.h"
#define MAX 100 /*定义输入数据的最大长度*/
void countmax(int a[MAX],int N){ /*计算最值的函数*/
int minn=a[0],maxx=a[0]; /*minn表最小值,maxx表最大值*/
for(int i=0;i<=N;i++){ /*N是实际输入数组的长度*/
if(a[i]<minn) /*循环求最值*/
minn=a[i];
else
if(a[i]>maxx)
maxx=a[i];
}
printf("\n最小值:%d\n最大值:%d\n",minn,maxx);
printf("\n————————————————————————\n");
}
void found(int a[MAX],int N){ /*查找函数*/
int Flag = 1,x; /*Flag用来标记是否查找成功,0表成功,1表未成功*/
printf("请输入你要查找的数: ");
scanf("%d",&x); /*x是待查找的数*/
for(int i=0;i<=N;i++){
if(a[i]==x){
printf("所找的数在数组中的位置是第 %d 位\n",i+1);
Flag = 0;
break;
}
}
if(Flag == 1)
printf("Not Found!\n");
printf("————————————————————————\n");
}
void deletedata(int a[MAX],int N){ /*删除操作函数*/
int Flag = 1,x,pos; /*Flag用来标记是否删除成功,0表成功,1表未成功,pos用来记录删除的位置*/
printf("请输入你要删除的数: ");
scanf("%d",&x);
for(int i = 0;i <= N;i++){ /*在数组中循环查找所要删除的数*/
if(a[i]==x){
for(int j=i;j<=N;j++) /*删除位置后的数全部向前移动一位*/
a[j]=a[j+1];
Flag = 0;
N--; /*数组长度减1*/
pos = i; /*记录删除位置*/
break;
}
}
if(Flag==1)
printf("Not Found!");
else{
printf("删除成功!\n");
printf("所删除的数在数组中的位置是第 %d 位\n",pos+1);
}
printf("删除操作后的数据为:\n");
for(int j=0;j<=N;j++)
printf("%d ",a[j]);
printf("\n————————————————————————\n");
}
void sumdata(int a[MAX],int N){ /*求奇数和偶数函数*/
int SUM1=0,SUM2=0,N1=0,N2=0;
/*SUM1表示偶数之和,N1表偶数个数
**SUM2表示奇数之和,N2表奇数个数
*/
for(int i=0;i<=N;i++){
if(a[i]%2==0){
N1++;
SUM1 = SUM1 + a[i];
}
else{
N2++;
SUM2 = SUM2 + a[i];
}
}
printf("数据中的偶数个数为: %d 个,平均值为: %d\n",N1,SUM1/N1);
printf("数据中的奇数个数为: %d 个,平均值为: %d\n",N2,SUM2/N2);
printf("————————————————————————\n");
}
int main(){
int i=0,k,N,a[MAX],data;
/*k用来标记所选择的操作,data表示输入的数据,a数组用来存储输入的数据*/
printf("请输入数据:\n");
scanf("%d",&data);
while(data!=0){
a[i]=data;
scanf("%d",&data);
N=i++;
}
printf("\n您输入了%d个数据,如下所示:\n",N+1);
for(i=0;i<=N;i++)
printf("%d ",a[i]);
printf("\n————————————————————————");
printf("\n\n请选择下面的一个项目:\n");
printf("1、求最值\n2、查找\n3、删除\n4、统计及平均\n5、退出\n");
printf("————————————————————————\n");
scanf("%d",&k);
switch(k){
case 1:
countmax(a,N);
break;
case 2:
found(a,N);
break;
case 3:
deletedata(a,N);
break;
case 4:
sumdata(a,N);
break;
case 5:
break;
default:
break;
}
return 0;
}
9. 求C程序源代码
用for
语句和getch(
);putchar
(‘*’);来实现的,而getch
不分区另ENTER和BACKSPACE等特殊键,不好控制它的结束。因此只有避过问题强行规定密码必须是8位的,但在输入密码时仍然不允许用户输入ENTER和BACKSPACE等特殊键。
以下程序功能:
接受所有打印字符。
不接受控制字符,如Ctrl+
,Alt,F1等。
可使用退格键删除以输入字符。
回车键为密码输入完毕
可定义最大字符数。当输入字符数等于最大字符个数时,视为密码结束。
#include
<stdio.h>
#include
<conio.h>
#define
TRUE
1
#define
FALSE
0
#define
MIN_INPUT
0x20
#define
MAX_INPUT
0x7e
/*
*
所有功能有此函数实现:
*
pszPw
:
保存密码的缓冲
*
iMaxSize
:最大的密码长度,该长度必须小于缓冲区大小。
*
返回值为TRUE为成功获取密码。总是返回TRUE
*/
int
GetPassword(unsigned
char*
pszPw,int
iMaxSize)
{
unsigned
char
ch;
int
i=0;
int
bIsEcho=TRUE;
//while(
!
kbhit()
&&
i<iMaxSize
)
while(
(
ch
=
(unsigned
char)getch()
)
&&
i
<
iMaxSize
)
{
//ch
=
(unsigned
char)getch();
bIsEcho=TRUE;
if
(
ch
==
13)
{
pszPw[i++]=0;
break;
}
else
if
(
ch
>=
MIN_INPUT
&&
ch
<=
MAX_INPUT)
/*所有可打印字符*/
{
pszPw[i++]=ch;
}
else
if
(
ch
==
8
&&
i>
0
)
/*退格键*/
{
pszPw[i--]
=
0;
bIsEcho
=
FALSE;
putchar(
ch
);
putchar(
'
'
);
putchar(
ch
);
}
else
bIsEcho
=
FALSE;
if(bIsEcho)
putchar('*');
}
pszPw[i]=0;
return
TRUE;
}
int
main(void)
{
int
iMaxSize=80;
unsigned
char
pw[99];
if
(
GetPassword(pw,iMaxSize)
==
TRUE
){
printf("\npassword=%s",pw);
}
else{
printf("\nCan
not
get
the
password!");
}
}
10. c程序源代码
#include<stdio.h>
main()
{
int a[3];
int i,pass,hoad;
printf("shu ru san ge shuzi:");
scanf("%2d%2d%2d",&a[0],&a[1],&a[2]);
for(i=0;i<=2;i++)
printf("%4d",a[i]);
printf("\n");
for(pass=1;pass<=2;pass++)
for(i=0;i<=1;i++)
if(a[i]>a[i+1]){
hoad=a[i];
a[i]=a[i+1];
a[i+1]=hoad; }
for(i=0;i<=2;i++)
printf("%4d",a[i]);
printf("\n");
getch();
}