C语言:每日一练(选择+编程)

目录

选择题:

题一:

题二:

题三:

题四:

题五:

编程题:

题一:打印1到最大的n位数

示例1

思路一:

题二:计算日期到天数转换

示例1

思路一:

本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵!


选择题:

题一:

1、执行下面程序,正确的输出是( )

int x=5,y=7;

void swap()

{

int z;

z=x;

x=y;

y=z;

}

int main()

{

int x=3,y=8;

swap();

printf("%d,%d\n",x, y);

return 0;

}
A: 5,7 B: 7,5 C: 3,8 D: 8,3

题二:

2、 以下不正确 的定义语句是( )
A: double x5 = {2.0, 4.0, 6.0, 8.0, 10.0};
B: char c2\[\] = {'\x10', '\xa', '\8'};
C: char c1\[\] = {'1','2','3','4','5'};
D: int y5+3={0, 1, 3, 5, 7, 9};

题三:

3、test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】( )

#define INT_PTR int*

typedef int* int_ptr;

INT_PTR a, b;

int_ptr c, d;
A: a B: b C: c D: d

题四:

4、 若给定条件表达式 (M)?(a++):(a--) ,则其中表达式 M ( )
A: 和(M==0)等价 B: 和(M==1)等价

C: 和(M!=0)等价 D: 和(M!=1)等价

题五:

5、有如下定义语句,则正确的输入语句是【多选】( )

int b;

char c10;
A: scanf("%d%s",&b,&c); B: scanf("%d%s",&b,c);
C: scanf("%d%s",b,c); D: scanf("%d%s",b,&c);

编程题:

题一:打印1到最大的n位数

示例1

输入:

复制代码
1

返回值:

复制代码
[1,2,3,4,5,6,7,8,9]

思路一:

创建一个指针数组a ,用num记录需要输入元素的个数 ,将从1开始到num个结束的值 输入到个个数组下标中,返回指针a

注意:这里的returnSize指的是数组元素个数!

cpp 复制代码
int* printNumbers(int n, int* returnSize ) 
{
    int i = 0;
    int num = 1;
    int* a;
    //计算元素个数
    for(i = n;i != 0;i--)
    {
        num *= 10; 
    }
    *returnSize =num-1;
    //开辟需要存储的个数的空间
    a = (int*)malloc(sizeof(int)*(*returnSize));
    for(i = 1;i < num;i++)
    {
        a[i-1] = i;
    }
    return a;
}

题二:计算日期到天数转换

示例1

输入:

复制代码
2012 12 31

输出:

复制代码
366

思路一:

分别创建用来scanf()的year、mon、day ,以及记录每月天数的month ,再判断年份是否是闰年,再求天数求和。

cpp 复制代码
#include <stdio.h>

int main() 
{
    int year = 0;
    //保存每月天数
    int month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    int day = 0;
    int mon = 0;
    int sum = 0;
    scanf("%d%d%d",&year,&mon,&day);
    //判断是否是闰年
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    {
        month[2] = 29;
    }
    //求目标月份前的天数和
    for(int i = 1;i < mon ;i++)
    {
        sum += month[i];
    }
    printf("%d",sum+day);


    return 0;
}

本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵!

相关推荐
caimouse16 分钟前
reactos编码规范
c语言·开发语言
小雨下雨的雨2 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
xieliyu.4 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
一条小锦吕*5 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
数智工坊5 小时前
机器人运动控制:采样、优化与学习三大流派深度对比与实战
android·学习·机器人
CryptoPP5 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫5 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
AI thought5 小时前
【转】C语言中 -> 是什么意思?
c语言·位移运算符·右移赋值·无符号整数·算术右移
如竟没有火炬6 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
阳区欠6 小时前
【LangChain】LLM基础介绍
开发语言·python·langchain