C语言编程新思路2023章节测试答案
D、用typedef为类型说明一个新名,通常可以增加程序的可读性
我的答案:B
8、下面程序的运行结果是( )。 #include <stdio.h> #include <string.h> typedef struct{ char name[9];char sex; float score[2]; } stu; stu f(stu a) {stu b={“zhao”,’m’,85.0,90.0}; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i<2;i++) a.score[i]=b.score[i]; return a; } int main() {stu c={"qian",'f',95.0,92.0},d; d=f(c); printf(“%s,%c,%2.0f,%2.0f\n”,d.name,d.sex,d.score[0],d.score[1]); }
A、qian,f,95,92
B、qian,m,85,90
C、zhao,m,85,90
D、zhao,f,95,92
我的答案:C
9、以下程序运行后的输出结果是( )。 #include <stdio.h> struct S {int n; int a[20];}; void f(struct S *p) { int i,j,t; for(i=0;i<p->n-1;i++) for(j=i+1;j<p->n;j++) if(p->a[i]>p->a[j]) { t=p->a[i]; p->a[i]=p->a[j]; p->a[j]=t; } } int main() { int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}}; f(&s); for(i=0;i<s.n;i++) printf(”%d,”,s.a[i]); }
A、10,9,8,7,6,5,4,3,2,1,
B、1,2,3,4,5,6,7,8,9,10,
C、2,3,1,6,8,7,5,4,10,9,
D、10,9,8,7,6,1,2,3,4,5,
我的答案:B
10、有以下程序段 typedef struct node { int data; struct node *next; }NODE; NODE *p; 以下叙述正确的是( )。
A、NODE *p;语句出错
B、p 是指向struct node 结构体变量的指针的指针
C、p 是struct node 结构体变量
D、p 是指向struct node 结构体变量的指针
我的答案:D
11、若定义如下结构,则能打印出字母M的语句是( )。 struct person{ char name[9]; int age;}; struct person class[10]={"Wujun",20, "Liudan",23, "Maling",21, "zhangming",22};
A、printf("%c\n",class[3].name);
B、printf("%c\n",class[2].name[0]);
C、printf("%c\n",class[2].name[1]);
D、printf("%c\n",class[3].name[1]);
我的答案:B
12、以下程序段的运行结果是( )。 union { int n; char str[2]; }t; t.n=80; t.str[0]='a'; t.str[1]=0; printf("%d\n", t.n);
A、80
B、a
C、0
D、97
我的答案:D
13、以下对C语言中共用体类型数据的叙述正确的是( )。
A、可以对共用体变量名直接赋值
B、一个共用体变量中可以同时存放其所有的成员
C、一个共用体变量中不能同时存放其所有成员
D、共用体类型定义中不能出现结构体类型的成员
我的答案:C
14、若有以下说明和定义语句,则下面引用形式中不正确的是 ( )。 struct student { int age; int num; }; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; struct student *p; p=stu;
★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!