简单的C程序基础知识

C程序大致分为3种基本结构:

顺序结构、分支结构、循环结构

由这3种结构可以组成各式各样的复杂程序。

01--C语句

C语句分为以下几类:

①表达式语句  ②函数调用语句 ③控制语句 ④复合语句 ⑤空语句

1.表达式语句: 由表达式+分号组成

表达式;

例:

a=b+c;   i++;   b=0;

2.函数调用语句:由函数名、实际参数+分号组成

函数名(实际参数表);

例:

printf("C言C语”);

3.控制语句:用于控制程序的流程

C有9种控制语句:

条件判断:if、switch

循环执行:do while、while、for

转向:break、goto、continue、return

4.复合语句:多个语句用{}组成的语句

例:

{

a=b+c;

i++;

printf("%d%d",a,i);

}

5.空语句:只有分号

空语句是什么也不执行的语句,空语句可用来作空循环体

02--赋值语句

一般形式为: 变量=表达式;

变量=(变量=表达式);  成立

例: x=y=z=1;

即为  z=1; y=z; x=y;

如果连续赋值,和事先定义好再连续赋值是不一样的

红框部分定义正确

红框部分定义错误

03--数据输入输出的概念

在C语言中,所有数据的输入 输出都是由库函数完成的,因此都是函数语句。

在使用库函数时,要用预编译命令 #include将有关头文件包含到源文件中

标准输入输出库函数时要用到“stdio.h"文件

#include<stdio.h>  或  #include"stdio.h"

stdio是 standard Input&Output 的缩写

04--字符数据的输入与输出

1. putchar函数

功能:在显示器上输出单个字符

一般形式:putchar(字符变量)

例:

putchar('A');    /*输出字符A*/

putchar('\n');  /*换行*/

2.getchar函数

功能:从键盘输入一个字符

一般形式:getchar();

通常把输入字符赋予一个字符变量,构成赋值语句。

char c; c=getchar();

需要注意的是:

getchar函数只能接受单个字符的输入,当有多个字符输入时,只接受第一个字符

使用本函数必须包含头文件"stdio.h"

上述例子中最后2行可用如下形式替代: putchar(getchar());   printf("%c",getchar());

3.printf函数

格式输出函数

功能:按用户指定的格式,把数据显示在屏幕上

一般形式:printf("格式控制字符串",输出列表)

格式字符串是以%开头的字符串,在%号后面跟有各种格式字符,用来说明输出数据的类型、形式、长度、小数位数等。

如:

%d  表示按十进制整型输出

%ld 表示按十进制长整型输出

%c  表示按字符型输出等

字符串的一般形式为:

[标志][输出最小宽度][.精度][长度]类型

1)类型

表示输出数据的类型

d 十进制

o 八进制

x,X 十六进制

u 十进制无符号

f 小数形式输出单、双精度实数

e,E 指数形式输出单、双精度实数

g,G 以%f或%e中较短的输出宽度输出单、双精度实数

c 输出单个字符

s 输出字符串

2)标志

标志字符为 -  +  # 空格4种

-   左对齐,右边填空格

+ 输出符号(正号或负号)

3)输出最小宽度:用十进制整数来表示输出的最小位数。若实际位数多于定义的宽度,则按实际位数输出,若少于则补空格

4)精度:后跟十进制整数,如果输出的为数字,则表示小数位数,输出的为字符,则表示字符的个数,若实际位数大于所定义的精度数,则截去超出的部分。

5)长度:有h,l两种,h表示短整型输出,l表示长整型输出。

4.scanf函数

功能:格式输入函数,按用户指定的格式从键盘中把数据输入到指定的变量中

一般形式:scanf("格式控制字符串",地址列表);

地址运算符:  &

&x,&y  分别表示变量x,y的地址

变量的地址是由C编译系统分配的,我们不必关心具体地址是多少

格式字符串一般形式:

%[*][输入数据宽度][长度]类型

1)类型:表示输入数据的类型

d 十进制整数

o 八进制整数

x 十六进制整数

u 无符号十进制整数

f或e 实型数(小数或指数形式)

c 单个字符

s 字符串

2)* 表示该输入项,读入后不赋予相应变量,跳过该输入值

如 scanf("%d %*d %d",&x,&y);

输入为1 2 3时,1赋值给x,2被跳过,3赋值给y

3)宽度:用十进制整数指定输入的宽度

scanf("%5d",&x); 

输入123456789  只把12345赋予x,多的被截去

scanf("%4d%4d",&x,&y);

输入123456789 1234赋予x ,5678赋予y

4)长度:有h,l两种,h表示短整型输出,l表示长整型输出。

在输入字符数据时,如果格式控制串中无非格式字符,则认为所有输入的字符均为有效字符

如果格式控制串中有非格式字符则输入时也需要有该非格式字符

错误

正确

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/411603.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArgoWorkflow教程(三)---使用 Artifacts 实现步骤间文件共享

上一篇我们分析了 Workflow、WorkflowTemplate、template 之间的关系。本篇主要分析如何在 argo-workflow 中使用 S3 存储 artifact 实现步骤之间的文件共享。 本文主要解决两个问题&#xff1a; 1&#xff09;artifact-repository 如何配置2&#xff09;Workflow 中如何使用 …

用AppleScript做macOS UI自动化

用AppleScript做macOS UI自动化 一、定位到System Setting → General → Login Items& Extensions 页面1. 获取页面锚点&#xff0c;以便直接滑动到锚点区域2. 滑动到Extensions 区域 二、根据名称找到元素&#xff0c;再点击元素的按钮三、获取元素位置并点击 一、定位到…

Datawhale X 李宏毅苹果书 AI夏令营 Task2笔记

Datawhale X 李宏毅苹果书 向李宏毅学深度学习&#xff08;进阶&#xff09; 是 Datawhale 2024 年 AI 夏令营第五期的学习活动&#xff08;“深度学习 进阶”方向&#xff09; 往期task1链接&#xff1a;深度学习进阶-Task1 我做的task1的笔记博客&#xff1a;传送门 Datawhal…

【C语言】宏定义详解

目录 C语言宏定义详解1. 宏定义关键词总览2. #define3. #undef4. #ifdef5. #ifndef6. #if7. #else8. #elif9. #endif10. #include11. #error12. #pragma12.1 #pragma once12.2 #pragma pack12.3 #pragma warning12.4 #pragma GCC 13. #line14. 字符串化和标识符连接14.1 字符串…

C# 对桌面快捷方式的操作设置开机启动项

首先在项目中引入Windows Script Host Object Model&#xff0c;引入方式如下图。 对于桌面快捷方式的修改无非就是将现有的快捷方式修改和添加新的快捷方式。 1、遍历桌面快捷方式&#xff0c;代码如下。 string desktopPath Environment.GetFolderPath(Environment.Special…

LLM 应用开发入门 - 实现 langchain.js ChatModel 接入火山引擎大模型和实现一个 CLI 聊天机器人(上)

前言 Langchain 是一个大语言模型(LLM)应用开发的框架,提供了 LLM 开发中各个阶段很多非常强大的辅助工具支持。对于进行 LLM 开发是必不可少的工具库。 本文将通过一个实际的开发例子来入门 LLM 开发基础工具链,并实现 langchain.js ChatModel 接入火山引擎大模型和基于…

【亲测有效】linux抓包http协议分析,分析header和body

linux抓包http协议分析&#xff0c;分析header和body 安装&#xff1a; 执行抓包命令&#xff0c;这里ip要换成你想抓包的目标ip&#xff1a; ngrep -q -W byline -d any "^Host:|^GET|^POST|^HTTP/" tcp and host 183.2.172.42 and port 80 触发抓包&#xff0c;…

FPGA实现多功能SDI视频采集卡,基于GTX+RIFFA架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案本博已有的 SDI 编解码方案 3、详细设计方案设计框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGBFDMA图像缓存RIFFA用户数据控制RIFFA架构详解Xilinx 7 Series Integrated Bloc…

94522

springboot 广州应用科技学院的教室管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时…

详细分析Ubuntu中的ufw基本知识

目录 前言1. 基本知识2. 基本使用 前言 由于命令行比较简单&#xff0c;此处主要以表格的形式呈现&#xff0c;还有实战中遇到的一个注意点 1. 基本知识 Ubuntu 中一种用户友好的防火墙配置工具&#xff0c;简化 iptables 的使用&#xff0c;适合那些不熟悉复杂防火墙配置的…

页面内容---复制粘贴【收藏版】【H5 web端亲测有效】

js中的复制粘贴 . 页面内容—复制粘贴【收藏版】【H5 web端亲测有效】 navigator.clipboard.writeText(copyText) 是 Web API 中的一个方法&#xff0c;用于将指定的文本内容复制到用户的剪贴板。这个方法属于 Clipboard API&#xff0c;它使得网页能够读取和写入剪贴板的内容…

开放式耳机哪种好用又实用?优质开放式耳机种草测评

在开放式耳机领域&#xff0c;目前有几款表现尤为突出的产品。作为一名专业的音乐制作人和评测专家&#xff0c;我深知一款出色的耳机对于音乐创作和鉴赏的重要性。 最近&#xff0c;我亲自评测了市面上一些颇受欢迎的开放式耳机&#xff0c;发现它们不仅在音质上有着令人满意…

winXP下构建python开发环境

近期车间有个动平衡检测仪数采的需求&#xff0c;工控机是xp系统&#xff0c;原理也很简单&#xff0c;监控文件变化&#xff0c;发现有新的检测数据就调用远程接口传输到服务器上去。 通常python监控文件变化会用watchdog这个库&#xff0c; 可是xp太老了&#xff0c;测试了一…

Jenkins服务安装配置

目录 Jenkins 配置环境 配置 中文插件 配置 Maven 插件 配置 JDK 配置 Git 配置 SSH 远程服务器 Jenkins 配置项目 构建 maven 项目 构建 pipeline 流水线项目 什么是 Jenkins Jenkins 是一个开源的自动化服务器&#xff0c;主要用于持续集成&#xff08;CI&#xff…

代码随想录刷题day15丨110.平衡二叉树,257. 二叉树的所有路径, 404.左叶子之和 ,222.完全二叉树的节点个数

代码随想录刷题day15丨110.平衡二叉树&#xff0c;257. 二叉树的所有路径&#xff0c; 404.左叶子之和 &#xff0c;222.完全二叉树的节点个数 1.题目 1.1平衡二叉树&#xff08;优先掌握递归&#xff09; 题目链接&#xff1a;110. 平衡二叉树 - 力扣&#xff08;LeetCode&a…

以小搏大:Salesforce 十亿参数模型表现超过ChatGPT

小模型的强势崛&#xff1a;轻量化AI如何以高效表现撼动大型模型的统治&#xff01; ©作者|DWT 来源|神州问学 导读 近年来&#xff0c;人工智能领域的迅猛发展使得大型语言模型&#xff08;LLM&#xff09;成为了焦点。这些模型&#xff0c;如OpenAI的GPT-4和Google的…

讲透一个强大的算法模型,Transformer

Transformer 模型是一种基于注意力机制的深度学习模型&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;如机器翻译、文本生成和语义理解。 它最初由 Vaswani 等人在2017年的论文《Attention is All You Need》中提出。它突破了传统序列模型&am…

CSRF 概念及防护机制

概述 CSRF&#xff08;Cross-Site Request Forgery&#xff09;&#xff0c;即跨站请求伪造&#xff0c;是一种网络攻击方式。在这种攻击中&#xff0c;恶意用户诱导受害者在不知情的情况下执行某些操作&#xff0c;通常是利用受害者已经登录的身份&#xff0c;向受害者信任的…

微纳芯:如何利用CRM实现渠道分销管理的数字化转型

MINCHIP由联想控股投资,是一家专注于快速体外诊断产品的研发、生产、销售、服务的高科技企业,拥有多项自主知识产权及技术专利。致力于用专业的微流控临床检验产品,为全球大众提供触手可及、负担得起的健康服务。其系列全自动生化分析仪持续为医师、兽医师的机构运营提供解决方…

C++对C的扩充(8.28)

1.使用C手动封装一个顺序表&#xff0c;包括成员数组1个&#xff0c;成员变量n个 代码&#xff1a; #include <iostream>using namespace std;//类型重命名 using datatype int; #define MAX 30struct seqList { private: //私有权限datatype *data; //相当于 …