c语言运用的一些要点

简介: c语言运用的一些要点

一,printf和scanf函数返回值的运用和其中的注意要点

scanf函数返回值等于scanf中的参数个数,若有n个参数,则返回值为n

printf函数返回值比较特殊,函数的返回值为参数的个数与字符数的和

代码实现如下:

#include <stdio.h>
int main() 
{
    int m, n, a=4, b;
    m = printf("Hello world!\n");//其中有'\n'转义字符,也算上一个字符
    n = printf("Hello world!");
  b = printf("%d", a);
  printf("\n%d\n", b);//数值为1,因为只有a这一个参数
  b = printf("%d\n", a);
  printf("%d", b);//数值为2,因为有a,和'\n'两个参数
    printf("%d %d", m, n);//其中m输出值为13,n输出值为12
    return 0;
}

例题:

用scanf函数作为循环的运用判断三角形的形状 (主要是掌握scanf函数的返回值)

#include <stdio.h>
int main() {
    int a, b, c, x, y, z;
    while (scanf("%d %d %d", &a, &b, &c) == 3)//在键盘上按下Ctrl+c即可终止循环
    {
        if (a + b > c && a + c > b && b + c > a)
        {
            if (a == b && b == c)
                puts("Equilateral triangle!");
            else if (a == b || a == c || c == b)
                puts("Isosceles triangle!");
            else
                puts("Ordinary triangle!");
        }
        else
            puts("Not a triangle!");
    }
    return 0;
}

二,字符与字符串与整形之间的转换的注意要点

对于一些数值过大的数,例如99999999999999999999,长度过大,即便用long long型都不能存储下,这是就要用字符数组进行存储,但要注意,存储完之后要在字符数组的末尾加上'\0'字符,表示结束,否则将会出现错误

例题:

#include <stdio.h>
#include<string.h>
int main()
{
    int age, n = 0, i, j, k,a[100];
    char second[100];
    scanf("%d", &age);
    k = 3156 * age;
    while (k > 0)
    {
        j = k % 10;
        a[n] = j;
        n++;
        k /= 10;
    }
    for (i = n - 1, j = 0; i >= 0; --i, ++j)
        second[j] = a[i] + 48;
    second[j] = '\0';
    //如果没有这一步second[j]里面什么数据都没有,即second中没有结束标识符'\0',second中不会结束,将自动往后取值,产生错误
    strcat(second, "0000");//字符串的添加用此函数,单个字符可直接添加或赋值
    puts(second);
    return 0;
}//注意;对于int n和char arr[100];不可用arr[i]=(char)(n)进行转换,用其ASCII值,即arr[i]=n+48;

三,long long,long,int三个类型的注意

对于long long,long,int,%lld输出的是long long,%ld输出的是long,%d输出的是int

#include <stdio.h>

int main()

{

   int age = 0;

   scanf("%d", &age);

   long long sec = age * 3.156e7;

   printf("%lld\n", sec);

   return 0;

}

很多人就是将类型转换完之后就忘记了对应的输出类型,若是输出类型没有与之对应,则将会出现错误答案 。

相关文章
|
6月前
|
程序员 Serverless 编译器
『C语言初阶』第四章-函数
『C语言初阶』第四章-函数
|
11月前
|
程序员 编译器 C语言
【C语言入门】C语言常见基础必懂概念(五)注释
【C语言入门】C语言常见基础必懂概念(五)注释
81 0
|
算法 编译器 程序员
初阶C语言——特别详细地介绍函数
初阶C语言——特别详细地介绍函数
118 0
|
6月前
|
存储 编译器 程序员
C语言基础——C语言常见概念
C语言基础——C语言常见概念
|
存储 编译器 C语言
c语言基础知识点及思考(上)
c语言基础知识点及思考
96 0
|
11月前
|
机器学习/深度学习 程序员 编译器
【C语言入门】C语言常见基础必懂概念(一)函数篇
【C语言入门】C语言常见基础必懂概念(一)函数篇
136 0
|
11月前
|
C语言
【C语言入门】C语言常见基础必懂概念(四)语句篇
【C语言入门】C语言常见基础必懂概念(四)语句篇
72 0
|
C语言
C语言的一些小细节
C语言的一些小细节
|
存储 C语言
初识C语言(C语言整体知识介绍)(四)
初识C语言(C语言整体知识介绍)(四)
60 0
初识C语言(C语言整体知识介绍)(四)
|
存储 C语言
c语言基础知识点及思考(下)
c语言基础知识点及思考(下)
71 0