C程序设计试题及题解(3.24修改)(4)

2019-06-17 10:38

4、以下程序段运行后*(++p)的值为(C) char a[6]=“work”; char *p; p=a; A、‘w’ B、存放‘w’的地址 C、‘O’ D、存放的‘O’地址 5.在16位编译系统上,若有定义int a[]={10,20,30},*p=&a;当执行p++;后下列叙述错误的是( A )

A.p向高地址移了一个字节 B.p与a+1等价

C.语句printf(“%d”,*p);输出20; D.p指向数组元素a[1] 6.以下程序运行后*(P+3)的值为( A ) char a[]=“good”; char *P;P=a;

A.‘d’ B.‘\\0’ C.存放‘d’的地址 . D.7.以下程序运行后x的值为(D) int a[9]={1,2,3,4,5,6,7,8,9}; int *p,*q; int i,x; p=&a[0]; q=&a[8];

for (i=O;i<3;i++)

if(*(p+i)==*(q-i) )

x=*(p+i)*2;

A. 2 B. 4 C. 6 D.不确定 8.以下程序运行段运行后x的值为( D ) int a[]={1,2,3,4,5,6,7,8}; int i,x *p; x=1;

p=&a[2];

for(i=0,i<3,i++)

x*=(p+i);

A. 不确定 B. 24 C. 120 D. 60 9、下面程序的输出结果是(A) #include void main ( ) {

int i;

char *s= “ abc ”; for ( i=0 ; i<3; i++)

printf ( “% s\\n ” , s+i ); }

a b c a b c a A B C D b c c c a b c b c a b c b c a b c 10.执行以下程序段的输出结果是( B ) int a=10,*p=&a;

‘0’

printf(“%d”,++*p);

A.10 B.11 C.变量a的地址 D.变量a的地址加1

(9)结构体与共用体 1.设有以下定义语句: struct student{

int num;

char name[10]; float score;

}wang,zhang;的变量wang所占的内存字节是( B ) A.14 B.16. C.18 D.9 2.设有以下定义语句: struct student{

int num ;

char name[10];

float score;}wang,zhang; 则不正确的叙述是( C )

A.struct 是结构体类型的关键字 B.zhang是结构体变量名

C.wang是结构体类型名 D.num,name,score都是结构体类型student的成员名 3.若struct teacher{

int num;

char name[10]; char sex; int age;

float score;}teacher1;

则变量teacher1所占用的内存字节是( C ) A.5 B.14 C.19. D.20 4.、假定已有如下落不明变量说明和枚举定义:

char ch; int j,k;

enum day{sum,mon,tue,wed,thu,fri,sat}; int a[sat];

判定下列语句是否符合语法规则,结果是( C )

char a; /*语句1*/ j+k=j; /*语句2*/ if(a[mon]>0) j++; /*语句3*/

A.语句2错误,其它正确 B.语句1正确,其它错误 C.语句3正确,其它错误 D.语句错误,其它正确

5、以下C语言共用体类型数据的描述中,不正确的是( D )

A、共用体变量占的内存大小等于所需内在最大的成员所占的内存 B、共用体类型可以出现在结构体类型定义中

C、在定义共用体变量的同时允许对另一个成员的值进行初始化 D、同一共用体中各成员的首地址不相同 6、若有以下类型说明,叙述正确的是( A )

typedef sturct{

int num; char *name; int score; } STU, *PSTU

A、STU 是变量名 B、PSTU是变量名 C、PSTU是指向结构体类型STU的指针类型名 D、类型说明语句有错误 7、设有如下定义语句: union u-type{

int i; double x; float f; };

struct str-type{ char str[100]; union u_type u[2]; };

则语句“printf(“%d”, sizeof(struct str-type) );”的输出结果是( B ) A、100 B、116 C、120 D、200 8.下列对结构体类型变量定义不正确的是( C )

A.

struct teacher{

int num; int age; }teacher1;

B.

struct{ int num; int age;

}teacher1,teacher2; C.

struct{

int num; int age; }teacher, D.

struct teacher{

int num; int age; }

9.若有定义 struct node{

int date;

struct node *next; } 函数:

void fun(struct node *head) {

struct node *p=head; while(p) {

struct node *q=p->next; free(p);

p=q; } }

则该函数的功能是( A )

A. 删除整个单向链表 B. 删除单向链表中的一个结点 C.显示单向链表中的所有数据 D. 创建单向链表 10.对枚举类型进行定义,不正确的是( A ) A. enum b{1,2,3}; B. enum a{A,B,C}; C. enum c{3,E,F};

D. enum d{x=0,y=5,z=9}; 11.下面程序的输出结果为(B) #include void main() {

enum Weekday {sum=7 ,mon=1 ,tue thu ,fri,sat}; enum Weekday day=sat; print(“%d\\n”,day); }

A.7 B.6 C.5 D.4 12.以下程序的运行结果(D) #include union utype{ int i; float f }U[2]; void main() {

printf(“sizeof(u):%d\\n”,sizeof(u)) ; }

A. 2 B. 4 C.6 D. 8 13.若有以定义

struct link{

int data;

struct link *next; }*head,*p;

并已建立如下图示所示的链表结构

head ?data next?data next???data null

则能保留链表其它结点,而删除P所指向结点的程序段是( A ) A.head->next=p->next;free(p);

B.head->next=p; p->next=head->next;free(p); C.free(p);head->next=p;p->next=head->next; D.free(p);head->next=p->next; 14.若有定义

struct node{

int data;

struct node *next; };

及函数: void fun(struct node *head) {

struct node *p=head; while(p) {

printf(“%d”,p->data); p=p->next; break; } }

则函数 fun( )的功能是( C )

A. 删除单向链表 B. 显示单向链表中的所有数据 C. 显示单向链表中的第一个数据 D. 创建单向链表

15..若有如下定义,函数 fun的功能是( B ),其中head指向链表着结点整个链表结构如下图:

head ? data ? data ?? data null

struct node{ int data;

struct node *next; };

int fun(struct node *head) {

int n=0;

struct node *t=head; while(t!=NULL) {


C程序设计试题及题解(3.24修改)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:一年级下册卫生与健康教案.

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: