首页 > 其他分享 >初识c语言+getchar()和putchar()相关知识

初识c语言+getchar()和putchar()相关知识

时间:2024-11-27 23:33:47浏览次数:8  
标签:字符 putchar int 初识 printf return include getchar

编译和链接

C语言是一门编译型计算机语言,源代码都是文本文件,本身无法执行,必须通过编译器的编译和链接器的链接生成二进制的可执行文件才能执行。
一个工程一般多个源文件组成。
1.每个源文件(.c)单独经过编译器处理生成对应的目标文件(.obj为后缀的文件)。
2.多个目标文件和库文件经过链接器生成对应的可执行程序。

关键字

C语言中一批保留名字的符号,如:int,if,return
注意:关键字不能自己创建。
32个关键字:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof
static struct switch typedef union unsigned void volatile while

字符和ASCII编码

a,q,@等符号被称为字符,C语言中用单引号括起来:‘a’ ,‘b’ ,‘@’。
为了让字符在内存中以二进制形式存储,美国国家标准学会给每个字符编了一个二进制序列(叫做编码),出台了一个标准ASCII编码。(C语言中遵循)。ASCII码表

  1. 字符A-Z为65-90
  2. 字符a-z为97-122
  3. 对应大小写(a-A)差值为32
  4. 数字字符0-9的ASCII码值为48-57
  5. \n为10
  6. ASCII码值0-31这32个字符是不可打印字符,无法打印在屏幕上观察。
#include <stdio.h>

int main();
{int i=0;
for`(i=32;i<=127;i++)
{printf("%c ",i);
if(i%16==15)
printf("\n");}
return 0;}  

字符串和\0

字符串:用双引号括起来的一串字符 如”abcd".打印格式用%s来指定。
末尾隐藏着一个\0字符,是字符串的结束标志。

#include <stdio.h>
int main()
{
	char a1[]={'a','b','c'};
	char a2[]="abc";
	printf("%s\n",a1);
	printf("%s\n",a2);
	return 0;
}

因为a1在末尾的地方没有\0作为结束标志,以上代码a1输出时打印了一些随机值。

转义字符

转变原来意思的字符。
? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。
• ’ :⽤于表⽰字符常量’
• " :⽤于表⽰⼀个字符串内部的双引号
• \ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
• \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
• \b :退格键,光标回退⼀个字符,但不删除字符。
• \f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。
• \n :换⾏符。
• \r :回⻋符,光标移到同⼀⾏的开头。
• \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个4/8的倍数。
• \v :垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。
下⾯2种转义字符可以理解为:字符的8进制或者16进制表⽰形式
• \ddd :d d d表⽰1~3个⼋进制的数字。 如: \130 表⽰字符X
• \xdd :d d表⽰2个⼗六进制数字。 如: \x30 表⽰字符0
\0 :null 字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其ASCII码值是0.

getchar和putchar

getchar()函数返回用户从键盘输入的一个字符。程序运行到这个命令时会暂停,等待用户从键盘输入。定义在头文件<stdio.h>

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int ch;
ch=getchar();
cout<<ch<<endl;
cout<<(char)ch<<endl;
return 0;

getchar()不会忽略空白字符,总是返回当前读取的第一个字符,无论是否为空格。
若读取失败,返回常量EOF,EOF的值通常是-1,所以返回值要设为int,而不是char.
putchar()函数将它的参数字符输出到屏幕。

int putchar(int character);
#include <cstdio>
int main()
{
int ch=0;
ch=getchar();
putchar(ch);
return 0;
}

printf

输出文本中可以含有多个占位符。%d,%f 等为占位符。
在这里插入图片描述

在这里插入图片描述

#include <cstdio>
int main()
{
printf("%5d\n",123);
return 0;}

以上代码中,%d表示这个占位符的宽度至少为5位,如果不满5位,对应的值的前面会添加空格。输出的值默认是右对齐。若希望改成左对齐(在输出内容后面添加空格),可以在占位符的%的后面插入一个-号。
对于小数,这个限定符会限制所以数字的最小显示宽度。

#include <cstdio>
int main()
{
printf("%12f\n",123.45);
return 0;
}

上述示例中,%12f表示输出的浮点数至少要占据12位,而小数的默认显示精度是小数点后6位,所以123.45输出结果的头部会添加2个空格。
限定小数位数
若希望小数点后面只保留两位,占位符就%.2f。
%6.2f表示输出字符串最小宽度为6,小数位数为2.则输出的字符串的头部有两个空格。

标签:字符,putchar,int,初识,printf,return,include,getchar
From: https://blog.csdn.net/2401_88238436/article/details/143911743

相关文章

  • 初识java(3)
    大家好,今天我们来讲讲我们的老伙计-变量,在哪一门编程语言中,变量的作用都是不可或缺的,那么下面我们就来详细了解一下java中的变量。一.变量概念在程序中,除了有始终不变的常量外,有些内容可能会经常被改变,比如:人的年龄,身高,分数,数学函数的结果等,对于这些经常改变的量,在java程序中......
  • 初识java(1)
    大家好,今天是我们开启java的新篇章,这意味着又是一个新的开始,那么我们就来看看这个编程语言。一.标识符在程序中由用户给类名,方法名或者变量所取的名字。硬性规则:标识符中可以包含字母,数字以及下划线和$符号等等。注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。......
  • 【linux学习指南】初识Linux进程信号与使用
    文章目录......
  • 初识C语言③:深入理解printf与scanf函数
    初识C语言③:深入理解printf与scanf函数1.printf函数2.scanf函数一、printf函数1.1基本用法printf()的作用是将参数文本输出到屏幕。它名字里面的f代表format(格式化),表示可以按照一定的格式在标准输出设备上打印数据。代码演示:#include<stdio.h>intmain(void......
  • 初识mysql数据库
    1、数据库的概念1.1数据:能被计算机识别并处理的符号集合。1.2数据库:是存储和管理数据的系统。数据库是有组织可共享的,持久存储和管理数据的容器。数据库可以是关系型的,也可以是非关系型的。1.3数据库的优点:1.持久化数据到本地2.可以实现结构化查询,方便管理3.方便数据检......
  • 初识调整法(贪心)
    引例:\(证明:圆内接四边形中正方形的面积最大\)$在圆上顺时针任取四点A,B,C,D构成凸四边形,固定对角线AC,分别令B,D在对应的圆弧上自由滑动.$$\becauseS_{四边形ABCD}=\frac{(d_{B-AC}+d_{D-AC})\cdot|AC|}2$$\therefore最大化S_{四边形ABCD}\Rightarrow......
  • 原创 | 大模型扫盲系列——初识大模型
    近年来,随着计算机技术和大数据的快速发展,深度学习在各个领域取得了显著的成果。为了提高模型的性能,研究者们不断尝试增加模型的参数数量,从而诞生了大模型这一概念。本文将从大模型的原理、训练过程、prompt和相关应用介绍等方面进行分析,帮助读者初步了解大模型。大模型的定......
  • 初识Maven2.2-maven的第一个项目
    简介:不通过idea编程工具。而是手动通过创建文件夹目录,来创建Maven的第一个项目用cmd命令窗口来进行clean、compile、test、install等操作前提:配置Maven的环境变量注意:下载Maven时,最好是下载到D盘的根目录下。路径越简单越好。不要带中文!跟配置jdk一样。要写一......
  • 【Spring篇】初识之Spring的入门程序及控制反转与依赖注入
         ......
  • 初识js-cnblog
    初识jsjs的主要特点1.解释型,源代码不需要编译,而是直接运行在浏览器中被解释2.基于对象js是一种基于对象的语言,这意味着他能运用已经创建对象的作用3.事件驱动,js可以直接对用户或者客户做出响应,无需经过web程序,他对用户的响应是以事件驱动的方式进行的4.跨平台性5.安......