C语言错题 1

简介: C语言错题 1

导言:

本人作为一个编程萌新,要熟练度没熟练度,要知识没知识,要思维没思维,要是还不积累错题那就完蛋了.

所以单开一个专栏记录,分享我的错题

哦,对了,补充一点:每篇文章我目前暂定放五道错题.

对于读者的话:

这个专栏前几篇文章注定是有些可笑的,我现在看当时的错题真的会笑出声

随着我的学习,或者说进步,积累的错题才变得越来越有价值,如果在看的你可以直接去看此专栏里靠后的几篇文章

当然,如果你想放松放松,那么,此篇文章可能会是不错的选择.

小提示

以我目前的水平来看,只能做做牛客网的简单题(牛客网真的对我帮助很大!!! 谢谢牛客网!!!).此专栏的前几篇文章,大多取材于牛客网,在后面我会贴上题目链接,以方便大家练手.

1.

//#include<stdio.h>
//int main()
//{
    //int a, b, c;
  //  scanf("%d", &a);
//    b = a % 10;
    //c = ((a - b) % 100) / 10;
    //printf("%d", c);
  //  return 0;
//}
#include <stdio.h>
int main()
{
    int a = 0;
    scanf("%d", &a);
    printf("%d",(a%100)/10);
    //当/左右皆为整数时,输出结果只能为整数!!!
    return 0;
}

原因:因为知识点不熟而引起的程序复杂

知识点:

当/左右皆为整数时,输出结果只能为整数!!!

2.

题干:

描述

确定不同整型数据类型在内存中占多大(字节),输出不同整型数据类型在内存中占多大(字节)。

输入描述:

输出描述:

不同整型数据类型在内存中占多大(字节),具体格式详见输出样例,输出样例中的?为不同整型数据类型在内存中占的字节数。输出样例如下:

The size of short is ? bytes.

The size of int is ? bytes.

The size of long is ? bytes.

The size of long long is ? bytes.

#include<stdio.h>
int main()
{
printf("The size of short is %d bytes.\n", sizeof(short));
printf("The size of int is %d bytes.\n", sizeof(int));
printf("The size of long is %d bytes.\n", sizeof(long));
printf("The size of long long is %d bytes.\n", sizeof(long long));
return 0;
}

知识点:

%d所在之处即为输出的字符

3.

题干:

描述

我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

输入描述:

输出描述:

十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。

备注:

printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示

代码:

#include<stdio.h>
int main()
{
printf("%#o %#X\n",1234,1234);
}

知识点:

// d 以十进制形式输出带符号整数(正数不输出符号)

// o 以八进制形式输出无符号整数(不输出前缀O)

// x 以十六进制形式输出无符号整数(不输出前缀Ox)

// X 以十六进制形式输出无符号整数(不输出前缀OX)

//使用修饰符“#”控制前导显示:

// # 对c,s,d,u类无影响;对o类, 在输出时加前缀0。对x类,在输出时加前缀0x;

//注意:题目要求,十六进制,字母大写,所以,,,,,,对X类,在输出时加前缀0X。

4.

题干:

描述

输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。

输入描述:

一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。

输出描述:

一行,a+b的十进制结果。

代码:

#include<stdio.h>
int main()
{
int a;
int b;
int sum;
scanf("%x %o",&a,&b);//用%x输入十六进制,用%o输入八进制
sum = a+b;
printf("%d",sum);
return 0;
}

知识点:

用%x输入十六进制,用%o输入八进制

5.

题干:创建函数,求两数之和

代码:

#include<stdio.h>
int main()
{
int a;
int b;
int sum;
scanf("%d %d",&a,&b);
sum = a+b;
printf("%d",sum);
return 0;
}#include<stdio.h>
int main()
{
int a;
int b;
int sum;
scanf("%d %d",&a,&b);
sum = a+b;
printf("%d",sum);
return 0;
}

知识点:

说实话,我现在看这道题,我也不知道它为什么在我的错题本里,

也许是,当时还没学习函数的我,看到这种解法,觉得叹为观止吧.

相关文章
|
6月前
|
C语言
【C语言】错题本(3)
【C语言】错题本(3)
34 0
|
6月前
|
C语言
【C语言】错题本(2)
【C语言】错题本(2)
34 0
|
6月前
|
C语言
【C语言】错题本(1)
【C语言】错题本(1)
52 0
|
存储 编译器 C语言
C语言错题之 10
C语言错题之 10
118 0
|
6月前
|
存储 C语言
【C语言】错题本(4)
【C语言】错题本(4)
36 0
|
存储 C语言
C语言错题之 8
C语言错题之 8
67 0
|
C语言
C语言错题之 5
C语言错题之 5
51 0
|
6月前
|
C语言
C语言:初阶测试错题(查漏补缺)
C语言:初阶测试错题(查漏补缺)
40 0
|
C语言
C语言分支语句和循环语句经典题及易错题
C语言分支语句和循环语句经典题及易错题
159 0
|
存储 编译器 开发工具
C语言错题之 7
C语言错题之 7
71 0