当前位置:首页 > C程序设计作业集
B)int y[5]={0,1,3,5,7,9} ;
C)char c1[ ]={?1?,?2?,?3?,?4?,?5?} ; D)char c2[ ]={?\\x10?,?\\xa?,?\\x8?} ;
13.下面程序段的输出结果是 。
int k,a[3][3]={1,2,3,4,5,6,7,8,9};
for (k=0;k<3;k++) printf(“%d”,a[k][2-k]);
A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7 14.下面是对s的初始化,其中不正确的是 。
A)char s[5]={“abc”}; B)char s[5]={?a?,?b?,?c?}; C)char s[5]=” ”; D)char s[5]=”abcdef”; 15.下面程序段的输出结果是 。
char c[5]={?a?,?b?,?\\0?,?c?,?\\0?} printf(“%s”,c);
A)?a??b? B)ab C)ab c D)abc 16.若有程序段:
int k,a[3][3]={1,2,3,4,5,6,7,8,9};
for (k=0;k<3;k++) printf(“%d”,a[k][2-k]); 则以下叙述正确的是 。
A)a与b数组完全相同 B)a与b长度相同
C)a和b中都存放字符串 D)a数组比b数组长度长 17.有两个字符数组a,b,则以下正确的输入语句是 。 A)gets(a,b); B)scanf(“%s%s”,a,b); C)scanf(“%s%s”,&a,&b); D)gets(“a”),gets(“b”); 18.下面程序段的输出结果是 。
char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b);
printf(“%c”,a[5]);
A) B)\\0 C)e D)f 19.下面程序段的输出结果是 。
char c[ ]=”\\t\\v\\\\\\0will\\n”; printf(“%d”,strlen(c));
A)14 B)3 C)9 D)6 20.判断字符串a和b是否相等,应当使用 。 A)if (a==b) B)if (a=b)
C)if (strcpy(a,b)) D) if (strcmp(a,b)) 21.判断字符串a是否大于b,应当使用 。
A)if (a>b) B)if (strcmp(a,b)) C)if (strcmp(b,a)>0) D)if (strcmp(a,b)>0) 22.下面叙述正确的是 。
A)两个字符串所包含的字符个数相同时,才能比较字符串 B)字符个数多的字符串比字符个数少的字符串大 C)字符串”STOP ”与”STOP”相等 D)字符串”That”小于字符串”The”
23.下面有关字符数组的描述中错误的是 。 A)字符数组可以存放字符串 B)字符串可以整体输入,输出
C)可以在赋值语句中通过赋值运算对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 24.下面程序的输出结果是 。
main ( )
{ char ch[7]=”12ab56”; int i,s=0;
for (i=0;ch[i]>?0?&&ch[i]<=?9?;i+=2) s=10*s+ch[i]-?0?; printf(“%d\\n”,s); }
A)1 B)1256 C)12ab56 D)ab 25.下面程序的输出结果是 。
main ( ) {
char str[ ]=”SSWLIA” , C; int k;
for (k=2;(c=str[k])!=?\\0?;k++) { switch (c) {
case ?I? : ++k; break ; case ?L?: continue;
default : putchar(c) ; continue ; }
putchar(?*?); } }
A)SSW B)SW* C)SW*A D)SW
二.填空题
1.在C语言中,二维数组的元素在内存中的存放顺序是 。 2.若有定义:double x[3][5],则x数组中行下标的下限为 ,列下标的下限为 。 3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为 ,a[2][1]得到的值为 。
4.字符串”ab\\n\\\\012\\\\”的长度是 。 5.下面程序段的运行结果是 。 char x[ ]=”the teacher”; int i=0;
while (x[++i]!=?\\0?)
if (x[i-1]==?t?) printf(“%c”,x[i]);
6.欲为字符串S1输入”Hello World!”,其语句是 。 7.欲将字符串S1复制到字符串S2中,其语句是 。 8.如果在程序中调用了strcat函数,则需要预处理命令 。
如果调用了gets函数,则需要预处理命令 。
9.C语言数组的下标总是从 开始,不可以为负数;构成数组各个元素具有相同的 。 10.字符串是以 为结束标志的一维字符数组。有定义:char a[]=””;则a数组的长度是 。
三.程序阅读题
1.写出下面程序的运行结果。 main ( )
{ int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++)
printf(“-”,a[i][j]) ; printf(“\\n”); } }
2.写出下面程序的运行结果。 main ( ) { int i=0;
char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=?\\0? && b[i]!=?\\0?) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; }
c[i]=?\\0?; puts(c); }
3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( )
{ char s[80]; int i=0; gets(s);
while (s[i]!=?\\0?) {
if (s[i]<=?z? && s[i]>=?a?) s[i]=?z?+?a?-s[i] ; i++; }
puts(s); }
4.写出下面程序的运行结果。 main ( )
{ int i,c;
char s[2][5]={“8980”,”9198”}; for (i=3; i>=0 ; i--) {
c=s[0][i]+s[1][i]-2*?0?; s[0][j] = c % 10 + ?\\0? ; }
for (i=0; i<=1; i++) puts(s[i]); }
5.当运行下面程序时,从键盘上输入7 4 8 9 1 5↙,则写出下面程序的运行结果。 main ( )
{ int a[6],i,j,k,m; for (i=0 ; i<6 ; i++) scanf (“%d”,&a[i]); for (i=5 ; i>=0; i--) { k=a[5];
for (j=4; j>=0; j--) a[j+1]=a[j] ; a[0]=k;
for (m=0 ; m<6 ; m++) printf(“%d ”,a[m]); printf(“\\n”); } }
四.程序判断题
1.下面程序为数组输入数据并输出结果;判断下面程序的正误,如果错误请改正过来。 main ( )
{ int a[3]={3*0} ; int i;
for (i=0; i<4; i++) scanf(“%d”,&a[i]); for (i=0; i<4; i++) printf(“%d”,a[i]); }
2.下面程序为数组输入数据并输出结果;判断下面程序的正误,如果错误请改正过来。 main ( )
{ int a[3]={1,2,3} , i; scanf(“%d%d%d”,&a);
for (i=0; i<3; i++) printf(“%d”,a[i]); }
3.下面程序的功能是:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如,当s中的字符串为:“ABCDE”时则t中的字符串应为:“EDCBAABCDE”;判断下面程序的正误,如果错误请改正过来。 main ( )
{ char s[80],t[200]; int i,sl ; gets(s); sl = strlen(s);
共分享92篇相关文档