C基础作业4-02

本文探讨了大端存储和小端存储的概念,详细介绍了GCC编译过程,涉及文件操作指令,以及C语言中的代码示例,包括数组操作、条件判断、素数和完美数计算,以及简单的图形打印和成绩统计程序。
摘要由CSDN通过智能技术生成

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

  数据存储在字节中,各个字节存放顺序不同,决定了大端存储和小端存储

   大端存储:字数据的高字节存放在低地址,低字节存放在高地址

    小端存储则反之

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

预处理阶段

头文件的展开、注释的删除、宏定义的替换

gcc -E xxx.c -o xxx.i

编译阶段

词法分析 语法分析 --查错的。如果无误,会将 .i 文件 翻译成 汇编文件

gcc -S xxx.i -o xxx.s

汇编阶段

将汇编文件生成目标文件 .o 文件

gcc -c xxx.s -o xxx.o

链接阶段

链接库文件,生成最终的可执行文件

gcc xxx.o -o a.out

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

cp复制,mv剪切

/etc   系统相关目录

/mnt  被挂载文件的挂载点

/usr   应用文件目录

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

unsigned int  i;   

for(i=5;i>=0;i--)

{

printf(“hello\n”);

}

hello

hello

hello

hello

hello

5.请回答以下问题

c=-75     a=181

d= 6       e=5

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

     0000 0000 0001 1011

7.请回答以下程序

    

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

     Eg  输入:2024  4  1

 输出:这是这一年的第92天

9.简述以下程序

while()后不应加";"

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

#include "stdio.h"表示在文件当前的路径下找 stdio.h文件,如果没有的话再到标准库去找。

#include<stdio.h> 就是直接去标准库找。

11.请简述以下程序的

无限次

练习12:

请编程实现

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
int main(int argc, const char *argv[])
{
    int a=0;
    int b=0;
    printf("请输入两个数字:");
    scanf("%d %d",&a,&b);
    int c=MIN(a,b);
    printf("%d\n",c);
    return 0;
}

练习13: 

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

程序:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    int a;
    printf("请输入一个数:");
    scanf("%d",&a);
    int i;
    for(i=1;i<=a;i++)
    {
        if(a%i==0)
        {
            printf("%d ",i);
        }
    }
    return 0;
}

练习14:

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

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    int a,b;
    printf("请输入一个起始值:");
    scanf("%d",&a);
    printf("请输入一个终止值:");
    scanf("%d",&b);
    int n;
    int m;
    if(a>b)
    {
        n=a;
        m=b;
    }
    else
    {
        n=b;
        m=a;
    }
    int i;
    int k;
    int p=0;
    for(i=m;i<=n;i++)
    {
        p=0;
        for(k=2;k<i;k++)
        {
            if(i%k==0)
            {
                p=1;
                break;
            }
        }
        if(p==0)
        {
            printf("%d ",i);
        }

    }
    return 0;
}

 

 练习15:

请变成实现图形打印

 

练习16:

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

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    int i=1;
    int a;
    int b=0;
    int c=0;
    while(i<=10)
    {
        printf("请输入第%d个值:",i);
        scanf("%d",&a);
        if(a>b)
        {
            b=a;
        }
        if(i==1)
        {
            c=a;
        }
        if(a<c)
        {
            c=a;
        }
        i++;
        putchar(10);
    }
    printf("最小值为%d 最大值为%d\n",c,b);
        return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值