选择
1、下列数据中,为字符串常量的是(D)。
A、'A'
B、How do you do.
C、$abc
D、"house"
2、以下所列的C语言常量中,错误的是(B )。
A、0xFF
B、1.2e0.5
C、2L
D、'\72'
3、以下程序的输出结果是(D)。
main()
{float x=3.6;
int i;
i=(int)x;
printf("x=%f,i=%d\n",x,i);
}
A、x=3.600000,i=4
B、x=3 i=3.600000
C、x=3,i=3
D、x=3.600000,i=3
4、若k是整型,则以下程序段的执行结果是:(B )
k=-3;
if(k<=0) printf("####")
else printf("&&&&");
A、####
B、有语法错误,无结果
C、&&&&
D、####&&&&
5、若x=2,y=3则x||y的结果是(C )。
A、3
B、0
C、1
D、2
6、针对下列程序段回答问题(B ).
for(t=1;t<=100;t++)
{
scanf("%d",&x);
if(x<0) continue;
printf("%3d",t);
}
A、x>=0时什么也不输出
B、最多允许输出100个非负整数
C、printf函数永远也不执行
D、当x<0时整个循环结束
7、以下程序的执行结果是( B)。
main()
{ int num = 0;
while( num <= 2 ) { num++; printf( "%d,",num ); } }
A、0,1,2
B、1,2,3,
C、1,2,3,4,
D、1,2,
8、选择正确的输入语句( D)。:(其中:char string[20];)使得string的内容为"I am student".
A、scanf("%s", string);
B、scanf("%c", &string);
C、scanf("%s", &string);
D、gets(string);
9、对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是(B)。
A、将5个初值依次赋给a[6]至a[10]
B、将5个初值依次赋给a[0]至a[4]
C、因为数组长度与初值的个数不相同,所以此语句不正确
D、将5个初值依次赋给a[1]至a[5]
10、以下标识符中可以作为用户函数名的是( D ).
A、struct
B、int
C、union
D、go_to
11、以下叙述错误的是(B).
A、函数调用可以出现在一个表达式中
B、函数调用可以作为一个函数的形参
C、函数调用可以作为一个函数的实参
D、函数允许递归调用
12、若用数组名作为函数的实参,传递给形参的是(B)。
A、数组第一个元素的值
B、数组的首地址
C、数组元素的个数
D、数组中全部元素的值
13、在C语言程序中(B)。
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数调用不可以嵌套
D、函数的定义和函数调用均可以嵌套
14、下列说法中正确的是(B).
A、函数调用不占运行时间,只占编译时间.
B、宏替换不占运行时间,只占编译时间.
C、有参数的宏定义,就是函数.
D、在定义宏时,宏名与带参数的括弧之间可以加空格.
15、若有说明:int *p,m=5,n;以下正确的程序段是(D)。
A、scanf("%d",&n);*p=n;
B、p=&n;scanf("%d",*p)
C、p=&n;scanf("%d",&p);
D、p=&n;scanf("%d",p);
16、对于下述定义,不正确的叙述是(B ).
union data
{int i;
char c;
float f;
}a,b;
A、变量a的地址和它的各成员地址都是相同的
B、可以在定义类型的同时定义变量a,并对a的任意成员初始化
C、变量a所占内存的长度等于成员f的长度
D、如果有定义语句 union data a={6};则对变量a的初始化是正确的
17、有两个整型变量dog和cat,若要从磁盘文件把数据读到其中,正确的形式是(B ).
A、fscanf(dog ,2,1,fp);
B、fscanf(fp,"%d%d",&dog ,&cat);
C、fscanf(dog ,cat,2,1,fp);
D、fscanf(fp,"%d",&dog ,&cat);
18、sizeof(float)是(C)。
A、一个浮点表达式
B、一个不合法的表达式
C、运算结果是一个整型表达式。
D、一种函数调用
19、用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(B ).
(用"[CR]"表示回车,U表示空格)
main()
{int i,k;
scanf("i=%d,k=%d",&i,&k);
}
A、i=10[CR]k=15[CR]
B、i=10,k=15[CR]
C、10U15[CR]
D、10,15[CR]
20、逻辑表达式3<2||-1&&4>3-!0的值为:(A )
A、1
B、3
C、0
D、2
21、语句while(!E);中的表达式!E等价于(D)。
A、E==1
B、E!=0
C、E!=1
D、E==0
22、以下正确的描述是(A ).
A、只能在循环体内和switch语句内使用break语句
B、continue语句的作用是终止整个循环的执行
C、从多层嵌套的外层循环中退出时,只能使用goto语句
D、在循环体内使用break和continue语句的作用相同
23、若有说明 int a[3][4];则a数组元素的非法引用是(B)。
A、a[1][3]
B、a[0][4]
C、a[0][2*1]
D、a[4-2][0]
24、在C语言的函数中,下列正确的说法是(B)。
A、形参可以是常量和变量
B、可以有也可以没有形参
C、数组名不能作形参
D、必须有形参
25、int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。
A、4
B、2
C、不一定
D、3
26、若有以下程序段,则使用错误的选项是(C ).
struct student
{
int num;
int age;
};
struct student stu[3] ={{1001,20},{1002,19},{1004,20}};
main();
{
struct student *p;
p=stu;
…
;
}
A、(*p).num
B、(p++)->num
C、p=&stu.age
D、p++
一、 单项选择(30分)
1. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是(A)。【3】
A、字符A
B、字符a
C、字符e
D字符串常量是用一对单引号括起来的字符序列选择对与错、非法的常量
2. 下列程序段的输出结果为(C)。 【4】
float k=0.8567; printf("%4.1f%%",k*100);
A、85.6%
B、85.6%%
C、85.7%
D、.857
3. 下面的scanf函数输入数据,使得a=10,b=15,s1='S',s2='s',x1=1.5,x2=-3.75,x3=67.8, 正确的键盘输入方法是(A). (用"[CR]"表示回车,U表示空格) 【4】
main()
{int a,b;
float x1,x2,x3;
char s1,s2;
scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&s1,&s2,&x1,&x2,&x3);
}
A、10UUU15Ss1.5U-3.75U+1.5U67.8[CR]
B、10UUU15USUs1.5U-3.75U+1.5U67.8[CR]
C、10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]
D、10UUU15Ss1.5U-3.75U+1.5,67.8[CR]
4. C语言的if语句中,用作判断的表达式为(A)。【5】
A、任意表达式
B、算术表达式
C、逻辑表达式
D、关系表达式
5. 以下程序的输出结果是:(A) 【5】
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论