《C语言》课程在线作业3
1.[单选题] 下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空()
#include
main()
{1ong int num;
scanf(“%ld”,&num);
do { if( 【 】) printf(“%ld”,num);
scanf(“%ld”,&num);
}while(!num==0);}
A.num%100/10==3
B.num/100%10==3
C.num%10/10==3
D.num/10%10==3
答:——B——
2.[单选题] “文件包含”预处理语句的使用形式中,当#include后面的文件名用” “,(双引号)括起时,寻找被包含文件的方式是( )
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
答:——B——
3.[单选题] 如果int a=0x3; int b=0x2; 执行运算: a<<=b; 则x的结果是
A.0
B.1
C.11
D.48
答:——C——
4.[单选题] 若有如下语句:
int x=3;
do { printf(” %d\n”,x -=2);} while(!(–x));
则上面程序段( )
A.输出的是 1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
答:————
5.[单选题] 若运行以下程序时,从键盘输入ADescriptor(CR表示回车),则下面程序的运行结果是( )
#include
main()
{ char c; int v0=0, v1=0, v2=0;
do
{ switch(c=getchar())
{case ‘a’:
case ‘A’:
case ‘e’:
case ‘ E’ :
case ‘i’:
case ‘I’ :
case ‘o’:
case ‘O’:
case ‘u’:
case ‘U’: vl+=1;
de
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=12,vl=4,v2=12
答:————
6.[单选题] 以下程序的正确运行结果是( )
#include
int func(int a,int b);
main( )
{ int k=4,m=1,p;
p=fun(k,m);printf(“%d,”,p);
p=fun(k,m);printf(“%d\n”,p);
}
func(int a,int b)
{static int m=0,i=2;
i+=m+1;
m=i+a+b;
return m;
}
A.8,17
B.8,16
C.8,20
D.8,8
答:————
7.[单选题] 若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为( )
A.*(a[i]+j)
B.(a+i)
C.*(a+j)
D.a[i]+j
答:————
8.[单选题] C语言对嵌套 if 语句的规定是:else总是与( )配对。
A.其之前最近的 if
B.第一个 if
C.缩进位置相同的奥鹏电子科技答案q599792222 或请进 opzy.net if
D.其之前最近且不带 else 的 if
答:————
9.[单选题] 下列运算符中优先级最低的是( )
A.?:
B.&&
C.+
D.!=
答:————
10.[单选题] 有以下程序段:int x=0,s=0;
while (!x!= 0) s+=++x;
printf(“%d”,s); 则
有以下程序段( )
A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次
答:————
11.[单选题] 在访问一个结构元素前你必须定义( )
A.结构体
B.结构体变量
C.定义结构指针
D.A和B
答:————
12.[单选题] 语句while(!E)中的表达式!E等价于( )
A.E==0
B.E!=1
C.E!=0
D.E==1
答:————
13.[单选题] 下关于运算符优先顺序的描述中正确的是( )
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B.逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
答:————
14.[单选题] 对于 for(表达式1;表达式2 ;表达式3) 语句的正确描述
A.表达式2省略,循环不执行。
B.表达式3省略,可在循环体中修改循环控制变量,以保证正常退出。
C.三个表达式均不能省略。
D.三个表达式均不能省略。但分号可以省略。
答:————
15.[单选题] putchar函数可以向终端输出一个( )
A.整型变量表达式值
B.实型变量值
C.字符串
D.字符或字符型变量值
答:————
16.[单选题] 以下程序的输出结果是( )
main()
{int a=100,x =10,y=20,okl=5,ok2=0;
if (x if(y ! =10)
if(!okl) a=1;
else
if(ok2) a=10;
a=-1;
printf(“%d\n”,a );}
A.1
B.0
C.-1
D.值不确定
答:————
17.[单选题] 设有语句int a[4][10],*p=*a;则下面表达式中属于地址表达式的是( )
A.a[1][2]
B.a[1]
C.*(p+1*10+2)
D.*(a[1]+2)
答:————
18.[单选题] 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序
#include
void f(char *p[],int n)
{ char *t; int i,j;
for(i=0; i0){t = p[i];p[i]=p[j];p[j] =t;}
}
main( )
{
char *p[5] ={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”}
A.2
B.3
C.6
D.4
答:————
19.[单选题] 假设调用函数有以下定义和函数f调用,则函数f中对形参数组错误定义的是( )
char c[5]={‘a’,’b’,’\0’,’c’,’\0’};
printf(“%s”,c);
A.f(int array[][6])
B.f(int array[3][])
C.f(int array[][4])
D.f(int array[2][5])
答:————
20.[单选题] C语言中( )存储类型的变量只在使用时分配空间
A.static 和auto
B.register和 extern
C.register和 static
D.auto 和register
答:————