c语言 struct stu int agek{ int x; int y; }s[3]={1,2,3,4,5,6}

C语言练习题及答案_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言练习题及答案
&&C语言课后习题及答案
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩33页未读,
定制HR最喜欢的简历
你可能喜欢 上传我的文档
 下载
 收藏
粉丝量:19
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
C语言_习题十_参考答案
下载积分:1500
内容提示:C语言_习题十_参考答案
文档格式:DOC|
浏览次数:548|
上传日期: 20:08:55|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1500 积分
下载此文档
该用户还上传了这些文档
C语言_习题十_参考答案
关注微信公众号吉林大学远程教育学院2013年C语言程序设计练习题B_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
吉林大学远程教育学院2013年C语言程序设计练习题B
冀ICP备号|
总评分0.0|
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩3页未读,
定制HR最喜欢的简历
你可能喜欢当前位置: >>
C语言易错题
易错题整理1. void main() { float y=3.667; printf(&*%8.0f*\n&,y); } 结果:* 4* 2.void main() { int x=1,y=2; printf(&%d,&,x&y?y++:x++); printf(&%d,&,x&=y?++y:++x); printf(&%d,%d&,x,y); } 结果:1, 3, 2,3 3.void main() { int x=0,y=0,z=0; do { switch(y++) { case 1:x++; case 3:x+=3; default:x=x%2; } z++; } while(y&5); printf(&x=%d,y=%d,z=%d\n&,x,y,z); } 结果:x=0, y=5, z=2 4. 若有定义和语句:double x=; printf(&*%8.2e*\n&, x); 则下列说法 真确的是: A. 输出值为*3.42e+04* B. 输出值为*3.42e+004* C. 输出值为*34.21e+04* D. 输出格式符宽域不够,不能输出值 答案:B 5. void main() {int a=2,b=5; printf(&a=%%d,b=%%d\n&);1 } 结果为: A. a=%2,b=%5 C. a=%%d,b=%%d 答案:DB. a=2,b=5 D. a=%d,b=%d6. 以下叙述中正确的是 A)用 C 程序实现的算法必须要有输入和输出操作 B)用 C 程序实现的算法可以没有输出但必须要有输入 C)用 C 程序实现的算法可以没有输入但必须要有输出 D)用 C 程序实现的算法可以既没有输入也没有输出7. 结构化程序由三种基本结构组成,三种基本结构组成的算法 A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务8.以下选项中可作为 C 语言合法常量的是 A)-80. B)-080 C)-8e1.0 D)-80.0e01 9.将十进制数 23588 转化成二进制: 错:#include &stdio.h& void main() { unsigned long a=23588,n=0;/*数据类型长度可能不够*/ while(a) {n=10*n+a%2; /*首次 a%2 可能为 0 */ a=a/2; } while(n) {printf(&%d&,n%10); n=n/10; } printf(&\n&); } 对:#include &stdio.h& void main() { int a=23588,n=0,b[20]; while(a) {b[n++]=a%2; a/=2; }2 for(n--;n&=0;n--) printf(&%d&,b[n]); printf(&\n&); } 10.设有如下函数: func(float a) {printf(“%d\n”,a*a); } 则函数的类型是: A.无法确定 B.intC.floatD.void(在 C 语言中,若对函数类型未加显示地说明,则函数的隐含类型为 int 型)11. 宏定义#define E 2.71828 中,宏名“E”代替一个字符串。12.下面的叙述中,错误的是: A.#include 命令可以包含扩展命名为“.c”的文件 B.#include“test\\test.h”是一个正确的文件包含命令 C.#include&?&中可以包含路径 D.使用#include&?&比#include“?”节约编译时间 (#include 命令的包含文件可以带目录,并且目录的书写格式必须符合操作系 统的习惯,由于它不是 C 语言的字符串,不能用“\\”来表示“\”)13.下列程序的结果是: #include &stdio.h& #define PR printf #define NL &\n& #define D &%d& #define D1 D NL #define D2 D D NL main() {int a=1,b=2; PR(D1,a); PR(D2,a,b); } A. 1 B. 1 12 12C. 1 12D.程序错误,值为任意值3 14. 下列程序的结果是: #include &stdio.h& #define PR(a) printf(&%d\t&,(int)(a)); #define PRINT(a) PR(a);printf(&ok!&) main() {int i,a=1; for(i=0;i&3;i++) PRINT(a+i); printf(&\n&); } 结果为:1 2 3 ok! 15.以下可以讲 char 型变量 s 中的大小写字母进行转化(即大写改小写,小写 改大写)的语句是: A.s=s^32 B.s=s&32 C.s=s|32 D.s=s+32 16.以下程序的输出结果是: main() {char a=0xf0,b=03,c; c=~a&020&&b; printf(&%x\n&,c); } 结果:2 (注意运算符优先级高低)17.若有以下定义和语句: int *p,i=1; double *w,a=3.5; p=&i; w=&a; 在执行了 p=(int *)w;语句后,*p 的值为: A.4 B.3.5 C.3D.一个整数注意:double 类型的数据与 int 类型数据存放的机制不同,因此无法估计此证 书的确切值18.已知函数说明语句:void *f();则它的含义是: A.函数 f 的返回值是一个通用型指针 B.函数 f 的返回值可以是任意的数据类型 C.函数 f 无返回值 D.指针 f 指向一个函数,该函数无返回值 19.已知 int a[]={1,2,3,4},y,*p=&a[1]; y=(*--p)++;则 y 的值是4 A.1B.2C.3D.420.函数的功能是交换变量 x 和 y 的值,且通过正确调用返回交换结果,能正 确执行此功能的函数是: A.funa(int *x,int*y) {int *p; *p=x;*x=*y;*y=*p; } B.funb(int x,int y) { t=x;x=y;y=t; } C.func(int *x,int *y) {*x=*x+*y;*y=*x-*y;*x=*x-*y; } D.fund(int *x,int *y) {*x=*y;*y=*x; } 21.设有如下定义 struct sk { }data,*p; 若要使 p 指向 data 中 n 域,真确的赋值语句是: A.p=&data.n; B.*p=data.n; C.p=(struct sk *) &data.n; D.p=( struct sk *) data.n; 22.以下程序的输出结果是 256 union {char m[2];} main() {mk.m[0]=0; mk.m[1]=1; printf(&%d\n&,mk.k); } 。解:char 占一个字节,int 占两个字节,共用体变量 mk 的两个成员共占用存 储单元,给数组赋值后,存储状况如下图:5 23.下列叙述中正确的是: A. C 语言中既有逻辑类型也有集合类型 B. C 语言中没有逻辑类型但有集合类型 C. C 语言中有逻辑类型但没有集合类型 D. C 语言中既没有逻辑类型也没有集合类型24.以下程序的输出结果是: main() {int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i&7&&p[i]%2) k=k+p[i++]; printf(&%d\n&,k); } A.58 B.56 C.45D.2425.以下程序段中,能过通过调用函数 fun,使 main 函数中的指针变量 p 指向一 个合法的整型单元是: A.int fun(int *p) B.int fun(int **p) { p=&s;} { *p=&s;} main() main() {int *p; {int *p; fun(p); fun(&p); } } C.#include &stdlib.h& D.#include &stdlib.h& int fun(int **p) int fun(int p) {*p=(int *)malloc(2);} {p=(int *)malloc(sizeof(int));} main() main() {int *p; {int *p; fun(&p); fun(p); 答案: C26.以下叙述中不正确的是: A. B. C. D. C 语言中的文本文件以 ASCⅡ码形式存储数据 C 语言中对二进制文件的访问速度比文本文件快 C 语言中,随机读写方式不适用于文本文件 C 语言中,顺序读写方式不适用于二进制文件27.设有以下定义: struct ss { struct ss *} x,y,z; 且已建立如下图所示链表结构: 请写出删除点 y 的赋值语句是 x.link = y.link 。6 xyz28.下列选项中非法的表达式是: A.0&=x&100 C.(char) (65+3)B.i=j==0 D.x+1=x+1;29.若已定义的函数有返回值,则以下关于该函数的调用的叙述中错误的是: A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参 C. 函数调用可以出现在表达式中 D. 函数调用可以作为一个函数的形参30.有以下函数定义: void fun(int n,double x) { ?? } 若下列选项中的变量都已正确定义并赋值, 则对函数 fun 的正确调用语句是: A.fun(int y,double m); B.k=fun(10,12.5); C.fun(x,n); D.void fun(n,x); 31.有以下程序的输出结果是: void fun(char *a,char *b) {a=b; (*a)++;} main() {char c1='A',c2='a',*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf(&%c%c\n&,c1,c2); } A.Ab B.aaC.AaD.Bb32.若程序中包含头文件 stdio.h ,以下选项中,正确运用指针变量的程序段是 A.int *i=NULL; B.float *f=NULL; scanf(&%d&,i); *f=10.5; C.char t='m', *c=&t; D.long *L; *c=&t; L='\0'; 33.有以下程序执行的结果是: char fun(char x,char y) {if (x&y) } main()7 {char a='9',b='8',c='7'; printf(&%c\n&,fun(fun(a,b),fun(b,c))); } A.函数调用出错 B.8 C.9 34.有以下程序执行后输出结果是 #include &stdio.h& int a=2; int f(int *a) {return (*a)++;} main() {int s=0; {int a=5; s+=f(&a); } s+=f(&a); printf(&%d\n&,s); } A.10 B.9 35.有以下程序执行后输出结果是 #define f(x) x*x main() { i=f(4+4)/f(2+2); printf(&%d\n&,i); } A.28 B.64D.7C.8D.7C.4D.336. 有以下程序执行后输出结果是 #include &stdio.h& struct STU {char name[10]; }; main() {struct STU s[5]={{&YangSan&,},{&LiSiguo&,},{&WangYin&, },{&Sundan&,},{&PengHua&,}},*p[5],*t; int i,j; for(i=0;i&5;i++) p[i]=&s[i]; for(i=0;i&4;i++) for(j=i+1;j&5;j++) if(p[i]-&score & p[j]-&score)8 {t=p[i];p[i]=p[j];p[j]=t;} printf(&%d %d\n&,s[1].score,(*p[1]).score); } A.550 550 B.680 680 C.580 550 D.580 68037.下面程序的运行结果是: int f(int a[],int n) {if(n&1) return a[0]+f(&a[1],n-1); else return a[0]; } main() {int aa[3]={1,2,3},s; s=f(&aa[0],3); printf(&%d\n&,s); } 答案: 6 38.结构化程序有三种基本结构组成,三种基本结构组成的算法: A. 可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完成符合结构化的任务 D. 只能完成一些简单的任务39.有以下程序运行后输出结果是 main() {int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q; *q=*p+5; printf(&%d %d\n&,*p,*q); } A.运行后报错 B.6 6 C.6 11 注:(指针 q 无指向) 若是 main() {int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q; q=p+5; printf(&%d } 则答案为 C %d\n&,*p,*q);D.5109 40.有以下程序运行后输出结果是 main() {char s[]=&Yes\n/No&,*ps=s; puts(ps+4); *(ps+4)=0; puts(s); } A.n/No B./No Yes Yes /NoC.n/No YesD. /No Yes注: 在 C 语言中,所有指针变量都可以赋予“空”值,以下语句是等价的: p=NULL;p=0;p='\0'; *(ps+4)=0;等价于*(ps+4)= '\0'或*(ps+4)= NULL;41.以下程序中,for 循环体执行的次数是 #define N 2 #define M N+1 #define K M+1*M/2 main() {int i,n=0; for(i=1;i&K;i++) {...} ... }4。42.执行下面的程序段后,变量 k 中的值为 A) 不定值 int k=3, s[2]; s[0]=k; k=s[1]*10; 43.在 C 程序中,可把整型数以二进制形式存放到文件中的函数是 A) fprintf 函数 B) fread 函数 C) fwrite 函数 D) fputc 函数 44.下列程序执行后的输出结果是 A) -32767 B) FFFE C) -1 D) -3276810B) 0C) 30D) 10 main() { char x=0xFFFF; printf(&%d \n&,x--); } 45.若有定义: A) switch(w) { case 1.0: printf(&*\n&); case 2.0: printf(&**\n&); } C) switch(b) { case 1: printf(&*\n&); default: printf(&\n&); case 1+2: printf(&**\n&); } 46.以下程序段的执行结果是A) a=12 y=12 a=14 y=16 a=16 y=20 a=18 y=24 B) a=12 y=12 a=16 y=28 C) a=12 y=12 a=14 y=26 D) a=12 y=12 a=14 y=44int a, 则合法的 switch 语句是 B) switch(a); { case 1 printf(&*\n&); case 2 printf(&**\n&); } D) switch(a+b); { case 1: printf(&*\n&); case 2: printf(&**\n&); default: printf(&\n&); }int a, a=10; y=0; do { a+=2; y+=a; printf(&a=%d y=%d\n&,a,y); if(y&20) } while(a=14);11 47.语句 printf(&a\bre\'hi\'y\\\bou\n&);的输出结果是 (说明:'\b'是退格 符←) A) a\bre\'hi\'y\\\bou C) re'hi'you B) a\bre\'hi\'y\bou D) abre'hi'y\bou12
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。> 问题详情
设有以下C语言说明语句。 struct { int x,y;} s[2]={{1,2),{3,4}),*p=s,*q=s; 则表达式++p-
悬赏:0&答案豆
提问人:匿名网友
发布时间:
设有以下C语言说明语句。 struct { int x,y;} s[2]={{1,2),{3,4}),*p=s,*q=s; 则表达式++p->x和表达式(q)->x的值分别为(34)。A.1、1B.1、3C.2、3D.3、3请帮忙给出正确答案和分析,谢谢!
权威推荐: & &
为您推荐的考试题库
您可能感兴趣的试题
1以下C程序段的输出结果是(35)。    #include<stdio.h)long fun(int n){    long s;         if(n==1 || n==2)     s=2;         else             s=n+fun(n-1);         return s;    }    void main(){    printf("\n%1d",fun(4));  )A.5B.7C.9D.112堆栈操作中都是对栈顶单元进行的,访问堆栈的地址是由堆栈指针SP指定的。在操作过程中,指针 SP不需要用户指定。在下推式堆栈中,写入堆栈的单元地址是(36)。A.PCB.指令寄存器C.(SP)-1D.(SP)+13字符串是一种线性表,其特殊性表现在(37)。A.它可以顺序存储B.它的数据元素可以是多个字符C.它可以链式存储D.它的数据元素是一个字符4若对243个元素只进行三趟多路归并排序,则选取的归并路数为(38)。A.3B.5C.7D.11
我有更好的答案
电脑、移动端同步直播
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:

我要回帖

更多关于 struct sk data.n 的文章

 

随机推荐