第一范文网 - 专业文章范例文档资料分享平台

C语言易错题

来源:用户分享 时间:2025/5/30 8:25:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

易错题整理

1. void main() {

float y=3.667;

printf(\}

结果:* 4*

2.void main() {

int x=1,y=2;

printf(\ printf(\ printf(\}

结果:1, 3, 2,3

3.void main()

{ int x=0,y=0,z=0; do {

switch(y++) {

case 1:x++;break; case 3:x+=3;break;

default:x=x%2;continue; } z++; }

while(y<5);

printf(\}

结果:x=0, y=5, z=2

4. 若有定义和语句:double x=34213.6894; printf(\则下列说法真确的是:

A. 输出值为*3.42e+04* B. 输出值为*3.42e+004*

C. 输出值为*34.21e+04* D. 输出格式符宽域不够,不能输出值 答案:B

5. void main() {int a=2,b=5;

printf(\

1

}

结果为:

A. a=%2,b=%5 B. a=2,b=5

C. a=%%d,b=%%d D. a=%d,b=%d 答案:D

6. 以下叙述中正确的是

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出

7. 结构化程序由三种基本结构组成,三种基本结构组成的算法

A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务

8.以下选项中可作为C语言合法常量的是 A)-80. B)-080

C)-8e1.0 D)-80.0e01 9.将十进制数23588转化成二进制: 错:#include

void main() {

unsigned long a=23588,n=0;/*数据类型长度可能不够*/ while(a)

{n=10*n+a%2; /*首次a%2可能为0 */ a=a/2;

}

while(n)

{printf(\ n=n/10; }

printf(\}

对:#include

void main() {

int a=23588,n=0,b[20]; while(a)

{b[n++]=a%2; a/=2; }

2

for(n--;n>=0;n--)

printf(\ printf(\}

10.设有如下函数: func(float a)

{printf(“%d\\n”,a*a); }

则函数的类型是:

A.无法确定 B.int C.float D.void (在C语言中,若对函数类型未加显示地说明,则函数的隐含类型为int型)

11. 宏定义#define E 2.71828中,宏名“E”代替一个 字符串 。

12.下面的叙述中,错误的是:

A.#include命令可以包含扩展命名为“.c”的文件

B.#include“test\\\\test.h”是一个正确的文件包含命令 C.#include中可以包含路径

D.使用#include比#include“?”节约编译时间

(#include命令的包含文件可以带目录,并且目录的书写格式必须符合操作系

统的习惯,由于它不是C语言的字符串,不能用“\\\\”来表示“\\”)

13.下列程序的结果是: #include #define PR printf #define NL \#define D \#define D1 D NL #define D2 D D NL main()

{int a=1,b=2; PR(D1,a); PR(D2,a,b); }

A. 1 B. 1 C. 1 D.程序错误,值为任意值 12 1 2 12

3

14. 下列程序的结果是: #include

#define PR(a) printf(\ #define PRINT(a) PR(a);printf(\ main()

{int i,a=1;

for(i=0;i<3;i++) PRINT(a+i); printf(\ }

结果为:1 2 3 ok!

15.以下可以讲char型变量s中的大小写字母进行转化(即大写改小写,小写改大写)的语句是:

A.s=s^32 B.s=s&32 C.s=s|32 D.s=s+32

16.以下程序的输出结果是: main()

{char a=0xf0,b=03,c; c=~a&020>>b;

printf(\ }

结果:2 (注意运算符优先级高低)

17.若有以下定义和语句: int *p,i=1;

double *w,a=3.5; p=&i; w=&a;

在执行了p=(int *)w;语句后,*p的值为:

A.4 B.3.5 C.3 D.一个整数 注意:double类型的数据与int类型数据存放的机制不同,因此无法估计此证书的确切值

18.已知函数说明语句:void *f();则它的含义是: A.函数f的返回值是一个通用型指针

B.函数f的返回值可以是任意的数据类型 C.函数f无返回值

D.指针f指向一个函数,该函数无返回值

19.已知int a[]={1,2,3,4},y,*p=&a[1]; y=(*--p)++;则y的值是

4

搜索更多关于: C语言易错题 的文档
C语言易错题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1yewm7i6lx9lpyv24ez8_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top