240402

1.请简述什么大端存储和小端存储?

大端存储:是机房大型网络存储方式

小端存储:是普通电脑存储

2. 请简述gcc的分步编译?

gcc   -E ***.c   -o ***.i  是预处理,展开头文件,删除注释。

gcc   -S ***.i    -o ***.s  是 检查语法的正确性,生成汇编文件

gcc   -c ***.s   -o ***.o   汇编文件转二进制文件

gcc    ***.o   -o ****  生成执行文件

3. 请回答文件剪切、赋值的指令,并说明/etc   /usr   /mnt分别表示什么意思?

剪切:mv  文件名  ./路径名/新的文件名

复制:cp  文件名  新的文件名

/etc (本机的配置文件)

/usr (系统默认存放的软件资源)

/mnt (挂载点文件目录)

4.  请问一下代码的输出结果是?

unsigned int  i;   
for(i=5;i>=0;i--)
{
printf(“hello\n”);
} 

hello 

无限循环

请把 unsigned 无符号去掉


5.请回答以下问题

第9行报错,修改为++d

181转二进制0000 0000 1011 0101
char 是字节1011 0101补码
1011 0100反码
1100 1011原码

-75

c=-75
a=181
d=5
e=5


6.设有以下语句:int a=3,b=6,c; c=a^b<<2; 则c的二进制值是

a=30000 0011
b=60000 0110
a^b0000 0101
<<200 0101 00

c的二进制是0001 0100


7.请回答以下程序

a+=3!=3a+=0(3与3不相等为假)a=3
a*=++a+a由于++a,a=44*(4+4)
最终32

8.    输入年月日,使用switch编程实现计算这是这一年的第几天?

 Eg  输入:2024  4  1
       输出:这是这一年的第92天

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int year,yy,rr;
	printf("请输入年:");
	scanf("%d",&year);
	int y01=31,y02,y03=31,y04=30,y05=31,y06=30,y07=31,y08=31,y09=30,y10=31,y11=30,y12=31;
	if(year%4==0&&year%100!=0||year%400==0)
		y02=29;
	else
		y02=28;
	printf("请输入月:");
	scanf("%d",&yy);
	printf("请输入日:");
	scanf("%d",&rr);
	switch(yy)
	{
		case 1:printf("这是这一年的第%d天\n",rr);break;
		case 2:printf("这是这一年的第%d天\n",rr+y01);break;
		case 3:printf("这是这一年的第%d天\n",rr+y01+y02);break;
		case 4:printf("这是这一年的第%d天\n",rr+y01+y02+y03);break;
		case 5:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04);break;
		case 6:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04+y05);break;
		case 7:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04+y05+y06);break;
		case 8:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04+y05+y06+y07);break;
		case 9:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04+y05+y06+y07+y08);break;
		case 10:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04+y05+y06+y07+y08+y09);break;
		case 11:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04+y05+y06+y07+y08+y09+y10);break;
		case 12:printf("这是这一年的第%d天\n",rr+y01+y02+y03+y04+y05+y06+y07+y08+y09+y10+y11);break;
		default :printf("无法判断");break;
	}
	printf("%d年%d月%d日\n",year,yy,rr);

	return 0;
}

9.简述以下程序

int 是整数,x值等于5
while循环,条件是 x>0 (当 X 小于0,条件不成立,会停止循环)
x-- 没循环一次,x-1 赋值给 x


10.请简述以下程序的区别

#include "stdio.h":这是字符串
#include <stdio.h>:这是头文件


11.请简述以下程序的

int是整数,n赋值是0
while循环,n=1 赋值是1的意思,
n++ 先运算,后赋值

执行次数无限


12.请编程实现

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define A 77
#define B 42
int main(int argc, const char *argv[])
{   
	int a,b;
	a=A;
	b=B;
	if(a>b)
	{
		a=a+b;
		b=a-b;
		a=a-b;
		printf("a=%d,b=%d\n",a,b);
	}
	else
		printf("a=%d,b=%d\n",a,b);

	return 0;
}

13,请编程实现输出起始值到终止值之间的素数

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int a=0,b=0,i;
	printf("请输入起始值:");
	scanf("%d",&a);
	printf("请输入终止值:");
	scanf("%d",&b);
	int test=0;
	if(1==a)
		printf("素数 %d ",a);
	else
		printf("素数 ");
	for(a;a<=b;a++)
	{
		test=0;
		for(i=1;i<a;i++)
		{
			if(a%i==0)
			{
				++test;
			}
		}
		if(test==1)
			printf("%d ",a);
	}
	putchar(10);
	return 0;
}

14,请编程实现输出起始值到终止值之间的完美数

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int a,b,c,i=0,j=0,sum;
	printf("请输入起始值:");
	scanf("%d",&a);
	printf("请输入结束值:");
	scanf("%d",&b);
	for(i=a;i<b;i++)
	{
		sum=0;
	
		for(j=1;j<i;j++)
		{
			if(i%j==0)
			{
				sum+=j;
			}
		}
		if(i==sum)
			printf("%-4d",i);
	}
	putchar(10);
	return 0;
}

15,请变成实现图形打印

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int a,b,c;
	for(a=0;a<6;a++)
	{
		for(b=0;b<=a;b++)
		{
			printf("_");
		}
		for(b=0,c=70;b<=a;b++,c--)
		{
			printf("%c",c);
		}
		putchar(10);
	}
	return 0;
}

16,循环输入10个成绩,请计算最大值,最小值.:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int a,max=0,min=1000,i,l;
	for(i=1;i<=10;i++)
	{
	printf("请输入成绩(%d):",i);
	scanf("%d",&a);
	l=a;
	if(l>max)
	{
		max=l;
	}

	if(l<min)
	{
		min=l;
	}
	}
	putchar(10);
	printf("最好成绩%d\n最差成绩%d\n",max,min);
	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值