【无标题】

题目:1.设有说明:char w; int x; double y; 则表达式w*x-y 值的数据类型为( )。 (智洋)
A. float    B. char     C. int     D. double
答案: D
分析:一个运算中,数据类型自动转换为最高的类型,此题double为最高的数据类型

题目:2.若有以下类型说明:(    ) (北京凝思软件)    char w;     int x;     float y, z;  则表达式w*x+z-y的结果为____类型。

A.float         B.char          C.int            D.double

答案:A

分析:float为最高数据类型

题目:3.假定下列 x 和 y 均为 int 型变量,则不正确的赋值为( );(晟安信息)

A. x+=y++ B. ++x=++y

C. x=++y D. x++=y++

答案:ABCD

分析:想了半天,知识点说不能赋值变量,估计不是这样吧~

题目:4.以下程序运行后输出的结果是______。(电工时代)

#include <stdio.h>

int main()

{

int k = 011;

printf("%d\n", k++);

    return 0;

}

答案:012

分析:011为八进制数字,k++后变为012

题目:5.请正确填写输出结果。(恩易物联2)

int main()

{

    int a = 15;

    int b = 20;

    int c;

    a && b = ? (1)

    a & b = ? (2)

    a || b ? (3)

    a | b = ? (4)

    a >> 2 = ? (5)

}

答案: (1)___4___(2)_0000_0100__(3)___31___(4)__0001_1111__(5)__0000_0011_

分析:1. a = 0000 1111

             b = 0001 0100

    a && b = 0000 0100 = 4

2. a & b = 0000 0100

3. a || b = 0001 1111 = 31

4. a | b = 0001 1111

5. a >> 2 = 0000 0011

题目:6.为了表示“a和b都不等于0”应使用( )。(山东丁一)

A. (a!=0) || (b!=0) B. allb

C. !((a==0)&&(b==0)) D. a&&b

答案:C

分析:!&& = ||     C中a和b只要有0就行,加上!就是a和b有0就不行

题目:7.设 a=3,b=4,c=4,则表达式 a+b>c&&b==c&&allb+c&&b==c 的值为(    )。(易购软件)

答案:0

分析:7>4&&4==4&&3||4+4&&4==4

4 = 0000 0100; 4&&4 = 4

3 = 0000 0011; 4&&3 = 0; 0||4 = 4

原式为:7>4==4+4==4 不成立,输出0

题目:8.已知 a = 13, a << 2的十进制数值为 (    )。(易购软件)

答案:52

分析:a = 13 = 0000 1101, a<<2 = 0011 0100 = 52

题目:9.int x = 2, y = 3, z = 4; 则表达式 x + (y > !z)的值为( )。(易购软件)

答案:2

分析:int为四位, z = 0100, !z = 1011 = 11 > y, 故y > !z输出0,x + 0 = 2

题目:10.能正确表示a和b同时为正或同时为负的逻辑表达式是:( ) (宇视科技,紫光云数,新华三,石峰)

A. (a >= 0 ll b >= 0) && (a < 0 ll b < 0)

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

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

D. a * b > 0

答案: D

分析:a和b若不同符号,乘积小于0

问题:11.int a=1, b=2, c=3, d=4, m=2, n=2; 执行 (m=a>b) && (n=c>d) 后,n=________(杭州快越科技)

答案:0

分析:c>d输出0,覆盖了原先的n=2

问题:12.语句 printf("%d \n", 12 & 012); 的输出结果是:( ) (紫光云数,新华三,石峰)

A. 12 B. 8 C. 6 D. 012

答案:B

分析:12 = 0000 1100

        012 = 0000 1010

12 & 012 = 0000 1000 = 8 

问题:13.有如下代码char cTwoLength = 153;那么 print("\r\n %d", cTwoLength >> 4)打印的值为 ________ (紫光云数)

提示:char是有符号字符型,取值范围[-128 , +127],153属于最大值越界,结果是-103,然后对-103进行右移4位的计算输出。右移规则:

- 对于无符号整数,左侧补0。

- 对于有符号整数,如果原数是正数,则在左侧补0;如果原数是负数,则在左侧补1。

提示到这里,你试试计算一下吧,一定要理解清楚原理啊

答案:14

分析:脑袋里的分析,已经跟上面的提示一样了~

153 = 1001 1001 ;取出时补码为 -001 1001,反码为 -001 1000 原码为 -110 0111 = -103

1110 0111 >>4 = 0000 1110 = 14

问题:14.以下所列的C语言常量中,错误的是: (华三外协,紫光云数,新华三,石峰)

A.0.1f   B. 1.0e0.1

C. 'z' D. '\110'

答案:B

分析:e后的指数为整数

问题:15.sizeof(float)是( )。(山东丁一)

A. 一个双精度型表法式 B. 一个整型表达式

C. 一个函数调用        D. 一个不合法的表达式

答案:B

分析:~

问题:16.一个32位的机器,一个 char 代表的范围是?一个 int 代表的范围是?(广域科技)

答案:一个char代表【-128,127】,一个int代表【-2^31,2^31-1】

分析:这些都没超32位

问题:17.下面的代码输出是什么,为什么? (信雅达)

void foo(void)

{

    unsigned int a = 6;

    int b = -20;

    (a+b > 6) ? puts(">6") : puts("<=6");

}

答案:>6

分析:默认有符号int转无符号

    a = 6 = 0000 0110

b = -20 = 1001 0100

a+b = 1001 1010 = 154 > 6

问题:18.按位或运算符(|) (深圳元征信息科技)  0x10 | 0x01 = ? 十六进制的结果是多少?

答案: 0x11

问题:19.按位与运算符(&) (深圳元征信息科技)  0x10 & 0x01 = ? 十六进制的结果是多少?

答案: 0x00

问题:20.关于条件的书写

判断year是不是闰年

if((year%4==0 & year%100!=0) || (year%400==0))

四年一闰,百年不闰,四百年再润

判断num是偶数

if(num%2==0)

判断num是一个三位数

if(num%100!=0)

判断字符ch是大写字母

if((ch>=65) && (ch<=90)

判断字符ch是偶数数字字符

if(ch>=50 && ch<=56 && ch%2==0)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值