目录
计算表达式的值
合法数字、标识符、浮点数
判断赋值语句
程序题
数据类型的存储长度
函数
指针
字符串赋值
结构体
1.一个C源程序中至少应包括一个main函数。
2.一个C程序的执行是从本程序的main函数开始,到main函数结束。
3.在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为1;一个int型数据在内存中所占的字节数为2。(int型在16位机是2字节,在32位机上是4字节)
4.C风格的注释(块注释)不可以嵌套。
5.char型变量存放的是()
A:ASCII代码值;
B:字符本身;
C:十进制代码值;
D:十六进制代码值;
正确答案:A
计算表达式的值1. 若有以下定义,int m=5,y=2;则计算表达式y+=y-=m*=y后y的值是-16。
题目解析:在C语言中,赋值运算符级别最低,运算按照从右到左运行规则。
首先,执行m*=y,即m=m*y,m的值为10;
第二步,y=y-m,y值为2-10,即-8;
第三步,y=y+y,-8+(-8),值为-16.
2.若s是int型变量,其值为5,则表达式s%2+(s+1)%2的值为1
题目解析:%是取余,5%2表示5对2取余,=1
3.若s是int型变量,其值为5,则表达式s/2+(s+1)/2的值为5
题目解析:/是除,5/2表示5除以2,=2;2+6/2=2+3=5
4.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为 26
5.若定义了int x;则将x强制转化成双精度类型应该写成(double)x。
6.若x和y都是int 型变量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));则其输出结果是:200
题目解析:(x,y)是一个逗号表达式,其值为y=(x,y)即其取后面那个元素的值,那么这个问题中所输出语句等价于printf(“%d”,y),即其结果应该是200.
7.假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b)的值是( ).
A: 8
B:7
C:5
D: 2
正确答案:A
8.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( ) 。
x=(i=4,j=16,k=32)
A:32
B:4
C:16
D:52
正确答案:A
题目解析:逗号表达式的计算结果是最后一个表达式的值。k=23是括号内最后一个表达式,因此x变量的值来自k变量的值。
9.若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为()
A:3.75;
B:3.5;
C:3;
D:4;
正确答案:B
题目解析:x+z%3/4,数值为:3.5+8%3/4,左结合原则,3.5+2/4-->3.5+0-->3.5
10.若有定义:int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值()
A:2.5;
B:3.5;
C:4.5;
D:5.5;
正确答案:C
题目解析:a+(b/2*(int)(a+c)/2)%4 =>2.5+(7/2*7/2)%4=>2.5+(3*7/2)%4=>2.5+(21/2)%4=>