C/C++ 您所在的位置:网站首页 用putchar和getchar输出字符三角形 C/C++

C/C++

#C/C++| 来源: 网络整理| 查看: 265

玩转c代码---从输入输出开始

参考:麦子学院-C语言程序设计及快速入门

参考教程:C语言编程:一本全面的C语言入门教程(第3版)第16章需要掌握的内容

printf函数的使用putchar函数的使用scanf函数的使用getchar函数的使用 库函数的概念及使用方法

需要了解的内容

·人机交互的概念:计算机和人进行通信的方式

常见的人机交互接口

屏幕输出和视频输入 键盘输入 音频的输入输出 嵌入式系统的人机交互

串口的输入输出

.LED灯及LED阵列的输出 蜂呜器的输出 触摸屏 更加复杂的输入输出通路(无线网络,手机)

PC常用的几个输入输出函数

常用屏幕输出函数及重难点 什么是库函数,如何使用库函数 可参考:C函数速查 1 字符输出函数putchar 2 格式化的输出函数printf 函数原型: extern void printf(const char *format,...), 调用格式: printf("格式控制字符串",输出表列)

示例代码#include #include int main() { int int_num = 30; float flo_num = 25.5f; int num1 = 0; int num2 = 0; printf("Hello world! int num dec=%d %o %x\n",int_num, int_num, int_num); } 输出:Hello world! int num dec=30 36 1e3 printf函数使用难点分析A.格式控制字符串的基本形式:[标志][输出最小宽度][.精度][长度]类型 常见类型字符

4 printf常见格式字符格式字符 d 以十进制形式输出带符号整数(正数不输出符号),如果浮点数用%d,类型错误,只能输出0 o 以八进制形式输出无符号整数(不输出前缀0) 。 x,X 以十六进制形式输出无符号整数(不输出前缀0x) u 以十进制形式输出无符号整数。 f 以小数形式输出单、双精度实数- e,E 以指数形式输出单、双精度实数。 g,G 以%f或%e中较短的输出宽度输出单、双精度实数 c 输出单个字符, s 输出字符串。 printf常见标志 - 结果左对齐,右边填空格。 + 输出符号(正号或负号) 空格 输出值为正时冠以空格,为负时冠以负号

对c、s、 d、u类无影响;

对○类,在输出时加前缀o; 对x类,在输出时加前缀Ox; 对e、g、f类当结果有小数时才给出小数点。

示例代码#include #include int main() { int int_num = 30; float flo_num = 25.5f; int num1 = 0; int num2 = 0; //printf("Hello world! int num dec=%d %o %x\n",int_num, int_num, int_num); printf("****************************************************************\n"); printf("%26d|%-8d|%8.6d|%8.8f\n",int_num, int_num, int_num, flo_num); printf("%#8o|%#8X|%8d|%-8d|%8.6d|%8.8f\n", int_num, int_num, int_num, int_num, int_num, flo_num); } 输出:30|30 | 000030|25.50000000 036| 0X1E| 30|30 | 000030|25.50000000

B.—些特殊宝符的输入

转义字符含义\反斜线\'单引号\"双引号\r回车符\t制表符(tab)\b退格符\f换页符\0空字符\xhh以十六进制数表示的字符\ooo以八进制数表示的字符## 常用键盘输入函数及重难点### 1 字符输入函数getchar函数原型:int getchar(void);### 2 格式化输入函数scanf函数原型: int scanf(char *format[,argument..]);调用格式:scanf("",);### 3 scanf难点分析#### 传入的参数(回车,空格或者tab当作分隔)格式化字符串#### scanf格式字符格式字符说明%a 读入一个浮点值(仅c99有效)%A 同上%c 读入一个字符%d 读入十进制整数%i 读入十进制,八进制,十六进制整数%o 读入八进制整数%x 读入十六进制整数%X 同上%c 读入一个字符%s 读入一个字符串%f 读入一个浮点数%F 同上%e 同上%E 同上%g 同上%G 同上%p 读入一个指针%u 读入一个无符号十进制整数%n 至此已读入值的等价字符数%[] 扫描字符集合%% 读%符号##### 示例#include #include int main() { int int_num = 30; float flo_num = 25.5f; int num1 = 0; int num2 = 0; char get_char = ""; //printf("Hello world! int num dec=%d %o %x\n",int_num, int_num, int_num); // printf("****************************************************************\n"); // printf("%26d|%-8d|%8.6d|%8.8f\n",int_num, int_num, int_num, flo_num); // printf("%#8o|%#8X|%8d|%-8d|%8.6d|%8.8f\n", int_num, int_num, int_num, int_num, int_num, flo_num); // get_char = getchar(); // printf("%c \n",get_char); scanf("%d %d", &num1, &num2); printf("%d %d\n", num1, num2); return 0; } 输出:E:\temp>cd "e:\temp\" && gcc 1.c -o 1 && "e:\temp\"1 1.c: In function 'main': 1.c:10:21: warning: initialization makes integer from pointer without a cast [enabled by default] 123 32 123 32遇到非空白字符的处理

读取的时候如果有非空白字符,则输入的时候也需要加上。或者,中间不加入分隔符。

通过文件的人机交互函数

文件操作函数列表 fopen,fclose,getc,putc,feof,fgets,fputs,fprintf,fscanf

Tips: initialization makes integer from pointer without a cast

参考原文链接:https://blog.csdn.net/qq_52749711/article/details/128735193

编译器警告: warning: initialization makes integer from pointer without a cast [enabled by default]

表示在初始化一个指针时将一个整型值直接赋值给指针,而不是使用强制类型转换。 在C语言中,指针和整型是不同类型,不能直接相互赋值。 可以尝试以下方法来解决: 使用强制类型转换,将整型转换为指针类型。 将整型赋值给一个临时变量,再将临时变量赋值给指针。 检查代码中是否有错误,如果是误操作导致的,修改对应的问题 请注意,尽管编译器可能不会报错,但是这样的代码是不安全的。 最好的方法是将整型转换为指针类型,或者检查代码是否有错误。

如果文章对您有帮助,请加@打酱油的工程师关注,点赞支持我的持续创作!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有