zuoyeday1

1.下面程序的输出是(D)

Void main( )

{

Unsigned char ucNum;

For (ucNum = 0; ucNum < 500; ucNum++){

......

}

Printf(“%d”, ucNum);
}

499           B. 500               C. 501          D. 无输出
无输出,ucNum是一个无符号字符类型,取值范围是0~255,一直在执行循环

2、在bash shell中,假设str=abc,请写出以下的输出的结果:

(1)echo  “$str”

(2)echo  ’$str’

(3)echo  “’$str’”

​ 1) abc

​  2)$str

​ 3) 'abc'

1、bash中的特殊符号

①$:使用变量的前导符

②“ ”:具有变量置换的功能

③‘ ’:两个“”中间为可以先执行的命令

2、shell字符串

字符串可以用单引号,也可以用双引号

单引号   str='this is $a',即使存在变量a,这句话执行结果也还是this is $a,单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的

双引号  str = "this is $a",如果a变量值是world,那么这句话执行结果将是this is world,双引号的优点是可以有变量,双引号里可以出现准义
3.链表逆置

Linklist rev_linklist(Linklist head)
{
    //1,判断长度是否小于等于1
    if(NULL ==head || NULL ==head->next)
    {
        return head;
    }
    //2,逆置
    Linklist p=head->next;
    head->next=NULL;
    while(p!=NULL)
    {
        Linklist t=p;
        p=p->next;
        t->next=head;
        head=t;
    }
    return head;
}

4、大小端存储的区别,判断大小端存储的方法

大端存储:地址高位存储数据低位,地址低位存储数据高位。大型网络

小端存储:地址高位存储数据高位,地址低位存储数据低位。计算机存储

int main(int argc, const char *argv[])
{
	int a = 0x12345678;
	printf("a = %d\n",a);
	short b = a;
	if(b == 0x1234)
	{
		printf("big\n");
	}
	else if(b == 0x5678)
	{
		printf("small\n");
	}
	return 0;
}

5数组排序

void show(int arr[10])
{
	for(int i = 0;i < 10;i++)
	{
		printf("%d ",arr[i]);
	}
	printf("\n");
}
void maopao(int arr[10])
{
	for(int i = 1;i < 10;i++)
	{
		for(int j = 0;j < 10-i;j++)
		{
			if(arr[j+1] < arr[j])
			{
				int t = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = t;
			}
		}
	}
	printf("冒泡排序结果如下:");
	show(arr);
}
void sselect(int arr[10])
{
	for(int i = 0;i < 9;i++)
	{
		int max = arr[i];
		for(int j = i+1;j < 10;j++)
		{
			if(arr[j] > max)
			{
				int t = arr[i];
				arr[i] = arr[j];
				arr[j] = t;
			}
		}
	}
	printf("简单选择排序后结果如下:");
	show(arr);
}
int main(int argc, const char *argv[])
{
	int arr[10] = {19,11,32,67,44,4,92,44,6,10};
	maopao(arr);
	sselect(arr);
	return 0;
}

6strcat

char *mystrcat(char *dts,char *src)
{
	int i = 0;
	int j = 0;
	while(*(dts+i) != '\0')
	{
		i++;
	}
	while(*(src+j) != '\0')
	{
		*(dts+i) = *(src+j);
		i++;
		j++;
	}
	*(dts+i) == '\0';
	return dts;
}

7strcpy

int mystrcmp(char *str1,char *str2)
{
	int i = 0;
	while(*(str1+i) != '\0' && *(str2+i) != '\0')
	{
		if(*(str1+i) != *(str2+i))
		{
			return *(str1+i)-*(str2+i);
		}
		i++;
	}
	return 0;
}

8计算二维数组的最大最小值

int main(int argc, const char *argv[])
{
    int m,n;
    printf("please enter m,n:");
    scanf("%d %d",&m,&n);
    int arr[m][n];
    int max,min;
    //循环输入
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            scanf("%d",&arr[i][j]);
        
        }
    }
    max=min=arr[0][0];
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(max<arr[i][j])
                max=arr[i][j];
            if(min>arr[i][j])
                min=arr[i][j];
        }
    }
    printf("max=%d  min=%d\n",max,min);
    return 0;
}

9输入一个日期,判断是否为闰年

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int year = 0;
	int month = 0;
	int day = 0;
	int i = 1;
	int sum = 0;
	printf("请输入年 月 日:");
	scanf("%d%d%d",&year,&month,&day);
	if(month>=13||month<=0)
	{
		printf("错误的月份\n");
	}
	else if((month==1||3||5||7||8||10||12) && (day>31||day<0))
	{
		printf("该日不存在\n");
	}
	else if(((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))&&(month==4||6||9||11)&&(day>30||day<0))
	{
		printf("该日不存在\n");
	}
	else if((~(year%4==0&&year%100!=0)||(year%100==0&&year%400==0))&&(month==2)&&(day>28||day<0))
	{
		printf("该日不存在\n");
	}
	else if(((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))&&(month==2)&&(day>29||day<0))
	{
		printf("该日不存在\n");
	}
	else
	{
			if(year%4==0&&year%100!=0||year%100==0&&year%400==0)
			{	
				printf("%d是闰年\n",year);
				switch
sum = day+max(month,1)*31+max(month,2)*29+max(month,3)*31+max(month,4)*30+max(month,5)*31+max(month,6)*30+max(month,7)*31+max(month,8)*31+max(month,9)*30+max(month,10)*31+max(month,11)*30;
				printf("%d年%d月%d日是今年的第%d天\n",year,month,day,sum);
			}
			else
			{			
				printf("%d是平年\n",year);
sum = day+max(month,1)*31+max(month,2)*28+max(month,3)*31+max(month,4)*30+max(month,5)*31+max(month,6)*30+max(month,7)*31+max(month,8)*31+max(month,9)*30+max(month,10)*31+max(month,11)*30;
			     	printf("%d年%d月%d日是今年的第%d天\n",year,month,day,sum);
			}
	}
	return 0;
}

10栈和队列的区别?
栈:先进后出,队列:先进先出栈:只允许在一端进行插入和删除队列:允许在队尾插入,队头删除的线性结构都是操作受限的线性表,插入和删除都只能在端点处进行,对于栈,只允许在一端进行插入和删除,该端称为栈顶,导致栈的特点为先进后出对于队列,允许在队尾插入队头删除,导致队列的特点为先进先出
 

                           

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值