1.能正确表示a和b同时为正或同时为负的逻辑表达式是( D  )。

A.(a>=0||b>=0)&&(a<0||b<0)             B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)                       D.a*b>0

解析:0是非正非负数


2.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式( D )。

A.只能用逻辑表达式                        B.只能用逻辑表达式或关系表达式

C.只能用关系表达式                        D.可用任意表达式


3.有如下程序段

float x=2.0,y;

if(x<0.0) y=0.0;

else if(x<5.0)y=1.0/x;

else y=1.0;

printf("%f\n",y);

该程序段的输出结果是( C  )。

A.0.000000                                         B.0.250000

C.0.500000                                         D.1.000000

解释:y是float类型,且除数是浮点数形式


4.求解以下值:

  (1)0&&1||0  (2)0&&1||1  (3)1&&0||0&&1||1  (4)1||1&&0

解释(1):等价于((0&&1)||0)==》0||0==》0

解释(2):等价于((0&&1)||1)==》0||1==》1

解释(3):等价于((((1&&0)||0)&&1)||1)==》(((0||0)&&1)||1)==》((0&&1)||1)==》(0||1)==》1

解释(4):等价于(1||(1&&0))==》(1||0)==》1

总结:&&优先级大于||;&&于||结合性为做到右


6.若int k, m = 1; 则 k = -m--;语句后,k的值为多少?

解析:优先级相同时,由结合性判断。负号与自减优先级相同,且它们的结合性为右到左,因此k = -m-- 等价于k = -(m--),由于自减在变量右侧,因此得到 k = -m = -1


7.若函数的形参为一维数组,则形参数组可以不指定大小。

8.在函数的说明和定义时若没有指出函数的类型,则系统自动地认为函数的类型为整型。

9.函数可以返回一个值,也可以什么值也不返回。

10.若调用一个函数,且此函数中没有 return 语句,则该函数返回一个不确定的值。

11.若使用一维数组名作函数参数,则在被调函数中,不需要考虑形参数组的大小。

12.在 C 语言中,形参的缺省存储类是auto

13.C 语言中,函数的隐含存储类别是extern

14.若有定义语句:char s[10]="1234567\0\0";,则 strlen(s)的值是

15.以下关于 return 语句的叙述中正确的是:C

A.一个自定义函数中必须有一条 return 语句
      B. 一个自定义函数中可以根据不同情况设置多条 return 语句
      C. 定义成 void类型的函数中可以有带返回值的 return 语句
      D.没有 return 语句的自定义函数在执行结束时不能返回到调用处
16.在宏定义#define PI 3.14159 中,用宏名 PI 代替一个字符串

  解析:对宏的具体定义是: #define 标识符 字符串

     宏替换只是字符替换。

17.C 语言字符数组可以存放字符串。

18.若函数有返回值,必须通过 return 语句返回。

19.C 语言中唯一一个不能被别的函数调用的函数是main函数。

20.在 C语言中,一个函数一般由两个部分组成【函数首部】、【函数体】

21.C语言中,关键字及编译预处理命令用小写字母书写。

22.由float x=3e-6,y=3e-6;不能得到x==y的逻辑值为真。

23.仅仅对存放字符串的数组才可以一次引用整个数组,其余均不能一次引用整个数组。

24.对于数值型的数组来说,不可以一次引用整个数组。

25.C语言中,函数间数据传递的方式有三种,即用返回值、参数、全局变量。

26.将整数值赋给枚举变量时需要作强制类型转换。

  解析:

            enum season {spring,summer,autumn,winter}s1,s2;
            s1=summer;
            s2=(enum season)2;
            printf("s1=%d,s2=%d\n",s1,s2);

27.枚举类型不是一种基本的数据类型

  解析:C语言数据类型分类:

  • 基本类型

    • 标准整数类型,以及扩充的整数类型
    • 实数浮点类型,以及复数浮点类型
  • 枚举类型
  • void类型
  • 派生类型
    • 指针类型
    • 数组类型
    • 结构类型
  • 联合类型
  • 函数类型

28.自增自减:(有争议题)

  int a = 99;

  //(a++)--;  //报错

  //++(a--);  //报错

  //--a--;    //报错

  //++a--;    //报错

(++a)--;  

  --(++b);

  --++b;

29.fclose()用来关闭先前fopen()打开的文件,如果成功关闭,fclose()函数返回0,否则返回EOF。

30.表达式 c=fgetc(fp)!=EOF的功能是从fp指向的文件中读取字符,并判断文件是否结束。

31.在c语言中将文件视为无结构的字节流。

32.字符常量的长度肯定为1。

33.解释double x;x=218.82631;printf("%-6.2e\n",x);的输出格式

  解析:

    6-->代表域宽,共6位,负号、小数点、0都占一位宽(可见的都占一位)

    .2-->代表小数点后位数

    e-->代表用e表示法(按科学计数法显示)

    -代表向左对齐

  精华:%-m.nf(小数精度输出只能用于printf,不能用于scanf)

    -代表向左对齐,无负号则代表向右边对齐(前面补空格)

    .n-->代表小数点后位数

    m-->先判断m与小数位的大小,m起码要大于(1+1+n+1+1+d)才能起到作用,其中d取决于编译器。其作用不是截断输出

    e-->代表用e表示法(按科学计数法显示)

34.枚举类型声明/定义及使用:

  enum 枚举类型 {枚举值列表};  //定义 

    正确:enum week {Su, Mo, Tu, We, Th, Fr, Sa};

    错误:enum week={Su, Mo, Tu, We, Th, Fr, Sa};

      错误:enum week {“Su”, “Mo”, “Tu”, We, Th, Fr, Sa};

  //使用:

   enum week  a,b,c;  

  a = We;

  b = Fr;

  printf("%d",a);


35.以下数值中,不正确的八进制数或十六进制数是(C).

  A:0x16

  B:16

  C:-16

  D:0xaaaa

解析:八进制和十六进制数前面是不可带负号(原始数值是十进制,以10进制为运算基准)

  因为十进制数是负数时,如-16、-99其二进制负号位为1 ,则将二进制转换为八进制或十六进制时负号位参与数值运算,因此算出的八进制或十六进制不含负号位。

  (注:一般来说,负号是人为规定地加在十进制数上,其他进制无负号概念,因为负号在二进制最前位体现,且参与进制转换)


36.以下只有在使用时才为该类型变量分配内存的存储类说明是(B)。

  A:auto 和 static

  B:auto 和 register

  C:register 和 static

  D:extern 和 register

解析:在用静态static与外部extern定义变量时,系统立刻给其分配内存,而定义自动类auto与强制放入寄存器register类型变量时,只有当使用时才分配内存。

37.下列表达式中,可作为C 合法表达式的是(B)。

  A:[3,2,1,0]

  B:(3,2,1,0)

  C:3=2=1=0

  D:3/2/1/0

解析:

  (3,2,1,0)是逗号表达式

  3/2/1/0 将提示:被零除或对零求模


38.

C语言常见易错题集(分析及解答)(仅可用于交流,勿用于商业用途)的更多相关文章

  1. C++笔试易错题集(持续更新)

    1.如下代码输出结果是什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include<stdio.h> char *myString() {     ...

  2. C语言:易错题

    1. int x=y=z=0;//实际只声明了变量x,而变量y,z并没有声明.可以修改为:int x=0,y=0,z=0; 或int x,y,z; x=y=z=0; 2.int z=(x+y)++;/ ...

  3. 【笔试题】Java 易错题精选

    笔试题 Java 易错题精选 1.写出下列程序的运行结果( )String 不变性Java 值传递 public class Test { public static void main(String ...

  4. Bug是一种财富-------研发同学的错题集、测试同学的遗漏用例集

    此文已由作者王晓明授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 各位看官,可能看到标题的你一定认为这是一篇涉嫌"炒作"的文章,亦或是为了吸引眼球而起的标 ...

  5. js常见易错点

    原文:http://www.jianshu.com/p/1c77853d4f01 前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函 ...

  6. Java五道输出易错题解析(避免小错误)

    收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...

  7. C/C++程序员面试易错题

    c部分::::::::::::::::::::::::::::::::::: . 关键字volatile有什么含意? 并给出三个不同的例 子. [参考答案]一个定义为volatile的变量是说这变量可 ...

  8. Java五道输出易错题解析(进来挑战下)

    转自:http://blog.csdn.net/lanxuezaipiao/article/details/41985243 收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注 ...

  9. 杭电OJ2039——三角形(c++)(易错题:数据类型不确定)

    三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

随机推荐

  1. analysed of J-SON/XML processing model Extend to java design model (J-SON/XML处理模型分析 扩展到Java设计模型 )

    一.JSON和XML 1.JSON JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.可在不同平台之间进行数据交换.JSON ...

  2. ES6常用语法(上)

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应 ...

  3. Bootstrap3基础 引入本地的bootstrap

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  4. visual studio code——运行python

    How to run Python in Visual Studio Code Getting Started with Python in VS Code python教程 vs code 安装py ...

  5. Ubuntu: 安装自带的中文输入法

    1. 在终端安装输入法软件包 在终端输入 sudo apt-get install ibus-pinyin 2. 启用输入法 打开设置 找到Region&Language 找到Input So ...

  6. c#格林治时间实现

    C#时间戳的简单实现   Introduction: 在项目开发中,我们都经常会用到时间戳来进行时间的存储和传递,最常用的Unix时间戳(TimeStamp)是指格林尼治时间1970年1月1日0时(北 ...

  7. [bzoj P2726] [SDOI2012]任务安排

    [bzoj P2726] [SDOI2012]任务安排 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1204 Solved: 349[Submit] ...

  8. vbs中对excel的常用操作

    使用QTP自动化测试中,用到对excel的读写操作,这里把一些常用对excel操作的方法进行了归纳,总结.(对excel格式设置的常用操作这里没有进行总结.) Function DataToExcel ...

  9. kafka producer batch 发送消息

    1. 使用 KafkaProducer 发送消息,是按 batch 发送的,producer 首先把消息放入 ProducerBatch 中: org.apache.kafka.clients.pro ...

  10. docker 镜像运行问题