当前位置:首页 » 编程语言 » 嵌入式c语言小程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

嵌入式c语言小程序

发布时间: 2022-07-22 14:55:55

A. c语言编程小程序

#include <stdio.h>
#include <string.h>
#define size 100
void main()
{
int a[size],b[size];
int n1,n2;
n1=0; n2=0;
printf("input arry a[n]: 结束时输入 :-1\n ");
do
{
scanf("%d",&a[n1]);
} while (a[n1++]!=-1);
printf("input arry b[n]: 结束时输入 :-1\n ");
do
{
scanf("%d",&b[n2]);
} while (a[n2++]!=-1);
int i,j,flag=1;
i=j=0;
while(a[i]!=-1&&flag){
j=0;
while(b[j]!=-1){
if(a[i]==b[j])
{
printf("第一个相同的元素为: %d\n",a[i]);
flag=0;
break;
}
j++;
}
i++;
}
if(flag==1)
printf("没有相同的元素\n");
}

B. C语言编写一个小程序

#include<stdio.h>
#include<time.h>
intmain()
{
inta,b;
srand(time(NULL));
a=rand();
scanf("%d",&b);
a==b?printf("true"):printf("false");
return0;
}

//运行示例:

C. C语言编写个小程序

#include<stdio.h>
#definePi3.1416
intmain()
{floatr,h,c,s1,s2,v1,v2;
printf("请输入圆半径和圆柱高:");
scanf("%f%f",&r,&h);
c=2*Pi*r;
s1=0.5*c*r;
s2=4*s1;
v1=3*s1*r/4;
v2=s1*h;
printf("圆周长=%f 圆面积=%f 圆球表面积=%f ",c,s1,s2);
printf("圆球体积=%f 圆柱体积=%f ",v1,v2);
return0;
}

D. 用c语言编写小程序

/*我用c++做一下,你可以把输入输出自己转化一下*/

#include<iostream.h>

#defineMaxSize100

intdata[MaxSize][MaxSize];

voidfunc(charstr[],intn)//str是字符串,n是串长度

{

inti,j;

i=0;

for(i=0;i<n;i++)

{

j=0;

while(str[j]!='')

{

data[i][j]=(int)(str[(j+i)%n]-0x30);

j++;

}

}

}

voidmain()

{

charstr[]="123";

/*也可以自己输入串并检测串长度,这只是个测试程序*/

intn=3;

func(str,3);

for(inti=0;i<n;i++)

{

intj=0;

while(j!=n)

{

cout<<data[i][j]<<'';

j++;

}

cout<<endl;

}

}

E. c语言能写出什么样的小程序

  1. C语言是一门通用计算机编程语言,应用广泛。

  2. C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

  3. C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

  4. 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

程序源代码:

main()

{int i,j,k;printf( );for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)

for (k=1;k<5;k++),{f (i!=ki!=jj!=k) /*确保i、j、k三位互不相同*/printf(%d,%d,%d ,i,j,k); }}

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

程序源代码:

main()

{

long int i;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf(%ld,i);

bonus1=100000*0.1;bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

if(i<=100000)

bonus=i*0.1;

else if(i<=200000)

bonus=bonus1+(i-100000)*0.075;

else if(i<=400000)

bonus=bonus2+(i-200000)*0.05;

else if(i<=600000)

bonus=bonus4+(i-400000)*0.03;

else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015;

else

bonus=bonus10+(i-1000000)*0.01;

printf(bonus=%d,bonus);

}

6.题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。

程序源代码:

#include math.h

main()

{

long int i,x,y,z;

for (i=1;i<100000;i++)

{ x=sqrt(i+100); /*x为加上100后开方后的结果*/

y=sqrt(i+268); /*y为再加上168后开方后的结果*/

if(x*x==i+100y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/

printf( %ld ,i);

}

}

7.题目:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

程序源代码:

main()

{

int day,month,year,sum,leap;

printf( please input year,month,day );

scanf(%d,%d,%d,year,month,day);

switch(month)/*先计算某月以前月份的总天数*/

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

case 4:sum=90;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

defaultrintf(data error);break;

}

sum=sum+day; /*再加上某天的天数*/

if(year%400==0||(year%4==0year%100!=0))/*判断是不是闰年*/

leap=1;

else

leap=0;

if(leap==1month>2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++;

printf(It is the %dth day.,sum); }

8.题目:输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

程序源代码:

main()

{

int x,y,z,t;

scanf(%d%d%d,x,y,z);

if (x>y)

/*交换x,y的值*/

if(x>z)

/*交换x,z的值*/

if(y>z)

/*交换z,y的值*/

printf(small to big: %d %d %d ,x,y,z);

}

9.题目:用*号输出字母C的图案。

程序分析:可先用<|>*<|>号在纸上写出字母C,再分行输出。

程序源代码:

#include stdio.h

main()

{

printf(Hello C-world! );

printf( **** );

printf( * );

printf( * );

printf( **** );

}

10.题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

程序分析:字符共有256个。不同字符,图形不一样。

程序源代码:

#include stdio.h

main()

{

char a=176,b=219;

printf(%c%c%c%c%c ,b,a,a,a,b);

printf(%c%c%c%c%c ,a,b,a,b,a);

printf(%c%c%c%c%c ,a,a,b,a,a);

printf(%c%c%c%c%c ,a,b,a,b,a);

printf(%c%c%c%c%c ,b,a,a,a,b); }

11.题目:输出9*9口诀。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

程序源代码:

#include stdio.h

main()

{

int i,j,result;

printf( );

for (i=1;i<10;i++)

{ for(j=1;j<10;j++)

{

result=i*j;

printf(%d*%d=%-3d,i,j,result);/*-3d表示左对齐,占3位*/

}

printf( );/*每一行后换行*/

}

}

12.题目:要求输出国际象棋棋盘。

程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

程序源代码:

#include stdio.h

main()

{

int i,j;

for(i=0;i<8;i++)

{

for(j=0;j<8;j++)

if((i+j)%2==0)

printf(%c%c,219,219);

else

printf( );

printf( );

}

}

13.题目:打印楼梯,同时在楼梯上方打印两个笑脸。

程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

程序源代码:

#include stdio.h

main()

{

int i,j;

printf( );/*输出两个笑脸*/

for(i=1;i<11;i++)

{

for(j=1;j<=i;j++)

printf(%c%c,219,219);

printf( );

}

F. 本人小白,开始学习嵌入式。求大神指教,C语言和数据结构在其中的重要性。

c语言语法,编一些小程序,学会了数据结构是编一些较大程序的基础,了解一些编译原理是编好程序的基础,要想学好嵌入式也要会汇编,这些都是必不可少的。以后如果做一个项目,肯定大部分代码要用c语言写成,一些关键部分会用汇编写,而数据结构是编写一个较大工程前必须先设计的工作。你可以先学c语言,要做嵌入式就要知道汇编和数据结构,再高级就是操作系统和程序编译优化等等。这些都必不可少,还有什么重点不重点呢

G. C语言都可以写哪些程序

“c语言可以编一些比如计数器之类的小程序,也可以编写系统等。它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。 C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言...”

H. 求一汇编小程序!用ARM汇编语言完成一个C语言嵌入式汇编方式实现字符串(数组)拷贝的功能

#include< reg51.h>
#include< stdio.h>
#include< string.h>
#define INBUF_LEN 4 //数据长度
unsigned char inbuf1[INBUF_LEN];
unsigned char checksum,count3 , flag,temp,ch;
bit read_flag=0;
sbit cp=P1^1;
sbit DIR=P1^2;
int i;
unsigned int xdata *RAMDATA; /*定义RAM地址指针*/
unsigned char a[6] ={0x11,0x22,0x33,0x44,0x55,0x66} ;
void init_serialcomm(void)
{
SCON=0x50; //在11.0592MHz下,设置串行口波特率为9600,方式1,并允许接收
PCON=0x00;
ES=1;
TMOD=0x21; //定时器工作于方式2,自动装载方式
TH0=(65536-1000)%256;
TL0=(65536-1000)/256;
TL1=0xfd;
TH1=0xfd;
ET0=1;
TR0=1;
TR1=1;
// TI=0;
EA=1;
// TI=1;
RAMDATA=0x1F45;
}
void serial () interrupt 4 using 3
{
if(RI)
{ RI=0;
ch=SBUF;
TI=1; //置SBUF空
switch(ch)
{
case 0x01 :printf("A"); TI=0;break;
case 0x02 :printf("B"); TI=0;break;
case 0x03 :printf("C"); TI=0;break;
case 0x04 :printf("D"); TI=0;break;
default :printf("fg"); TI=0;break;
}
}
}
//向串口发送一个字符
void timer0() interrupt 1 using 3{
// char i;
flag++;
TH0=0x00;
TL0=0x00;
if(flag==10)
{// cp=!cp;
// for(i=0;i<6;i++)
P2=0x25;
TI=1;
temp=*RAMDATA;
printf("%c",temp);
TI=0;
// RAMDATA--;
flag=0;
}
}
//主程序
main()
{
init_serialcomm(); //初始化串口
//向6264中送数据
{
*RAMDATA=0x33;
}
while(1)
{
*RAMDATA=0x33;;
}
}

I. 如何学习嵌入式c语言编程

你这问题有点广。。。我就说一下我的经历体验吧

首先是C基础,必须非常熟练!主要是指针、链表,这个阶段至少要写几个几百行的小程序(尽量无BUG,下同)
接下来可以用一些API,比如数据库、套接字、一些图形界面库等,应该可以写一两千到三四千行的程序了
然后才能正式开始嵌入式学习,自己先摸索着写个操作系统什么的吧,从这个阶段开始,已经不重视代码量了,具体的到了这个阶段就知道

J. 用C语言写一个小程序,麻烦大家了

//记得多给点分哦,很难写的。
//C
#include<stdio.h>
intstrnmerge(char*str,intn,charconst*s1,charconst*s2){
while(n>0){
if(!(*s1)&&!(*s2))break;
if(*s1&&n>0){
*str++=*s1++;
--n;
}
if(*s2&&n>0){
*str++=*s2++;
--n;
}
}
*str='';
}
intmain(){
chars1[]="aaaa";
chars2[]="bbbbbbbbb";
charstr[100];
strnmerge(str,10,s1,s2);
printf("s1=%s ",s1);
printf("s2=%s ",s2);
printf("str=%s ",str);
return0;
}

//C++
#include<iostream>
usingnamespacestd;
intstrnmerge(char*str,intn,charconst*s1,charconst*s2){
while(n>0){
if(!(*s1)&&!(*s2))break;
if(*s1&&n>0){
*str++=*s1++;
--n;
}
if(*s2&&n>0){
*str++=*s2++;
--n;
}
}
*str='';
}
intmain(){
chars1[]="aaaa";
chars2[]="bbbbbbbbb";
charstr[100];
strnmerge(str,10,s1,s2);
cout<<"s1="<<s1<<endl;
cout<<"s2="<<s2<<endl;
cout<<"str="<<str<<endl;
return0;
}