首页 > 其他分享 >【C语言基础】赋值、输入与输出

【C语言基础】赋值、输入与输出

时间:2024-09-07 15:53:02浏览次数:6  
标签:语句 输出 putchar 字符 C语言 printf 格式 输入 赋值

1 语句及赋值语句

1.1 C语句分类

  • 表达式语句:表达式加分号。
  • 函数调用语句:函数名及其参数加上分号。如:printf("Hello world!");
  • 空语句:只有分号";"组成。
  • 控制语句
    • 条件判断语句:if语句,switch语句
    • 循环语句:while语句,do while语句,for语句
    • 转向语句:break语句,continue语句,goto语句,return语句
  • 复合语句:将多个语句用大括号{}括起来组成的语句。在程序中,应把复合语句看成是单条语句。括号}外不能加分号。

注:

  • 分号预示一条语句的结束,但并不是每条语句都需要分号作为结束标志。
  • if语句、for语句和while语句不需要分号。
  • 复合语句是唯一不用分号结尾的语句。

1.2 赋值语句

赋值表达式加分号所构成的表达式语句。

以下是错误的:

int a=b=c=10;

以下是正确的:

int a=10, b=10, c=10;
int a,b,c;
a=b=c=10;

2 字符及字符串的输入与输出

函数在头文件“stdio.h”中定义。

  • 字符输入函数:getchar。只能接收一个字符,得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,还可以作为表达式的一部分。如:putchar(getchar());
  • 字符输出函数:putchar。只能输出一个字符。输出的字符可以是字符型变量、整型变量或使用常量。
  • 字符串输入函数:gets
  • 字符串输出函数:puts

例1-getchar/putchar:

include <stdio.h>
main()
{
	printf("1 -->\n");
	putchar('A');
	putchar('\101');
	putchar('\n');

	printf("2 -->\n");
	char a, b, c;
	a = 'y';
	b = 'e';
	c = 's';
	putchar(a);
	putchar(b);
	putchar(c);
	putchar('\n');

	printf("3 -->\n");
	char m, n;
	m = getchar();
	n = getchar();
	putchar('\n');
	putchar(m);
	putchar(n);
	putchar('\n');
}

运行结果为:

例2-gets/puts:

#include <stdio.h>
main()
{
	char k[20];
	puts("Please input a string:");
	gets(k);
	puts("The input string is:");
	puts(k);    //等价于printf("%s\n", k)
}

运行结果为:

3 格式输入函数与输出函数

函数在头文件“stdio.h”中定义。

3.1 格式输出函数:printf

调用形式:printf(格式控制,输出表列)

如:

printf("%d, %d", a, b);
printf函数格式字符
格式字符功能
d,i

以有符号的十进制形式输出整数。

用法:

- %d:按整型数据的实际长度输出。

- %md:若数据位数小于指定输出宽度m,则左端补以空格;若大于m,则按实际位数输出。

- %1d:输出长整型数据。

u以无符号的十进制形式输出整数
o以八进制无符号形式输出整数。用法与%d类似。
x,X以十六进制无符号形式输出整数。x表示小写输出,X表示大写输出。用法与%d类似。
c以字符形式输出,只输出一个字符。
s

以字符串形式输出。

用法:

- %s:将字符串按实际长度输出。

- %ms:若字符串长度小于指定输出列数m,则左端补以空格;若大于m,则输出字符串全部。

- %-ms:若字符串长度小于指定输出列数m,则右端补以空格;若大于m,则输出字符串全部。

- %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格(即右对齐)。m小于n时,m自动取n值。

- %-m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的左侧,右补空格(即左对齐)。m小于n时,m自动取n值。

f以小数形式输出
e,E

以指数形式输出。用e时,指数以e表示;用E时,指数以E表示。

用法:

- %e:按数据实际宽度和小数位数输出。

- %m.ne:输出的数据占m列,其中有n位小数。若数值长度小于m,则左端补空格。

- %-m.ne:输出的数据占m列,其中有n位小数。若数值长度小于m,则右端补空格。

注:指数符号"+"也算一位。

g,G根据数字的大小,自动选%f或%e格式输出,选用%f和%e中输出宽度较短的一种格式,不输出无意义的0。若以%e格式输出,则指数以大写表示。

3.2 格式输入函数:scanf

调用形式:scanf(格式控制,地址列表)

格式控制的一般形式:%[*][域宽][长度]类型

如:

scanf("%d, %d", &a, &b);
  • 地址列表中给出各变量的地址,地址是由地址运算符"&"后跟变量名所组成。
  • 用户在输入时,必须按照格式控制中的形式输入数据。如果格式控制中出现%d%d即两个%d之间无任何符号,则输入的两个数据之间可以一个或多个空白字符作为间隔,这些空白字符包括空格、换行、制表符(tab)。
  • 格式控制的一般形式中的“*”,是用来表示该输入项读入后不赋予的变量,即跳过该输入值。如:scanf("%d %*d %d", &a, &b); 当输入98 234 77时,98被赋值给a,77被赋值给b,234被跳过。
  • 格式控制的一般形式中的域宽应为正整数。如果输入的数据的宽度大于域宽,则只将相应域宽的数据赋值给变量。如:scanf("%5d", &a); 当输入12345678时,只把12345赋给变量a。
  • 格式控制的一般形式中的长度格式符为l和h,l表示输入长整型数据和双精度浮点数;h表示输入短整型数据。

scanf函数格式字符也printf函数的格式字符类似。

标签:语句,输出,putchar,字符,C语言,printf,格式,输入,赋值
From: https://blog.csdn.net/weixin_46891908/article/details/141956849

相关文章

  • 【C语言基础】数组
    1一维数组1.1定义类型说明符数组名[常量表达式];如:inta[10];这里,a是数组变量名,10表示数组a中包含的元素个数,int是数组a中元素的类型。数组a的元素序号为0,1,2,3,4,5,6,7,8,9,各序号对应的元素为a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。1.2初始化类......
  • AP3215 8-150V 外围简单 宽输入 电压降压BUCK 恒压恒流驱动器 POE、电动车、扭扭车、
    产品描述AP3215是一系列外围电路简洁的宽输入电压降压BUCK恒压恒流驱动器,适用于8-150V输入电压范围的DC-DC降压应用。AP3215输出电压通过FB管脚设置,输出电流通过CS电阻设置,外围简洁,具备高效率,低功耗,低纹波,优异的线性调整率和负载调整率等优点。支持输出线......
  • C语言 ——— #define 定义宏
    目录何为宏宏的声明及其使用方式宏中的括号是否多余何为宏#define机制包括了一个规定,允许把参数替换到文本中,这种实现通常称宏宏的声明及其使用方式声明代码演示:#defineMAX(x,y)((x)>(y)?(x):(y))使用代码演示:inta=3;intb=5;intmax=MAX(a,b);代......
  • 重生之霸道C语言爱上我之走入指针(3)
    根据前两篇与指针的初步接触后,我们已经了解到了指针里面最基本的知识,而接下来的文章,将会更注重于指针的深入理解和运用。1.数组名的理解1.1arr,即一个数组的数组名的理解在上一篇文章1.1里面的代码中,我们在用指针访问数组内容的时候,有这样的代码:intarr[10]={1,2,3,4,5,6......
  • 解决Windows 远程登陆后vscdoe,chrome,cursor 等程序假死无法输入字符的问题(键盘没有
    作过程试着使用鼠标点击vscode左侧的文件列表,打开一个新的文件。如果鼠标没有反应,可以切换到其他软件(比如浏览器),再切换回来就能恢复鼠标的点击了。将鼠标移到vscode打开的文件的窗口,按住键盘s键(其他按键也行)不松开,然后用鼠标点击vscode打开的文件窗口;点击后切换到其他打开的软件(......
  • C语言常量和字面量
    目录引言1.字面量1.1字符字面量1.2整型字面量1.3浮点字面量2.常量2.1使用预处理器指令#define定义常量2.1.1语法格式2.1.2使用举例2.2使用const关键字定义常量2.3使用#define和const定义常量的区别引言        字面量是直接在代码中......
  • 全国计算机二级考试C语言篇3——选择题
    C语言部分——C语言概述1.程序模块化的优点程序模块化的优点在于它可以使程序的开发、维护和复用变得更简单。下面是一些主要的优点:降低复杂度:模块化可以将复杂的问题分解成更小的、更易管理的部分。可维护性:模块化使得代码更易于维护,因为修改一个模块的影响被限制在该......
  • c语言内存函数
    今天来学习C语言中的内存函数目录1.memcpy代码形式示例运行结果2.memmove代码形式示例运行结果3.memset代码形式示例运行结果4.memcmp形式示例运行结果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b7d8d59577b248deaa7b869d014d8b4f.png#pic_center)5......
  • 【每日一练】tkinter输入文本框实例
    """代码思路1.先创建一个文本框2.定义一个函数执行文本的获取和另一个文本框的赋值3.创建按钮,并调用函数4.创建另一个文本框"""importtkinterastkroot=tk.Tk()root.title("复制输入框")root.geometry("400x300+800+200")#创建一个输入文本框,显示为*的属性设......
  • 学习笔记|鹏哥C语言——关键字
    一、 关键字typedeftypedef顾名思义是类型定义,这里应该理解为类型重命名。比如:二、 关键字static在C语言中:static是用来修饰变量和函数的1.修饰局部变量-称为静态局部变量2.修饰全局变量-称为静态全局变量3.修饰函数-称为静态函数三、 修饰局部变量......