“C 语言程序设计”平时作业(一)
以下均为单选题:
- 在 C 语言中,变量所分配的内存空间大小:C 
 A. 均为一个字节
 B. 由用户自己定义
 C. 由变量的类型决定
 D. 是任意的
- 下列哪些为 C 语言中合法的字符常数:B 
 A. ‘AB\0’
 B. ‘0’
 C. “C Language”
 D. ‘AB’
- 在循环结构的循环体中执行 break 语句,其作用是:C 
 A. 结束本次循环,进行下次循环
 B. 继续执行 break 语句之后的循环体中各语句
 C. 跳出该循环体,提前结束循环
 D. 终止程序运行
- 已定义 char x[8]; int i;为了给 x 数组赋值,以下正确的语句是:D 
 A. x[8]=”Turbo C”;
 B. x=”Turbo C”;
 C. x[]=”Turbo C”;
 D. for(i=0; i<7; i++) x[i]=getchar();
- 设 int a[][4]={0, 0};则以下正确的描述是:A 
 A. 数组 a 的每个元素都可得到初值 0
 B. 二维数组 a 的第一维大小为 2
 C. 数组 a 的行数为 4
 D. 只有元素 a[0][0]和 a[0][1]可得到初值 0,其余元素得不到初值 0
- 表达式 3/5 的值为:A 
 A. 0 B. 0.6 C. 0.600000 D. 1
- 下面关于函数的描述中,正确的是:D 
 A. 每个函数都必须要有 return 语句,返回一个返回值
 B. 每个函数中只可能有一个 return 语句
 C. 如果一个函数有两个以上的 return 语句,它们必须全部被执行到
 D. 如果函数没有返回值,可以不要 return 语句
- 若已定义变量 int x; 以下哪个表达式可以正确判断 x 的取值是在大于等于 
 2 小于等于 15 之间:D
 A. 2≤x≤15
 B. 2≤x and x≤15
 C. 2≤x && x≤15
 D. x>=2 && x<=15
- 若已定义变量 char *p, array[]=”C Language”; 要想使指针 p 指向数组 
 array, 以下哪个语句是正确的:B
 A. p = *array;
 B. p = &array[0];
 C. p = ”C Language”;
 D. array = p;
- 以下正确的描述是:C 
 A. 在函数外部定义的变量是局部变量
 B. 在函数内部定义的变量是全局变量
 C. 函数的形参是局部变量
 D. 局部变量不能与全局变量同名
- 下面程序的运行结果是:C 
 int j=1, k=0, m;
 m=( ++j) + (k++);
 printf (“%d,%d,%d”, ++m, j++, ++k);
 A. 2, 2,1 B. 2, 2, 2 C. 3, 2, 2 D. 3, 2, 1
- 下面程序段的运行结果是:C 
 int a= 2, b=2;
 a+=b/=a*=3;
 printf (“%d” , a) ;
 A. 8.3 B. 6.3 C. 6 D. 8
- 下面程序的运行结果是:A 
 int flag=1;
 void fun( int n)
 { int k ;
 for (k=2;k<=n-1 && flag;k++)
 if (n % k== 0) flag = 0 ; }
 void main ()
 { fun (34);
 printf (“%d”, flag); }
 A. 0 B. -1 C. 2 D. 1
- 下面程序的运行结果是:D 
 char name[3][20]={“Tea”, “Jhon”, “May”};
 int m=0 ,k;
 for (k=1;k<=2;k++)
 if(strcmp (name [k],name[m])>0) m=k;
 puts (name[m]);
 A. Jhon
 B. Jhon May
 C. May
 D. Tea
- 下面程序的运行结果是:D 
 char str[20]=”This is my book”;
 str[4]=’\0’; str[9]=’\0’;
 printf (“%d”,strlen (str));
 A. 15 B. 5 C. 3 D. 4
- 下面程序段的执行结果:B 
 int n=0, a, b, c ;
 for( a=’a’;a<=’c’;a++)
 for( b=’a’;b<=’c’;b++)
 for( c=’a’;c<=’c’;c++)
 if(a!=b&&b!=c&&c!=a) n++;
 printf(“%d”,n);
 A. 9 B. B.6 C. C.3 D. D.4
- 下面程序的运行结果是:D 
 char str1[20]="Program",*ps;
 ps=str1; printf ("%s",ps+3);
 A. Program
 B. P
 C. g
 D. gram
- 下面程序的运行结果是:A 
 char c;
 c=’0’+7;
 putchar(c);
 A. 7 B. 07 C. 70 D. $
- 下面的程序段使矩阵 b 成为矩阵 a 的转置:C 
 int a[3][3], b[3][3], k ,j;
 for( k=0;k<=2;k++)
 for( j=0;j<=2;j++)
 scanf(“%d”,&a[k][j]);
 for(k=0;k<=2;k++)
 for(j=0;j<=2;j++) ;
 A. b[k][j]=a[k][j]
 B. a[k][j]=b[k][j]
 C. b[j][k]=a[k][j]
 D. a[j][k]=b[k][j]
- 以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是:D 
 A. char s[]=“abcde”;
 B. char s[]={’a’, ’b’,’c’,’d’,’e’,’\0’};
 C. char s[]={“abcde”};
 D. char s[5]= “abcde”;