c 语言学习第四天
if 语句
格式:
// 1
// 其他语句...
if(表达式){
// 其他语句...
}
// 其他语句...
// 2
if(表达式){
}else{
}
// 3
if(表达式1){
}else if(表达式2){
}else if(表达式3){
}else{
}
// 4
if(表达式1){
}else if(表达式2){
}else if(表达式3){
}
#include<stdio.h>
int main(){
int i;
printf("请输入分数:");
scanf("%d",&i);
if(i >= 90 ){
printf("A");
}else if(i < 90 && i >= 80){
printf("B");
}else if(i < 80 && i >= 70){
printf("C");
}else if(i < 70 && i >= 60){
printf("D");
}else{
printf("E");
}
return 0;
}
switch
格式:
switch(表达式){
case 常量表达式1: 语句或程序块1
case 常量表达式2: 语句或程序块2
....
case 常量表达式n: 语句或程序块n
default: 语句或程序块n+1
}
#include<stdio.h>
int main(){
char c;
printf("请输入成绩等级:");
scanf("%c",&c);
switch(c){
case 'A':
printf("成绩合格在90分以上!\n");
break;
case 'B':
printf("成绩合格在80-90分!\n");
break;
case 'C':
printf("成绩合格在70-80分!\n");
break;
case 'D':
printf("成绩合格在60-70分!\n");
break;
default:
printf("成绩无效,请重新输入!");
break;
}
return 0;
}
当 switch 里的 case 中忽略了
break,会一直往下执行,直到遇到break为止。当未匹配到 case,会执行switch中的default分支。
while
格式:
while(表达式){
循环体
}
#include<stdio.h>
int main(){
int i= 0;
printf("请输入字符:\n");
while( getchar() != '\n'){
i= i+1;
}
printf("你输入了%d个字符\n",i);
return 0;
}
do while
格式:
do{
// 循环体
}while();
for
格式:
for(表达式1;表达式2;表达式3){
// 循环体
}
- 表达式 1:循环初始化表达式
- 表达式 2:循环条件表达式
- 表达式 3:循环调整表达式
C99 新标准
C99 允许在 for 语句的表达式 1 中定义变量。
#include<stdio.h>
int main(){
for(int i = 5; i < 10; i++){
printf("i:%d\n",i);
}
return 0;
}
$ gcc test.c && ./a.out
test.c: In function ‘main’:
test.c:5:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 5;i<10;i++){
^
test.c:5:2: note: use option -std=c99 or -std=gnu99 to compile your code
$ gcc test.c -std=c99 && ./a.out
i:5
i:6
i:7
i:8
i:9
求质数
#include<stdio.h>
int main(){
int i,j,k,num = 0;
scanf("%d",&k);
for(i = 2;i < k; i++){
j = 2;
_Bool b = 1;
while(j < i){
if(i % j == 0){
b = 0;
j = i;
}
j++;
}
if(b){
num ++;
printf("%d是质数\n",i);
}
}
printf("%d以内的质数有%d个\n",k,num);
return 0;
}
循环嵌套
99 乘法表
#include<stdio.h>
int main(){
int i,j;
for(i = 1;i <= 9; i++){
for(j = 1;j <= i;j++){
printf("%d x %d = %d ",i,j,i*j);
}
printf("\n");
}
return 0;
}
c 语言学习第四天的更多相关文章
- Go语言学习笔记四: 运算符
Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算 ...
- R语言学习 第四篇:函数和流程控制
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
- C语言学习总结(四) 剩余内容
第六章.剩余内容 (预处理指令,宏定义,条件编译,文件操作) 预处理指令 简单的来说就是在程序编译之前需要做的事情 1.宏定义 概念: 是一个替换代码的预处理指令,可以在编译之前进行代码替换(宏展开, ...
- C语言学习第四章
今天学习C语言循环结构,为什么要用循环呢?因为有时候我们对一堆的数字进行重复的处理的时候要重复的编写一些相同或者差不多的代码,让程序显得很臃肿,而且写着也麻烦,如果用循环来写的话能简化很多,出错的话也 ...
- C语言学习 第四次作业总结
本次作业主要为了复习分支语句,同时复习之前学习过的判断语句,printf和scanf函数的使用. 学习到这里,同学们应该已经基本掌握了基本的数据类型,分支结构,循环结构,条件判断语句.应该可以利用这些 ...
- 【GO】GO语言学习笔记四
流程控制 1.条件语句 举个栗子: if x>5 { return 1; }else{ return 0; } 注意: 条件语句不需要使用括号将条件包含起来(); 无论语句体内有几条语句, ...
- Go语言学习笔记(四) [array、slice、map]
日期:2014年7月22日 一.array[数组] 1.定义:array 由 [n]<type> 定义,n 标示 array 的长度,而 <type> 标示希望存储的内 ...
- Swift语言学习(四)字符串与Array等集合的使用
Swift 提供了C和Objective-C基础类型的自己一套版本,包括用于整型的Int,用于浮点值的Double和Float,用于布尔值的Boolean,和用于文本数据的String.Swift还提 ...
- GO语言学习(四)GO语言语言结构
Go Hello World 实例 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 & 表达式 注释 接下来让我们来看下简单的代码,该代码输出了"Hello ...
- 【原创】go语言学习(四)流程控制
目录: 1.if else语句块 2.for语句 3.switch语句 if else语句块 1.基本语法 if condition { //do something } if statement; ...
随机推荐
- 简易的 Linux 流量实时监控工具 watch+ifstat
非常简单小巧的流量实时监控工具,贵在不需要安装,Linux 操作系统自带,在不出外网的环境中很是实用. watch -d ifstat eth1 如果连 ifstat 都没有的环境中也可以使用 ifc ...
- 4G EPS 中建立 UE 与 eNB 之间的 RRC 连接
目录 文章目录 目录 前文列表 RRC 连接 Radio Bearer SRB UE 与 eNB 建立 RRC 连接的流程 前文列表 <4G EPS 中的小区搜索> <4G EPS ...
- JavaScript的数学计算库:decimal.js
An arbitrary-precision Decimal type for JavaScript. 功能 整数和浮点数 简单但功能齐全的 API 复制 JavaScript 和对象的许多方法Num ...
- 树莓派 ubuntu server 22.x 连接无线网络
前言 树莓派系统安装完成后,需要配置网络,由于家里没有多余的网线(网线多少有点乱),所以决定配置无线上网的方式,现在记录下来操作过程 具体操作 sudo nano /etc/netplan/xxxxx ...
- 【题解】A18537.我心中珍藏的游戏
题目跳转 思路: 题目问最多可以获得的额外伤害,其实就是询问在这些技能中,如何怎样选取一个最优的发动技能顺序使得攻击加成最大.我们可以把每一个技能看作成一个图的顶点,把每一个攻击加成看作图的边,权制为 ...
- Python RabbitMQ Demo
fanout消息订阅模式 生产者 # 生产者代码 import pika credentials = pika.PlainCredentials('guest', 'guest') # mq用户名和密 ...
- 基于WebSocket的modbus通信(三)- websocket和串口
WebSocket传递ModbusTCP数据包 错误纠正 上一篇还有个错误,就是客户端写数据时服务端不需要响应,但我的服务端响应了的.我选择改客户端,把写数据时接收到的响应丢弃. PrintBytes ...
- windows server 2016 远程桌面连接,发生身份验证错误。 要求的函数不受支持
远程桌面连接,发生身份验证错误. 要求的函数不受支持 客户端:WIN7 服务端:windows server 2016 在被远程的机器上-远程设置中-取消"仅允许运行使用网络级别身份验证的远 ...
- Opencompass笔记整理
Smiling & Weeping ---- 山海自有归期,风雨自有相逢 大模型评测教程 随着人工智能技术的快速发展, 大规模预训练自然语言模型成为了研究热点和关注焦点.OpenAI于2018 ...
- 蚁群算法及 TSP 问题上的应用
群智能(Swarm intelligence) 自然界动物群,称之为群. 群的特征: 相互作用的相邻个体的集合 个体的行为简单,既有竞争又有协作 智能化的集体行为(1+1>2): 个体间不仅能够 ...