C语言------初识

第一部分

初识

1.VS 2022 中scanf 报错 的 问 题

当我们在VS2022使用scanf时,会出现以上错误:

解释为: 可以考虑使用scanf_s来代替,如果想继续使用,在前面加上_CRT_SECURE_NO_WARNINGS

#include<stdio.h>
int main() {int a;scanf("%d", &a);printf("%d", a);
}

scanf()函数是标准C中提供的标准输入函数,用以用户输入数据

scanf_s()函数是Microsoft公司VS开发工具提供的一个与scanf功能相同的安全标准输入函数,仅能在VS中使用,如果想要继续使用scanf,只需要在文件顶部加入一行

#define _CRT_SECURE_NO_WARNINGS

即可。

2.printf的使用

1 ) 可以在”%”和字母之间插进数字表示最大域宽

  printf("%4d",a);    表示输出4位整型数据;printf("%6s",b);    表示输出六个字符的字符串;printf("%9.2f",c);  表示输出场宽为9的浮点数, 其中小数点后两位小数;

​ 2 ) 可以在域宽前加数字0,用于填补宽度

printf("%04d",&d);  表示在输出一个小于4位的数值时,
将在前面补0使其总宽度为4位;例:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(){int a;scanf("%d", &a);printf("%04d", a);}

​ 当输入数字为202时,输出为0202.前边自动补齐四位:

3 )在%后加“-”表示左对齐

 printf("%-7d",e)     表示输出7位整数左对齐;

4 )用浮点数表示字符输出格式

    %6.9s 表示显示一个长度不小于6且不大于9的字符串,若大于9, 则第9个字符以后的内容将被删除;

附:

printf可以设置输出的精度和域宽,scanf是不能设置精度的,也就是不能出现任何 .xf 这样的格式 ,但是可以写成scanf(“%2f”)设置域宽,是正确的格式。

​ %o 以八进制整数形式输出,这个就用得很少了,了解一下就行了。

​ %x(或 %X 或 %#x 或 %#X) 以十六进制形式输出整数,这个很重要*

printf("八进制、无前缀输出结果:%o\n",ii);  // 八进制、无前缀输出结果:144
printf("八进制、有前缀输出结果:%#o\n",ii); // 八进制、有前缀输出结果:0144printf("十六进制、无前缀输出结果:%x\n",ii);  // 十六进制、无前缀输出结果:64
printf("十六进制、有前缀(小写)输出结果:%#x\n",ii); // 十六进制、有前缀(小写)输出结果:0x64printf("十六进制、无前缀输出结果:%X\n",ii);  // 十六进制、无前缀输出结果:64
printf("十六进制、有前缀(大写)输出结果:%#X\n",ii); // 十六进制、有前缀(大写)输出结果:0X6

3.C语言中 %f 和 %lf 的区别

float, 单精度浮点型,对应%f。
double,双精度浮点型,对应%lf。

scanf中的格式控制

​ scanf:float用%f,double用%lf

printf中的格式控制

在printf中,无论是float类型还是double类型,输出都需要用%f,在有些系统中用%lf也不会出错,但是尽量还是按照标准来。

所以在输入输出时,一定要区分好double和float,而使用对应的格式符号。

4.C语言中的多组输入与输出

输入指的是在输入一组数据后,程序便结束运行。而多组输入指的是在输入一组数据后,程序不会结束,它还会接收另一组数据.

以a+b为例进行讨论:

1.只有一组测试数据时

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {int a,b;scanf("%d %d", &a, &b);printf("%d", a + b);return 0;
}

2.输入没有数据总数(任意组)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a, b;while (scanf("%d%d", &a, &b) != EOF)// 把你的scanf函数写成这样子,除了return 0之外,其他的语句都要用大括号括起来. {printf("结果为%d\n", a + b);}return 0;
}

此时可以读入多组数据并分别进行输出

3.指定数据量

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int n, a, b;scanf("%d", &n);while (n--)//n自减直到n=0时结束{scanf("%d %d", &a, &b);printf("%d\n", a + b);}return 0;
}

这种情况下可以指定数据的量数 如: n = 5

4.以特定元素作结束符

输入和第一种类似。常用特殊符号结束或者0与 - 1来当作结束标志

//a=b=0时结束
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a, b, n;while (1){scanf("%d %d", &a, &b);if (a == 0 && b == 0)//a与b同时0时结束break;printf("%d\n", a + b);}return 0;
}

在上述情况下,满足指定条件则程序结束

5.C语言中转义字符的使用

示例一:

当我们要在我们要在屏幕上打印一个目录 c:\code\test.c时

#include<stdio.h>
int main() {printf(" c:\code\test.c");return 0;
}

结果却是:

这是因为\与后面的英文字母构成了转义字符,\t是水平制表符,就是键盘最左边一列上的table键。

同时为防止\被解释为一个转义序列符,我们就需要在\前面再加上一个\,让它称为普普通通的\,所以正确的写法应该是

#include<stdio.h>
int main() {printf(" c:\\code\\test.c");return 0;
}

此时的运行结果为

就得到我们想要的结果了。

示例二:

判断输出的结果如何

#include<stdio.h>
int main()
{printf("%d\n", strlen("abcdef"));// \32被解析成一个转义字符printf("%d\n", strlen("c:\test\328\test.c"));return 0;
}

答案分别为: 6 和 14

第一个字符串是由六个字母组成的;

第二个字符串分别是’c’ ‘:’ ‘\t’ ‘e’ ‘s’ ‘t’ ‘\32’ ‘8’ ‘\t’ ‘e’ ‘s’ ‘t’ ‘.’ 'c’总共14个字符。其中\328不要误认为是一个字符,这是因为八进制数字只有0-7,因此8单独作一个字符;

附转义字符表如下:

【C语言入门】--初识C语言相关推荐

  1. C语言入门——初识C语言

    C语言入门--初识C语言 一. C语言的起源 二. 选择C语言的原因 (一). 设计特性 (二). 高效性 (三). 可移植性 (四). 强大而灵活 (五). 面向程序员 (六). 缺点 三. C语言 ...

  2. go语言视频教程_ go语言入门视频教程_go语言实战视频教程

    许多人可能知道go语言的优点在哪里,但他们不知道go语言适合在哪里使用.通过学习go语言视频教程,可以清楚的知道go语言主要用于服务器端开发,其定位是用来开发"大型软件".学习go ...

  3. 入门C语言模板,C语言入门经典-C语言编程

    C语言入门经典-C语言编程Tag内容描述: 1.第01章C语言编程,C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让 ...

  4. c语言编程培训ppt,C语言入门经典-C语言编程.ppt

    <C语言入门经典-C语言编程.ppt>由会员分享,可在线阅读,更多相关<C语言入门经典-C语言编程.ppt(27页珍藏版)>请在人人文库网上搜索. 1.第01章 C语言编程,C ...

  5. c语言入门经典doc,C语言入门经典C语言编程.ppt

    C语言入门经典C语言编程.ppt 第01章 C语言编程,C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序即一组指令,并让计算机依指令行事 ...

  6. 编程入门c语言ppt,C语言入门经典-C语言编程.ppt

    <C语言入门经典-C语言编程.ppt>由会员分享,可在线阅读,更多相关<C语言入门经典-C语言编程.ppt(27页珍藏版)>请在装配图网上搜索. 1.第01章 C语言编程,C语 ...

  7. 【零基础入门C语言】 初识C语言—1

    声明:[零基础入门C语言]系列是博主对B站up主:鹏哥C语言所分享教学内容的学习笔记,并且该系列每篇博客都会将博主听课后总结的纸质版笔记附于文末,供大家参考. 初识C语言章节的内容在于初步了解C语言的 ...

  8. c语言入门数组,C语言入门之数组(2)

    二维数组 前面介绍的数组只有一个下标,称为一维数组, 其数组元素也称为单下标变量.在实际问题中有很多量是二维的或多维的, 因此C语言允许构造多维数组.多维数组元素有多个下标, 以标识它在数组中的位置, ...

  9. 【C语言】初识C语言(下篇)

    如果这世界上真有奇迹,那只是努力的另一个名字. 大家好,这里是anduin.今天将给大家带来初识C语言的最后一部分,和之前一样点到为止,适当补充,今天的内容是#define 定义常量和宏.指针和结构体 ...

  10. 【C语言】初识C语言(中篇)

    种一棵树,最好的时间是10年前,其次是现在. 大家好,这里是anduin,这次的主题依旧是初识C语言,和上次不同,这次我们主要讲两大块,对于一些知识,我们选择略讲,但是对于一些我觉得重要的知识我会对其 ...

最新文章

  1. ListView 排序
  2. win8 查看 linux硬盘大小,如何查看显存大小_win8如何查看显存大小
  3. 区块链BaaS云服务(14)华大BGI区块链“安全多方计算“
  4. 东方明珠胡俊:「东方明珠数据中台」四年发展历史全解(内附彩蛋)
  5. ABP VNext从单体切换到微服务
  6. 阿里云刘伟光:金融核心系统将步入分布式智能化的时代
  7. 链表——单链表、单向循环链表、双向链表
  8. loadrunner四大部分
  9. 从零开始学习搜索引擎(开篇)---Searcharoo.net
  10. 如何在百度收录平台注册账号获取Token
  11. Hello CSDN blog
  12. c语言的表示指数用什么符号,c语言的指数符号
  13. linux中排序程序,linux排序命令
  14. es自建搜索词库_ES——中文分词以及词库扩展
  15. 使用GIMP for Mac
  16. 破解企业卓越运营难点,做好研发质量管理闭环,从“救火战役”,到“一次做对”
  17. Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the
  18. Windows10安装Linux子系统Ubuntu
  19. 海明校验码简析与举例
  20. linux服务器防病毒,Linux服务器防病毒实战(3)

热门文章

  1. matlab中randperm()函数的用法
  2. Java毕业设计实战之book小说阅读系统的实现
  3. android非root状态,修改文件权限,非Root权限的Android上运行可执行文件
  4. 库存账龄VS库存库龄
  5. 安装vue-cli 4058错误解决办法
  6. BUUCTF 谁赢了比赛
  7. 【openCV】matlab中bwareaopen和bwmorph(src, 'thin', Inf)opencv下的实现
  8. MATLAB图像处理的开运算和噪声相关的基本操作-填充和去除—imfill与bwareaopen函数运算
  9. ZYNQ(PS) 动态加载APP之一
  10. kali网络端口大全