• C语言基础二


    C——顺序程序设计

    • 赋值语句
      赋值语句和赋值表达式的区别:

        if((a = b) > 0) t = 0;
      
    • 字符数据的输入输出

    1. putchar函数
      该函数为字符输出函数,其作用是向终端数出一个字符:putchar(c);
    2. getchar函数
      字符出入函数,从终端输入一个字符。:getchar();
      该函数只能接收一个字符。
    3. printf函数
      格式输出函数,向终端设备输出数据。
      格式:printf("格式控制", 输出表列);
    4. 格式字符
    格式 含义 注意
    d% 输出十进制整数 %*d:表示忽略当前输出
    o% 输出八进制数 不会输出负的
    x% 十六进制 不会输出负的
    u% 输出无符号十进制整数 -
    c% 输出一个字符 -
    f% 小数形式 有6位小数
    1. scanf函数
      格式输入函数:scanf(格式控制,地址表列);
    • 顺序结构的程序例子
      大小写转换

        # include<stdio.h>
        void main(){//主函数
            char c1, c2;
            c1 = getchar();
        	printf("%c,%d
      ", c1, c1);
        	c2 = c1 + 32;
         rintf("%c,%d
      ", c2, c2);
        }
      

    	#define PAI 3.14
    	#include<stdio.h>
    	void (){//主函数
    	    float r, h, l, s, sl, v, vl;
    		scanf("%f,%f", &r,&h);
    		l = 2* PAI * r;
    		s = 2 * PAI * r * r;
    	    //printf("%f",3.0/4);
    		sl = 4 * PAI * r * r * r;
    		v = 3.0/4 * PAI * r * r * r;
    		vl = 1.0/3 * s * h;
    		printf("圆的周长 = %.2f
    ", l);
    		printf("圆的面积 = %.2f
    ", s);
    		printf("圆求表面积 = %.2f
    ", sl);
    		printf("圆的求体积 = %.2f
    ", v);
    		printf("圆住体积 = %.2f
    ", vl);
    	} 
    

    C——选择结构程序设计

    • 关系运算符与关系表达式
      (1) 关系运算符的优先级低于算术运算符;
      (2) 关系运算符的优先级高于赋运算符;

    • 逻辑运算符与逻辑表达式
      !(非)> 算术运算符 > 关系运算符> &&、|| > 赋值运算符:5>3&&8<4-!0 结果为0.

    • if语句例子:两个数比较大小

        #include<stdio.h>
        void main(){
            float a, b, t;
        	scanf("%f, %f", &a,&b);
        	if(a > b){
        	    t = a;
        		a = b;
        		b = t;
        	}
        	printf("%5.2f, %5.2f
      ", a, b);
        }
      

    三个数比较大小

    	#include<stdio.h>
    	void main(){
    	    float a, b, c, t;
    		scanf("%f, %f, %f", &a,&b,&c);
    		if(a > b){
    		    t = a;
    			a = b;
    			b = t;
    		}
    		if(a > c){
    		    t = a;
    			a = c;
    			c = t;
    		}
    		if(b > c){
    		    t = b;
    			b = c;
    			c = t;
    		}
    		printf("%5.2f, %5.2f, %5.2f
    ", a, b, c);
    	}
    
    • switch语句例子

        #include<stdio.h>
        void main(){
            char grade;
        	scanf("%c",&grade);
        	switch(grade){
        	    case'A': printf("85-100
      ");break;
        		case'B': printf("70-84
      ");break;
        		case'C': printf("60-69
      ");break;
        		default: printf("error
      ");
        	}
        }
      

    输出等级

    	#include<stdio.h>
    	void main(){
    	    int grade;
    		scanf("%d",&grade);
    		switch(grade/10){
    		    case'10':
    		    case'9': printf("A
    ");break;
    			case'8': printf("B
    ");break;
    			case'7': printf("C
    ");break;
    			default: printf("D
    ");
    		}
    	}
    

    注意:这里需将成绩范围巧妙的化成一个变量。
    判断是否为闰年

    	#include<stdio.h>
    	void main(){
    	    int year, leap;
    		scanf("%d", &year);
    		if(year/4 == 0 ){
    	        if(year/100 == 0){
    				if(year/400 == 0){
    					leap = 1;
    				}else{
    				    leap = 0;
    				}
    			}else{
    			    leap = 1;
    			}
    		}else{
    			leap = 0;
    		}
    	
    		if(leap){
    		   printf("%d is a leap year
    ",year);
    		}else{
    		   printf("%d is not a leap year
    ", year); 
    		}
    	}
    

    C——循环控制

    • while实现“当型”循环结构。线判断在执行;

    • 用do...whlie来实现“直到型”循环结构。先执行,在判断;

    • for语句来实现循环;

    • break语句和continue语句
      break语句可以使循环跳出switch结构;break语句不能用于循环语句和switch语句之外的任何其他语句中;
      continue:其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue不终止整个循环。
      例子:把100~200直接的不能被3整除的数输出

        #include<stdio.h>
        void main(){
            int n;
        	for(n = 100; n <= 200; n++){
        		if(n%3 == 0)
        		    continue;
        		printf("%d
      ", n);
        	}
        		printf("
      ");
        }
      

    判断是否是素数

    	#include<stdio.h>
    	#include<math.h>
    	void main(){
    	    int m, i, k;
    		scanf("%d",&m);
    		k = sqrt(m);
    		for(i=2; i<=k; i++)
    	        if(m%i == 0) break;
    		if(i > k) printf("%d is prime number", m);
    	    else printf("%d is not prime number", m);
    	}
    

    求100~200之间的全部素数

    	#include<stdio.h>
    	#include<math.h>
    	void main(){
    	    int m, i, k, n = 0;
    		for(m = 101; m <= 200 ; m = m  + 2){
    			k = sqrt(m);
    			for(i=2; i<=k; i++)
    				if(m%i == 0) break;
    				if(i >= k+1) {
    					printf("%d ", m);
    					n++;
    				}
    			    if(n%10 == 0) 
    					printf("
    ");
    		}
    	    printf("
    ");
    	}
    

    输出水仙花数

    	#include<stdio.h>
    	#include<math.h>
    	void main(){
    	    int n, a, b, c;
    		for(n = 100; n< 1000; n++){
    		    a = n/100;
    			b = (n%100)/10;
    			c = ((n%100)%10)/1;
    			if(a*a*a + b*b*b +c*c*c == n)
    			printf("%d
    ", n);	 
    		}
    	}
    

    输出图案:上三角+倒三角

    	#include<stdio.h>
    	#include<math.h>
    	void main(){
    	   int i,j,k; 
    	   for(i=0;i<=3;i++) 
    	   { 
    	       for(j=0;j<=3-i;j++) 
    			  printf(" "); 
    		   for(k=0;k<=2*i;k++) 
    			  printf("*"); 
    		   printf("
    "); 
    	   } 
    	   for(i=0;i<=2;i++) 
    	   { 
    	       for(j=0;j<=i+1;j++) 
    			  printf(" "); 
    		   for(k=0;k<=4-2*i;k++) 
    			  printf("*"); 
    		   printf("
    "); 
    	   } 
    	}
    

    该规律为:上面四行一个规律,下面三行一个规律,然后用双重for循环来分别控制行和列,即分别控制输出空字符和输出“*”字符。

  • 相关阅读:
    课后作业
    课后作业
    课后作业3
    课后作业
    课后作业
    课后作业
    java 加减法2
    java 出计算题
    Java web 登录界面
    构建之法读后感
  • 原文地址:https://www.cnblogs.com/yehui-mmd/p/6727191.html
Copyright © 2020-2023  润新知