:20春学期《高级语言程序设计基础X》在线平时作业2
1.设x,y是float型变量,则不正确的赋值语句是( )。
A.++x;
B.y=int(5);
C.x*=y+1;
D.x=y=0;
答案:-
2.若执行下述程序时从键盘输入3 4,则输出结果是( )。#include main( ) { int a,b,s; scanf("%d%d",&a,&b); s=a; if (ab) printf("%d\n",s*s); s=b; }
A.186
B.256
C.324
D.400
答案:-
3.已知ch是字符型变量,则不正确的赋值语句是( )。
A.ch=5+9;
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';
答案:-
4.以下有关宏替换的叙述不正确的是( )。
A.宏名不具有类型
B.宏名必须用大写字母表示
C.宏替换只是字符替换
D.宏替换不占用运行时间
答案:-
5.若有以下语句,则对x数组元素引用不正确的是( )。
int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
A.*(--ptr)
B.*(ptr--)
C.*(ptr++)
D.*(++ptr)
答案:-
6.下面程序( )。(每行程序前的数字为行号) 1 main{} 2 { 3 float a[10]={0.0}; 4 int i; 5 for(i=0;i3;i++) scanf(%d",&a[i]); 6 for(i=1;i10;i++) a[0]=a[0]+a[i]; 7 printf("%f\n",a[0]); 8 }
A.没有错误
B.第3行有错误
C.第5行有错误
D.第7行有错误
答案:-
7.以下程序段的执行结果是( )。int x=-3;do{ printf("%d\n", x++); }while(!x);
A.-3
B.-2
C.-1
D.陷入死循环
答案:-
8.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.由用户指定传递方式
答案:-
9.判断字符串a和b是否相等,应当使用( )。
A.if(a==b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(strcmp(a,b))"
答案:-
10.以下对指针变量的操作中,不正确的是( )。
A.int p, *q; q=&p;
B.int *p, *q; q=p=NULL;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;"
答案:-
11.下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
A.空格
B.\0
C.e
D.f
答案:-
12.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是( )。
A.float
B.int
C.long
D.double
答案:-
13.有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
A.运行后将输出China
B.运行后将输出Ch
C.运行后将输出Chi
D.编译时出错
答案:-
14.若有说明:int a[3][4];则数组a中各元素( )。
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
答案:-
15.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A.scanf("c1=%cc2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"
答案:-
16.下面对typedef的叙述中不正确的是( )。
A.用typedef不能定义变量名
B.用typedef可以定义新的数据类型
C.用typedef只是将已存在的类型用一个新的标识符来代表
D.使用typedef有利于程序的通用和移植
答案:-
17.定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k3;k++) printf("%d",a[k][2-k]);
A.3 5 7
B.3 6 9
C.1 5 9
D.1 4 7
答案:-
18.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
G.选项内容11
答案:-
19.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.1
C.NULL
D.EOF
答案:-
20.执行以下程序段后,y的值是( )。
int a[ ]={1, 3, 5, 7, 9}
int x=0, y=1, *ptr;
ptr=&a[1];
while (!x) { y+=*(ptr+x); x++; }
A.1
B.2
C.4
D.24
答案:-
21.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
答案:-
22.系统的标准输入文件是指( )。
A.键盘
B.显示器
C.软盘
D.硬盘
答案:-
23.以下能对一维数组a进行正确初始化的语句是( )。
A.int a[10]=(0,0,0,0,0);
B.int a[10]={ };
C.int a[]={0};
D.int a[10]=(10*1);
答案:-
24.C语言中字符型(char)数据在内存中的存储形式是( )。
A.原码
B.补码
C.反码
D.ASCII码
答案:-
25.若a为int类型变量,则执行以下程序段后a的值为( )。
a=5;a*=a/=a++;
A.2
B.1
C.40
D.3
答案:-