格式:
// 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(表达式){
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(表达式){
循环体
}
#include<stdio.h>
int main(){
int i= 0;
printf("请输入字符:\n");
while( getchar() != ‘\n‘){
i= i+1;
}
printf("你输入了%d个字符\n",i);
return 0;
}
格式:
do{
// 循环体
}while();
格式:
for(表达式1;表达式2;表达式3){
// 循环体
}
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;
}
原文:https://www.cnblogs.com/kongyijilafumi/p/14979785.html