2024年4月18日发(作者:20 50元蓝牙耳机推荐)
一、选择题(1-10每题1分,11-30每题1.5分,共40分)
1. 下列选项中,可以作为用户标识符的是(C)
A) void B) 8_8 C) _a_0 D) a*b
在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由
系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(A~Z,a~z)、数
字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。
2. 若有定义:float a=22;int i=0,k=18; 则不符合C语言规定的赋值语句是
(C)
A)k=i++; B)i =(i*k)>=(i-k); C)i=a%11; D)k=!a;
3. 若执行了语句:float x=1008; int a=15; 则表达式(int)(x+y)%7/17的值为
(C)
A) 23 B) 1 C) 0 D) 无法确定
4. 若有定义语句:int a=1;double b=3.14;,则表达式„X‟+a+b的结果的类型是
(C)
A)char B)int C)double D)float
5. 如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为
(B)
A)1.9 B)1 C)2 D)2.4
因为x/y中的/在x、y都是整型时是取整除,就是说取商的整数部分,显然12/8
得1余4,所以得数为1;而z被声明的是整型,它只接收整数而不理会小数部分,
故尽管0.9+x/y=0.9+1=1.9,但把1.9赋给z后,z只接受了1这个整数部分。
6. 以下是if语句的一种形式:
if(表达式) 语句
其中关于“表达式”的说明正确的是:(D)
A) 必须是逻辑表达式 B) 必须是关系表达式
C) 必须是逻辑表达式或关系表达式 D) 可以是任意合法的表达式
7. 若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给
变量a,5赋给变量b的输入数据是(C)
A)3 5 B)3,5 C)3;5 D)35
“%d;%d”
8. 若有定义语句:int k1=10,k2=20;,执行表达式(B)
(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为
A)0和1 B)0和20 C)10和1 D)10和20
1
k1>k2不成立,k1=0;与运算前面部分为假,程序直接执行下一语句,因此k2=k2>k1没有被运
行,k2依然等于20,所以输出k1=0,k2=20.
追问也就是说,在逻辑和运算符中,当第一个(左边)的值为0时,第二个(右边)的运算就不
再执行?可以这样理解吗?回答是的。同理逻辑或运算第一个为真是就不执行后面的表达式,直
接到下一语句
9. 下列语句中正确的是:(A)
A) char str[10]; str = “Hello”; B) char *str; str = “Hello”;
C) char str[10]; str = {“Hello”}; D) char *str; str = {“Hello”};
10. 设有定义 int a[10], *p=a; 以下能够代表数组元素a[4]的是:(B)
A) a+4 B) *(p+4) C) *a+4 D) *p + 4
11. 有以下程序
#include
int main()
{
int a=1,b=0;
if(--a)表示当a自减1后为零,即为假,则不继续执行
b++;
else if(a==0)
b+=2;
else
b+=3;
printf(“%dn”,b);
return 0;
}
程序运行后的输出结果是 (C)
A)0 B)1 C)2 D)3
12. 下列条件语句中输出结果与其他语句不同的是A
A)if(a) printf(“%dn”,x); else printf(“%dn”,y);
B)if(a==0) printf(“%dn”,y); else printf(“%dn”,x);
C)if(a!=0) printf(“%dn”,x); else printf(“%dn”,y);
D)if(a==0) printf(“%dn”,x); else printf(“%dn”,y);
13. 有以下程序:
#include
void main()
{ int a=7;
2
发布者:admin,转转请注明出处:http://www.yc00.com/num/1713447608a2250829.html
评论列表(0条)