C语言程序设计各章练习题.doc

上传人:钟*** 文档编号:5417451 上传时间:2020-01-29 格式:DOC 页数:27 大小:344.11KB
返回 下载 相关 举报
C语言程序设计各章练习题.doc_第1页
第1页 / 共27页
C语言程序设计各章练习题.doc_第2页
第2页 / 共27页
C语言程序设计各章练习题.doc_第3页
第3页 / 共27页
点击查看更多>>
资源描述
.C语言程序设计各章练习题2016年12月汇编第1-3章 C语言基础、编程规范、顺序结构程序设计编程题1:设a和b均为int型变量,编写一个程序,通过键盘读入a,b的值,然后交换a,b的值。要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b的值,交换后a,b的值。附加要求:(1)允许定义第3个变量,实现交换; (2)不允许定义第3个变量,实现交换。第4章选择结构程序设计编程题2:根据下列函数关系写程序,要求提示输入x的值,输出y的值。编程题2:根据下列函数关系写程序,要求提示输入x的值,输出y的值。编程题3:求 ax2+bx+c=0方程的解。(只输出b2-4ac=0的求解结果,小于0,输出“不予求解!”)第5章 循环结构程序设计编程题4:编程计算。要求提示键盘输入n,如n为负数,不予计算,直接返回。编程题5:编程序计算n!,要求n从键盘输入,如n小于0,不予计算。编程题6:从键盘输入一个数n,判断n是否是素数。编程题6:编写程序输出1100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。编程题8:求满足下列条件的三位数n,它除以11(整数相除)所得到的商等于n的各位数字的平方和,且其中至少有二位数字相同的数。编程题9:有一些十进制整数对ab和cd具有如下特性:abcd=badc,其中ab且cd。如:1242=2124。请编程找出3050之间满足上述等式所有m,n值,并按上述等式的格式输出。(用*表示)编程题10:从键盘上输入一个整数,然后把这个整数的各位逆序输出。例如,输入123456,输出654321。第6章 数组编程题11:有一个已排好序的数组int a11=-5,-3,0,6,8,12,16,28,66,88;,要求输入一个数后,按原来排序的规律将它插入数组中。编程题12:输入一个字符串(字符个数为小于100),统计其中字母、数字、空格以及其它符号的个数,并将大写字母改为小写字母,输出改变后的字符串。(提示:A的ASCII值为65,a的ASCII值为97)编程题12:输入一行字符(字符数组的个数小于100),统计其中字母、数字以及其它符号的个数。(注:数组限定字符个数小于100)编程题12:输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。(注:字符个数不受限制)第7章函数编程题13:编写一个子函数 int fun ( int n),其功能是判断整数n是否为素数,n是素数,返回值为1;n不是素数,返回值为0。调用该函数,将100200之间的素数全部输出,要求屏幕上每个数占4位,每行显示5个素数,左对齐。(循环、条件分支、子函数、变量的值传递、屏幕显示格式控制)编程题14:主函数中定义两个数组int a5=5,4,8,-1,2,b10=1,-1,2,4,8,4,0,9,3,7;用子函数实现从小到大的冒泡排序,子函数为void bubble(int ,int);要求在主函数中显示排序前、后的数组a和b的元素。(循环、条件分支、子函数、数组、地址传递)编程题15:主函数中定义两个数组int a5=5,4,8,-1,2,b10=1,-1,2,4,8,4,0,9,3,7;用子函数实现从小到大的选择法排序,子函数为void sort(int ,int);要求在主函数中显示排序前、后的数组a和b的元素。(循环、条件分支、子函数、数组、地址传递)编程题16:用递归函数计算n!。编程题17:编写一个子函数 int fact ( int n),计算n的阶乘。调用该函数计算1!+2!+3!+n!,要求n从键盘输入,如输入n小于0,不予计算。(循环、递归函数)编程题18:将16进制或8进制或2进制数转换为十进制数(字符数组、字符串函数、子函数、字符ASCII值与10进制数的转换,指数函数的调用)编程题18:编程实现八进制数转换为十进制数(注:用字符数组n100接收输入,输入的八进制数肯定正确,无须检测;八进制数转换为十进制数的子函数为int htoi(char hnum );)编程题18:编写一个子函数,将16进制数转换为10进制数。编程题19:编写一个子函数,主函数用字符数组作为实参,统计字符串中字母、数字、空格以及其他符号的个数,要求主函数中显示字符串与统计结果。编程题20:编写一个子函数,主函数输入一行字符,子函数找出字符串中最长的单词,并显示结果。编程题21:用递归法将一个整数n转换为字符串。例如:输入483,输出字符串“483”,n的位数不确定。编程题22:写一个子函数,将输入的字符串按反序存放,在main中输入和输出字符串。第8章指针编程题23:编写一个子函数mystrcmp(char *s1,char *s2)实现2个字符串的比较。编程题23:编程实现两个字符串连接起来,不要用strcat函数。编程题23:用函数调用实现字符串的复制。编程题23:写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。编程题24:写一个用矩形法求定积分的通用函数,分别计算编程题25:输入一个字符串,内有数字和非数字字符,如: A123x456 17960?302tab5876,将其中连续的数字作为一个整数,依次用数组存放这些数,统计有多少个整数,并输出这些数。编程题26:主函数输入整数的个数,用指针变量动态申请内存,并用键盘按任意次序输入n个整数,用子函数void bubble(int ,int)实现从小到大的冒泡排序。第9章 结构编程题27:建立一个链表,每个结点包括:学号、姓名、性别、年龄,输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。编程题28:13个人围成一圈,从第一个人开始顺序报号,凡报到3者退出圈子,找出最后留在圈子中的人原来的序号。要求用链表实现。编程题29:阅读链表操作相关函数,完成指定的操作函数。链表内容仅限表头表尾添加、删除、查询、显示、保存,不考排序、中间节点的插入和删除#include stdio.h#include malloc.h#include string.hstruct Student char name20; int num; int math; struct Student *next;struct Student *Create(struct Student *head); /生成数据链表void ShowList(struct Student *head); /显示链表void saveList(struct Student *head); /保存链表数据void AddTail(struct Student *head,struct Student *temp); /表尾添加元素struct Student *AddHead(struct Student *head,struct Student *temp); /表头添加元素struct Student *DeleteSomeone(struct Student *head); /删除元素void FindSomeone(struct Student *head); /查询元素struct Student *DeleteHead(struct Student *head);/删除表头void DeleteTail(struct Student *head);/删除表尾void main()struct Student *head=NULL,*temp=NULL;int choice;doprintf(1:创建数据链表n);printf(2:添加链表单元n);printf(3:删除链表单元n);printf(4:查询链表单元n);printf(5:删除表头n);printf(6:删除表尾n);printf(7:退出n);printf(请输入功能选择:);scanf(%d,&choice);/cinchoice;if(choice=1) head=Create(temp);ShowList(head);saveList(head);else if(choice=2)/表头添加元素 temp=(struct Student *)malloc(sizeof(struct Student);printf(姓名:); scanf(%s,temp-name);printf(学号:); scanf(%d,&temp-num);printf(成绩:); scanf(%d,&temp-math);AddTail(head,temp);/ head=AddHead(head,temp);ShowList(head);saveList(head);else if(choice=3) /删除元素head=DeleteSomeone(head);ShowList(head);saveList(head);else if(choice=4) /查找元素FindSomeone(head);else if(choice=5) /删除表头head=DeleteHead(head);ShowList(head);saveList(head);else if(choice=6) /删除表尾DeleteTail(head);ShowList(head);saveList(head);else if(choice=7)printf(谢谢使用!n);elseprintf(非法输入,请输入17之间的数!n);while(choice!=7);struct Student *Create(struct Student *head)/包含读文件创建链表struct Student *pS,*pEnd;FILE *fp;fp=fopen(e:list.txt,r);if(fp!=NULL)/表明已有链表数据,直接读入int flag; while(1)pS=(struct Student *)malloc(sizeof(struct Student);flag=fscanf(fp,%s %d %d,pS-name,&pS-num,&pS-math);if(flag=EOF)break;if(head=NULL)head=pS;elsepEnd-next=pS;pEnd=pS;if(head!=NULL)pEnd-next=NULL;printf(已从文件中读入数据创建链表!n);delete pS;fclose(fp);if(head=NULL)while(1)pS=(struct Student *)malloc(sizeof(struct Student);printf(姓名:);scanf(%s,pS-name);if(strcmp(pS-name,000)printf(学号:);scanf(%d,&pS-num);printf(成绩:);scanf(%d,&pS-math); elsebreak;if(head=NULL)head=pS;elsepEnd-next=pS;pEnd=pS;pEnd-next=NULL;delete pS;return head;void ShowList(struct Student *head)/显示链表上的数据printf( 学生姓名学号成绩:n);while(head)printf(%20s,head-name);printf(%6d,head-num);printf(%5dn,head-math);head=head-next;void saveList(struct Student *head)/保存链表上的数据FILE *fp;fp=fopen(e:list.txt,w);if(fp=NULL)printf(无法创建文件e:list.txt!);return;while(head)fprintf(fp,%s %d %dn,head-name,head-num,head-math);head=head-next;fclose(fp);void AddTail(struct Student *head,struct Student *temp)/加在表尾struct Student *last;while(head)last=head;head=head-next;last-next=temp;temp-next=NULL;struct Student *AddHead(struct Student *head,struct Student *temp)/加在表头struct Student *first;first=head;head=temp;head-next=first;return head;struct Student *DeleteSomeone(struct Student *head)struct Student *temp;int xnum,flag=0;printf(请输入学号:);scanf(%d,&xnum);if(head=NULL)printf(表为空!n);return head;if(head-num=xnum)temp=head;head=head-next;delete temp;return head;Student *first=head;while(head)if(head-next=NULL)break;if(head-next-num=xnum)temp=head-next;head-next=temp-next;delete temp;flag=1;break;head=head-next;if(flag=0)printf(未发现!n);return first;void FindSomeone(Student *head)/按学号查找int xnum,flag=0;printf(请输入学号:);scanf(%d,&xnum);while(head)if(head-num=xnum)printf(%20s,head-name);printf(%6d,head-num);printf(%4dn,head-math);flag=1;break;head=head-next;if(flag=0)printf(未发现!n);struct Student *DeleteHead(struct Student *head)if(head=NULL)printf(表为空!n);return head;if(head-next=NULL)delete head;head=NULL; return head;elsestruct Student *first=head;head=head-next;delete first;return head;void DeleteTail(struct Student *head)if(head=NULL)printf(表为空!n);if(head-next=NULL)delete head;head=NULL;elsestruct Student *temp,*end;end=head;while(end-next!=NULL)temp=end;end=end-next;temp-next=NULL;第10章 文件编程题30:编程实现:有一个文本文件“a.txt”,里面有大小写英文字母、数字和其它符号。要求分别统计其中大写字母、小写字母、数字以及其它字符的个数。编程题30:从键盘输入一串字符,并以 # 结束,将其中的大写字母全部转换成小写字母,并输出到计算机D盘文件 “test.txt”中保存。(提示:一串字符并不意味着一行字符,另外一串字符的具体字符个数是不定的。)编程题31:从键盘输入一个字符串,将其中的小写字母全部转换为大写字母,然后输出到C盘“test”文件中保存,输入的字符串以“!”结束。编程题32:有两个磁盘文件“A”和“B”,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C”中去。编程题33:有5个学生,每个学生有3门课程的成绩,从键盘输入学号、姓名、3门课程成绩,计算每个学生的平均成绩,将原有数据和平时成绩存放在磁盘文件“stud”中。第1-3章 C语言基础、编程规范、顺序结构程序设计一、选择题1. C语言是一种( C )程序设计语言。A. 低级B. 面向对象C. 高级D. 智能2. 下列特性中,( D )不是C语言的特征。A.运行效率高B.结构化程序设计C.能直接访问物理地址D.类型检测严格3下列标识符中,( D )不是C的关键字;A. intB. floatC. charD. scanf4下列标识符中,( D )不是C的关键字;A. sizeofB. shortC. longD. define5下列标识符中,( D )不是C的关键字;A. gotoB. breakC. autoD. printf6下列标识符中,( D )不是C的关键字;A. static B. structC. voidD. include7下列自定义标识符中,( C )是不符合规定。A. point1xB. _point1xC. 2pointxD. pointx_28下列自定义标识符中,( C )是不符合规定。A. MAXB. _MINC. MAX$D. MIN_29下列自定义标识符中,( D )是不符合规定。A. point1_B. _point1xC. pointxD. pointx_#10下列自定义标识符中,( A )是不符合规定。A. 2_point1xB. _point1xC. pointxD. pointx_211下列四个选项中,是不合法的用户标识符的选项是( C )AP_0 _abcgototemp12下面是不正确的字符串常量的是( A )Aabc“1212”“0”“”13. 已知int a; float f; scanf(“a=%d,f=%f”,&a,&f); 为了把10和3.14分别赋值给a和f,则正确的输入为( C )A10,3.14 B. 10 3.14 C. a=10,f=3.14 D. a=10 f=3.1414输入语句为:scanf(%f,%fn,&radius,&high);下列键盘输入( D )是正确的。 A1 2; B1,2n; C12; D1,2;15输入语句为:scanf(a=%f,b=%f,&radius,&high);从键盘输入( D )是正确的。 A1 2; B1,2; C12; Da=1,b=2;16输入语句为:scanf(a=%f,b=%fn,&radius,&high);从键盘输入( D )是正确的。 A1 2; B1,2; C12; Da=1,b=2n;17输入语句为:scanf(a=%fb=%f,&radius,&high);从键盘输入( D )是正确的。 A1 2; B1,2; C12; Da=1b=2;18double PI=3.1415926, 输出语句为:printf(%3.2lf,PI);下列输出结果( D )是正确的。 A3.1415926; B3.2; C3.1; D3.14;19double PI=3.1415926, 输出语句为:printf(%5.4lf,PI);下列输出结果( B )是正确的。 A3.1415926; B3.1415; C3.1416; D5.4;20double PI=3.1415926, 输出语句为:printf(%3.4lf,PI);下列输出结果( )是正确的。A3.1415926; B3.141; C3.1415; D3.1416;21设x,y均为float型变量,则下列不合法的赋值语句是( )A+x y=(x%2)/10Cx*=y+8 x=y=022double PI=3.1415926, 输出语句为:printf(%4.2lf,PI);下列输出结果( )是正确的。 A3.1415926; B4.2; C3.141; D3.14;23. int a=-1;C语言整型数分配4个字节,在计算机中下列十六进制表示的(A)是正确的。 Affffffff; B80000001; C10000001; D00000001;24 int a=1;C语言整型数分配4个字节,在计算机中下列十六进制表示的a()是正确的。 A00000001; B10000001; C80000000; Dffffffff;25int a=-1;C语言整型数分配4个字节,在计算机中下列十六进制表示的a()是正确的。 A10000001; B-00000001; C-1; Dffffffff;*26 int a=-1;C语言整型数分配4个字节,在计算机中下列十六进制表示的a()是正确的。 A-ffffffff; B80000001; Cffffffff; D-1;*27设有下列变量说明:char a; int x; float y; double z; 则表达式a*x-z+y的值的数据类型为()。*Afloat char int double28已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为()Afa C.d10229已知ch是字符型变量,下列不正确的赋值语句是()Ach=a+bch=0ch=a+bch=5+930若s是int型变量,则表达式s=25/3%3的值为()A25 12 331若s是int型变量,则表达式s%2+(s-1)%2的值为()A0 11232若s是int型变量,则表达式s%2+(s+1)%2的值为()A0 12 不确定33下列表达式中,不能正确表达代数式含义的C语言表达式是()Ax/a/b*y*2 2*x*y/a/b2*x*y/a*bx*y/b/a*234若x、i、j、k均为int变量,则计算表达式x=(i=4,j=16,k=32);后,x的值为() A. 4 B. 16 C. 32 D. 5235. 已知int a=6,b=6; 执行b=(+b)+(a+);后,a和b的值为()。A. a=7,b=13 B. a=7,b=14 C. a=6,b=13 D. a=6,b=1436若有定义:int x=5,y=2; 则计算表达式y+=y=x*=y后, y的值为()A16 1671037若a是int型变量,且其初值为6,则计算表达式a+=a-=a*a后,a的值为()A-30-60-24638若x的初值为7,执行语句x+=x-=x+x;后,x的值为()A21-1414-2139C语言的编译系统对宏命令的处理是()A在程序运行时进行的B在程序连接时进行的C和C程序中的其他语句同时进行编译的D在对源程序中其他成分正式编译之前进行的40以下正确的叙述是()AC语言的预处理功能是指完成宏替换和包含文件的调用B预处理指令只能位于C源程序文件的首部C凡是C源程序中行首以“#”标识的控制行都是预处理命令DC语言的编译预处理就是对源程序进行初步的语法检查41以下在任何情况下计算平方数时都不会引起二义性的宏定义是()A#define POWER(x) x*x #define POWER(x) (x)*(x)C#define POWER(x) (x*x) #define POWER(x) (x)*(x)42以下有关宏替换的叙述中错误的是()A宏替换不占用运行时间 B宏替换只是字符替换C宏替换在编译之前进行 D宏名必须用大写字母表示43. 下列程序段的运行结果为()。void main() char c1,c2;c1=A+5-3; c2=A+6-3;printf(“%d,%c”,c1,c2) A. C,DB. 67,D C. B,C D. 无确定值二、填空题1在C语言中,实型变量可以分为两种类型,它们是和。2若x,a为整型变量,则计算表达式x=(a=4,6*2)后的x值为,计算表达式x=a=4,6*2后的x值为。3若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n+后x的值,n的值为。三、阅读下列程序,在下划线上写出输出结果1程序段:#define MUL(x) (x)*(x)*(x)main( )printf(“%d”,MUL(1+2)+3);的结果是。2程序段:#define y(t) (t)*(t)main( )printf(“%d”,y(1+2)+3);的结果是。3以下程序的输出结果是(19) 21。#include #define M(x,y,z) x*y+zvoid main()int a=2,b=3,c=4;printf(%dn, M(a+b,b+c,c+a);/知识点:宏定义是编译时先替换,运行时才计算第4章选择结构程序设计一、选择题1若x是int型变量,则表达式x%2+(x+1)%2的值为()。A0 12 不确定2设有定义int a=3,b=4,c=5,则表达式a|b+c&b=c的值为()。A3 10 不确定3判断字符串a和b是否相等,应当使用()Aif (a=b) if (a=b)Cif (strcpy(a,b) if (strcmp(a,b)4表达式5!=4的值是()A0 1 true 任一非零数5设逻辑型变量a,b,c,其中a的值为1,则逻辑运算表达式a|b|c的值是()A0 1 true 不确定6若a=5,b=4,c=2时,表达式ab!=c的值是()A1 0 非1 不确定7设逻辑型变量a,b,c,其中a的值为0,则逻辑运算表达式a&b&c的值是()A0 1 非1 不确定8若当a的值为奇数时,表达式的值为“真”,当a的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()Aa%2=1!(a%2=0) C. !(a%2)a%29判断字符型变量x是否为大写字母的正确表达式是()AA=x=A)&(x=A)&(x=A) and (x=Z)10若x=5,y=2,z=1,则表达式x-yy & x!=y); Bif (x=y) x+=y;Cif (x!=y)x=1 else x=2; Dif (xb)&(n=cd)后n的值是()A1 2 34二、填空题1在C语言中,若x,y,z均为int型变量,则“x或y中有一个小于z”的表达式描述形式为。三、 阅读下列程序,在下划线上写出输出结果1.#include void main( )int x=1,y=0, a=0, b=0;switch(x)case 1: switch(y) case 0: a+; break;case 1:b+; break;case 2:a+;b+;break; printf(“%d,%d ”,a,b);/*输出结果:*/2以下程序的运行结果是。#include void main( ) int x=5; if (x+5) printf(“%dn”,x);else printf(“%dn”,x-);四、程序填空1下列程序的功能是实现输出a,b,c三个数中的最大值。请为程序填空。#include void main( )int a=5,b=4,c=8;;if () u=a; else u=b; if () v=u; else ;printf(“v=%dn”, v);2下列程序的功能是根据下列函数关系,输入x的值,计算y的值。请为程序填空。#include void main( )int x, y; scanf(“%d”, );if () y=x*(x+5);else if () y=4*x;else ;printf(“%dn”, y);第5章循环结构程序设计一、选择题1执行语句for (i=1;i+=0);中循环体的执行次数()A1 2 3 4C. 循环体执行一次 D. 循环体一次也不执行4设i为整型变量,则语句for (i=2;i=0;) a=3;中循环体的执行次数为()A无限次0次1次2次5设有下列程序段:x=1; do x=x*x; while (!x)则该循环是()A死循环循环执行一次循环执行二次语句错误6设有程序段:int k=10;while (k=0)k-;则下列描述中正确的是()Awhile循环执行10次while循环执行无限次Cwhile循环执行0次while循环执行1次7程序段:x=y=0;while (x+y; x=i+) i=x;Bfor(;x+=i);Cfor (i=10; i-) a+=i;Dwhile (1) a+;;10程序段i=11;do i+; while (i=10);执行后i的值为()A11 12 C. 10 不确定11执行语句for (i=1;i+3;);后变量i的值的是()A3 4 C. 5 不确定12for (x=0,y=0;(y=123)&(x0;);后变量i的值的是()A0 1 C. 2 不确定二、填空题1若for循环语句用以下形式表示:for (表达式1;表达式2;表达式3) 循环体语句则执行语句:for (i=0;i4;i+) printf(“*”);时,表达式1执行次,表达式3执行了次。三、 阅读下列程序,在下划线上写出输出结果1.设有程序段 k=1;n=263;do k*=n % 10;n/=10; while (n);其运行结束后k的值为,循环结束后n的值是。2写出以下程序的运行结果。#include main( ) int y=10;do y-; while (-y);printf(“%d, ”,y-);3.阅读下列程序,在下划线上写出输出结果。#include main( ) int y= -10;do y+; while (+y);printf(“%d, ”,y+); /*输出结果: */4以下程序的运行结果是。#include void main( ) int i; for (i=1;i=5;i+) switch(i %5)case 0: printf(“*”);break; case 1: printf(“#”);break; default: printf(“,”);case 2: printf(“&”);四、程序填空1下列程序的功能是采用“顺序查找法”查找数组中是否存在元素x。请为程序填空。#includevoid main( )int a8= 9, 1, 3, 2, 6, 4, 7, 8; int i, x;scanf (“%d”, );for (i=0; i=8; i+)if (x=ai) printf(“Found! The Index is: %dn”,-i);if ()printf(“not found!”;第6章 数组一、选择题1在C语言中引用数组元素时,其数组下标的数据类型可以是()。A整型常量整型表达式C整型常量或整型表达式任何类型的表达式2. 以下能对一维数组a进行正确初始化的语句是()。Aint a10=(0,0) int a10= ; Cint a =0; int a10=10*1;3若有说明:int a10;则对a数组元素的正确引用是()Aa10 A3.5 C. a(5)A10-104若有说明:int a34;则对a数组元素的正确引用是()Aa24 A2,4 C. a1+10 A(2)(1)5若有以下说明:int a 3=1,2,3,4,5,6,7;则数组a的第一维的大小是()A4 3 C. 2 不确定6二维数组x有m列,若元素x00是第一个元素,则xij在数组中的位置是()Ai*m+jj*m+i C. i*m+j-1 i*m+j+17下面能正确进行字符串赋值操作的是()Achar a5=“ABCDE”; Bchar a5=A, B, C, D, E;Cchar *a;a= “ABCDE”; Dchar *a;scanf(“%s”,a);8若有定义:int a5;则数组a中首元素的地址可以表示为()A& a a+1 C. a &a19若已定义char s10;则在下列表达式中不表示s1的地址的是()As+1 s+ &s0+1 &s110. 设有数组定义:char array =”China”; 则数组所占的空间是:()A 4个字节 B. 5个字节 C. 6个字节 D. 7个字节11. 下面各行语句中正确的是()。 A. char s5=”ABCDE”; B. char s6; s=”ABCDE”;C. char *s=”ABCDE” D. char *s; scanf(“%s”,s)12以下正确的定义语句是()Aint a14=1,2,3,4,5;float x3 =1,2,3;Clong b23= 1,1,2,1,2,3;double y 3=0;13若有以下说明:int a34=0;则下列正确的叙述是()A只有元素a00可得到初值0B此说明语句不正确C数组a中各元素都可得到初值,但其值不一定为0D数组a中各元素都可得到初值014两个数组a和b进行如下初始化char a =”abcdef”;char b =a, b, c, d, e, f15. 则下列叙述正确的是()Aa和b数组完全相同a和b长度相同C. a和b中都存放字符串a数组比 b数组长度长16以下不能对二维数组a进行正确初始化的语句是()Aint a23=0;int a 3=1,2,0;Cint a23=1,2,3,4,5,6;int a3=1,2,3,4,5,6;17下述对C语言中字符数组的描述错误的是()A字符数组可以存放字符串B字符数组的字符串可以整体输入和输出C可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D不可以用关系运算符对字符数组中的字符串进行比较18以下能对二维数组a进行正确初始化的语句是()Aint a2 =1,0,1, 5,2,3;int a 3=1,2,3,4,5,6;Cint a24=1,2,3, 3,4,6;int a 3=1,2,3,4,5;19对数组说明语句:int a10=1,2,3,4,5;的正确理解是()A将5个初值依次赋给a1到a5元素B将5个初值依次赋给a6到a10元素C将5个初值依次赋给a0到a4元素D该语句出错20对数组说明语句:int a10=1,2,3,4,5;的正确理解是()A将5个初值依次赋给a1到a5元素B将5个初值依次赋给a6到a10元素C将5个初值依次赋给a0到a4元素D该语句出错21若有定义:int a5;则数组a中首元素的地址可以表示为()A& a a+1 C. a &a1二、填空题1若有如下定义:int a35,则a数组中行下标的下限是,列下标的的上限是。2若有定义:int a34=1,2,0,4,6,8,10;则初始化后,a12得到的初值是,a21得到的初值是。3在C语言中,数组名是一个不可改变的,不能对它进行赋值运算。数组在内存中占用一段连续的存储空间,它的首地址由表示。三、 阅读下列程序,在下划线上写出输出结果
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!