选择题
1.下列字符序列中,不可用作C语言标识符的是( )。
A.abc123 B. C._123_ D._ok
2.请选出可用作C语言用户标识符的一组标识符( )。
A.void B.a3_b3 C.For D.2a
define _123 -abc DO
WORD IF Case sizeof
3.不属于C语言关键字的是( )。
A.int B.break C.while D.character
4.以下不能定义为用户标示符的是( )。
A.scanf B.Void C._3com_ D.int
5.C语言程序的基本单位是( )。
A.程序行 B.语句 C.函数 D.字符
6.以下说法中正确的是( switch case判断字符串)。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main( )函数中定义
C.C语言程序总是从main( )函数开始执行
D.C语言程序中的main( )函数必须放在程序的开始部分
7.以下选项中,合法的用户标识符是( )。
A.long B._2abc C.3dmax D.
8.已知大写字母A的ASCII码值是65, 小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是( )。
A.字符A B.字符a C.字符c D.非法的常量
9.以下选项中,正确的字符常量是( )。
A.”F” B.’\\’’ C.’W’ D.’’
10.下列变量定义中合法的是
A.short _a=; B.double b=1+;
C.long do=0xfdaL; D.float 2_and=1-e-3;
11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
12.下列运算符中优先级最高的是()。
A.< B.&& C.+ D.!=
13.判断char型变量s是否为小写字母的正确表达式是()。
A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’)
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)
14.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。
A.0 B.语法错
C.1 D.“假”
15.有一函数: ,以下程序段中不能根据x值正确计算出y值的是()。
A.if (x>0) y=1;
else if (x==0) y=0;
else y= -1;
B.y=0;
if (x>0) y=1;
else if (x<0) y= -1;
C.y=0;
if (x>=0)
if(x>0) y=1;
else y= -1;
D.if (x>=0)
if (x>0) y=1;
else y=0;
else y= -1;
16.已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是()。
if(a>b)
c=a; a=b; b=c;
A.a=1, b=2, c=3 B.a=2, b=3, c=3
C.a=2, b=3, c=1 D.a=2, b=3, c=2
17.以下程序的运行结果是()。
#include ””
main()
{ int a=1;
if (a++>1) printf(”%d\n”, a);
else printf(”%d\n”, a--);
}
A.0 B.1 C.2 D.3
18.执行以下程序段后,变量x,y,z的值分别为()。
int a=1,b=0, x, y, z;
x=(--a==b++)?--a:++b;
y=a++;
z=b;
A.x=0,y=0,z=0 B.x= -1,y= -1,z= 1
C.x=0,y=1,z=0 D.x= -1,y= 2, z= 1
19.以下程序的输出结果是()。
#include ””
main()
{
int a=5, b=4, c=6, d;
printf(”%d\n”, d=a>b? a>c?a:c :b);
}
A.5 B.4 C.6 D.不确定
20.执行下列程序,输入为3的数出结果是()。
#include ””
main()
{
int k;
scanf(”%d”, &k);
switch(k)
{ case 1: printf(”%d\n”, k++);
case 2: printf(”%d\n”, k++);
case 3: printf(”%d\n”, k++);
case 4: printf(”%d\n”, k++);
break;
default: printf(”Full!\n”);
}
}
A.3 B.4 C.3 D.4
5 4
21.有如下程序,写出该执行结果()。
#include ””
main()
{
float x=, y;
if (x< y=;
else if (x< y=x;
else y=;
printf(”%f\n”,y);
}
A. B. C. D.
22.运行以下程序后,如从键盘上输入china#,则输出为()。
#include ””
main()
{
int v1=0,v2=0;
char ch;
while ( (ch=getchar()) != ’# ’)
switch (ch)
{ case ’a’:
case ’h’:
default: v1++;
case ’o’: v2++;
}
printf(”%d,%d\n”, v1,v2);
}
A.2,0 B.5,0 C.5,5 D.2,5
23.有以下程序,程序运行后的输出结果是()。
#include ””
main()
{
int a=15, b=21, m=0;
switch (a%3)
{ case 0: m++; break;
case 1: m++;
switch (b%2)
{ default: m++;
case 0: m++; break;
}
}
printf(”%d\n”,m);
}
A.1 B.2 C.3 D.4
24.在下列选项中,没有构成死循环的程序段是( )。
i=100;
while (1)
{
i=i%100+1;
if(i>100) break;
}
B. for ( ; ;);
k=1000;
do {++k;}while (k>=10000);
s=36;
while (s) ;
--s;
25.下面程序的运行结果为( )。
main()
{ int n;
for(n=1;n<=10;n++)
{ if(n%3==0)continue;
printf("%d",n);
}
}
26.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是( )。
A.(!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0)
27.下列程序的输出是( )。
#include<>
main()
{ int i;char c;
for(i=0;i<=5;i++)
{c=getchar();putchar(c);
}
}
程序执行时从第一列开始输入以下数据,<CR>代表换行符。
u<CR>
w<CR>
xsta<CR>
w w w
x xs xsta
28.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为( )。
D.非0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论