C语言程序设计(专)-作业二
1.[单选题] 若已定义 int arr[10]; 则不能正确引用arr数组元素的是( )。
A.arr[0]
B.arr[1]
C.arr[10-1]
D.arr[7+3]
正确答案:——D——
2.[单选题] 以下程序段的运行结果是( )。 int a[]={1,2,3,4},i,j; j=1; for(i=3;i>=0;i--) { a[i]=a[i]*j; j=j*3; } for(i=0;i<4;i++) printf("%d ",a[i]);
A.3 6 9 12
B.18 12 9 4
C.27 18 9 4
D.54 18 9 4
正确答案:——C——
3.[单选题] 下面关于C语言变量的叙述中,错误的是( )。
A.可以用define关键字定义变量
B.变量名用大小写字母是有区别的
C.C语言允许不同基本类型的变量之间进行混合运算
D.C语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间
正确答案:——A——
4.[单选题] 设有结构体的定义如下: struct data{ int n; char c; float f; }; 则sizeof (struct data)的值是( )
A.1
B.3
C.7
D.11
正确答案:————
5.[单选题] 若有定义: int i,x=0; 语句for(i=1;i<=3;i++) x+=2;与下列( )程序段不等价。
A.i=1;for( ;i<=3;i++) x+=2;
B.i=1;for( ; ;i++) x+=2;
C.for(i=1;i<=3; ) {x+=2; i++;}
D.i=1;for( ;i<=3; ) {x+=2; i++; }
正确答案:————
6.[单选题]
A.6
B.0
C.1
D.5
正确答案:————
7.[单选题] 若有以下定义: struct node { int data; struct node *next; } *p,*q; 已建立如下图所示的链表: ┌──┬──┐ ┌──┬──┐ ... p →│data│next┼→│data│NULL│ └──┴──┘ └──┴──┘ ┌──┬──┐ q →│data│next│ └──┴──┘ 不能将指针q所指结点连到上图所示链表末尾的语句是( )。
A.q->next=NULL; p=p->next; p->next=q;
B.p=p->next; p->next=q; q->next=NULL;
C.p=p->next; q->next=p->next; p->next=q;
D.q->next=p->next; p=p->next; p->next=q;
正确答案:————
8.[单选题] C语言中,错误的int类型的常数是( )
A.1E5
B.0
C.037
D.0xaf
正确答案:————
9.[单选题] 以下程序段运行后变量k的值为( )。 int m=7,n=2,k;k=(m^n)<<1;
A.0
B.98
C.20
D.10
正确答案:————
10.[单选题] ( )是正确的叙述。
A.
B.
C.
D.
正确答案:————
11.[单选题] 若有以下定义: struct node { int data; struct node *next; } struct node *p; 已建立如下图所示的链表: ┌──┬──┐ ┌──┬──┐ ┌──┬──┐ p →│data│next┼ →│data│next┼ →... →│data│NULL│ └──┴──┘ └──┴──┘ └──┴──┘ 指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是( )。
A.while(p!=NULL) { printf("%d,",p->data); p++; }
B.while(p) { printf("%d,", p.data); p=p->next; }
C.for( ; p!=NULL; p++) printf("%d,", p->data);
D.for( ; p; p=p->next) printf("%d,", (*p).data);
正确答案:————
12.[单选题] 若已定义 int m=7;float k=5.5; 则表达式 k+ m%2/4 的值为( )。
A.6.375
B.6.75
C.5.75
D.5.5
正确答案:————
13.[单选题]
A.
B.
C.
D.
正确答案:————
14.[单选题]
A.
B.
C.
D.
正确答案:————
15.[单选题] 若有定义:int a,b; float x,则以下不符合C语言语法的表达式是( )。
A.x%7
B.x/=a-b
C.a=b=2
D.x=(float)a/b
正确答案:————
16.[单选题]
A.
B.
C.
D.
正确答案:————
17.[单选题] 下面叙述正确的是( )。
A.程序中必须包含有输入语句
B.变量按所定义的类型存放数据
C.
D.每行只能写一条语句
正确答案:————
18.[单选题]
A.
B.
C.
D.
正确答案:————
19.[单选题] 以下程序的运行结果是( )。 main() { int a[3]={1,2,3}; int *num[3]; int **p,i; for(i=0;i<3;i++) num[i]=&a[i]; p=num; printf("%d",**p);}
A.1
B.3
C.&a[0]
D.num
正确答案:————
20.[单选题] 若有定义:int x=10,y=8,a; 则执行语句a=((--x==y)? x: y);后,变量a的值是( )。
A.8
B.9
C.10
D.0
正确答案:————
21.[单选题]
A.
B.
C.
D.
正确答案:————
22.[单选题] 若有定义:int x,a; 赋值语句a=(x%3==0)?0:1; 与( )语句不等价。
A. if (x%3!=0) a=1; else a=0;
B. if (x%3) a=0; else a=1;
C. if (x%3==0) a=0; else a=1;
D. if (!(x%3==0)) a=1; else a=0;
正确答案:————
23.[单选题] 设有说明 int x=0,y=2; 则执行 if(x=0) y=1+x; else y=x-1; 后,变量y的值是( )
A.-1
B.0
C.1
D.2
正确答案:————
24.[单选题] 有以下程序: main() { int c; while((c=getchar())!= '\n') { switch(c-'2') { case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default: putchar(c+2); break; } } printf("\n"); } 当输入:247<回车>,程序的输出结果是( )。
A.689
B.6689
C.66778
D.66887
正确答案:————
25.[单选题] 当顺利执行了文件关闭操作时,fclose函数的返回值是( )。
A.1
B.0
C.-1
D.一个非0值
正确答案:————
26.[单选题]
A.-3
B.3
C.65539
D.数据不确定
正确答案:————
27.[单选题] 若有定义: int a; 且表达式 !a的值为0,则表达式( )的值为1。
A.a!=0
B.a==0
C.a=0
D.!(a<0 || a>0)
正确答案:————
28.[单选题] 构成C源程序的基本单位是( )
A.语句
B.变量
C.运算符
D.函数
正确答案:————
29.[单选题] 以下程序段的运行结果是( )。 int s=15; switch(s/4) {default: printf("Over "); case 1: printf("One "); break; case 2: printf("Two ");}
A.Two
B.Over Two
C.Over One
D.One
正确答案:————
30.[单选题] 以下程序中的循环执行了( )次。 #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() { int i,n=0; for(i=0;i<NUM;i++) n++; printf("%d\n",n); }
A.5
B.6
C.8
D.9
正确答案:————
31.[单选题]
A.1
B.3
C.14
D.28
正确答案:————
32.[单选题] 若有定义 float x; 要从键盘输入数据6.02赋给x,则应选用( )语句。
A. scanf("%8.2f",&x);
B. scanf("%1.2f",&x);
C. scanf("%4.2f",&x);
D. scanf("%f",&x);
正确答案:————
33.[单选题] 下面程序的运行结果是( )。 #include <stdio.h> union data { int i; char c; double d; }a[2]; void main() {printf("%d\n",sizeof(a)); }
A.16
B.8
C.4
D.2
正确答案:————
34.[单选题] 语言的 % 运算符按运算对象的个数属( )。
A.单目运算符
B.四目运算符
C.双目运算符
D.三目运算符
正确答案:————
35.[单选题] 下面错误的叙述是( )。
A.预处理命令行必须位于C源程序的起始位置
B.
C.
D.C语言的预处理可以实现宏定义和条件编译的功能
正确答案:————
36.[单选题] 以下程序段运行后sum的值为( )。 int k=0,sum=0; int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; for(;k<3;k++) sum+=a[k][k+1];
A.9
B.18
C.19
D.21
正确答案:————
37.[单选题] 若有下面定义,对结构体变量成员不正确引用的语句是( )。 struct pup { char name[20]; int age; int sex; }p[3],*q; q=p;
A.scanf("%s",p[0].name);
B.scanf("%d",q->age);
C.scanf("%d",&(q->sex));
D.scanf("%d",&p[0].age);
正确答案:————
38.[单选题] 已有定义 char str1[15]={"computer"},str2[15];则语句用法正确的是( )。
A.str2=str1;
B.str2="science";
C.scanf("%s",str2);
D.printf("%s",&str1);
正确答案:————
39.[单选题] 设已定义 float a=2.0,b=3.0; 使a值为5.0的表达式是( )。
A.a+= b
B.a*=b+2.0
C.a/=b+2.0
D.a-=b+2.0
正确答案:————
40.[单选题] 以下程序的运行结果是( )。 void main() { int n=9; switch(n--) { default: printf("%d ",n++); case 8: case 7: printf("%d ",n); break; case 6: printf("%d ",n++); case 5: printf("%d ",n); } }
A. 8
B. 7
C. 8 9
D. 8 7
正确答案:————
2019-12-23 21:48 上传
点击文件名下载附件
下载积分: 贡献 1
5.03 KB, 下载次数: 0, 下载积分: 贡献 1
售价: 2 金币 [记录]
[购买]
答案