前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c 语言学习第四天

c 语言学习第四天

作者头像
冬夜先生
修改2021-09-06 10:46:32
2300
修改2021-09-06 10:46:32
举报
文章被收录于专栏:csicocsico

if 语句

格式:

代码语言:javascript
复制
// 1
// 其他语句...
if(表达式){

// 其他语句...
}
// 其他语句...

// 2
if(表达式){

}else{

}

// 3
if(表达式1){

}else if(表达式2){

}else if(表达式3){

}else{

}

// 4
if(表达式1){

}else if(表达式2){

}else if(表达式3){

}
代码语言:javascript
复制
#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

格式:

代码语言:javascript
复制
switch(表达式){
  case 常量表达式1: 语句或程序块1
  case 常量表达式2: 语句或程序块2
  ....
  case 常量表达式n: 语句或程序块n
  default: 语句或程序块n+1
}
代码语言:javascript
复制
#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

格式:

代码语言:javascript
复制
while(表达式){
  循环体
}
代码语言:javascript
复制
#include<stdio.h>
int main(){

  int i= 0;
  printf("请输入字符:\n");

  while( getchar() != '\n'){
    i= i+1;
  }

  printf("你输入了%d个字符\n",i);
  return 0;
}

do while

格式:

代码语言:javascript
复制
do{
  // 循环体
}while();

for

格式:

代码语言:javascript
复制
for(表达式1;表达式2;表达式3){
    // 循环体
}
  • 表达式 1:循环初始化表达式
  • 表达式 2:循环条件表达式
  • 表达式 3:循环调整表达式

C99 新标准

C99 允许在 for 语句的表达式 1 中定义变量。

代码语言:javascript
复制
#include<stdio.h>
int main(){
  for(int i = 5; i < 10;  i++){
    printf("i:%d\n",i);
  }
  return 0;
}
代码语言:javascript
复制
$ 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

求质数

代码语言:javascript
复制
#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 乘法表

代码语言:javascript
复制
#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;
}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • if 语句
  • switch
  • while
  • do while
  • for
    • C99 新标准
      • 求质数
      • 循环嵌套
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档