C语言的第四天(明解篇)

《明解C语言》第一章总结与感悟

//表现出显示与输出,并且使用乘法
#include <stdio.h>
int main()
{
	int height, width;
	puts("输出长方形的面积");
    scanf("%d", &height);
	printf("长为:%d\n", height);
	scanf("%d", &width);
	printf("宽为:&d\n", width);
	printf("长方形的面积为:%d", height * width);
	return 0;
}

这是看完第一章之后,最后写出来的对于第一章领悟的代码,但是出现了问题,通过对这个错误的代码进行修正与分析,开始对于第一章的总结。

VS给出的错误提示,主要是

  1. printf: 格式字符串中传递的参数太多
  2. 返回值被忽略: “scanf”
  3. ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

修改后的程序为

//表现出显示与输出,并且使用乘法
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
int main()
{
	int height, width;
	puts("输出长方形的面积");
    printf("长为:\n");
    scanf_s("%d", &height);
	printf("宽为:\n");
	scanf_s("%d", &width);
	printf("长方形的面积为:%d", height * width);
	return 0;
}

请添加图片描述

1、关于第二个问题
将scanf改为scanf_s可以解决
2、关于第三个错误
原因在查找资料后发现是Visual C++ 使用了更加安全的 run-time library routines,解决方法是定义了新的宏

#define _CRT_SECURE_NO_DEPRECATE

在这里需要注意的是这个定义要放在所有include的前面

第一章的总结

  • 变量与常量
  • 输入和显示

1、变量与常量

字符串常量:在 printf 里面第一个实参就是字符串常量,如代码中的puts("输出长方形的面积"),引号内就是字符串常量

(1)声明
例如:int x;

在这里,会随机赋一个垃圾值

(2)初始化
(初始化是在声明的时候进行)
例如:int x=2;
(3)赋值
(赋值是在已经生成变量的情况下给数值以变量)
例如:x=2;

2、输入与显示

(1)scanf()/scanf_s()
  格式:scanf_s("%d", &height);

在逗号外要加上 & 符号

(2)printf()
  格式:printf("长方形的面积为:%d", height * width);

(3)puts()
  格式:puts("输出长方形的面积");

这个函数不仅可以输出实参,还可以换行

但是这样的格式是不对的puts(2)

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
明解C语言入门第四章主要介绍了金字塔的练习。其练习4-24是输入一个整数,然后根据输入的整数层数,画出一个金字塔形状。代码使用了嵌套循环,外层循环控制金字塔的层数,内层循环控制每一层的输出。具体实现是通过在内层循环打印空格,然后在另一个内层循环打印星号来实现金字塔形状的输出。 练习4-25是画一个向下的金字塔,也是根据输入的整数层数来绘制金字塔形状。不同于练习4-24,这个金字塔是倒置的,即顶部是最宽的一层,底部是最窄的一层。代码使用了嵌套循环,外层循环控制金字塔的层数,内层循环控制每一层的输出。具体实现是通过在内层循环打印空格,然后在另一个内层循环打印数字来实现金字塔形状的输出。 练习4-6是输入一个整数,然后输出从2到输入整数之间的所有偶数。代码使用了while循环,通过判断每个数是否能被2整除来确定是否为偶数,并将偶数打印出来。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [明解C语言(入门)第四章](https://blog.csdn.net/a237664181a/article/details/88848022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值