【C语言】每日一题(半月斩)——day1

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

【C语言】每日一题(半月斩)——day1,【C】-每日题,c语言,算法,数据结构,程序人生,开发语言 

目录

😊前言 

一.选择题 

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

2.以下不正确的定义语句是( )

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

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

5.. 若给定条件表达式 (M)?(a++):(a--) ,则其中表达式 M ( )

二、编程题 

①打印从1到最大的n位数

②计算日期到天数转换


 文章来源地址https://www.toymoban.com/news/detail-724539.html

😊前言 

开设这个专栏,是因为刚更新完【 C语言】初阶的内容,马上迈入进阶,可以在学习进阶知识的时候,巩固复习基础。基础要扎实!!!

一.选择题 

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

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);		// 3 8
}

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

解析:正确答案 C

swap()在调用的时候没有传参,所以函数内交换的是全局变量,而当全局变量和局部变量名字相同时,优先使用局部变量;局部优先原则 

1.  作用域

通常来说,一段程序代码中所用到的名字并不是总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。

(1)局部变量的作用域就是所在的局部范围。(同一个{}内)

(2)全局变量的作用域就是整个工程(注:换一个.c文件使用全局变量,要声明(extern)一下变量)

注意:当全局变量与局部变量同名冲突时,遵循局部优先的原则

2.生命周期

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

(1)  局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

(2)  全局变量的生命周期是:整个程序的生命周期
 

 

2.以下不正确的定义语句是( )

A: double x[5] = {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 y[5+3]={0, 1, 3, 5, 7, 9};

解析: 正确答案 B

选项B中考察是转义字符,八进制范围是0~7,所以'\8' err

\ddd ddd表示1到3个八进制数 如:\130 转义为 字符X
\xhh hh表示1到2位十六进制数 如:\x30 转义为 字符0

补充:字符型数据在内存中存储的是字符的ASCII码值的二进制形式,一个字符的存储占用一个字节

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   

 解析:正确答案 ACD

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

int b;
char c[10];

A: scanf("%d%s",&b,&c);         B: scanf("%d%s",&b,c);

C: scanf("%d%s",b,c);         D: scanf("%d%s",b,&c);

解析:正确答案 AB

1.scanf()是输入函数

scanf(格式控制,地址列表);

“格式控制”规定数据的输入格式,必须用双引号括起来,其内容仅仅是格式说明。

“地址列表”则由一个或多个地址组成的列表,可以是变量的地址,或字符串的首地址。 

所以在scanf();中变量需要取地址,而数组名就表示首元素地址(有两个例外)

2.数组名是什么?

①.数组名是首元素的地址。

两个例外:

1、sizeof(数组名),这里的数组名是表示整个数组,计算的是整个数组的大小,单位是字节。

2、&数组名,这里的数组名是表示整个数组,&数组名取出的是数组的地址。

5.. 若给定条件表达式 (M)?(a++):(a--) ,则其中表达式 M ( )

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

解析: 正确答案

 考察的是三目运算符,  exp1?exp2:exp3;

exp1为真,执行exp2;

exp1为假,执行exp3;

        C语言规定:0为假,非0为真。
所以 若要求与M等价,则要满足M取0时为假,取非0数值时为真。 

二、编程题 

①打印从1到最大的n位数

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 ...  一直到最大的 3 位数 999。
1. 用返回一个整数列表来代替打印
2. n 为正整数,0 < n <= 5

打印从1到最大的n位数_牛客网

int* printNumbers(int n, int* returnSize) {
	static arr[100000];
	int m = 9;
	int i = 1;
	int j = 0;
	scanf("%d", &n);
	if (n >= 1 && n <= 5)
	{
		//获得最大位数字
		for (i = 1; i < n; i++)
		{
			m = m * 10 + 9;
		}
		//将数据存进数组
		for (j = 1; j <= m; j++)
		{
			arr[j - 1] = j;
			*returnSize = j; //returnSize返回数组元素个数
		}
		return arr;
	}
	else
	{
		return 0;
	}
}

static修饰的全局变量——称为静态全局变量 

②计算日期到天数转换

根据输入的日期,计算是这一年的第几天。输入保证年份为4位数且日期合法。

输入描述:输入一行,每行空格分割,分别是年,月,日

输出描述:输出是这一年的第几天

 计算日期到天数转换_牛客网

int Isyear(int year)
{
	if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
	{
		return 1;
	}
	else {
		return 0;
	}
}
int main()
{
	int year, month, date;

	// 设0可以让数组下标和月份对齐
	int month_day[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	scanf("%d %d %d", &year, &month, &date);
	//获取当月天数
	int day = date;
	//累加之前月份天数
	int i = 0;
	for (i = 1; i < month; i++)
	{
		day += month_day[i];
	}
	//判断是否闰年且大于二月+1
	if ((Isyear(year)) && month > 2)
	{
		day++;
	}
	printf("%d", day);
	
	return 0;
}

1、月大月小口诀:一月大,二月平,三月大,四月小,五月大,六月小,七月大,八月大,九月小,十月大,十一月小,十二月大(大:31,小:30,平:28)

2、判断闰年的条件

①能被4整除,并不能被100整除。

②能被400整除

【C语言】每日一题(半月斩)——day1,【C】-每日题,c语言,算法,数据结构,程序人生,开发语言 

【C语言】每日一题(半月斩)——day1,【C】-每日题,c语言,算法,数据结构,程序人生,开发语言 

 

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

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

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

相关文章

  • C语言每日一题:11.《数据结构》链表分割。

    题目链接: 1.构建两个新的带头链表,头节点不存储数据。 2.循环遍历原来的链表。 3.小于x的尾插到第一个链表。 4.大于等于x尾插到第二个链表。 5.进行链表合并,注意第二个链表的尾的下一个需要置空防止成环。 6.free两个头之前需要保存新的满足条件的单链表的头。 1.有

    2024年02月14日
    浏览(44)
  • C语言每日一题:13《数据结构》环形链表。

    题目链接: 使用快慢指针利用相对移动的思想: 1,令快指针(fast)速度为2. 2.慢指针(slow)速度为1. 3.以慢指针进入环中开始。 4。假设slow刚刚进入环中fast与它相距N。 如图所示: 1,令快指针(fast)速度为3.M 2.慢指针(slow)速度为1. 3.以慢指针进入环中开始。 4。假设slow刚

    2024年02月14日
    浏览(45)
  • C语言:选择+编程(每日一练Day1)

    目录  选择题: 题一: 题二: 题三:  题四:  题五: 编程题: 题一:打印1到最大的n位数 示例1 思路一: 题二:计算日期到天数转换 示例1  思路一: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 1、执行下

    2024年02月09日
    浏览(42)
  • 数据结构 day1

    1x.mind  2间接定义结构体数组,进行4种方式的定义和初始化  3定义结构体存储10辆车(车的信息:品牌、单价、颜色)         1.定义函数,实现循环输入         2.定义函数,实现排序         3.定义函数,计算红色车的个数  

    2024年02月11日
    浏览(40)
  • 数据结构day1

    1.思维导图 2.定义一个简单宏或宏函数,实现两个数交换。 3.定义字符类型指针,指针指向n个连续堆区内存,输入,计算字符串长度 定义函数,实现内存申请 定义函数,解释字符串长度 定义函数,释放内存

    2024年01月20日
    浏览(34)
  • 数据结构的练习day1

    链表只能一个一个的遍历,不能通过随机访问来获取节点 链表的地址是并要求连续的,是通过内部的指针来进行联系的

    2024年04月22日
    浏览(33)
  • C语言 每日一题 PTA 11.6 day10

    N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。 本题就请你计算给定的一系列正数的调和平均值。 输入格式: 每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N(≤1000);第 2 行给出 N 个正数,都在区间[0.1, 100] 内。 输出

    2024年02月05日
    浏览(44)
  • 【迎战蓝桥】 算法·每日一题(详解+多解)-- day5

    🤞目录🤞 💖1. 数组中出现次数超过一半的数字 💖2. 二进制中1的个数 💖3. 替换空格 【大家好,我是 爱干饭的猿 ,如果喜欢这篇文章, 点个赞 👍, 关注一下吧, 后续会一直分享题目与算法思路 】 描述 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长

    2023年04月08日
    浏览(39)
  • 数据结构day1(2023.7.13)

       练习1:static(全局变量、局部变量作用域)  练习2:判断变量处于用户空间的哪个区  练习3:在堆区申请连续的n个空间,实现循环输入,循环输出 、释放空间  练习4:数据定义与数据类型  练习5:typedef小练  定义字符指针,分别指向堆区空间,计算字符串的长度 要

    2024年02月16日
    浏览(41)
  • 二叉树(下)+Leetcode每日一题——“数据结构与算法”“对称二叉树”“另一棵树的子树”“二叉树的前中后序遍历”

    各位CSDN的uu们你们好呀,今天小雅兰的内容仍然是二叉树和Leetcode每日一题,下面,就让我们进入二叉树的世界吧!!! 这个题目需要重新定义一个函数,函数参数需要有左子树和右子树,题目所给定的函数无法解决问题。 每个不为空的结点,都可以认为是一棵子树的根 

    2024年02月16日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包