【1】刷了1000道二级C语言的题,这些题竟然还是易错题!!(附C语言完整知识点)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

@二级C语言考试
这几天我天天都在做C语言的题,从公共基础部分到C语言选择题部分,着重复习选择题部分。算下来已经刷了近1000道C语言的题了
不过有些题明明是很简单的,却很容易错,它们容易混淆、看似简单、偏向概念理解,因此导致频频错误,今天就把这些易错题发出来分享一下,也提醒自己长点记性

1、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是
(A)i=(a+k)<=(i+k); (B)a=a++,i++; (C)i=a%11; (D)i=!a;
标准答案:C

2、设有定义:int x=2;,以下表达式中,值不为6的是
(A)x*=(1+x) (B)x*=x+1 (C)x++,2x (D)2x, x+=2
标准答案:D

3、以下定义语句中正确的是
(A) float a=1,*b=&a,*c=&b;  (B) int a=b=0;
(C) double a=0.0;b=1.1;  (D) char A=65+1,b=’b’;
标准答案:D

4、以下选项中可用作C程序合法实数的是
(A) E9 (B) 9.12E (C) 3.0e1. (D) .1e0
标准答案:D

5、以下叙述中错误的是
(A) 算法正确的程序对于相同的输入一定有相同的结果
(B) 算法正确的程序可以有零个输入
(C)算法正确的程序可以有零个输出
(D)算法正确的程序最终一定会结束
标准答案:C

6、以下选项中关于C语言常量的叙述错误的是
(A) 经常被使用的变量可以定义成常量
(B) 常量分为整型常量、实型常量、字符常量和字符串常量
(C) 所谓常量,是指在程序运行过程中,其值不能被改变的量 (D) 常量可分为数值型常量和非数值型常量
标准答案:A

7、以下关于C语言数据类型使用的叙述中错误的是
(A) 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
(B) 若要保存带有多位小数的数据,可使用双精度类型
(C) 整数类型表示的自然数是准确无误差的
(D) 若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型
标准答案:A

8、设有定义
int k=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是
(A) ++k (B) k++ (C) k+1 (D) k+=1
标准答案:B

9、以下不合法的字符常量是
(A) ‘\018’ (B) ‘\”’ (C) ‘\’ (D) ‘\xcc’
标准答案:A

10、若有定义语句
int a=3,b=2,c=1;
以下选项中错误的赋值表达式是
(A) a=(b=4)=3; (B) a=1+(b=c=4); (C) a=(b=4)+c; (D) a=b=c+1;
标准答案:A

11、以下选项中不能用作C程序合法常量的是
(A) 123 (B) ‘\123’ (C) “\x7D” (D) 1,234
标准答案:D(’\123’是:S "\x7D"是:})

12、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的是
(A) 一条C语句可能会被转换成零条机器指令
(B) 某种类型和格式的C语句被转换成机器指令的条数是固定的
(C) 一条C语句可能会被转换成多条机器指令
(D) 一条C语句对应转换成一条机器指令
标准答案:D

13、关于算法,以下叙述中错误的是
(A) 一个算法对于某个输入的循环次数是可以事先估计出来的
(B) 同一个算法对于相同的输入必须得出相同的结果
(C) 某个算法可能会没有输入
(D) 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕
标准答案:D

14、以下选项中不属于C语言标识符的是
(A) 关键字 (B) 预定义标识符 (C) 用户标识符 (D) 常量
标准答案:D(常量是一个特殊代表不变值的量)

15、以下不能用于描述算法的是
(A) 文字叙述  (B) 伪代码和流程图 (C) 程序语句 (D) E-R图
标准答案:D

16、以下叙述中合法的实型常量是
(A) 2.0*10 (B) .914 (C) 0 (D) 3.13e-2.1
标准答案:B

17、
#include <stdio.h>
main()
{
int a=3;
printf(“%d\n”,a+=a-=a*a);
}
程序运行后的输出结果是
(A) 9 (B) -12 (C) 0 (D) 3
标准答案:B

18、以下叙述中正确的是
(A) 书写源程序时,必须注意缩进格式,否则程序会有编译错误
(B) 程序的主函数名除了main外,也可以使用Main或_main
(C) 程序可以包含多个主函数,但总是从第一个主函数处开始执行
(D) 在C程序中,模块化主要是通过函数来实现的
标准答案:D

19、C语言中double类型数据占字节数为
(A) 12 (B) 8 (C) 4 (D) 16
标准答案:B

20、以下叙述中正确的是
(A) 空语句就是指程序中的空行
(B) 花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的
(C) 复合语句在语法上包含多条语句,其中不能定义局部变量
(D) 当用scanf从键盘输入数据时,每行数据在没有按下回车键(Enter键)前,可以任意修改
标准答案:D

21、以下叙述中正确的是
(A) 在C语言程序设计中,所有函数必须保存在一个源文件中
(B) 结构化程序必须包含所有的三种基本结构,缺一不可
(C) 只要包含了三种基本结构的算法就是结构化程序
(D) 在算法设计时,可以把复杂任务分解成一些简单的子任务
标准答案:D

22、有以下程序
#include <stdio.h>
main()
{ char a,b,c,d;
scanf("%c%c",&a, &b);
c=getchar(); d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)
12
34
则输出结果是
(A) 12
(B) 12
3
(C) 12
34
(D) 1234
标准答案:B

23、若变量已正确定义为int型,要通过语句
Scanf(“%d,%d,%d”,&a,&b,&c);
给a赋值1、给b赋值2、给c赋值3,以下输入形式中语法错误的是(注:□代表一个空格符)
(A)□□□1,2,3<回车> (B)1□2□3<回车>
(C)1,2,3<回车> (D)1,□□□2,□□□3<回车>
标准答案:B

24、设变量均已正确定义,若通过
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
语句为变量a1和a2赋数值10和20,为变量c和c2赋字符X和Y,以下所示的输入形式正确的是
(A)10□X<回车>
20□Y<回车>
(B)10□X□20□Y<回车>
(C)10X<回车>
20Y<回车>
(D)10□X20□Y<回车>
标准答案:C或者10X20Y

25、设有定义
int a; float b;
执行
scanf(“%2d%f”,&a,&b);
语句时,若从键盘输入
876 543.0<回车>
则a和b的值分别是
(A) 76和543.0    (B) 87和543.0    (C) 876和543.0    (D) 87和6.0
标准答案:D

26、若有定义:
int a,b;
通过语句
scanf(“%d;%d”,&a,&b);
能把整数3赋值给变量a,5赋值给变量b的输入数据是
(A) 35 (B) 3 5 (C) 3,5 (D) 3;5
标准答案:D

27、以下叙述中正确的是
(A) scanf和printf是C语言提供的输入和输出语句
(B) 由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定
(C) 由printf输出的数据都隐含左对齐
(D) 赋值语句是一种执行语句,必须放在函数的可执行部分
标准答案:D

28、以下叙述中正确的是
(A) 在使用scanf函数输入整型或实数时,输入数据之间只能用空格来分隔
(B) 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上
(C) 使用printf函数无法输入百分号%
(D) 在printf函数中,各个输出项只能是变量
标准答案:B

29、以下叙述中正确的是
(A) 复合语句也被称为语句块,它至少要包含两条语句
(B) 在scanf函数的格式中,必须有与输出项一一对应的格式转换说明
(C) scanf函数中的字符串,是提示程序员的。输入数据时不必管它
(D) 只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度
标准答案:B

30、下列叙述中错误的是
A)可以给指针变量赋一个整数作为地址值
B)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
C)函数可以返回地址值
D)改变函数形参的值,不会改变对应实参的值
标准答案:A

31、下列叙述中正确的是
A)可以对字符串进行关系运算
B)空字符串不占用内存,其内存空间大小是0
C)两个连续的双引号(””)是合法的字符串常量
D)两个连续的单引号(’’)是合法的字符串常量
标准答案:C

32、若有定义语句:char a=’\82’;则变量a
A)包含3个字符 B)包含2个字符 C)包含1个字符 D)说明不合法
标准答案:D

33、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
A)float *p=1024; B)float p=&x; C)int *p=(float)x; D)float *p=&x;
标准答案:D

暂时就更新到这里,随着后面的继续刷题,还会继续添加这种容易混淆、看似简单、偏向概念理解的易错题,祝所有看此文章的小伙伴都能一次性顺溜得通过计算机等级考试!
另外,文章里附有C语言的完整知识点文档,需要的请自行下载。

PTA避坑指南:L1-005‘考试座位号’的3个易错点与高效解法(C语言版) 本文详细解析PTA平台L1-005‘考试座位号’目的3个常见易错点,包括数据类型选择、查询效率优化和输入输出细节处理,并提供C语言高效解法。特别强调使用long long存储准考证号避免溢出,以及通过直接映射提升查询性能,帮助考生在中避开陷阱。 阅读详情

相关推荐

C语言系列,经典C语言易错目.

C语言系列,手撕C语言经典易错目,带你更加深入剖析C语言的底层逻辑

比昨天强一点就好的博客 2161

C语言基础期末复习(带详解答案)

人类高质量C语言期末复习

爱德苏的博客 9万+

计算机二级C语言基础选择易错及答案解析(五)

1.以下敘述中錯誤的是() A、可以给指针变量赋一个整数作为地址值 B、函数可以返回地址值 C、改变函数形参的值,不会改变对实参的值 D、当在程序的开头包含头文件stio时,可以给指针变量赋NULL 2.有以下程序 #include <stdio.h> main() { int n, *p=NULL; *P=&n; print("Input n:");scanf("%d",&...

Miracle1203的博客 3579

二级C语言常见易错

1.         数据溢出 int a = 32767; a = a + 1; 此时a的值为 –32768 2.         (-1)&&(-1) 值为:1 非0的数,逻辑值均为1 只有数0,逻辑值为0 3.         设a=5, b=6, c=7, d=8, m=2, n=2 执行 (m = a > b) && ( n = c > b) 结果:n 的

doudou0918的专栏 3362

集 数组/文件流/结构体/指针 判断部分 1. 数组名就是一个指针常量,指向数组的首元素(或者说代表了数组的首地址)。 (2分) T F 我的答案:T 正确答案:F 正确解析:指针常量本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。 数组名不是常量指针,两方面原因: 1.类型方面,数组的类型是type[size],和常量指针类型type* const不同 2...

Unbridled_的博客 1万+

C++日常

语言定位C++是一种通用、编译型、静态类型的编程语言,起源于 1980 年代,由 Bjarne Stroustrup 在 C 语言基础上设计,支持面向对象(OOP)、泛型编程(GP)、过程式编程等范式。

2302_80035129的博客 1704

牛客网:C语言程序

①先构造,后定义②构造同时定义} s;③构造同时定义,省略类型名} s;

San_a_fish_of_dream的博客 818

C语言易错难懂知识

在定义函数时要指定函数的类型函数类型决定返回值类型用函数原型(函数首部)作函数声明。

2401_87096154的博客 1014

C语言易错知识点

C语言中常用的进制、标识常量(宏)、初始化和赋值、数组的全部初始化和部分初始化、static、register、extern、auto他们各自的特点及作用、局部变量能否和全局变量重名?

BIUZJ的博客 301

职高C语言经典易错总结

来自以下书本: (改写成按照录的方式) 课课通C语言计算机类) 计算机用指导(下册) C语言学习辅导与上机实习 计算机类复习指导(上册) 1、有以下程序 执行上述程序后的输出结果是( ) A.2 B.3 C.4 D.编译时有错,无结果 解析: 2、已知int x=10,y=20,z=30;以下语句执行后x、y、z的值是( )。 if(x>y) z=x;x=y;y=z; A. x=10,y=20,z=30 B. x=20,y=30,z=30 C. x=20,y=30,z=10

qq_41883610的博客 3156

【Java程序员节突围攻略】:为什么你1000却 still 拿不到offer?

揭秘Java程序员节低效根源,教你科学突破算法瓶颈。结合真实面试场景,拆解高频考点与解模板,提升代码质量与思维效率。掌握高效法,offer拿到手软,值得收藏。

GatherTide的博客 735

【c语言结构体与共用体精选

c语言结构体与共用体精选

weixin_63003502的博客 1118

易错】C语言精品练习,让你少走许多弯路!

指针的数组传递给子函数变为指针的指针,也就是二级指针。但是允许中括号写法,写成char **arr、char *arr[]、char * arr[5]都可。所以BD正确。

王璐WL的博客 1101

C语言分支语句和循环语句经典易错

本篇适合于初次学习分支语句和循环语句的同学学习,这些编程都是一些经典必会,如果你做过,看看还有没有第二种方法,然后看看什么方法最优,欢迎评论区交流学习1.switch语句中case和switch后面接的不一定只是int类型,还可以是char,short,long类型,但是不能跟double,float类型2.数按从大到小输出:如果数较少,就始终让a>b>c,如果不满足就交换位置如果数较多,就冒泡排序或者qsort函数3.打印100-200之间的素数:生成数i可以初始化个位为1,然后。

qq_73017178的博客 1592

上海计算机二级python难吗_计算机二级难吗?

全国计算机等级考试分为四个等级二级又分多个科目。二级C语言程序设计二级VB语言程序设计二级Java语言程序设计二级Access数据库程序设计二级C++语言程序设计二级MySQL数据库程序设计二级Web程序设计二级MS Office高级二级Python语言程序设计目前考试考的最多的是二级MSoffice这个科目,其次是C语言。python是一个新 的科目。这考试难不难要因人而异,同时也要看科目...

weixin_29504987的博客 1185

C语言—每日选择—Day65

我们的专栏又又又开始了,本专栏总结了作者做过程中的好易错。每都会有相解析和配图,一方面可以使作者加深理解,一方面可以给大家提供思路,希望大家多多支持哦~

2302_76941579的博客 1287

C语言|for循环易错

C语言,for循环易错目: 编写一程序求满足下面条件的最大的n,使1^{2}+在这里插入代码片输出提示:printf(“%d”,n); 提示:注意循环完成后,n的数值和满足提干要求的n的值的异。 ​

m0_64797014的博客 1286

C语言易错点大总结

熟悉各个常量实例整数类型有无符号signed 有符号整数 正数,负数unsigned 无符号整数 正数 小数类型 字符类型总结void 函数名() {函数体;}//函数的调用方式函数名(); ⚽函数注意事项 C语言的常见函数(time) 🏙️随机数<stdlib.h> 笔记 随机数的两个小弊端 猜数字小游戏 🏙️字符串的常见函数<string.h> //细节:strlen这个函数在统计长度的时候,是不计算结束标记

Wjs153612的博客 576

【C语言位运算精选

【C语言位运算精选

weixin_63003502的博客 1336
上一篇: (篇六)C语言求自首数、完数、亲密数
下一篇: (篇七)输入任意个数字,输出最大值最小值,且进行排序排序
鸿蒙Next
鸿蒙Next 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄7年 2万+粉丝 300原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值