选择
1、下列数据中,为字符串常量的是(D)。
A'A'
BHow do you do.
C$abc
D"house"
2、以下所列的C语言常量中,错误的是(B )
A0xFF
B1.2e0.5
C2L
D'\72'
3、以下程序的输出结果是(D)。
main()
{float x=3.6;
  int  i;
i=(int)x;
  printf("x=%f,i=%d\n",x,i);
}
Ax=3.600000,i=4
Bx=3 i=3.600000
Cx=3,i=3
Dx=3.600000,i=3
4、若k是整型,则以下程序段的执行结果是:(B )
k=-3;
  if(k<=0) printf("####")
  else printf("&&&&");
A####
B、有语法错误,无结果
C&&&&
D####&&&&
5、若x=2,y=3x||y的结果是(C )
A3
B0
C1
D2
6、针对下列程序段回答问题(B ).
for(t=1;t<=100;t++)
{
    scanf("%d",&x);
    if(x<0) continue;
    printf("%3d",t);
}
Ax>=0时什么也不输出
B、最多允许输出100个非负整数
Cprintf函数永远也不执行
D、当x<0时整个循环结束
7、以下程序的执行结果是( B)
  main()
  {  int  num = 0;
    while( num <= 2 ) {  num++;  printf( "%d,",num ); }  }
A0,1,2
B1,2,3,
C1,2,3,4,
D1,2,
8、选择正确的输入语句( D):(其中:char string[20];)使得string的内容为"I am student".
Ascanf("%s", string);
Bscanf("%c", &string);
Cscanf("%s", &string);
Dgets(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 .
Astruct
Bint
Cunion
Dgo_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)。
Ascanf("%d",&n);*p=n;
Bp=&n;scanf("%d",*p)
Cp=&n;scanf("%d",&p);
Dp=&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、有两个整型变量dogcat,若要从磁盘文件把数据读到其中,正确的形式是(B ).
Afscanf(dog ,2,1,fp);
Bfscanf(fp,"%d%d",&dog ,&cat);
Cfscanf(dog ,cat,2,1,fp);
Dfscanf(fp,"%d",&dog ,&cat);
18sizeof(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);
}
Ai=10[CR]k=15[CR]
Bi=10,k=15[CR]
C10U15[CR]
D10,15[CR]
20逻辑表达式3<2||-1&&4>3-!0的值为:(A )
A1
B3
C0
D2
21、语句while(!E);中的表达式!E等价于(D)。
AE==1
BE!=0
CE!=1
DE==0
22、以下正确的描述是(A ).
A、只能在循环体内和switch语句内使用break语句
Bcontinue语句的作用是终止整个循环的执行
C、从多层嵌套的外层循环中退出时,只能使用goto语句
D、在循环体内使用breakcontinue语句的作用相同
23若有说明 int a[3][4];a数组元素的非法引用是(B)。
Aa[1][3]
Ba[0][4]
Ca[0][2*1]
Da[4-2][0]
24、在C语言的函数中,下列正确的说法是(B)。
A、形参可以是常量和变量
B、可以有也可以没有形参
C、数组名不能作形参
D、必须有形参
25int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。
A4
B2
C、不一定
D3
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
Cp=&stu.age
Dp++
一、 单项选择(30分)
1. 已知大写字母AASCII码值是65,小写字母aASCII码是97,则用八进制表示的字符常量'\101'是(A)。【3】
A、字符A
B、字符a
C、字符e
D字符串常量是用一对单引号括起来的字符序列选择对与错、非法的常量
2. 下列程序段的输出结果为(C)。 【4】
float k=0.8567; printf("%4.1f%%",k*100);
A85.6%
B85.6%%
C85.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);
}
A10UUU15Ss1.5U-3.75U+1.5U67.8[CR]
B10UUU15USUs1.5U-3.75U+1.5U67.8[CR]
C10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]
D10UUU15Ss1.5U-3.75U+1.5,67.8[CR]
4. C语言的if语句中,用作判断的表达式为(A)【5】
A、任意表达式
B、算术表达式
C、逻辑表达式
D、关系表达式
5. 以下程序的输出结果是:(A) 【5】

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。