您的位置: 首页 - 站长

seo站点是什么意思用帝国做的网站只收录首页

当前位置: 首页 > news >正文

seo站点是什么意思,用帝国做的网站只收录首页,德国网站建设,微信网页版不显示二维码提示#xff1a;在c语言中两个函数学习是必不可少的#xff0c;输入和输出函数#xff0c;接下来小编带大家去学习一下printf输出函数和scanf输入函数吧。 文章目录 一、printf学习1、printf的作用2、printf #xff08;#xff09;输出格式2.1、限定宽度2.2、显示正负号3… 提示在c语言中两个函数学习是必不可少的输入和输出函数接下来小编带大家去学习一下printf输出函数和scanf输入函数吧。 文章目录 一、printf学习1、printf的作用2、printf 输出格式2.1、限定宽度2.2、显示正负号3.3、限定小数位数4.4、输出字符串 3、深入了解printf打印指针 二、占位符学习三、scanf学习1、scanf的基本用法2、单组输入代码学习输入学生成绩3、多组输入代码学习4、scanf处理用户输入的原理5、scanf的返回值6、特殊情况的占位符%c在scanf中的使用7、重点作为打印字符串的占位符%s 四、总结 一、printf学习 在这里简单介绍一下printf函数printf是一个库函数它的功能是在标准输出设备一般指屏幕上进行信息的打印。 1、printf的作用 printf()的作用是将参数文本输出到屏幕print是打印的意思f代表format格式表示可以定制输出文本的格式通俗点也就是按照指定的格式进行打印数据。printf()在标准库的头文件stdio.h定义的。使用这个函数之前必须在源代码头部引入这个头文件。 #includestdio.h
int main()
{printf(hello world\n); return 0;
}注意 printf不会在行尾自动换行运行结束后光标就停留在输出结束的地方不会自动换行。如果想换行可以在文本后面加一个换行符\n 如果文本内部也有换行也可以通过插入换行符来实现如下方的代码 #includestdio.h int main() {printf(hello\nworld\n);return 0; }2、printf 输出格式 提示学习这个内容参考后面讲述内容占位符加以理解 printf()可以定制占位符的输出格式 2.1、限定宽度 printf()允许限定占位符的最小宽度 int main() {printf(%5d\n,123);return 0; }分析 上面的案例中%5d表示这个占位符的宽度至少为5位。如果不满足5位少了几位就在要输出的数前面用空格补齐。%5d表示输出的值默认为右对齐即输出内容前面会有空格如果希望改成左对齐即在输出内容后面添加空格可以在写成%-5d在%后面加负号即可。但是我们如果打印七位的话就会直接打印七位而不是五位所以我们这里说的是限定他的最小宽度。 int main() {printf(%12f,123.45);return 0; }分析对于小数这个限定符会限制所有数字的最小显示宽度 当用%f打印小数小数点后面默认打印六位上面123.45小数点后面是45不够六位补上四个0在这里我们用%12f来打印需要它小数整数部分包括后面的0输出一共要打12位如果不满足12位则在前面用空格补上。 2.2、显示正负号 默认情况下printf 不对整数显示号只对负数显示-号这里只要在%后面加一个正号就可以显示正号了。 int main() {printf(%d, 123);return 0; }3.3、限定小数位数 输出小数时有时希望限定小数的位数举例来说希望小数点后面只保留两位占位符可以写%.2f但是会四舍五入的。 int main() {printf(%.2f, 123.45562);return 0; }分析 在这里可以发现小数点后面只打印了两位这是因为占位符限定了它的小数位数后面只存在两位。这种限定小数位数占位符可以与限定宽度占位符结合一起使用。 4.4、输出字符串 %s输出字符串默认是全部输出如果只想输入开头的部分可以用%.[m]s指定输出的长度其中[m]代表一个数字表示所要输出的长度。 int main() {printf(%.5s\n, hello world);return 0; }分析 在这里前面输出文本占位符为%.5s表示输出五个字符所以只打印hello。 3、深入了解printf打印指针 今天写题目碰到一个有意思的题目让我对printf有了不同的见解一直以来我对于printf的想法就是利用占位符输出指定格式的数据到标准输出中但是今天我看到了一串代码。 在这里小编就来简单分析一下我们就是将str指针直接给printf进行打印而不是采用%的形式的占位符进行格式化打印于是我找到了printf的函数对printf有了一个进一步的了解在这里也将它讲述给我的读者们。 printf函数原型
printf的参数原来就是一个指针这个函数的作用就是将函数参数的指针指向的那个字符串写入标准输出中也就是在我们的屏幕打印后面部分则是我们所日常了解的如果传递进来的参数是格式说明符也就是我们所说的占位符那么后面的参数可以被格式化替换占位符并且将它打印。所以在这里扩展的就是日后我们在printf中直接看到指针的时候不要认为它的语法是错误的在这里它属于正确语法printf就是将指针所指向的字符串进行打印。 二、占位符学习 所谓占位符就是这个位置的值会被后面的值植入替换 案例一 占位符%d int main() {printf(%d个和尚有水喝%d个和尚没水喝\n,1,3);return 0; }上面的案例中双引号引起来的是输出文本里面的%d就是占位符表示这个位置要用其他值来替换。占位符的第一个字符一律为%第二个字符表示占位符的类型%d表示这里代入的值必须是一个整数。所以printf的后面两个参数13就是替换占位符的值。 案例二占位符%s int main() {printf(%s的成绩是100\n, 张三);return 0; }在上面的案例中%s表示代入的是一个字符串所以printf()的第二个参数就必须是字符串张三就是字符串替代前面的输出文本中的%s。执行后输出为“张三的成绩是100”。 案例三 多个占位符 int main() {printf(%s的成绩是%d\n, 张三,100);return 0; }在上面的案例中输出文本中的占位符%s对应第二个参数张三占位符%d对应第三个参数100它们之间是一一对应关系如果有n个占位符printf()的参数就因该有n1个。如果参数个数少于对应的占位符printf()可能会输出内存中的任意值。 三、scanf学习 1、scanf的基本用法 scanf 用于读取用于的键盘输入当程序运行到这个语句时会停下来等待用户从键盘输入。用户输入数据按下回车键后scanf就会处理用户的输入将其存入变量里面。scanf在使用时需要包含头文件它的头文件是stdio.hscanf和printf的语法类似scanf第一个参数是一个格式字符串里面放着占位符告诉编译器如何解读用户的输入需要提取的数据是什么类型。它的其余参数就是存放用户输入的变量格式字符串里面有多少个占位符就有多少个变量。 2、单组输入代码学习输入学生成绩 int main() {int score 0;printf(请输入学生成绩:);//输入scanf(%d,score);//输出printf(学生成绩为%d,score);return 0; }分析 scanf在输入的时候也有占位符首先要指定一个占位符上面代码写的是%d表示我要输入一个整型的值输入的整数我们要放到score里面去但是scanf要把输入的值放在哪里去呢就像我们送外卖的你首先要给你人家地址你才能把外卖送过去吧所以我们这里要获取score的地址然后给他送过去但是怎么获得它的地址呢这里我们就需要用到取地址符了通过取地址符来获取score的地址把scanf输入的值放到score里面去。 3、多组输入代码学习 int main() {int x, y, j, k 0;scanf(%d%d%d%d,x,y,j,k);printf(%d %d %d %d, x, y, j, k);return 0; }分析 在上面代码中给大家演示了不同的占位符模板输入的情况最上方的代码占位符之间没有任何间隔第三张图占位符之间加了空格第四张图加了换行符但是我们在键盘上输入的时候scanf处理占位符时会自动过滤空白字符包括空格制表符换行符等也就是scanf遇到空格就不读取了。而我们在输入的时候上方小编也演示了不同的输入方式我们输入的数据之间有一个或者多个空格不影响scanf解读数据scanf在解读数据将空格跳过另外在我们使用回车键的时候将输入分成几行也不影响解读 4、scanf处理用户输入的原理 scanf处理用户输入的原理是用户的输入先放入缓存等按下回车键后按照占位符对缓存进行解读。解读用户输入时会从上一次解读遗留的第一个字符开始直到读完缓存或者遇到第一个不符合条件的字符为止。 int main() {//假设我们这里输入的值是 123.456#125 int x 0; float y 0; scanf(%d,x);printf(%d\n,x);scanf(%f, y);printf(%f, y);return 0; }分析 在这个代码中我们输入空格空格 123.456#125 然后scanf 解读空格直接跳过继续往下执行遇到第一个数子1就开始执行第一个%d的解读但是当他遇到小数点的时候欸跟那个第一个要输入的类型不同于是从小数点开始他就执行代码将值放入y中直到遇到#判断到这个不是数字停止解读所以x的值为123y的值为0.456000 5、scanf的返回值 scanf()的返回值是一个整数表示读取的变量个数。 如果没有读取任何项或者匹配失败则返回零。如果在成功读取任何数据之前发生了读取错误或者遇到读取到文件结尾则返回常量EOF(-1)。 在这里用代码来演示一下 int main() {int a 0;int b 0;int c 0;int d scanf(%d%d%d, a, b, c);printf(a%d\nb%d\nc%d\n,a,b,c);printf(%d,d);return 0; }没有任何数据读取如下图返回值为0
读取错误或者遇到文件结束末尾返回值为-1
6、特殊情况的占位符%c在scanf中的使用 1上面的占位符之中除了%c以外都会自动忽略起首的空白字符。%c不忽略空白字符总是返回当前第一个字符无论该字符是否为空格。下面代码演示 整型变量输入输出 字符型变量输入输出 分析 在这里其他类型变量输入的时候可以直接跳过空白字符来到它要的相应类型的位置而字符型变量输入的时候不会忽略空白字符因为空白字符也是字符因此在输入的时候他不会忽略空白字符而是把它也计算在内就如上图我们是想要打印字符a但是前面有空白字符所以我们打印的也是空白字符。 2如果想要强制跳过字符前的空白字符可以写成scanf( %cch)即% c前加一个空格表是跳过零个或多个空白字符。 7、重点作为打印字符串的占位符%s 下面要特别说一下占位符%s它不能等同于字符串它的规则是从当前第一个非空白字符开始读起直到遇到空白字符即空格换行符制表符等为止。因为%s不会包含空白字符所以无法用来读取多个单词除非多个%s一起使用这也意味着scanf)不适合读取包含空格的字符另外scanf)遇到%s占位符会在字符串变量末尾存储一个空白字符’\0’。 分析 在这里printf识别占位符只有遇到’\0’才停止所以把后面的内存空间所占的字符也打印出来了 分析 在这里系统报错是因为原先数组内存的是abcde这五个字符然而用%s输入的时候却会在字符串变量末尾加上一个空字符’\0’表示字符串的结尾。导致数组超出了的范围数组越界而出现错误。 所以scanf在将字符串读入字符数组时不会检测字符串是否超过了数组长度。所以在存储字符串的时候很可能会超出数组的边界导致预先不到的结果。为了防止这种情况出现使用占位符%s时因该指定字符串的最大长度即写成%[m]s其中[m]表示一个整数表示读取字符串的最大长度后面的字符也将被丢弃。 分析 上面示例中我们之后scanf输入字符串会在后面加上一个\0arr是一个长度为5的字符串scanf占位符%4s表示最多读取用户输入的4个字符后面的字符将被丢弃这样就不会出现上面那样的报错了不存在数组溢出的风险。 四、总结 在这里就已经将所有有关于printf和scanf的知识学完啦如果对你有所帮助请记得给小编点个赞鼓励一下