C程实验习题答案(3)

2019-03-10 14:47

}

A、1,5,9, B、1,4,7, C、3,5,7, D、3,6,9, 7. 当执行下面的程序时,如果输入ABC,则输出结果是( )

#include \#include \void main( )

{ char ss[10]=\,2,3,4,5\gets(ss);

strcat(ss,\; printf(\}

A、ABC6789 B、ABC67 C、12345ABC6 D、ABC456789 8.以下程序段的输出结果是( )

char s[ ]= \printf(\;

A、9 B、12 C、13 D、14 9. 下面是对s的初始化,其中不正确的是( )

A、char s[5]={“abc” }; B、char s[5]={‘a’,’b’,’c’}; C、char s[5]=“”; D、char s[5]=”abcde” 10. 以下程序的输出结果是____ abc________________

void main( )

{char s[ ]=\ s[3]= '\\0';

printf(\,s); }

11. 下列程序段的输出结果是___ Hello__________

void main( )

{ char b[]=\; b[5]=0;

printf(\\\n\}

12. 在C语言中,二维数组元素在内存中的存放顺序是___行优先__________

13. 设有定义语句 “ int a[3][4]={{1},{2},{3}} ” ,则a[1][1]值为_______0______,

a[2][1]的值为____0_________

14. 若在程序中用到 “ putchar() ” 函数时,应在程序开头写上包含命令#include

_____ ,若在程序中用到 “ strlen() ” 函数时,应在程序开头写上包含命令__#include string.h_____ 15. 下面程序的功能是输出数组s中最大元素的下标,请填空。

void main() { int k,p;

int s[]={1,-9,7,2,-10,3}; for(p=0,k=p;p<6;p++)

if (s[p]>s[k]) __k=p___________ ;

printf(\\\n\ }

16. 以下程序执行时输入Language Programming的结果是_Language_

#include void main()

{ char str[30];

scanf(\

printf(\\\n\

17. 以下程序可把输入的十进制长整型数以十六进制数的形式输出,请填空。 void main()

{ char b[17]={\ int c[64],d,i=0,base=16; long n;

printf(\\\n\ scanf(\

do{c[i]= __ n % 16________;

i++; n=n/base; }while(n!=0);

printf(\\\n\ for (--i;i>=0;--i)

{d=c[i];

printf(\[ ______ i______ ]; }

}

18. 以下数组定义中,错误的是( C )

A、 int a[]={1,2,3}; B、 int a[5]={1,2,3};

C、 int a[3]={1,2,3,4}; D、 int a[5],b; 19.以下数组定义中,正确的是( B )

A、 int n=4,a[n]={1,2,3,4}; B、 int a[][2]={1,2,3,4};

C、 int a[2][]={1,2,3,4}; D、 int a[][]={{1,2},{3,4}}; 20.设有如下定义:int a[8][10];在C中一个整数占用4字节,设a的起始地址为1000,则a[1][1]的地址是( )

A、 1000 B、 1004 C、 1036 D、 1044

21. 有数组定义:int a[ ][3]={1,2,3,4,5,6,7,8,9},则a[1][2]的值是( ) A、 2 B、 5 C、 6 D、 8

22.设已定义 char str[6]={'a','b','\\0','c','d','\\0'}; 执行语句

printf((\r) 后,输出结果为( )

A、 a B、 ab C、 abcd D、 ab\\0cd\\0 23.引用数组元素时,数组元素下标不可以是( )

A、 字符常量 B、 整型变量 C、 字符串 D、 算术表达式 24.下面程序段的运行结果是( )

void main()

{char a[]=\ strcpy(a,b);

printf(\}

A、 123 B、 123d C、 abcd D、 abcd123

25.下面程序段的运行结果是( )

void main()

{char a[]=\ if(a>b) printf(\\\n\else printf(\}

A、 123 B、 编译时出错 C、 abcd D、

第二部分 结构体习题

1. 下面程序的运行结果是___________. void main()

{ struct cmplx{int x; int y;

}cnum[2]={1,3,2,7};

printf(\}

a)0 b)1 c)3 d)6

2. 以下程序的运行结果是__10,x______. struct n { int x; char c; };

void main()

{struct n a={10,'x'}; func(a);

printf(\ }

func(struct n b) { b.x=20; b.c='y'; }

3. 根据下面的定义,能打出字母M的语句是 。运行时出错

struct person { char name[9]; int age; }

struct person class[10]={ 〞John〞,17, 〞Paul〞,19, 〞Mary〞,18,

〞Adam〞,16};

A.printf(〞%c\\n〞,class[3].name); B.printf(〞%c\\n〞,class[3].name[1]); C.printf(〞%c\\n〞,class[2].name[1]); D.printf(〞%c\\n〞,class[2].name[0];

第五章 指针类型数据

习题

一、选择题

1. 变量的指针,其含义是指该变量的________. a)值 b)地址 c)名 d)一个标志

2. 若有说明;int *p,m=5,n;以下正确的程序段的是________. a)p=&n; b)p=&n;

scanf(\ c)scanf(\d)p=&n; *p=n; *p=m;

3. 若有以下定义,则对a数组元素的正确引用是_________. int a[5],*p=a;

a) *&a[5] b) a+2 c) *(p+5) d) *(a+2)

4. 若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为______. a) *(a[i]+j) b) (a+i) c) *(a+j) d) a[i]+j

5. 下面程序段的运行结果是_________. char *s=\ s+=2;printf(\

a)cde b)字符'c' c)字符'c'的地址 d)无确定的输出结果

6. 以下正确的程序段是_________.

a)char str[20]; b)char *p;

scanf(\

c)char str[20]; d)char str[20],*p=str; scanf(\

7. 若有说明语句

char a[]=\ char *p=\

则以下不正确的叙述是________. a)a+1表示的是字符t的地址

b)p指向另外的字符串时,字符串的长度不受限制 c)p变量中存放的地址值可以改变 d)a中只能存放10个字符

8. 下面程序的运行结果是_______. #include #include main() {

char *s1=\ char *s2=\ s1+=2;s2+=2;

printf(\ }

a)正数 b)负数 c)零 d)不确定的值

9. 已知说明语句int (*p)[ ];,则下列叙述正确的是:______。 A) p是一个指针变量,它指向一个整型一维数组 B) p是一个指针变量,它指向一个整型数据 C) p是一个指针数组 D) 以上都不对

10. 已知有声明语句char s1[10]= "abcde",s3[10];以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是:______。

A)s3=s1,s1=s2,s2=s3;

B)s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0];

C)strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]); D)strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3);


C程实验习题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:七年级生物第四节输血与血型教案1新版新人教版

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

马上注册会员

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