C语言程序设计题目及解答_第1页
C语言程序设计题目及解答_第2页
C语言程序设计题目及解答_第3页
C语言程序设计题目及解答_第4页
C语言程序设计题目及解答_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、判断题(20分)1 .语句char*p="TurboC”的含义是将字符串赋给字符型指针变量p0X2.2 .若指针变量指向一维数组的第一个元素,将指针变量加整数3,即指针后移3个元素。53 .b是一维数组名,数组元素b1还可写成*(b+)。X4 .对二维数组a来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的。X25 .在二维数组中,行指针是指向一维数组的指针变量.«2,6 .取地址运算符&与指针运算符*的优先级相同,结合方向为自右向左。,7 .两个字符串中的字符个数相同时才能进行字符串大小的比较X2,8 .字符串不能用指针进行引用*9 .charc=

2、"VeryGood"是一个合法的为字符串数组赋值的语句。.外10 .char*p="girl"的含义是定义字符型指针变量p,p的值是字符串"girl"。X2二、选择题(24分)1 .下面程序段的运行结果是()。B2,charstr="ABC",*p=str;printf("%dn",*(p+3);A.67B.0C.字符'C'的地址D.字符C2 .阅读下列程序,则执行后的结果为()。B2,#include"stdio.h"intmain()intc4=1,2,3

3、,4,5,6,7,34,213,56,62,3,23,12,34,56;printf("%x,%x",c22,*(*(c+1)+1);D. 3E,6A.62,5B.3e,6C.56,53 .下面程序段的运行结果是()。Cchar*s="abcde"s+=2;printf("%d",s);D.无确定的输A 2D. p=&x, p+;A.cdeB.字符c'C.字符'c'的地址出结果4 .若有变量定义intx=3,*p;,则下面语句不正确的是()。A.p=&(x+1);B.p=&x;C.p=&

4、amp;x+1;5 .指针变量p1、p2类型相同,要使p2、p1指向同一变量,哪一个语句是正确的()。AA.p2=*&p1;B.p2=*p1;C.p2=&p1;D.p2=*p16 .若有语句:char*line5;,以下叙述中正确的是()。AA.定义line是一个数组,每个数组元素是一个基类型为char为指针变量。B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组。C.定义line是一个指针数组,语句中的*号称为间址运算符。D.定义line是一个指向字符型函数的指针。7. 若有数组定义为inta10,i;与ai=100等价的赋值表达式是B2.6 / 6A.a

5、+i=100B.*(a+i)=100C.(a+i)=100D.&ai=1008. 定义函数int*max()的正确含义是()。B2分A.返回整型值的函数B.返回指向整型变量的指针C.返回指向函数max()的指针D.上面的叙述都不正确9. 若有定义“int(*ptr)(float);”,其正确的含义是()。CA. ptr 是指向一维数组的指针变量B. ptr 是指向 int 型数据的指针变量C. ptr 是指向函数的指针变量,该函数有一个D. ptr 是一个函数名,该函数的返回值是指向10. 若有定义 char a15="ab110cd'ne"别为()。 C

6、2分float 型参数,返回值是整型int 型数据的指针则 strlen(a) 返回值和 sizeof(a)A. 11 , 15B. 17 , 1111. 若有定义 char a15="ab110cd'ne"A. 8B. 10C. 17C. 10 , 15D. 18 , 11则 strlen(a+5) 返回至为()。D. 5的返回值分D 2分12.chars="a128btcdxdgn"则数组s的字符串长度为()。CA.12B.10C.11D.18三、程序填空题(26分)1. 功能:建立一个如下的二维数组,并按以下格式输出。(1) 0001010

7、1000100010101000110分#include<stdio.h>intmain()inta55=0,*p5,i,j;for(i=0;i<5;i+)pi=_(1)_;for(i=0;i<5;i+)*(_(2)_+i)=1;*(pi+5-(_(3)_)=1;for(i=0;i<5;i+)for(j=0;j<5;j+)printf("%2d",pij);putchar('n');(2) 答案4分&ai0(3) 答案3分pi(4) 答案3分i+12. 输入一个星期几的数值(0-6),输出该星期几的英文名8分#in

8、clude<stdio.h>voidweek(intno)char*w="Sunday","Monday","Tuesday.","Wednesday","Thursday","Friday","Saturday"if(no>=0&&no<=6)puts(_(1)_);elseprintf("星期数值输入错误n");voidmain()intw;scanf("%d",&

9、w);_(2)_;(1) 答案4分wno(2) 答案4分week(w)3. 功能:输入3个字符串,输出最大字符串。8分#include<stdio.h>#include<string.h>voidmain()chars80,_(1)_;inti;scanf("%s",s);strcpy(max,_(2)_);for(i=1;i<=2;i+)scanf("%s",s);if(strcmp(_(3)_,s)<0)strcpy(max,s);printf("%sn",max);(1) 答案3分max80(

10、2) 答案3分s(3) 答案2分max四、程序设计题(30分)1. 输入10个数,按绝对值从小到大排序后输出,要求定义一个函数sort,完成绝对值从小到大排序。(用指针完成)10分题目描述输入10个数,按绝对值从小到大排序后输出,要求定义一个函数sort,完成绝对值从小到大排序。(用指针完成)输入描述输入10个数输出描述按绝对值从小到大排序样例输入35721-153894样例输出123345789-15#include<stdio.h>#include<math.h>voidsort(float*p,intn)inti,j;float*q,temp;/选择法排序for(

11、i=0;i<n-1;i+)q=p+i;for(j=i+1;j<n;j+)if(fabs(*(p+j)<fabs(*q)q=p+j;temp=*q;*q=*(p+i);*(p+i)=temp;voidmain()floata10,*p;inti;for(p=a,i=0;i<10;i+)scanf("%f",p+);p=a;sort(p,10);for(i=0;i<10;i+,p+)printf("%.0f",*p);2. 输入n和x,n和x分别表示对数组前n个元素赋初值为x,要求定义一个函数value,完成对一维整形数组的n个

12、元素进行赋值,具体赋值为x.10分题目描述输入n和x,n和x分别表示对数组前n个元素赋初值为x,要求定义一个函数value,完成对一维整形数组的n个元素进行赋值,具体赋值为x.(要求用指针实现)输入描述输入n和x输出描述输出一维数组的前n个元素的值样例输入51样例输出11111#include<stdio.h>voidvalue(int*p,intn,intx)inti;for(i=0;i<n;i+)*(p+i)=x;voidmain()inta100,n,x,i;scanf("%d%d",&n,&x);value(a,n,x);for(i=0;i<n;i+)printf("%d",ai);3. 字符串连接10分题目描述分别输入两个字符串保存在两个字符数组中,将其中较小的一个字符串连接到较大的字符串后面,然后输出连接后的字符串。输入描述输入两个字符串输出描述输出连接后的字符串,其中较小的连接在较大的字符串后面。样例输入appleorange样例

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论