程序题库
一 填空题,
1,C 语言表达式!( 3<6)||(4<9) 的值是【 1】;
2,假设变量a,b 均为整形,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【 8】;
3,当 a=3,b=2,c=1;时,执行以下程序段后c=【 2】;
If(a>b)
a=b;
If(b>c)
b=c;
Else c=b;
C=a;
4,已知i=5,写出语句i*=i+1; 执行后整形变量i 的值是【 30】;
5,按内存排列顺序,数组char a[2] 中的所有元素是a[1] 和【 a[0] 】
二 判断
1,C 语言中只能逐个引用数组元素而不能一次引用整个数组
2,int i=20;switch(i/10){case 2:printf(“A”);
Y
Case 1:printf( “B”);}的输出结果为A
3,在 C 中, int 定义的整形数据在内存中占2 个字节。
4,假设有int a[10], *p;则 p=&a[0] 与 p=a 等价。
5,共同体变量所占的内存长度等于最长的成员的长度。
三 选择题
1,数组名作为实参数传递给函数时,数组名被处理为(
A 该数组的长度
B 该数组的元素个数
C 该数组的首地址
D 该数组中各元素的值
N
Y
C)
N
Y
2,若调用一个函数,且此函数中没有return 语句,则正确的说法是:该函数(D)
没有返回值
返回若干个系统默认值
能返回一个用户所希望的值
返回一个不确定的值
3,为了表示关系x>=y>=z,应使用的C 语言表达式是(A)
A(x>=y)&&(y>=z)
(x>=y)AND(y>=z)
(x>=y>=z)
(x>=y)&(y>=z)
4,C 语言中要求对变量作强制定义的主要理由是(D)
便于移植
便于写文件
便于编辑预处理程序的处理
便于确定类型和分配空间
5,已定义两个字符数组a,b,则以下正确的输入格式是(A)
A scanf(“%s%s”,a, b)
B get(a, b)
C scanf(“%s%s”,&a, &b)
D gets(“a”), gets(“b”)
6,若给定条件表达式(M)?(a++):(a--), 则其中表达式M (C)
和(M==0) 等价
和 (M==1) 等价
和(M!=0) 等价
和 (M!=1) 等价
7,以下函数类型是(C)
Fff(float x)
{
Return 5;
}
与参数 x 的类型相同
void 类型
int 类型
无法确定
8,以下不正确的if 语句是( B)
A if(x>y && x!=y)
B if(x==y:)x+=y
C if(x!=y )scanf(“%d”, &x ) else scanf(“%d”,&y)
D if(x
{x++, y++}
9,指针变量p 进行自动加算(即
A int
B float
C double
D char
10,在以下给出的表达式中,与
A (! E==0)
B (E>0||E<0)
C (E==0)
D (E!=0)
执行 p++;)后,地址偏移值为2,则其数据类型为(
do--while(E) 语句中的( E)不等价的表达式是(C)
A)
11,下列程序的输出结果是(B)
main ( )
{
Printf ( “%d\n ”,n )
}
0
变量无定义
-1
1
12,以下选型中,与k=n++完全等价的表达式是(A)
A k=n, n=n+1
B n=n+1, k=n
k=++n
k+=n+1
13,以下程序段的输出结果为(D)
char c [ ]=”abc”;
inti=0 ;
do ; while ( c[ i++ ]!= ’\0’) ; printf ( “%d”,i-1 ) ;
abc
ab
2
3
14,下列程序段的输出结果为(B)
float k=0.8567
printf ( “%06.1f%%”,k*100 );
0085.6%%
0085.7%
0085.6%
.857
15,下列选项中正确的语句组是(
A chars[ 8 ]; s={ “Beijing”};
B char*s;s={ “Beijing ”};
C chars[ 8 ] ; s=”Beijing ”;
D char*s ; s=”Beijing ”;
16,已知字符 a 的 ASCII码值是
的值分别为( B)
D)
97,字符
A 的
ASCII码值是
65,则执行下列语句后变量
a 和
b
int
a, b ;
a=1+’a ‘;
b=2+7%4- ‘A ‘;
-63, -64
98, -60
1, -6