【C刷题】day2

这篇具有很好参考价值的文章主要介绍了【C刷题】day2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、选择题

1、以下程序段的输出结果是( )
#include<stdio.h>
int main()
{
char s[] = "\\123456\123456\t";
printf("%d\n", strlen(s));
return 0;
}

A: 12 B: 13 C: 16 D: 以上都不对
【答案】:

A

【解析】:

考点:转义字符

\\表示反斜杠,取消转义的作用

\123表示八进制的123

\t表示水平制表符,相当于Tab键

这些都是算一个字符,其他都是单独一个为一个字符,故为12个


2、若有以下程序,则运行后的输出结果是()
#include <stdio.h>
#define N 2
#define M N + 1
#define NUM (M + 1) * M / 2
int main()
{
printf("%d\n", NUM);
return 0;
}

A: 4 B: 8 C: 9 D: 6
【答案】:

B

【解析】:

考点:define宏定义只是简单的替换

(1)先把M进行替换得到(N+1+1)*N+1/2(M换成N+1不用加括号,直接替换就好)

(2)再把N进行替换,(2+1+1)*2+1/2得到就是8.5

(3)以整形的形式进行打印,取整数部分就是8


3、如下函数的 f(1) 的值为( )
int f(int n)
{
static int i = 1;
if(n >= 5)
return n;
n = n + i;
i++;
return f(n);
}

A: 5 B: 6 C: 7 D: 8
【答案】:

C

【解析】:

考点:

static修饰局部变量改变了变量的周期(让静态局部变量出了作用域依然存在,知道程序结束,生命周期才停止)

【C刷题】day2,【C】每日一练,c语言,算法,开发语言


4、下面3段程序代码的效果一样吗( )
int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;

A: (2)=(3) B: (1)=(2) C: 都不一样 D: 都一样
【答案】:

B

【解析】:

考点:指针常量和常量指针

重要区别:*的位置

我们以*为分界线,如果const在*左边,那么就是常量指针(指针指向的是常量);

如果const在*右边,那么就是指针常量(指针是个常量)

1.常量指针:指针指向的内容是常量(const只存在于指针指向的过程中,而与变量本身是否被const修饰无关)

const  int *n;

int  const *n;

注意两点

(1)常量指针的意思是不能通过指针解引用改变变量(b)的值,但是可以通过其他引用来改变变量(b)的值

int b=5;
const int *a=&b;
b=6;

(2) 常量指针可以改变指向,常量指针可以指向其他的地址

int a = 5;
int b = 6;
const int* n = &a;
n = &b;

2.指针常量:指针本身是个常量,不能指向其他的地址

int * const n;

 注意:

指针常量指向的地址不能改变,但是地址中保存的值是可以改变的,数据可以通过其他指向改变地址的指针来修改

int a = 5;
int* p = &a;
int* const n = &a;
*p = 8;//通过p指针来改变a的值

5、对于下面的说法,正确的是( )

A: 对于 struct X{short s;int i;char c;},sizeof(X)等于sizeof(s) + sizeof(i) + sizeof(c)

B: 对于某个double变量 a,可以使用 a == 0.0 来判断其是否为零

C: 初始化方式 char a[14] = "Hello, world!"; 和char a[14]; a = "Hello, world!";的效果相同

D: 以上说法都不对

【答案】:

D

【解析】:

A.没有考虑内存对齐

B.考察浮点型的比较,由于浮点型存在误差,不能直接判断两个数是否相等,通常采用比较两个数差的绝对值是否小于一个很小的数,作为误差

C.第二种的a代表首元素的地址,地址是常量不可以改变


二、编程题

1.尼科彻斯定理

【C刷题】day2,【C】每日一练,c语言,算法,开发语言

【参考答案】:

通过数学规律找到要打印的第一个数,第一个数就是m*m-m+2*i+1

注意最后一个数不用打印+,所以要特殊考虑

#include <stdio.h>
int main() 
{
    int m=0;
    int count=0;
    //输入
    scanf("%d",&m);
    //输出
    for(int i=0;i<m;i++)
    {
        if(i!=m-1)
        printf("%d+",m*m-m+2*i+1);
        //最后一个没+
        else
        printf("%d",m*m-m+2*i+1);
    }
    return 0;
}

2. 等差数列

【C刷题】day2,【C】每日一练,c语言,算法,开发语言

【参考答案】:

 就是套数学公式,Sn=a1*n+n*(n-1)*d/2文章来源地址https://www.toymoban.com/news/detail-724301.html

#include <stdio.h>
int main()
{
   int n=0;
   //输入
   scanf("%d",&n);
   //输出
   printf("%d",2*n+n*(n-1)*3/2);
}

到了这里,关于【C刷题】day2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言每日一练--------Day(11)

    本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 今日练习题: 找到数组中消失的数字 哈希表 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 🚚代码仓库:

    2024年02月10日
    浏览(36)
  • C语言每日一练--Day(15)

    本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 今日练习题: 珠玑妙算 两数之和 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 🚚代码仓库:小小unicorn的

    2024年02月10日
    浏览(32)
  • C语言每日一练------(Day3)

    本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 今天练习题的: 尼科彻斯定理 等差数列 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 🚚代码仓库:小小

    2024年02月10日
    浏览(30)
  • 算法刷题营【Day2】:: 双指针算法应用:滑动窗口 :209. 长度最小的子数组

    本内容是笔者结合《代码随想录》总结所得,记录学习过程,分享知识! 目录: 1. 开篇例题:209. 长度最小的子数组 2. 题解参考 - - 2.1 方法一:暴力法 - - 2.2 方法二:滑动窗口 3. 方法思路点拨:滑动窗口 - - 3.1 直白解释 - - 3.2 本题思路点拨 4. 相关题集 1. 开篇例题:209. 长度

    2024年02月04日
    浏览(35)
  • C语言:选择+编程(每日一练Day13)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:统计每个月兔子的总数 思路一: 题二:数列的和 思路一: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 感谢大佬们的一键三连! 感谢大佬

    2024年02月08日
    浏览(36)
  • C语言:选择+编程(每日一练Day16)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:数对 思路一: 题二:截取字符串 思路一: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 感谢大佬们的一键三连! 感谢大佬们的一键三连!

    2024年02月09日
    浏览(32)
  • C语言:选择+编程(每日一练Day11)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:最大连续1的个数 思路一: 题二:完全数计算  思路二: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 感谢大佬们的一键三连! 感谢大佬们

    2024年02月09日
    浏览(37)
  • C语言:选择+编程(每日一练Day12)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:数组颠倒 思路一: 题二:单词倒排 思路一: 思路二: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 感谢大佬们的一键三连! 感谢大佬们的

    2024年02月09日
    浏览(38)
  • C语言:选择+编程(每日一练Day14)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:珠玑妙算 思路一: 题二:两数之和 思路一: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 感谢大佬们的一键三连! 感谢大佬们的一键三连

    2024年02月09日
    浏览(43)
  • C语言:选择+编程(每日一练Day15)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:寻找奇数 思路一: 题二:寻找峰值 思路一: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 感谢大佬们的一键三连! 感谢大佬们的一键三连

    2024年02月10日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包