20秋《C语言》在线作业3题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空() #include<stdio. h> 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
2.”文件包含”预处理语句的使用形式中,当#include后面的文件名用” “,(双引号)括起时,寻找被包含文件的方式是( )
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
3.如果int a=0x3; int b=0x2; 执行运算: a<<=b; 则x的结果是
A.0
B.1
C.11
D.48
4.若有如下语句: int x=3; do { printf(” %d\n”,x -=2);} while(!(–x)); 则上面程序段( )
A.输出的是 1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
5.若运行以下程序时,从键盘输入ADescriptor<CR>(CR表示回车),则下面程序的运行结果是( ) #include<stdio. h> 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.缩进位置相同的 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<y) 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<string.h> void f(char *p[],int n) { char *t; int i,j; for(i=0; i<n-1; i++) for(j=i+1;j<n; j++) if(strcmp(p[i],p[j])>0){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
转载请注明:奥鹏作业之家 » 电科20秋《C语言》在线作业3【标准答案】